温馨提示×

Yum在Red Hat中如何操作

小樊
41
2025-12-23 23:09:38
栏目: 编程语言

适用于 Red Hat 的 Yum 常用操作指南

一 基础准备与权限

  • RHEL 中使用 Yum 进行安装、更新、删除等管理操作需要 root 权限,通常通过 sudosu 获取。执行命令前建议先确保系统与 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 updateyum 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 事务IDyum 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

五 实用示例

  • 安装与查询
    • 安装 nginxsudo 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/isosudo 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/isosudo rmdir /mnt/iso

0