Yum在Red Hat中如何操作
适用于 Red Hat 的 Yum 常用操作指南

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈
一 基础准备与权限
想在 RHEL 系统里用 Yum 来安装、更新或者删除软件?首先得拿到“管理员钥匙”——也就是 root 权限。通常,通过 sudo 或 su 命令就能获取。
动手执行命令前,有个好习惯:先确认你的系统已经和 Red Hat Subscription Management 完成了注册。这一步很关键,它相当于拿到了官方软件仓库的“通行证”,后续的下载和更新才能畅通无阻。
说到下载速度,Yum 其实挺贴心的,它支持并行下载元数据和软件包,能有效节省等待时间。当然,安全永远是第一位的。强烈建议开启 GPG 签名校验功能,这就像给每个软件包验明正身。任何无法通过校验的包,都会被 Yum 果断拒之门外,从源头上保障系统的安全可信。
二 常用包管理命令
掌握了基本权限,接下来就是实战环节了。Yum 的命令看似繁多,但归类梳理后,你会发现逻辑非常清晰。
安装与卸载
- 安装软件包:
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 提供了丰富的查询工具:
- 列出包:
yum list all查看所有;yum list installed查看已安装的;yum list updates查看可更新的。 - 查看包详情:
yum info 包名,版本、大小、简介一目了然。 - 搜索包:
yum search 关键词,当你只知道部分功能或名称时用它。 - 查看更新摘要:
yum updateinfo,帮你快速了解有哪些安全或缺陷修复更新。
说到依赖关系,这是包管理器的核心能力:
- 查看依赖:
yum deplist 包名,可以清晰地看到一个软件包依赖哪些其他包。 - 查找提供某文件的包:
yum provides “*/bin/命令”。这个命令非常实用,比如当你遇到“command not found”时,可以用它快速定位需要安装哪个包。
对于按功能分组的软件集合(包组),管理命令也很直观:
- 列出所有包组:
yum grouplist - 查看某个包组的详细信息:
yum groupinfo “组名”
三 仓库与缓存管理
Yum 的强大,离不开背后软件仓库的支持。管理好仓库,才能保证软件源的稳定和高效。
仓库操作
- 列出已启用的仓库:
yum repolist - 查看特定仓库的详细信息:
yum repoinfo 仓库名 - 启用或禁用某个仓库:
sudo yum-config-manager --enable 仓库名和sudo yum-config-manager --disable 仓库名 - 如果想针对某个特定仓库进行操作(例如只列出或安装该仓库的包):
yum repo-pkgs 仓库名 list/install/remove
缓存与元数据
Yum 会缓存仓库的元数据以加速操作。
- 手动生成缓存:
sudo yum makecache - 清理所有缓存:
sudo yum clean all。当遇到仓库信息不一致时,清理缓存往往是第一步。
本地仓库与离线使用
在没有网络的环境下怎么办?别担心,Yum 支持本地仓库。操作思路很直接:将 RHEL 的 ISO 镜像文件挂载到系统目录(比如 /mnt/iso),然后在 /etc/yum.repos.d/ 目录下创建一个 .repo 文件,将 baseurl 指向这个挂载点(例如 baseurl=file:///mnt/iso)。完成后,执行 sudo yum update,就能完成离线的小版本升级或软件安装了。
四 事务历史与故障排查
Yum 有一个非常棒的特性:它完整记录每一次操作的事务历史。这为问题排查和系统回滚提供了巨大便利。
事务历史
- 查看历史操作列表:
yum history list - 如果不小心安装了错误的包,可以撤销(undo)指定事务ID的操作;同样,也可以重做(redo)某个历史事务。
常见问题处理
遇到问题别慌张,Yum 内置了多种排查工具:
- 校验本地 RPM 数据库的完整性:
sudo yum check - 清理损坏或过期的缓存:
sudo yum clean all,这是解决很多仓库相关错误的“万能钥匙”。 - 忽略依赖问题(请谨慎使用):
sudo yum --skip-broken install 包名。这能绕过依赖错误强制安装,但可能让系统处于不稳定状态。 - 控制输出详简:
-v参数输出详细信息,-q参数则静默执行。 - 管理插件:
–enableplugin=插件名临时启用某个插件,–disableplugin=插件名临时禁用。 - 其他实用选项:
–downloadonly(仅下载)、–changelogs(显示变更日志)、–installroot=/路径(指定安装根目录,常用于构建容器或特定环境)。 - 甚至可以进行交互式会话:
yum shell,在一个会话中连续执行多条 Yum 命令。
五 实用示例
理论说再多,不如看几个实际例子来得直观。
安装与查询
- 安装 nginx 并自动确认:
sudo yum install -y nginx - 安装后想看看它的具体信息:
yum info nginx - 想知道系统里哪个包提供了
/usr/bin/python3这个文件:yum provides “*/bin/python3”
安全更新与回滚
- 在关键服务器上,稳妥起见,只应用安全更新:
sudo yum update --security - 如果更新后发现问题,迅速回滚到最后一次操作:
sudo yum history undo last
离线升级
这是一个完整的离线升级示例流程:
- 挂载 ISO 镜像:
sudo mount -o loop rhel7.iso /mnt/iso - 复制仓库配置文件:
sudo cp /mnt/iso/media.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(如果目录为空)。
通过以上这些命令和示例的组合运用,你基本上就能游刃有余地驾驭 Red Hat 系统中的 Yum 包管理器了。记住,多上手练习,这些命令很快就会成为你的肌肉记忆。
相关攻略
Linux环境下C++网络通信:深入解析Socket套接字编程 套接字(Socket)是网络通信的核心端点,它构建了不同计算机间程序数据交换的桥梁。在Linux操作系统中,使用C++实现网络通信主要依赖于Socket编程这套标准化接口。掌握其原理与步骤,是开发高性能网络应用的基础。 本文将详细拆解L
在Linux环境下使用C++实现高效的排序算法 在Linux平台上用C++做开发,排序是绕不开的基础操作。如何实现高效排序?其实路子不少,关键得看场景。下面就来聊聊几种常用的策略和具体实现,从开箱即用的标准库到手动打造的高性能算法,咱们逐一拆解。 1 首选利器:标准库的高效排序函数 绝大多数情况下
Linux下C++容器技术使用指南 一 环境准备与编译运行 要在Linux系统上高效开发基于C++标准模板库(STL)的程序,首要任务是完成开发环境的配置。这一过程的核心在于安装合适的编译器和构建管理工具。其中,GCC G++编译器与CMake构建系统的组合是业界公认的经典方案。 以下是一组可直接执
C++ Linux 平台依赖管理实战指南 一 常用方式与适用场景 在Linux上管理C++依赖,方法不少,各有各的“脾气”和适用场景。选对了,事半功倍;选错了,可能就是一场与编译错误的持久战。 系统级包管理器:这是最“接地气”的方式。在 Debian Ubuntu 系列,你会用 apt 安装像 li
Linux C++网络编程:从基础Socket到现代库的实战指南 想在Linux环境下用C++玩转网络编程?那你来对地方了。这片天地里,从最底层的系统调用到封装完善的高层库,选择其实相当丰富。今天,我们就来聊聊几个最常用、也最值得掌握的网络库,看看它们各自怎么用,又适合哪些场景。 1 Socket
热门专题
热门推荐
红米Note 11 Pro系统升级,为何坚持要求连接Wi-Fi? 当红米Note 11 Pro收到MIUI或澎湃OS的系统更新推送时,官方总会明确提示:整个过程请在Wi-Fi网络环境下完成。这项要求并非随意设定,而是基于清晰的技术与体验考量。一次完整的系统升级包,其大小通常在2GB至4GB之间。如果
小米13 Ultra的NFC功能深度解析:它如何重新定义“全场景智能交互”? 在旗舰手机领域,NFC功能看似已成为标配,但体验却千差万别。小米13 Ultra所搭载的全功能NFC方案,在“全能”与“好用”两个维度上树立了新的标杆。它不仅无缝集成了公交卡模拟、门禁卡复制、数字车钥匙等核心生活服务,更全
嵌入式消毒柜电源插座安装指南:隐蔽式布局提升安全与美观 在规划嵌入式消毒柜的安装方案时,电源插座的布局方式直接影响到最终的整体效果与安全性。正确的做法是避免插座外露,采用隐蔽式安装。根据国家《住宅厨房设计规范》及主流厨电品牌的安装标准,推荐将插座预留在消毒柜后方或侧方的墙体内部,安装高度宜控制在距地
是的,魔音(Beats)耳机充电状态一目了然,指示灯明确显示 当你为Beats头戴式耳机充电时,如何判断它是否已经充满?答案就藏在机身自带的五段式LED电量指示灯里。在充电过程中,这排指示灯会持续闪烁,实时反馈充电进度。一旦所有五个指示灯全部转为稳定常亮、不再闪烁,即代表电池已完全充满。整个充电周期
博朗剃须刀型号全解析:从编码规则到选购技巧的终极指南 面对博朗剃须刀复杂的字母数字组合感到困惑?实际上,其型号命名体系逻辑严谨,是用户选购的核心依据。简单来说,型号首位的数字(1、3、5、7、9)直接代表产品系列,数字越大,通常意味着技术越先进、功能越全面、定位越高端。例如,顶级的9系旗舰机型普遍搭





