/var/cache 不可盲目 rm -rf,需按服务类型用对应工具清理:apt 用 apt autoclean/clean,dnf/yum 用 clean all,journal 用 journalctl --vacuum-time,nginx 缓存须谨慎手动删或用 purge;/var/cache/ldconfig 等关键目录严禁手动删除。

/var/cache 目录下存放的是各类软件和服务的缓存数据,不同子目录归属不同程序,不能一概而论地 rm -rf。盲目清空可能影响系统稳定性或服务功能,比如 Nginx、dnf、apt、systemd-journal 等都在这里存缓存,但机制和清理方式各不相同。
先查清楚到底占了多少、是谁在占
直接进目录删风险高,应先定位问题源头:
- 看整体大小:
sudo du -sh /var/cache/* | sort -hr | head -10 - 查 apt 缓存(Debian/Ubuntu):
sudo du -sh /var/cache/apt/archives - 查 dnf/yum 缓存(RHEL/Fedora/CentOS):
sudo du -sh /var/cache/dnf /var/cache/yum - 查 systemd-journal 日志缓存:
journalctl --disk-usage - 查 Nginx 缓存路径(若启用):
sudo nginx -T 2>&1 | grep proxy_cache_path
按服务类型分别安全清理
不同子目录对应不同管理逻辑,必须用对应工具或方法:
-
APT 缓存(/var/cache/apt/archives):用包管理器命令更稳妥
– 只删已下架旧包(推荐首选):sudo apt autoclean
– 彻底清空所有 .deb 文件(网络好时可用):sudo apt clean -
DNF/YUM 缓存(/var/cache/dnf 或 /var/cache/yum):
sudo dnf clean all或sudo yum clean all,会清理元数据和 rpm 包 -
systemd-journal 日志(/var/cache/journal 或 /var/log/journal):
– 查体积后限制总量:sudo mkdir -p /etc/systemd/journald.conf.d && echo "SystemMaxUse=500M" | sudo tee /etc/systemd/journald.conf.d/limit.conf
– 立即删旧日志(留最近三天):sudo journalctl --vacuum-time=3d -
Nginx 缓存(/var/cache/nginx):
– 切勿rm -rf /var/cache/nginx/*,容易误删其他站点缓存
– 推荐用ngx_cache_purge模块发 PURGE 请求精准清除
– 若必须手动删,先确认proxy_cache_path实际路径,再按哈希层级谨慎操作
哪些子目录不该碰或要格外小心
有些缓存目录由服务自动管理,或含运行时关键数据:
-
/var/cache/man:man 手册缓存,可清,但非必要;清完首次查手册稍慢 -
/var/cache/ldconfig:动态链接库缓存,不要手动删,由ldconfig自动更新 -
/var/cache/samba、/var/cache/krb5cc等:涉及认证或网络服务,删前确认服务状态 -
/var/cache/private/(某些发行版):可能被 systemd 或 snap 使用,无明确文档不建议动
临时文件可统一清理,但注意权限和时机
/var/cache 下少数子目录(如部分应用自建的 tmp 类缓存)可配合 tmpfiles.d 管理,但更常见的是:
- 系统级临时缓存一般走
/tmp或/var/tmp,不在 /var/cache 内 - 若发现某应用在 /var/cache 下建了大量过期临时文件(如
/var/cache/myapp/tmp/),建议查该应用文档,或用find /var/cache/myapp -type f -mtime +30 -delete(加-maxdepth 2更安全) - 执行前建议停掉对应服务,避免删正在使用的文件











