Yum在Red Hat中如何操作
小樊
41
2025-12-23 23:09:38
适用于 Red Hat 的 Yum 常用操作指南
一 基础准备与权限
- 在 RHEL 中使用 Yum 进行安装、更新、删除等管理操作需要 root 权限,通常通过 sudo 或 su 获取。执行命令前建议先确保系统与 Red Hat Subscription Management 完成注册,以便正常访问官方软件仓库。为提升下载速度,Yum 支持并行下载元数据与软件包。为保障软件来源可信,建议开启 GPG 签名校验,未通过校验的包将被拒绝安装。
二 常用包管理命令
- 安装与卸载
- 安装软件包:sudo yum install 包名
- 重新安装:sudo yum reinstall 包名
- 卸载软件包:sudo yum remove 包名(同义:yum erase)
- 仅下载不安装:sudo yum install --downloadonly --downloaddir=目录 包名
- 更新与升级
- 检查可用更新:yum check-update
- 更新单个包:sudo yum update 包名
- 更新全部包:sudo yum update
- 仅应用安全更新:sudo yum update --security
- 最小化安全更新(仅到最新安全版本):sudo yum update-minimal --security
- 包组更新:sudo yum group update 组名
- 说明:在 RHEL 7 中,yum update 与 yum upgrade 默认等效(因 obsoletes 默认开启);执行更新时 Yum 总是安装新内核,不会替换当前内核。
- 查询与信息
- 列出包:yum list all;已安装:yum list installed;可更新:yum list updates
- 查看包信息:yum info 包名
- 搜索包:yum search 关键词
- 查看更新摘要:yum updateinfo
- 依赖与提供
- 查看依赖:yum deplist 包名
- 查找提供某文件的包:yum provides “*/bin/命令”
- 包组
- 列出包组:yum grouplist
- 查看包组信息:yum groupinfo “组名”
三 仓库与缓存管理
- 仓库操作
- 列出已启用仓库:yum repolist
- 查看仓库信息:yum repoinfo 仓库名
- 启用/禁用仓库:sudo yum-config-manager --enable 仓库名;sudo yum-config-manager --disable 仓库名
- 使用指定仓库的包:yum repo-pkgs 仓库名 list/install/remove
- 缓存与元数据
- 生成缓存:sudo yum makecache
- 清理缓存:sudo yum clean all
- 本地仓库与离线使用
- 挂载 ISO 并创建本地源,编辑 /etc/yum.repos.d/xxx.repo,设置 baseurl=file:///挂载点,然后执行 sudo yum update 完成离线小版本升级或安装。
四 事务历史与故障排查
- 事务历史
- 查看历史:yum history list
- 撤销/重做事务:yum history undo 事务ID;yum history redo 事务ID
- 常见问题处理
- 校验本地 RPM 数据库:sudo yum check
- 清理损坏或过期缓存:sudo yum clean all
- 忽略依赖问题(谨慎):sudo yum --skip-broken install 包名
- 详细/静默输出:-v / -q
- 临时启用/禁用插件:–enableplugin=插件名 / –disableplugin=插件名
- 仅下载不安装:–downloadonly
- 显示变更日志:–changelogs
- 指定安装根目录:–installroot=/路径
- 交互式会话:yum shell。
五 实用示例
- 安装与查询
- 安装 nginx:sudo yum install -y nginx
- 查询 nginx 信息:yum info nginx
- 查找提供 /usr/bin/python3 的包:yum provides “*/bin/python3”
- 安全更新与回滚
- 仅应用安全更新:sudo yum update --security
- 回滚最近一次事务:sudo yum history undo last
- 离线升级
- 挂载 ISO 至 /mnt/iso:sudo mount -o loop rhel7.iso /mnt/iso
- 添加本地源:sudo cp /mnt/iso/media.repo /etc/yum.repos.d/rhel7-local.repo
- 编辑 /etc/yum.repos.d/rhel7-local.repo,加入:baseurl=file:///mnt/iso
- 刷新并升级:sudo yum makecache && sudo yum update
- 升级后清理:sudo umount /mnt/iso;sudo rmdir /mnt/iso。