温馨提示×

怎样清理CentOS yum缓存

小樊
35
2026-07-08 22:04:31
栏目: 智能运维

清理 CentOS 的 yum 缓存是一个常见的维护操作,可以释放磁盘空间并确保你从仓库获取最新的软件包信息。

以下是在 CentOS 7、CentOS 8(以及 CentOS Stream)中清理 yum/dnf 缓存的方法:

1. 对于 CentOS 7 (使用 yum)

CentOS 7 默认使用 yum 作为包管理器。

方法一:清理所有缓存(最常用)

这是最彻底的清理方式,会删除所有缓存的软件包和元数据。

sudo yum clean all

方法二:仅清理缓存的 RPM 包

如果你想保留仓库的元数据(加快下次搜索速度),只删除下载的安装包:

sudo yum clean packages

方法三:仅清理元数据

删除旧的仓库头文件(下次运行 yum 时会重新下载):

sudo yum clean metadata

2. 对于 CentOS 8 / CentOS Stream (使用 dnf)

虽然 CentOS 8 默认使用 dnf,但 yum 命令通常作为 dnf 的别名存在。建议直接使用 dnf 命令。

清理所有缓存

sudo dnf clean all

3. 进阶:删除旧的内核包(释放大量空间)

在清理 yum 缓存之外,如果你的 /boot 分区满了,或者想清理旧内核,可以使用 package-cleanup 工具(属于 yum-utils 包)。

注意: 请务必保留当前正在使用的内核,不要全部删除。

  1. 安装工具(如果未安装):

    sudo yum install yum-utils
    
  2. 查看当前内核:

    uname -r
    
  3. 清理旧内核(保留最近的两个版本):

    # CentOS 7
    sudo package-cleanup --oldkernels --count=2
    
    # CentOS 8 (使用 dnf)
    sudo dnf remove $(dnf repoquery --installonly --latest-limit=-2 -q)
    

4. 验证与检查

清理完成后,你可以检查 /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 allsudo dnf clean all 是最安全且快捷的方法。

0