温馨提示×

CentOS如何清理无用依赖

小樊
44
2026-07-20 15:44:11
栏目: 智能运维

在 CentOS 系统中,清理无用依赖(即不再被任何软件包需要的依赖包)可以通过以下步骤完成。具体方法取决于你使用的 CentOS 版本(CentOS 7 使用 yum,CentOS 8 及以上使用 dnf)。


一、CentOS 7(使用 yum)

1. 清理无用依赖(孤儿包)

yum autoremove

会移除不再被任何已安装软件依赖的包。

2. 清理 YUM 缓存

yum clean all

3. 查看可清理的无用包(不执行删除)

package-cleanup --leaves

4. 自动移除无用包(推荐)

package-cleanup --oldkernels --count=1

保留最近 1 个内核,删除旧内核(避免 /boot 爆满)


二、CentOS 8 / CentOS Stream(使用 dnf)

1. 清理无用依赖

dnf autoremove

2. 清理缓存

dnf clean all

3. 查看无用依赖

dnf repoquery --unneeded

三、手动检查无用依赖(通用)

查看哪些包没有被依赖

rpm -qa --qf '%{NAME}\n' | while read pkg; do
  if ! rpm -q --whatrequires "$pkg" &>/dev/null; then
    echo "$pkg"
  fi
done

⚠️ 慎用:可能包含系统关键组件,不建议直接删除。


四、清理旧内核(非常重要)

CentOS 7

package-cleanup --oldkernels --count=2

CentOS 8+

dnf remove --oldinstallonly

或手动删除旧内核:

dnf list installed kernel
dnf remove kernel-<version>

五、建议的安全做法 ✅

  1. 先查看再删除

    dnf autoremove --assumeno
    
  2. 不要删除以下包

    • glibc
    • systemd
    • bash
    • yum / dnf
  3. 服务器环境建议

    dnf autoremove
    dnf clean all
    

    即可,不要过度清理。


六、示例:完整清理流程(CentOS 7)

yum autoremove -y
yum clean all
package-cleanup --oldkernels --count=1

如果你愿意,可以告诉我:

  • ✅ CentOS 具体版本
  • ✅ 是服务器还是桌面
  • ✅ 是否刚卸载过大量软件

我可以给你一套更安全的定制清理方案

0