本文分享自天翼云开发者社区《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. ArrayList removeRange方法分析

    <ArrayList原码分析>一文中提到了"为什么removeRange(int fromIndex,int toIndex)是protected的?" 先给出remo ...

  2. elasticsearch之python操作

    总结使用python对于elasticsearch的常用操作 安装 pip install elasticsearch 2. 连接 from elasticsearch import Elastics ...

  3. Educational Codeforces Round 155 (Rated for Div

    B. Chips on the Board 题解:贪心 显然我们可以把题意转化为:对于任意一个\((i,j)\),我们可以花费\(a_{i,j}\)的代价占据第\(i\)行和第\(j\)列,求占据所有 ...

  4. ASP.NET Core 9.0 中新增的MapStaticAssets() 中间件

    前言 在Core 9.0版本中新增的内容不算多,除了内置OpenAPI 外 应该就属MapStaticAssets中间件最有价值了,最初MapStaticAssets主要是为了解决Blazor静态资源 ...

  5. OAuth2 当前登录用户修改

    1.业务说明 有些情况下,我们希望用户登录后,可以修改用户的某些信息,比如修改当前的公司信息. 2.实现方法 @Resource TokenStore tokenStore; public JsonR ...

  6. 《前端运维》五、k8s--4机密信息存储与统一管理服务环境变量

    一.储存机密信息 Secret 是 Kubernetes 内的一种资源类型,可以用它来存放一些机密信息(密码,token,密钥等).信息被存入后,我们可以使用挂载卷的方式挂载进我们的 Pod 内.当然 ...

  7. pycharm选择conda虚拟环境出错:python的SDK无效

    检查项如下: 0.安装了python,并在系统环境变量中配置了python 0.5 正确配置了conda的系统环境变量 1.安装conda的文件夹又读写权限(不需要管理员模式运行也能进行读写) 直接在 ...

  8. 【Python】【图像处理】图片压缩方法

    一直想找个"无损压缩"的办法. 当然这并非真的无损. 我采用了Opencv的处理图像相关的方法. 请见代码: 注意: opencv安装:pip install opencv-pyt ...

  9. 【Javaweb】【Servlet】简单验证用户的登陆

    点击查看代码 | jsp <%-- Created by IntelliJ IDEA. User: xrilang Date: 30/12/2021 Time: 17:31 --%> &l ...

  10. Docker 部署数据可视化 Superset 3.0.0 深度汉化并配置元数据存储为 Postgres

    services: postgres: image: postgres:14.10 container_name: postgres hostname: postgres environment: P ...