实用提示:
- 在执行重要操作前,建议先使用
yum check-update
检查系统更新状态 - 使用
-y
选项时要小心,因为它会自动确认所有提示 - 定期执行
yum clean all
和yum makecache
来维护软件源缓存 - 使用
yum history
可以查看之前的操作记录,必要时可以回滚操作 - 重要系统更新前建议先备份系统
1. 查询(Query)
# 1.1 搜索软件包
yum search [软件包名称] # 搜索相关软件包
yum info [软件包名称] # 查看软件包详细信息
# 1.2 列出软件包
yum list # 列出所有软件包
yum list installed # 列出已安装的软件包
yum list available # 列出可安装的软件包
yum list updates # 列出可更新的软件包
# 1.3 检查更新
yum check-update # 检查可更新的软件包
# 1.4 查询文件与软件包的关系
yum provides [文件路径] # 查询文件属于哪个软件包
yum whatprovides [文件路径] # 同上
# 1.5 查看软件源
yum repolist # 列出启用的软件源
yum repolist all # 列出所有软件源
2. 新增(Create/Install)
# 2.1 安装软件包
yum install [软件包名称] # 安装指定软件包
yum -y install [软件包名称] # 自动确认安装
# 2.2 安装软件包组
yum groupinstall [组名称] # 安装整个组的软件包
# 2.3 下载软件包但不安装
yum download [软件包名称] # 只下载不安装
3. 删除(Delete/Remove)
# 3.1 移除软件包
yum remove [软件包名称] # 移除指定软件包
yum erase [软件包名称] # 同 remove
# 3.2 自动移除无用依赖
yum autoremove # 自动移除不再需要的依赖包
yum autoremove [软件包名称] # 移除指定软件包及其不再被依赖的依赖包
# 3.3 移除软件包组
yum groupremove [组名称] # 移除整个组
# 3.4 清理缓存
yum clean all # 清理所有yum 缓存
yum clean metadata # 清理元数据
yum clean packages # 清理软件包缓存
4. 修改(Update/Modify)
# 4.1 更新软件包
yum update # 更新所有软件包
yum update [软件包名称] # 更新指定软件包
yum -y update # 自动确认更新
# 4.2 重新安装
yum reinstall [软件包名称] # 重新安装软件包
# 4.3 降级软件包
yum downgrade [软件包名称] # 将软件包降级到较旧版本
# 4.4 修复系统
yum check # 检查系统
yum resolvedep [依赖名称] # 解决依赖问题
常用选项
-y # 自动回答 yes
-q # 安静模式
--nogpgcheck # 不检查 GPG 签名
--enablerepo=[名称] # 启用指定软件源
--disablerepo=[名称] # 禁用指定软件源
5.回滚操作(History )
1. 查看历史记录
# 查看所有历史记录
yum history list all
# 查看最后N条记录
yum history list [N]
# 查看特定ID的详细信息
yum history info [ID]
# 查看特定命令的详细信息
yum history info last # 最后一条命令
yum history info last-[N] # 倒数第N条命令
2. 回滚操作
# 撤销指定ID的操作
yum history undo [ID]
# 重做指定ID的操作
yum history redo [ID]
# 回滚到指定ID的状态
yum history rollback [ID]
# 如果回滚失败,可以尝试强制回滚
yum history undo force [ID]
# 如果历史数据库损坏,可以重新创建
yum history new
3. 常用历史命令
# 查看历史命令的包信息
yum history package-list [ID]
# 查看历史命令使用的事务信息
yum history transaction [ID]
# 同步历史数据库
yum history sync
# 新建历史数据库
yum history new
4. 实际使用示例
# 步骤1:查看历史记录
yum history list all
# 输出示例:
ID | Command line | Date and time | Action(s) | Altered
-------------------------------------------------------------------------------
4 | install httpd | 2024-01-20 14:00 | Install | 2
3 | update | 2024-01-19 10:30 | Update | 15
2 | remove mysql-server | 2024-01-18 09:15 | Erase | 3
1 | install nginx | 2024-01-17 16:45 | Install | 5
# 步骤2:查看具体操作详情
yum history info 4
# 步骤3:执行回滚
yum history undo 4 # 撤销ID为4的操作(卸载httpd)