在 CentOS 上做 系统清理(cleanup),通常分几个层面:
包缓存、旧内核、日志、临时文件、磁盘空间分析。下面按常用场景给你一份实用清单(适用于 CentOS 7 / 8 / Stream)。
# 查看缓存大小
du -sh /var/cache/yum
# 清理所有缓存
yum clean all
dnf clean all
✅ 通常可释放 几百 MB~几 GB
⚠️ 至少保留一个正在使用的内核,不要全删
uname -r
rpm -qa | grep kernel
yum remove kernel-<版本>
dnf remove kernel-<版本>
✅ 推荐:只保留 当前 + 一个备用内核
# 查看日志占用
journalctl --disk-usage
# 只保留最近 3 天
journalctl --vacuum-time=3d
# 限制最大 200M
journalctl --vacuum-size=200M
# 清理 /var/log
cd /var/log
ls -lh
# 清空大日志(不要直接删)
truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure
# 清理 /tmp
rm -rf /tmp/*
# 清理用户缓存
rm -rf ~/.cache/*
⚠️ 注意:不要删 /tmp 中正在使用的文件
# 查看磁盘使用
df -h
# 查找大于 500M 的文件
find / -xdev -size +500M -ls
# 按目录大小排序
du -h --max-depth=1 / | sort -hr
package-cleanup --oldkernels --count=2
yum autoremove
dnf autoremove
docker system df
docker system prune -a
podman system prune -a
#!/bin/bash
echo "Cleaning yum/dnf cache..."
yum clean all 2>/dev/null || dnf clean all
echo "Removing old kernels..."
package-cleanup --oldkernels --count=2 2>/dev/null
echo "Cleaning journal logs..."
journalctl --vacuum-time=7d
echo "Cleaning tmp..."
rm -rf /tmp/*
echo "Done."
df -h
先确认 哪个分区满了,再针对性清理,避免误删。
yum/dnf clean allautoremove如果你愿意,可以把下面信息发我,我可以给你 精准清理方案:
df -huname -r