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

 

当涉及到管理基于 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是由该包提供

组合使用场景:

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可以得到如下信息

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

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

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

RPM常用命令以及组合使用场景的更多相关文章

  1. yum与rpm常用命令

    1  yum常用命令 2  rpm常用命令 1  yum常用命令 (1)列出所有可更新的软件清单命令:yum check-update (2)更新所有软件命令:yum update (4)仅安装指定的 ...

  2. yum 系列(一) yum 和 rpm 常用命令

    yum 系列(一) yum 和 rpm 常用命令 一.yum 常用命令 yum 命令:http://man.linuxde.net/yum yum 是在 Fedora 和 RedHat 以及 SUSE ...

  3. [Linux]常用命令、组合命令以及输入输出重定向

    [Linux]常用命令.组合命令以及输入输出重定向 2020-03-10阅读 1580   原创文章 文章目录 0.切换目录 1.复制文件和目录`cp` 1.1.复制文件 1.2.复制目录 1.3.扩 ...

  4. CentOS的rpm常用命令(转)

    一.RPM 安装操作 命令: rpm -i 需要安装的包文件名 举例如下: rpm -i example.rpm 安装 example.rpm 包: rpm -iv example.rpm 安装 ex ...

  5. 【Linux】rpm常用命令及rpm参数介绍

    RPM是RedhatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似.使用RPM,用户可以自行安装和管理Lin ...

  6. RPM常用命令解释

    RPM软件包管理器,英文:RPM Package Manager(原Red Hat Package Manager,现在是一个递归缩写) -i安装rpm包 -u升级rpm包 -q查询已安装的软件信息 ...

  7. rpm常用命令及rpm参数介绍

    RPM是RedhatPackageManager的缩写,是由RedHat公司开发的软件包安装和管理程序,同Windows平台上的Uninstaller比较类似.使用RPM,用户可以自行安装和管理Lin ...

  8. RPM常用命令总结

    安装 rpm -ivh package_name (package_name指的是RPM包的文件名) 查询 1.查询是否安装,及安装版本 rpm -q 已安装的软件名(ex:rpm -q docker ...

  9. rpm常用命令

    * 手动安装 rpm 包  `rpm-ivh xxxxx.rpm`  参数:   --force 即使覆盖其他包的文件也没强迫安装   --nodeps 即使依赖包没安装,也被强制安装 * 查看 rp ...

  10. Redhat6 RPM 软件管理常用命令汇总

    软件的安装时操作系统管理的基础,与Windows不同,Linux的软件管理有很多种方式,Redhat的最常用的是RPM方式,安装集成在光盘中的RPM包.这种方式比Windows平台的软件管理更加便捷( ...

随机推荐

  1. 高性能计算-gemm-mpi并行计算优化(8)

    1. 目标: 矩阵A(MK) 矩阵B(KN)相乘,计算结果 C(M*N);本测试将使用不同的数据分块方式.MPI通信接口.数据循环模型,测试通信及计算效率,计算耗时为程序用户态和核心态的占用cpu时间 ...

  2. 70 个群都来问我的 AI 日报,是这么做的。

    最近我给 FastGPT 用户交流群里接入了 AI 日报,每天早上 10 点会自动向群里推送 AI 日报,让群里的小伙伴们第一时间了解到昨天 AI 领域都发生了哪些大事. 效果大概是这个样子的: 如果 ...

  3. 创建一个具有商业品质的 Eclipse IDE

    创建具有商业品质且可插入 Eclipse 的专业 IDE Prashant Deva (pdeva@placidsystems.com), 创始人, Placid Systems 简介:  " ...

  4. Redis集群搭建-Docker

    使用docker搭建本地集群Redis服务(参考:https://www.cnblogs.com/slowbirdoflsh/p/11633113.html) 环境配置 # 拉取redis镜像 doc ...

  5. 💥TinyPro Vue v1.1.0 正式发布:增加细粒度权限管理、页签模式、多级菜单,支持 Webpack/Vite/Rspack/Farm 多种构建工具

    你好,我是 Kagol,个人公众号:前端开源星球. 视频教程:https://www.bilibili.com/video/BV1SUBRYGECg/ 为了提升前端开发效率,OpenTiny 提供了一 ...

  6. 用谷歌经典ML方法方法来设计生成式人工智能语言模型

    上一篇:<人工智能模型学习到的知识是怎样的一种存在?> 序言:在接下来的几篇中,我们将学习如何利用 TensorFlow 来生成文本.需要注意的是,我们这里并不使用当前最热门的 Trans ...

  7. Uniapp input的maxlength问题

    前情 uni-app是我很喜欢的跨平台框架,它能开发小程序,H5,APP(安卓/iOS),对前端开发很友好,自带的IDE让开发体验也很棒,公司项目就是主推uni-app. 坑位 最近在做一个input ...

  8. OS之《死锁》

    什么是死锁 一组进程中的每一个进程都在等待仅由该组进程中其他进程才能引发的事件,这样就形成死锁了. 死锁的原因 竞争不可抢占的资源 竞争可消耗资源 进程推进顺序不当 死锁产生的必要条件 1.互斥条件: ...

  9. flutter安装过程中 flutter doctor 出现错误 cmdline-tools component is missing

    进入Android studio的settings添加tool工具

  10. [原创] Realtek RTL8195A WIFI历史漏洞分析和新漏洞挖掘

    前言 本文主要分析vdoo发现的一些RTL8195A WIFI模块的漏洞. 环境搭建 下载最新的SDK https://github.com/ambiot/amb1_arduino/blob/mast ...