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

根目录缓存清理不能一删了之,必须按目录类型区别对待——/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 性能分析与调优专家,覆盖 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。










