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

天翼云开发者社区
• 阅读 506

本文分享自天翼云开发者社区《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是由该包提供 RPM常用命令以及组合使用场景

组合使用场景:

  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可以得到如下信息 RPM常用命令以及组合使用场景

如果我们想要其中过的Version或者License或者其他任何想要的字段信息,我们可以使用这个参数进行提取,如下 RPM常用命令以及组合使用场景

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

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

点赞
收藏
评论区
推荐文章
Springfox与SpringDoc——swagger如何选择(SpringDoc入门)
本文分享自天翼云开发者社区@《》,作者:才开始学技术的小白0.引言之前写过一篇关于swagger(实际上是springfox)的使用指南(https://www.ctyun.cn/developer/article/371704742199365),涵盖了
Wesley13 Wesley13
3年前
7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法
7.1安装软件包的三种方法rpm工具rpm(RedhatPackageManager)RPM软件包管理器,是以一种数据库记录的方式来将我们所需要的套件安装到Linux主机的一套管理程序。rpm包是预先在Linux机器上编译好并打包好的文件,安装起来非常快捷。但是有一个缺点:安装环境必须与编译时的一致或相当;
Stella981 Stella981
3年前
Linux命令
aptTODO待补充yumYellowdogUpadater,Modifier基于rpm包管理,从指定的源服务器上下在rpm包并安装rpm的前段程序(高级封装),从rpm源服务器上下载rpm包,并自动处理依赖rpm原始的软件安装需要从源码编译而rpm是一个中间
Stella981 Stella981
3年前
Linux软件包管理
二进制软件包管理(RPM、YUM)源代码包安装脚本安装(shell或java脚本)Debian系Linux软件包管理简介RPM软件包的一个列子:  sudo1.7.2pl5.3l5.i386.rpm其中包括软件名(sudo),版本号(1.7.2pl),发行号(5.el5),和硬件平台(i386)。  (
使用element-ui 的上传组件upload完成自定义上传到天翼云oss云服务器
本文分享自天翼云开发者社区@《》,作者:我是小朋友首先配置天翼云,如下操作1、要求在使用OOS之前,首先需要在www.ctyun.cn注册一个账号(Account)。创建AccessKeyId和AccessSecretKey。AccessKeyId和Acc
LUKS加密卷应用技术简介
本文分享自天翼云开发者社区@《》,作者:CD一、LUKS加密简述LUKS(LinuxUnifiedKeySetup)是Linux系统下常用的磁盘加密技术之一(是一种加密规范,而非一种加密算法),具有以下特点:支持多密码对同一个设备的访问;加密密钥不依赖密码
基于Linux系统的PXE搭建方法
本文分享自天翼云开发者社区《》,作者:tn一、底层环境准备1、安装RedHat7.6系统2、关闭防火墙和Selinuxsystemctlstopfirewalldchkconfigfirewalldoffvim/etc/sysconfig/selinux修
芝士年糕 芝士年糕
2年前
什么是rpm
CentOS7主要有rpm和yum这两种包软件的管理。两种包的管理各有用处,其中主要区别是:YUM使用简单但需要联网,YUM会去网上的YUM包源去获取所需要的软件包。而RPM的需要的操作经度比较细,需要我们做的事情比较多。软件包的安装和卸是很平常的事,但在Linux上面却不简单。Linux的其中一个哲学就是一个程序只做一件事,并且做好。组合小程序来完成复杂的
掌握了这几个 Linux 命令可以让你工作效率提升三倍
很多程序员熟悉了在Windows环境下开发,而我们服务器一般都是Linux系统。当有一天你需要在Linux服务器上做一些配置或者故障排除的时候,你会很困惑,不知道如何下手。原因是对Linux常用的命令还不熟悉,今天我就给大家介绍几个Linux常用命令。掌握它们的用法后,我们在使用CRMEB打通版系统的时候就能如鱼得水,可以大大提高工作
Knative Autoscaler 自定义弹性伸缩
本文分享自天翼云开发者社区@《》,作者:我是小朋友背景如今各大云厂商都开始提供ServerlessKubernetes服务,简化集群管理,降低运维管理负担,让Kubernetes更加简单。那么问题来了,一个系统到底需要具备怎样的能力才能更好地支撑Serve
天翼云开发者社区
天翼云开发者社区
Lv1
天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。
文章
722
粉丝
15
获赞
40