在 CentOS 系统中做“清理(cleanup)”时,可以删除的文件主要分为系统缓存/日志/临时文件和不再需要的软件包。下面按安全 → 较安全 → 谨慎分类说明,并给出常用命令。
软件包安装后的缓存,删了只是下次下载会慢一点。
# CentOS 7 及以前
yum clean all
# CentOS 8 / Stream
dnf clean all
缓存目录(可手动删):
/var/cache/yum/
/var/cache/dnf/
/tmp/
/var/tmp/
⚠️ 只删旧的、无进程占用的文件:
find /tmp -type f -mtime +7 -delete
查看当前内核:
uname -r
删除旧内核(CentOS 7):
package-cleanup --oldkernels --count=2
CentOS 8+:
dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)
大日志可清空或删:
/var/log/*.log
/var/log/messages
/var/log/secure
/var/log/maillog
/var/log/cron
✅ 推荐方式(不要直接 rm):
truncate -s 0 /var/log/messages
或启用日志轮转:
logrotate -f /etc/logrotate.conf
journalctl --vacuum-time=7d
journalctl --vacuum-size=500M
目录:
/var/log/journal/
find / -name "core" -type f -size +100M
默认目录:
/var/crash/
/coredump/
~/.cache/
~/.bash_history(可选)
# 查看无用依赖
package-cleanup --leaves
yum autoremove
docker system prune -a
⚠️ 会删未使用镜像、容器、网络
❌ 不要删:
/etc/boot 中正在使用的内核/var/lib/usr(除非明确知道)yum clean all
journalctl --vacuum-time=7d
package-cleanup --oldkernels --count=2
find /tmp -type f -mtime +7 -delete
logrotate -f /etc/logrotate.conf
如果你愿意,可以告诉我:
我可以给你更精准的清理方案。