温馨提示×

如何清理CentOS旧版本包

小樊
37
2026-08-04 05:13:48
栏目: 智能运维

在 CentOS 系统中,清理旧版本(冗余、废弃、重复)的软件包可以有效释放磁盘空间。下面按 CentOS 7 / 8 / Stream 分别说明常用、安全的清理方法。


一、通用安全清理(推荐先做)

1️⃣ 清理 yum / dnf 缓存

这是最安全、最常用的操作。

# CentOS 7
yum clean all

# CentOS 8 / Stream
dnf clean all

清理内容:

  • 下载的 rpm 缓存
  • 仓库元数据

2️⃣ 删除不再需要的依赖包(非常重要)

CentOS 7(yum)

package-cleanup --oldkernels --count=1
package-cleanup --leaves

CentOS 8 / Stream(dnf)

dnf autoremove

✅ 会删除:

  • 不再被任何软件依赖的包
  • 旧内核(部分情况)

⚠️ 注意:执行前确认输出列表,避免误删。


二、清理旧内核(重点)

1️⃣ 查看当前内核

uname -r

2️⃣ 查看已安装内核

# CentOS 7
rpm -qa | grep kernel

# CentOS 8 / Stream
dnf list installed kernel

3️⃣ 删除旧内核(保留当前)

CentOS 7

package-cleanup --oldkernels --count=1

CentOS 8 / Stream

dnf remove $(dnf repoquery --installonly --latest-limit=-1 -q)

✅ 建议:至少保留 1 个旧内核 作为备份。


三、清理重复 / 废弃包

1️⃣ 查找重复包

package-cleanup --dupes

2️⃣ 删除重复包(谨慎)

package-cleanup --cleandupes

⚠️ 高风险操作,建议先备份或确认系统状态。


四、清理日志与临时文件(辅助)

1️⃣ 清理 journal 日志

# 保留最近 7 天
journalctl --vacuum-time=7d

# 或限制大小
journalctl --vacuum-size=100M

2️⃣ 清理 /tmp

rm -rf /tmp/*

五、CentOS 8 / Stream 额外说明

CentOS 8 已 EOF,建议:

  • 迁移到 CentOS Stream
  • 或切换到 Rocky / AlmaLinux

清理前建议:

dnf distro-sync

✅ 推荐清理顺序(安全)

uname -r
dnf clean all
dnf autoremove
dnf remove --oldinstallonly
journalctl --vacuum-time=7d

⚠️ 注意事项

  • 生产环境先备份
  • 不要删除:
    • 当前内核
    • glibc、systemd、openssl
  • 不确定时,先 dnf remove --dry-run

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

  • ✅ CentOS 版本
  • ✅ 是服务器还是桌面
  • ✅ 磁盘空间紧张程度

我可以给你一套 定制清理方案

0