056 yum命令

命令说明

yum(Yellowdog Updater Modified)是 RHEL/CentOS 7 及以前的包管理器,自动解决依赖地安装、升级、删除 RPM 软件包;RHEL8+/Fedora 已演进为 dnf(命令兼容)。

语法

yum [选项]... 子命令 [包名]...

常用参数

参数说明
install 包安装软件包,如 yum install nginx
remove / erase 包卸载软件包及其无用依赖
update [包]升级指定包或全部可升级包
search 关键词按名称/描述搜索包
info 包查看包版本、仓库、依赖详情
list installed/available列出已安装 / 可安装的包
provides 文件反查哪个包提供某文件/命令,如 yum provides "*/ifconfig"
clean all清缓存(元数据+包),仓库变更后强制刷新
makecache重建仓库元数据缓存
-y所有确认提示自动回答 yes(脚本必加)

使用示例

$ yum install -y git curl

免确认安装多个包

$ yum update -y

全系统升级(生产建议先 update 指定包)

$ yum remove httpd

卸载 httpd 及依赖

$ yum search redis

搜索与 redis 相关的包

$ yum info nginx

查看 nginx 包详细信息

$ yum list installed | grep mysql

确认已安装的 mysql 相关包

$ yum provides "*/netstat"

命令找不到时反查所属包(net-tools)

$ yum clean all && yum makecache

换源/加仓库后刷新缓存

$ yum history list

查看安装事务历史,可 history undo 回滚

实用技巧

  • yum 与 dnf 关系:dnf 是 yum 的下一代实现(Python3、依赖解析更快、内存更省),RHEL8+ 中 yum 命令就是 dnf 的软链,用法完全一致。
  • 命令找不到时 yum provides "*/命令名" 是最实用的反查手段,比搜索引擎快且准。
  • yum history 是救命功能:list 看事务、info ID 看详情、undo ID 回滚一次误操作。
  • 仓库文件在 /etc/yum.repos.d/*.repo;CentOS 7 EOL 后官方源下线,需换 vault 源或迁移到 Rocky/Alma。
  • installonly_limit 控制保留内核数量,update 后旧内核不会删,定期用 package-cleanup --oldkernels 清理。
  • 离线环境用 yumdownloader 下 rpm 后 rpm -ivh 安装,或用 yum --downloadonly --downloaddir=./rpms 打包依赖。