news 2026/8/25 6:28:50

Linux命令-yum(RPM 包管理工具)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux命令-yum(RPM 包管理工具)

Linux命令-yum(RPM 包管理工具)

    • 🔰 命令简介
    • 📖 语法格式
    • ⚙️ 常用选项与子命令
      • 全局选项
    • 💡 实战示例
      • 1. 软件包安装
      • 2. 搜索与查询
      • 3. 更新系统与软件包
      • 4. 卸载软件包
      • 5. 仓库管理
      • 6. yum 历史管理
      • 7. 依赖分析
      • 8. 高级用法
    • ⚠️ 危险操作与注意事项
    • 📚 相关命令
    • 📝 总结

快速参考yum(Yellowdog Updater Modified)是RHEL/CentOS 系统的包管理工具,用于自动解决依赖关系并安装 RPM 软件包。在 CentOS 8+/RHEL 8+ 中已被dnf替代,但存量系统仍广泛使用。


🔰 命令简介

yum基于 RPM 包管理,从配置的软件仓库(repository)中下载并安装软件包,自动处理依赖关系,是 CentOS/RHEL 日常运维的核心命令。

💡版本说明:RHEL 7/CentOS 7 使用yum,RHEL 8+/CentOS 8+ 使用dnf(Dandified YUM)。dnf语法与yum高度兼容,大部分系统上yum命令实际上是dnf的别名。

核心概念:

概念说明
仓库(repo)软件包的远程或本地存储位置
RPM 包.rpm格式的二进制软件包
依赖解析自动计算并安装所需的依赖包
yum 缓存本地缓存的仓库元数据和 RPM 包

📖 语法格式

yum[选项]子命令[包名...]# 安装软件包yuminstall包名# 搜索软件包yum search 关键字# 更新系统/软件包yum update[包名]# 删除软件包yum remove 包名

⚙️ 常用选项与子命令

子命令说明
install安装一个或多个软件包
remove/erase卸载软件包
update更新已安装的软件包
upgrade更新软件包(会处理过时依赖)
search在包名和描述中搜索关键字
info显示软件包详细信息
list列出可用或已安装的软件包
provides查找提供指定文件的软件包
clean清理 yum 缓存
makecache生成/更新缓存
repolist列出已配置的仓库
history查看/管理 yum 操作历史
check-update检查可用更新
reinstall重新安装软件包
downgrade降级软件包
deplist显示软件包的依赖关系

全局选项

选项说明
-y对所有确认提示自动回答 yes
-q安静模式,减少输出
-v详细模式
--nogpgcheck跳过 GPG 签名验证
--enablerepo=仓库临时启用指定仓库
--disablerepo=仓库临时禁用指定仓库
--downloadonly仅下载不安装
--downloaddir=目录指定下载目录

💡 实战示例

1. 软件包安装

# 安装单个软件包yuminstallnginx# 安装多个软件包(批量安装 LNMP)yuminstallnginx mysql-server php-fpm php-mysql# 自动确认安装(非交互模式,适合脚本)yuminstall-ygitvimwgetcurl# 安装本地 RPM 文件(自动处理依赖)yum localinstall ./custom-package.rpm# 从指定仓库安装yum--enablerepo=epelinstallhtop# 安装开发工具组yum groupinstall"Development Tools"

2. 搜索与查询

# 搜索包含 "python" 的软件包yum search python3# 查看软件包详细信息yum info nginx# 列出所有已安装的软件包yum list installed# 列出所有可用(未安装)的软件包yum list available# 列出所有软件包(已安装 + 可用)yum list all# 查看某个包的已安装版本yum list installed|grepkernel# 查找哪个包提供了 /usr/bin/ssh 文件yum provides /usr/bin/ssh# 按通配符搜索yum list'php-*'

3. 更新系统与软件包

# 更新所有软件包(包括内核)yum update# 仅更新安全补丁yum update--security# 更新单个软件包yum update nginx# 检查有哪些可用更新yum check-update# 仅下载更新但不安装(便于离线部署)yum update--downloadonly--downloaddir=/tmp/updates# 更新到指定版本(锁定版本)yum update-to nginx-1.20.1

4. 卸载软件包

# 卸载单个软件包yum remove nginx# 卸载多个软件包yum remove httpd php php-mysql# 自动确认卸载yum remove-ydocker# 卸载软件包及其未被其他包使用的依赖yum autoremove nginx

5. 仓库管理

# 列出所有已配置的仓库yum repolist# 列出所有仓库(含禁用的)yum repolist all# 查看仓库详细信息yum repoinfo# 生成/更新仓库元数据缓存yum makecache# 清理所有缓存文件yum clean all# 仅清理软件包缓存yum clean packages# 仅清理元数据缓存yum clean metadata

6. yum 历史管理

# 查看 yum 操作历史yumhistory# 查看指定历史条目的详细信息yumhistoryinfo10# 撤销某次操作(回滚到指定事务之前)yumhistoryundo10# 重做某次操作yumhistoryredo10# 列出涉及某软件包的历史操作yumhistorylist nginx

7. 依赖分析

# 查看软件包的依赖关系yum deplist nginx# 查看哪些包依赖指定软件包yum deplist--reversenginx# 显示包的已安装依赖和缺失依赖yum check-dependencies

8. 高级用法

# 安装 EPEL 仓库(Extra Packages for Enterprise Linux)yuminstallepel-release# 查看特定仓库中的软件包yum--disablerepo='*'--enablerepo=epel list available# 仅下载不安装(用于离线环境部署)yuminstall--downloadonly--downloaddir=/tmp/rpmsdocker# 忽略特定依赖安装(危险!仅限特殊场景)yuminstall--skip-broken package-name# 从特定源安装(排除某些仓库)yuminstall--disablerepo=base--enablerepo=epelhtop

⚠️ 危险操作与注意事项

⚠️危险警告:以下操作可能导致系统不稳定或软件包损坏。

# 危险:强制删除内核(可能导致系统无法启动)yum remove kernel# 回滚方案:保留至少两个内核版本# 安装回内核:yum install kernel# 危险:跳过依赖安装yuminstall--skip-broken broken-package# 回滚方案:记录安装的包,使用 yum history undo 回滚# 危险:在无网络环境中执行 updateyum update# 回滚方案:使用 yum history undo 撤销# 建议先执行 yum check-update 预览变更

💡安全操作建议

  • 生产环境更新前先yum check-update预览变更
  • 关键服务器禁止自动更新,手动审查后分批执行
  • 使用yum history追踪每次变更,以便快速回滚
  • 配置yum-cron仅下载更新,不自动安装
  • CentOS 7 EOL 后迁移到 Rocky Linux 或 AlmaLinux

📚 相关命令

命令关系与说明
dnfyum 的下一代替代品(RHEL 8+ 默认)
rpm底层 RPM 包管理器,直接操作 RPM 文件
yumdownloader仅下载 RPM 包不安装(yum-utils 提供)
yum-config-manager管理 yum 仓库配置(yum-utils 提供)
yum-cronyum 自动更新定时任务
repoquery查询仓库中的软件包信息(yum-utils 提供)
createrepo创建自定义 yum 仓库
aptDebian/Ubuntu 系统的包管理工具

📝 总结

yum是 CentOS/RHEL 生态的核心包管理工具。掌握installsearchupdateremovehistory五个子命令即可覆盖日常运维 90% 的场景。对于新版系统(RHEL 8+/CentOS 8+),建议学习dnf使其平滑过渡。

💡运维建议:始终在变更前查看yum history了解历史操作,在升级前使用yum check-update预览,并通过yum history undo在出问题时快速回滚。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/25 6:28:15

基于QML的Windows 11风格虚拟键盘:从编译部署到自定义开发全指南

1. 先搞清楚这个开源项目能解决什么实际问题如果你在 Windows 11 上用过触摸屏设备,或者遇到过物理键盘临时失灵的情况,可能会发现系统自带的屏幕键盘启动慢、界面大、自定义选项少。这个基于 QML 开源的 Windows 11 风格屏幕键盘项目,核心就…

作者头像 李华
网站建设 2026/8/25 6:21:48

制造业客户一句“系统不好用”,数字化软件的售后工程师为什么从不急着猜答案?

制造业软件售后问题的本质不是修东西,而是降低客户的无助感。一位在售后一线摸爬滚打三年的精工智能工程师,复盘了自己从“一上来就猜答案”到“三步定位、分层交付”的成长路径。本文提炼了售后问题排查中两个最难啃的骨头——信息不对称与边界纠纷——…

作者头像 李华
网站建设 2026/8/25 6:21:46

STM32-AFIO 12

AFIO简介AFIO 作用:GPIO引脚复用 函数:GPIO_PinAFConfig 入参:GPIO GPIO_PinSourcex 复用对象 返回值:无调用示例:GPIO_PinAFConfig(GPIOB, GPIO_PinSource10, GPIO_AF_I2C2);GPIO引脚复用重映射复用功能TIM2_REMAP[1:…

作者头像 李华
网站建设 2026/8/25 6:21:20

AI编程时代技术债治理:从美团31万行重构看人机协同防控体系

1. 项目概述:当AI Coding浪潮撞上技术债冰山最近和几个大厂的朋友聊天,话题总绕不开“AI Coding”。GitHub Copilot、Cursor、通义灵码……这些工具几乎成了我们这行的新标配,敲个注释就能出代码,效率提升是肉眼可见的。但聊着聊着…

作者头像 李华
网站建设 2026/8/25 6:17:22

3ds Max雪景制作实战:PolySnowV4程序化建模与动态特效全解析

这次我们来看一个专门针对 3ds Max 雪景制作的实战课程资源。这个名为《3ds Max雪景艺术大师课:PolySnowV4程序化积雪建模与动态特效》的课程,核心是教授如何利用 PolySnowV4 这款强大的程序化插件,在 3ds Max 中高效、逼真地创建积雪效果&am…

作者头像 李华
网站建设 2026/8/25 6:17:06

2026年UPS选购指南:150-550元价位如何为电脑、NAS构建电力防线

你的电脑是不是也经历过这样的“惊魂一刻”?正赶着项目最后期限,屏幕突然一黑,主机断电,几小时的工作进度瞬间归零。或者,家里的NAS、路由器因为一次短暂的电压波动就“罢工”,导致远程访问中断、智能家居瘫…

作者头像 李华