yum(Yellowdog Updater Modified)是用于管理 RPM 软件包的工具,自动处理依赖关系,简化软件安装、更新和删除。

常用命令

1、安装软件包

yum install <包名>                  # 安装指定软件包
yum install <包名1> <包名2>          # 同时安装多个包
yum install --downloadonly <包名>   # 仅下载不安装(需先安装 yum-plugin-downloadonly)

2、更新软件包

yum update                          # 更新所有可升级的包 更新全部软件
yum update <包名>                    # 更新指定包
yum check-update                    # 检查可用的更新(不执行)

3、卸载软件包

yum remove <包名>                   # 删除指定包及其依赖
yum autoremove                      # 删除未被依赖的孤立包

4、查询软件包

yum list                            # 列出所有已安装和可用的包
yum list installed                  # 仅列出已安装的包
yum list available                  # 列出可安装的包
yum search <关键词>                 # 按关键词搜索包
yum info <包名>                     # 显示包的详细信息
yum provides <文件或命令>           # 查找提供特定文件/命令的包(该命令特别实用)

示例:

yum search python3                  # 搜索 Python3 相关包
yum info nginx                      # 查看 Nginx 包信息
yum provides /etc/httpd/conf/httpd.conf  # 查找该文件是哪个包提供的
yum provides netstat  # 查找该命令是那个包提供的

yum高级配置

1、仓库管理

cat /etc/yum.repos.d

yum --enablerepo=epel install <包>  # 临时启用 EPEL 仓库
yum-config-manager --disable epel   # 永久禁用仓库(需安装 yum-utils)

2、添加第三方仓库

yum install epel-release            # 安装 EPEL 仓库

3、排除特定包更新

# 编辑 /etc/yum.conf,添加排除列表:
exclude=kernel* php*                # 排除所有内核和 PHP 包

事务历史与回滚

查看历史

yum history                          # 显示所有事务记录
yum history info <事务ID>           # 查看某次事务详情

撤销

yum history undo <事务ID>           # 回滚到指定事务前的状态
yum history rollback <事务ID>       # 回滚到指定事务后的状态

常见问题解决

1、依赖冲突

yum deplist <包名>                  # 列出包的依赖关系
yum remove <冲突包>                 # 手动解决冲突后重试安装

2、无法锁定yum进程

# 错误:Another app is currently holding the yum lock...解决:删除锁文件(谨慎操作):

rm -f /var/run/yum.pid

3、强制重新安装

yum reinstall <包名>                # 重新安装指定包