在 CentOS 中,“cleanup 失败”可能涉及多种场景(如 yum clean/dnf clean 失败、系统清理脚本失败、安装/卸载时的 cleanup 阶段失败、或第三方工具 cleanup 报错)。下面按常见场景 + 通用排查思路给你一套排查方法。
请先确认:
yum clean all 失败)?package-cleanup、bleachbit)失败?现象
yum clean all
# 或
dnf clean all
报错如:
Permission deniedCould not open fileError: database disk image is malformed排查
# 1. 看详细错误
yum clean all -v
# 2. 检查权限
ls -ld /var/cache/yum
ls -l /var/cache/yum/*
# 3. 手动清理(谨慎)
rm -rf /var/cache/yum/*
rm -rf /var/cache/dnf/*
# 4. 重建缓存
yum makecache
数据库损坏
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
现象
Error in POSTUN scriptlet / cleanup
或
cleanup failed, transaction aborted
排查
# 查看失败包
yum history
yum history info <ID>
# 查看脚本错误
rpm -q --scripts <package>
常见原因
%postun)写错# 查看 SELinux 拒绝
ausearch -m avc -ts recent
package-cleanup --problems
常见问题
rpm -qa | sort | uniq -d
yum deplist <pkg>
df -h
df -i
如果 /var 或 / 满了:
du -sh /var/* | sort -h
journalctl --vacuum-size=100M
如 bleachbit、ncdu、tmpwatch
排查:
strace -f bleachbit 2>log.txt
或查看日志:
/var/log/messages
journalctl -xe
command -v cleanup_tool
cleanup_tool -v
journalctl -xe
/var/log/yum.log
/var/log/dnf.log
sudo -i
getenforce
setenforce 0 # 临时关闭测试
请把以下信息发我:
cat /etc/centos-release)我可以直接告诉你是哪一步炸了、怎么修。