清理 CentOS 的 yum 缓存是一个常见的维护操作,可以释放磁盘空间并确保你从仓库获取最新的软件包信息。
以下是在 CentOS 7、CentOS 8(以及 CentOS Stream)中清理 yum/dnf 缓存的方法:
CentOS 7 默认使用 yum 作为包管理器。
这是最彻底的清理方式,会删除所有缓存的软件包和元数据。
sudo yum clean all
如果你想保留仓库的元数据(加快下次搜索速度),只删除下载的安装包:
sudo yum clean packages
删除旧的仓库头文件(下次运行 yum 时会重新下载):
sudo yum clean metadata
虽然 CentOS 8 默认使用 dnf,但 yum 命令通常作为 dnf 的别名存在。建议直接使用 dnf 命令。
sudo dnf clean all
在清理 yum 缓存之外,如果你的 /boot 分区满了,或者想清理旧内核,可以使用 package-cleanup 工具(属于 yum-utils 包)。
注意: 请务必保留当前正在使用的内核,不要全部删除。
安装工具(如果未安装):
sudo yum install yum-utils
查看当前内核:
uname -r
清理旧内核(保留最近的两个版本):
# CentOS 7
sudo package-cleanup --oldkernels --count=2
# CentOS 8 (使用 dnf)
sudo dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)
清理完成后,你可以检查 /var/cache/yum 目录的大小来确认空间是否释放。
# 查看缓存目录大小
sudo du -sh /var/cache/yum
| 命令 | 作用 | 适用系统 |
|---|---|---|
sudo yum clean all |
清理所有 yum 缓存 | CentOS 7 |
sudo dnf clean all |
清理所有 dnf 缓存 | CentOS 8 / Stream |
sudo yum clean packages |
仅清理已下载的 RPM 包 | CentOS 7 |
sudo package-cleanup --oldkernels --count=2 |
清理旧内核 | CentOS 7 |
建议: 如果你只是想释放空间,直接运行 sudo yum clean all 或 sudo dnf clean all 是最安全且快捷的方法。