温馨提示×

如何清理CentOS无用包

小樊
43
2026-08-04 05:02:41
栏目: 智能运维

在 CentOS 中清理“无用包”通常指 移除不再需要的软件包、缓存、旧内核等,以释放磁盘空间并保持系统整洁。下面按 CentOS 7 / 8 / Stream 分别说明,并给出通用做法。


一、安全清理无用软件包(推荐)

1️⃣ 查找并删除“孤立包”(最常用)

这些包是曾经作为依赖被安装,但现在已没有任何软件依赖它们。

CentOS 7(yum)

# 查找
package-cleanup --quiet --leaves --exclude-bin

# 删除
package-cleanup --quiet --leaves --exclude-bin | xargs yum remove -y

CentOS 8 / Stream(dnf)

dnf autoremove -y

最安全、最推荐


二、清理缓存

1️⃣ 清理包管理器缓存

CentOS 7(yum)

yum clean all

CentOS 8 / Stream(dnf)

dnf clean all

2️⃣ 手动清理缓存目录(可选)

rm -rf /var/cache/yum/*
# 或
rm -rf /var/cache/dnf/*

三、清理旧内核(重要)

⚠️ 不要全部删除,至少保留一个可启动内核

方法一:自动删除旧内核(CentOS 7)

package-cleanup --oldkernels --count=1 -y

方法二:手动查看并删除

rpm -qa | grep kernel

示例删除:

yum remove kernel-3.10.0-1160.el7.x86_64

✅ 建议保留:

  • 当前正在使用的内核
  • 一个备用内核

查看当前内核:

uname -r

四、清理日志文件(常见“隐形大户”)

1️⃣ journal 日志

journalctl --disk-usage

清理:

journalctl --vacuum-time=7d
# 或
journalctl --vacuum-size=100M

2️⃣ 系统日志

ls -lh /var/log/

手动清理或截断:

truncate -s 0 /var/log/messages
truncate -s 0 /var/log/secure

或删除旧日志:

rm -f /var/log/*-202*

五、清理用户缓存(可选)

rm -rf ~/.cache/*

六、查找大文件(辅助手段)

du -h --max-depth=1 / | sort -hr

或:

find / -xdev -size +500M

七、总结(安全顺序)

推荐清理顺序

# 1. 删除无用依赖
dnf autoremove -y
# 或
package-cleanup --leaves | xargs yum remove -y

# 2. 清理缓存
dnf clean all

# 3. 清理旧内核
package-cleanup --oldkernels --count=1 -y

# 4. 清理日志
journalctl --vacuum-time=7d

八、⚠️ 注意事项

  • 生产服务器操作前建议备份
  • 不确定是否需要的包 → 不要删
  • 删除前用 rpm -qa | grep xxx 确认

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

  • ✅ CentOS 版本
  • ✅ 是服务器还是本地机器
  • ✅ 想重点清理磁盘空间还是系统瘦身

我可以给你一份 定制清理脚本

0