专栏中心

EEPW首页 > 专栏 > RPM常用命令以及组合使用场景

RPM常用命令以及组合使用场景

发布人:天翼云开发者 时间:2023-04-28 来源:工程师 发布文章

本文分享自天翼云开发者社区《RPM常用命令以及组合使用场景》,作者:邬祥钊

链接:https://www.ctyun.cn/developer/article/401161061765189

 

当涉及到管理基于 Red Hat 系的 Linux 系统时,RPM (Red Hat Package Manager) 是一个常用的软件包管理器。以下是一些常用的 RPM 命令以及它们的组合使用场景:

常用命令:

1. rpm -ivh package.rpm :安装一个新的软件包,其中 "-i" 代表安装,"-v" 表示显示详细信息,"-h" 显示进度条。

2. rpm -Uvh package.rpm :升级一个已有的软件包,其中 "-U" 代表升级,其余参数与上述相同。

3. rpm -e package_name :删除一个软件包,其中 "-e" 代表卸载。

4. rpm -qa :列出系统上所有已安装的软件包。

5. rpm -q package_name :查询指定软件包是否已经安装,或者查看一个已安装软件包的版本号。

6. rpm -qi package_name :查询关于某个软件包的信息,如作者、描述、依赖等。

7. rpm -ql package_name :列出一个软件包安装的文件列表。

8. rpm -qf file_path :查找某个文件属于哪个软件包。

9. rpm -q --provides package_name :查询该包提供的内容。

10. yum install package_name :使用 Yum 包管理器安装软件包,其中 "install" 为安装命令。

11. yum update package_name :使用 Yum 包管理器更新已有软件包,其中 "update" 为更新命令。

12. yum remove package_name :使用 Yum 包管理器删除软件包,其中 "remove" 为删除命令。

 

进阶命令:

1. rpm2cpio package.rpm | cpio -idvm : 将 RPM 包解压并将其中的文件提取到当前目录下,可以方便地查看软件包中的文件和目录结构。

2. yum list available package_name : 列出所有可用的软件包,包括未安装的,与指定的软件包名称相似的软件包列表。

3. rpm -qa --last : 列出所有已安装软件包,按照最近安装或更新时间排序。

4. rpm -qa --qf '%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}\n' : 列出所有已安装软件包的名称、版本号和架构。

5. rpm --verify package_name : 验证软件包的完整性并列出可能存在问题的文件。

6. rpm -i --test package.rpm : 模拟软件包的安装过程,检查是否有依赖项问题或其他错误。

7. rpm -Uvh --force package.rpm : 强制安装软件包,即使存在版本冲突或其他问题。

8. rpm -Uvh --oldpackage package.rpm : 降级软件包为旧版本,并覆盖当前版本。

9. rpm -e --nodeps package_name : 卸载软件包,忽略其依赖项。

10. rpm -qa | grep package.rpm: 检查是否安装某软件包。

11. yum history : 列出所有 Yum 包管理器操作的历史记录,可以查看安装、升级和删除操作的详细信息。

12. yum provides */文件或命令:文件或者命令属于哪个包提供,即使未安装该包也能查询。如下图显示未安装mysql但可以查询到mysqld.service是由该包提供

image.png 

 

组合使用场景:

1. 安装软件包并解决依赖关系: rpm -ivh package.rpm && yum install -y dependency

2. 列出一个软件包及其文件列表的详细信息: rpm -qi package_name | grep -iE 'name|version|release' && rpm -ql package_name

3. 删除软件包及其依赖: yum remove --autoremove package_name

4. 验证所有已安装软件包的完整性并列出可能存在问题的文件: rpm -Va | awk '{ if($NF != "c") print }'

5. --queryformat参数实现自定义查询

这里提一下rpm的--queryformat参数,使用这个参数可以实现自定义的字段信息查询,如下:

对于一个包我们使用rpm -qi可以得到如下信息

image.png 

 

如果我们想要其中过的Version或者License或者其他任何想要的字段信息,我们可以使用这个参数进行提取,如下

image.png 

因此,我们可以通过这个参数进一步实现批量的参数提取等功能,而不需要单独对字段写脚本进行判断与裁剪。

 

总之,RPM 是 Linux 系统中常用的软件包管理器之一。掌握这些命令以及它们的组合使用场景能够使更加高效地管理和维护系统以及解决软件安装过程中遇到的问题。通过深入了解 RPM 命令和选项的功能,可以更好地理解和应用软件包管理工具来满足特定需求。


专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词: Linux

相关推荐

Linus Torvalds 称谷歌工程师提交的 RISC-V 代码为“垃圾”,并表示它“让世界变得更糟糕”

嵌入式系统 2025-08-11

基于ARM的嵌入式Linux系统开发 上

视频 2009-10-22

嵌入式Linux优化:加快系统起动和应用起动的过程

视频 2009-10-22

RK3506核心板SDK重磅升级,解锁三核A7实时控制新架构

2025-12-18

基于ARM的嵌入式Linux系统开发 中

视频 2009-10-22

Kontron与Congatec合作开发安全的嵌入式Linux平台

Linux就AI生成代码定下规则:允许Copilot类工具、拒绝劣质AI代码,错误由人类负责

ARM 开发板使用手册 在三星 S3C2410开发板上烧写linux

由于英特尔裁员和公司重组,主要的英特尔 Linux 驱动项目正在消亡

基于ARM的嵌入式Linux系统开发 下

视频 2009-10-22

GeForce 590 驱动分支是首个不支持 GTX 9 和 10 系列 GPU 的分支——Linux 版本标志着定义时代显卡的终结

彻底告别486:Linux内核维护者正式移除英特尔486处理器支持

U-BOOT 与 MontaVista Linux 的移植

53年后,惠普于1972年推出的总线标准获得了稳定的Linux驱动——通用接口总线拥有惊人的8 MB/s带宽

Linux 今天 34 岁了

实时Linux技术:如何在嵌入式LINUX中应用实时特性

视频 2009-10-22

Linux中的fork与exec系列函数分析

嵌入式系统 2025-08-06

linux入门精华

FFT公司9200的板子的资料

更多 培训课堂
更多 焦点
更多 视频

技术专区