返回列表 发布新帖
查看: 18|回复: 0

RPM 的用法及 RPM 安装与 YUM 安装的区别

发表于 前天 15:11 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在使用 RedHat、CentOS、Rocky Linux 等基于 RPM 的 Linux 系统时,软件包的管理是日常运维和管理工作中不可或缺的一部分。Linux 系统中的软件包通常以 .rpm 结尾,表示该软件包是基于 RPM(Red Hat Package Manager) 格式。常见的安装方式主要包括 rpm 命令和 yum 命令(RHEL 8 之后推荐使用 dnf 取代 yum,但本文统一用 yum 指代)。
本文将详细介绍 RPM 的常用命令和用法,并深入分析 RPM 安装与 YUM 安装的区别。
一、什么是 RPM?
RPM(Red Hat Package Manager) 是一种用于在基于 RPM 的 Linux 系统上安装、卸载、升级、查询软件包的工具。它是底层的包管理工具,能够直接处理 .rpm 格式的二进制包。
二、RPM 命令的基本用法
1. 安装软件包
  1. rpm -ivh package.rpm
复制代码
  • -i 表示安装(install)
  • -v 表示显示详细信息(verbose)
  • -h 表示以进度条方式显示安装过程(hash)
示例:
  1. rpm -ivh httpd-2.4.6-93.el7.centos.x86_64.rpm
复制代码
2. 升级软件包
  1. rpm -Uvh package.rpm
复制代码
如果系统中已存在旧版本,使用此命令将升级为新版本。
3. 卸载软件包
  1. rpm -e 包名
复制代码
  • 注意:这里是包名,不是 .rpm 文件名,可以使用 rpm -qa 查询包名。
4. 查询软件包信息
查询已安装的软件包:
  1. rpm -qa
复制代码
查询某个软件包是否安装:
  1. rpm -q 软件包名
复制代码
查看软件包中安装了哪些文件:
  1. rpm -ql 软件包名
复制代码
查询某个文件属于哪个软件包:
  1. rpm -qf /路径/文件名
复制代码
5. 验证软件包完整性
  1. rpm -V 软件包名
复制代码
三、RPM 安装的优缺点
优点:
  • 可以离线安装,无需联网。
  • 可以精确控制安装过程,适合某些特殊场景或自定义需求。
缺点:
  • 不会自动处理依赖。如果某个软件包依赖其他包,使用 RPM 安装时你必须手动先安装所有依赖。
  • 容易出现“依赖地狱”问题,即一个软件包依赖多个其他包,安装过程繁琐且容易出错。
四、什么是 YUM?
YUM(Yellowdog Updater Modified) 是基于 RPM 的高级包管理工具,能够从软件仓库中自动下载并安装 .rpm 包,同时解决依赖关系。
五、YUM 安装与 RPM 安装的区别
项目RPM 安装YUM 安装
依赖管理需要手动处理依赖自动解析并安装依赖包
安装源使用本地 RPM 包使用配置好的远程仓库或本地仓库
网络要求不需要联网(离线)通常需要联网(除非使用本地仓库)
灵活性灵活但繁琐高效且易用
升级机制支持升级但依赖复杂支持自动升级、降级
六、YUM 命令基础
1. 安装软件包
  1. yum install 软件包名
复制代码
2. 升级软件包
  1. yum update 软件包名
复制代码
3. 删除软件包
  1. yum remove 软件包名
复制代码
4. 查找软件包
  1. yum search 关键字
复制代码
5. 查看软件包信息
  1. yum info 软件包名
复制代码
七、什么时候使用 RPM,什么时候使用 YUM?
使用 RPM 安装:
  • 在无网络环境下部署软件。
  • 自定义构建的 RPM 包部署。
  • 精确控制安装过程,不依赖系统仓库。
使用 YUM 安装:
  • 网络环境良好,系统配置了合适的 YUM 源。
  • 快速部署,解决依赖问题。
  • 日常维护更新。
八、总结
情况推荐工具
离线安装、特定环境部署RPM
常规软件安装与管理YUM
自动化部署、大规模运维YUM(或 ansible + YUM)
RPM 和 YUM 是构建在同一个软件包格式之上的两个工具,RPM 是基础,YUM 是扩展。合理使用它们,将大大提高你的系统运维效率。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.114592 second(s), 8 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表