温馨提示×

怎么清理CentOS软件残留

小樊
33
2026-08-04 05:10:50
栏目: 智能运维

在 CentOS 系统中清理软件残留,通常分为 卸载软件本身清理依赖、缓存、配置文件 两部分。下面按常见场景给你一套完整、安全的做法。


一、卸载软件(保留配置 / 完全删除)

1️⃣ 使用 yum / dnf 卸载(推荐)

普通卸载(可能保留配置)

sudo yum remove 软件名
# 或 CentOS 8+
sudo dnf remove 软件名

完全卸载(删除依赖 + 配置)

sudo yum autoremove 软件名
sudo yum clean all

autoremove 会删除不再需要的依赖包
clean all 清理 yum 缓存


2️⃣ 使用 rpm 卸载(适用于手动安装)

rpm -qa | grep 软件名
sudo rpm -e 软件包名

⚠️ rpm 不会自动处理依赖,不建议新手单独使用


二、清理软件残留(重点)

1️⃣ 清理无用依赖

sudo yum autoremove

2️⃣ 清理 yum / dnf 缓存

sudo yum clean all
# 或
sudo dnf clean all

清理内容:

  • 软件包缓存
  • 元数据
  • 过期仓库信息

3️⃣ 删除残留配置文件(非常关键)

常见位置

/etc/
/var/lib/
/var/log/
/usr/local/

查找某软件的残留

rpm -ql 软件名

find /etc /var /usr -name "*软件名*"

手动删除(谨慎)

sudo rm -rf /etc/软件名
sudo rm -rf /var/lib/软件名

4️⃣ 清理用户目录下的配置

有些软件会在用户目录生成配置:

ls -la ~/ | grep 软件名

例如:

~/.config/软件名
~/.cache/软件名
~/.软件名

删除:

rm -rf ~/.config/软件名

三、清理系统级“垃圾”

1️⃣ 清理旧内核(⚠️ 谨慎)

uname -r   # 查看当前内核
rpm -qa | grep kernel

保留当前内核,删除旧内核:

sudo yum remove 旧内核包名

2️⃣ 清理日志

sudo journalctl --vacuum-time=7d

或手动清理:

sudo rm -f /var/log/软件名/*

3️⃣ 清理 /tmp

sudo rm -rf /tmp/*

四、如果是编译安装的软件(更容易残留)

1️⃣ 如果有 Makefile

sudo make uninstall

2️⃣ 手动删除

sudo rm -rf /usr/local/软件名

五、推荐工具(可选)

package-cleanup

sudo yum install yum-utils
sudo package-cleanup --oldkernels --count=1
sudo package-cleanup --leaves

六、安全建议(很重要)

✅ 删除前先确认路径
✅ 不要随意删除 /usr/lib 里的文件
✅ 生产服务器建议先备份
✅ 不确定时,先 lsrm


七、示例:彻底删除 Nginx

sudo yum remove nginx
sudo yum autoremove
sudo rm -rf /etc/nginx
sudo rm -rf /var/log/nginx
sudo rm -rf /var/lib/nginx

如果你是 某个具体软件残留(比如 MySQL / Docker / Nginx / Python / Java),可以告诉我,我可以给你 精确清理命令

0