以下是 Linux 系统中 YUM 包管理器 的常用命令详解,涵盖安装、更新、删除、查询等操作,帮助你高效管理系统软件包:
一、YUM 基础操作
1. 更新软件包索引
sudo yum check-update # 检查可用的更新(不实际安装)
2. 安装软件包
sudo yum install 包名 # 安装指定软件包
sudo yum groupinstall 组名 # 安装软件组(如 "Development Tools")
3. 升级所有软件包
sudo yum update # 升级所有已安装的软件包
sudo yum upgrade # 升级系统(可能涉及内核更新)
4. 卸载软件包
sudo yum remove 包名 # 卸载指定软件包(保留配置文件)
sudo yum erase 包名 # 卸载并删除配置文件
二、软件包查询与管理
1. 搜索软件包
yum search 关键词 # 根据名称或描述搜索软件包
yum provides 文件名 # 查找包含某文件的软件包
2. 查看软件包信息
yum info 包名 # 显示软件包详细信息(版本、依赖等)
yum list installed # 列出所有已安装的软件包
yum list available # 列出所有可用的软件包
3. 清理缓存
sudo yum clean all # 清理所有缓存(元数据和软件包)
sudo yum makecache # 生成新的缓存(加速后续搜索)
三、高级操作
1. 处理依赖关系
sudo yum deplist 包名 # 显示软件包的依赖关系
2. 锁定软件包版本
sudo yum versionlock 包名 # 锁定指定软件包版本,防止被更新
sudo yum versionlock clear # 解除所有锁定
3. 安装本地 RPM 包
sudo yum localinstall 本地文件.rpm # 通过 YUM 安装本地 RPM 包(自动解决依赖)
四、仓库(Repository)管理
1. 查看启用的仓库
yum repolist enabled # 列出所有启用的仓库
2. 添加/禁用仓库
sudo yum-config-manager --add-repo=仓库URL # 添加新仓库
sudo yum-config-manager --disable 仓库ID # 禁用指定仓库
3. 使用 EPEL 仓库
# 安装 EPEL 仓库(Extra Packages for Enterprise Linux)
sudo yum install epel-release
五、常见问题与解决
1. 依赖冲突
- 错误示例:
Error: Package: xxx-1.0.x86_64 (installed) requires yyy = 2.0
解决:sudo yum deplist xxx # 检查依赖关系 sudo yum downgrade yyy # 降级冲突的依赖包
2. 仓库无法访问
- 错误示例:
Cannot retrieve repository metadata
解决:sudo yum clean all sudo yum makecache
3. 历史操作回滚
sudo yum history undo 事务ID # 撤销某次操作(如安装/卸载)
六、常用选项
选项 | 说明 |
---|---|
-y |
自动回答 “yes”(跳过确认提示) |
-q |
静默模式(减少输出信息) |
--enablerepo=repo |
临时启用指定仓库 |
--disablerepo=repo |
临时禁用指定仓库 |
七、替代工具
- DNF:新一代包管理器(默认用于 Fedora/CentOS 8+),语法类似 YUM:
sudo dnf install 包名
示例操作流程
安装 Nginx:
sudo yum install epel-release # 启用 EPEL 仓库 sudo yum install nginx # 安装 Nginx
升级系统并清理缓存:
sudo yum update -y sudo yum clean all