在 CentOS 上进行系统清理(cleanup)可以从包管理、日志、旧内核、临时文件、磁盘占用等方面入手。下面按常见场景给你一份实用清理清单,适用于 CentOS 7 / 8 / Stream。
yum clean all
dnf clean all
清理内容:
package-cleanup --oldkernels --count=2
yum autoremove
dnf autoremove
✅ 可删除:
⚠️ 不要全删,至少保留一个可用内核
uname -r
rpm -qa | grep kernel
yum remove kernel-3.10.0-1160.el7.x86_64
或使用:
package-cleanup --oldkernels --count=1
journalctl --disk-usage
journalctl --vacuum-time=7d
或限制大小:
journalctl --vacuum-size=500M
rm -f /var/log/*.log.*
rm -f /var/log/messages-*
rm -f /var/log/secure-*
⚠️ 不要直接删 /var/log/messages
rm -rf /tmp/*
rm -rf /var/tmp/*
清理 yum 临时目录:
rm -rf /var/cache/yum/*
du -h --max-depth=1 / | sort -hr
查找大于 500MB 的文件:
find / -xdev -size +500M -exec ls -lh {} \;
docker system prune -a
只清理未使用镜像:
docker image prune -a
du -sh /var/*
常见大户:
/var/cache/var/log/var/spoolyum history list
yum history undo <ID>
#!/bin/bash
echo "Cleaning CentOS..."
yum clean all
yum autoremove -y
journalctl --vacuum-time=7d
rm -rf /tmp/*
rm -rf /var/tmp/*
echo "Done."
| 场景 | 建议 |
|---|---|
| 服务器 | 每月一次 |
| 升级后 | 立即清理 |
| 磁盘报警 | 立即清理 |
如果你愿意,可以告诉我:
我可以帮你定制一条最安全的清理命令。