Linux怎么安全清理根目录下的无用缓存

阿辰小哥_5677

阿辰小哥_5677

2026-09-23

369人浏览

原创

根目录缓存清理需分类处理:/tmp和/var/cache可安全清空;/var/log须用logrotate或journalctl结构化清理;/usr/local和/home严禁批量删除,须逐项确认。

linux怎么安全清理根目录下的无用缓存

根目录缓存清理不能一删了之,必须按目录类型区别对待——/tmp 和 /var/cache 可安全清,/var/log 必须结构化处理,/usr/local 和 /home 严禁批量删。

查清楚再动手:先定位哪些目录真占空间

盲目清理前,先确认是哪个目录在吃空间。运行以下命令,聚焦根目录一级子目录:

sudo du -sh /* 2>/dev/null | sort -hr

重点关注输出中排前三的目录,比如 /var、/usr、/home。若 /var 占比高,再细分:

sudo du -sh /var/* 2>/dev/null | sort -hr | head -5

常见“假大空”陷阱:

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
  • /var/lib/docker:Docker 镜像/容器日志可能藏在 /var/lib/docker/containers/*/json.log,直接删文件不释放空间,得用 truncate -s 0 或停服务后清理
  • /var/log/journal:journald 日志数据库,rm -rf 会破坏 journalctl 索引,必须用 journalctl --vacuum-size
  • /usr/local/src:编译残留源码包(如 nacos-2.4.0.tar.gz)可删,但 /usr/local/bin 下的二进制或脚本需逐个 ls -l 确认来源

/tmp 和 /var/cache:最安全的清理入口

/tmp 是系统临时区,重启自动清空;/var/cache 是包管理器缓存,本质是可再生副本,这两类清理风险最低。

  • 清 /tmp:执行 sudo rm -rf /tmp/*(注意结尾星号,别写成 /tmp/);更稳妥的是启用 systemd-tmpfiles,检查 /etc/tmpfiles.d/tmp.conf 是否含 v /tmp 1777 root root 10d
  • Debian/Ubuntu 清 APT 缓存:sudo apt clean(清 /var/cache/apt/archives/),再加 sudo apt autoremove --purge 卸载无用依赖
  • RHEL/Fedora/CentOS 清 DNF/YUM:sudo dnf clean all 或 sudo yum clean all;若系统已升级到 dnf,旧的 /var/cache/yum 可直接 sudo rm -rf /var/cache/yum

/var/log:日志不能硬删,必须用 logrotate 或 journalctl

直接 rm -f /var/log/syslog 可能导致服务写入失败甚至崩溃;正在被 tail -f 或 rsyslog 持有句柄的日志,删了文件名还在,磁盘空间也不释放。

  • 查最大日志源:sudo du -sh /var/log/* | sort -hr | head -5
  • 对 rsyslog 管理的日志(如 /var/log/nginx/):确认 /etc/logrotate.d/nginx 存在且启用 dateext 和 maxage 30,再手动触发:sudo logrotate -f /etc/logrotate.conf
  • 对 journald 日志:sudo journalctl --vacuum-size=500M(限制总大小)或 sudo journalctl --vacuum-time=2weeks(只留两周)
  • 已打开但需清空的日志(如 catalina.out):sudo truncate -s 0 /var/log/tomcat/catalina.out,之后重启服务释放 inode

容易忽略的“隐形缓存”:Docker、snap、flatpak

这些现代包管理器的缓存不在传统路径,但常悄悄占满根分区。

  • Docker 构建缓存:docker builder prune -a(清构建器缓存),docker system prune -a(清镜像+容器+网络+构建缓存)
  • snap 应用缓存:sudo snap list --all | grep disabled | awk '{print $1, $3}' | xargs -n2 sudo snap remove(卸载旧版本),再 sudo snap autoremove
  • flatpak 运行时缓存:flatpak uninstall --unused(卸载未被任何应用引用的运行时)
  • 特别注意 overlayfs 场景(如你示例中的 overlayroot):/root-rw 分区才是真实可写层,所有清理操作必须针对该挂载点,而非 / 表面路径

真正危险的不是“不知道删什么”,而是删完发现某个服务启动失败、日志轮转中断、或 apt update 报 checksum 错误——这些往往源于清了不该清的配置残留或锁文件。每次清理后,建议快速验证关键服务:systemctl is-active sshd nginx、apt check、journalctl -n 5。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3650

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3173

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2233

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5330

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5002

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

2993

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2505

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2719

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Linux man-pages 项目
Linux man-pages 项目

共0课时 | 0人学习

Linux系统运维及项目正式上线
Linux系统运维及项目正式上线

共14课时 | 2.8万人学习

Linux负载均衡视频教程
Linux负载均衡视频教程

共7课时 | 1.9万人学习