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 打包依赖。