在CentOS系统中,软件卸载后常残留配置文件、依赖包、缓存及临时文件等,占用磁盘空间并可能影响系统性能。以下是分步彻底清理方案,覆盖核心清理场景:
包管理器是清理残留的首选工具,能自动识别并删除无用依赖、缓存及旧内核,避免手动操作的风险。
# CentOS 7及以下
sudo yum clean all
# CentOS 8及以上
sudo dnf clean all
sudo yum autoremove # CentOS 7及以下
sudo dnf autoremove # CentOS 8及以上
/boot分区空间。通过以下命令保留最新1个内核,删除其余旧内核:sudo package-cleanup --oldkernels --count=1
注:
package-cleanup属于yum-utils工具包,若未安装需先执行sudo yum install yum-utils(CentOS 7)或sudo dnf install yum-utils(CentOS 8)。
若包管理器未能完全清理(如软件自定义安装路径),需手动查找并删除残留文件。
rpm命令查询已卸载软件的安装文件列表(需替换package_name为软件名):rpm -ql package_name
若软件通过make install手动安装,可尝试查找其安装目录(如/usr/local/、/opt/)下的残留文件。/etc/目录(如/etc/package_name/)或用户家目录(如~/.config/package_name/),使用以下命令查找并删除:sudo find /etc -name "*package_name*" -exec rm -rf {} \;
sudo find ~ -name "*package_name*" -exec rm -rf {} \;
/tmp/(重启后自动清空)和/var/tmp/(长期临时文件)目录常残留临时文件,执行以下命令清理:sudo rm -rf /tmp/* # 重启后自动清空,可放心删除
sudo rm -rf /var/tmp/* # 需确认无正在使用的临时文件
/var/log/目录,会随时间增长占用大量空间。可通过以下方式清理:
sudo rm -rf /var/log/*.log.* # 删除带日期的旧日志(如*.log.1、*.log.2.gz)
logrotate工具(推荐):logrotate可自动轮转、压缩及删除旧日志,确保日志文件不会无限增长。手动触发轮转:sudo logrotate -f /etc/logrotate.conf
第三方工具能可视化扫描系统,自动识别残留文件、缓存及大文件,适合不熟悉命令行的用户。
sudo yum install bleachbit # CentOS 7及以下
sudo dnf install bleachbit # CentOS 8及以上
sudo bleachbit # 启动工具,勾选清理项即可
ncdu是命令行磁盘使用分析器,通过交互式界面显示各目录/文件的大小,帮助快速定位大残留文件:sudo yum install ncdu # CentOS 7及以下
sudo dnf install ncdu # CentOS 8及以上
sudo ncdu / # 扫描根目录,按大小排序,删除不需要的文件
/home/、/etc/等关键目录,避免误删个人文件或配置。/usr/、/lib/、/bin/等系统核心目录下的文件,除非确认是软件残留。通过以上步骤,可彻底清理CentOS系统中软件卸载后的残留文件,释放磁盘空间并提升系统性能。