RPM包管理工具

RPM包管理工具(Red-Hat Package Manager)是Linux系统中用于安装、卸载、查询、验证、更新和管理软件包的一个强大工具。

最初是为Red Hat Linux开发的,随后被许多其他基于RPM的Linux发行版所采用或作为其核心包管理工具之一。

RPM通过管理预编译的软件包(通常以.rpm扩展名保存)来简化软件安装过程,这些软件包包含了编译好的二进制文件、配置文件、库文件、文档等,使得用户无需从头开始编译源代码即可轻松安装软件。

RPM包管理系统通过建立统一的数据库文件(一张对应表将信息写入)详细记录软件包的安装、卸载等变化信息,并自动分析处理软件包之间的依赖关系,从而简化了软件包的管理过程。

rpm包命名解释

**示例名:**totem-nautilus-3.22.1-1.el7.x86_64.rpm

解释:

  • totem-nautilus:软件包的名称,表示 Totem Media Player 的文件管理器插件。
  • 3.22.1-1:软件包的版本号,表示该软件包的版本为 3.22.1,更新迭代次数:1。
  • el7:标识该软件包适用于的操作系统版本,这里的 e17 表示该软件包适用于基于 Red HatEnterprise Linux 7。

RPM命令详解

安装、升级、卸载 RPM 软件包

格式

rpm [选项] RPM包文件

常用选项

-i:安装一个新的 RPM 软件包。

-U:升级某个软件包,若未安装过,则进行安装。

-F:升级某个软件包,若未安装过,则放弃安装。

-h:在安装或升级软件包的过程中,以“#”号显示安装进度。

-N:显示软件安装过程中的详细信息。

-v:显示详细信息

-h:以“#”显示安装进度

-e:卸载软件
–force:强制安装某个软件包,比如要安装版本更日的软件包

查询已安装的rpm软件信息

rpm -q 软件名:查询指定软件是否已安装

rpm -qi 软件名:显示已安装的指定软件的详细信息

rpm -ql 软件名:显示已安装的指定软件的文件列表

rpm -qc 软件名:列出已安装的指定软件的配置文件

rpm -qd 软件名:列出已安装的指定软件的软件包文档所在位置

rpm -qR 软件名:列出已安装的指定软件的依赖的软件包及文件

rpm -qf 文件或目录:查询已安装的指定文件或目录属于哪个安装包

rpm -qa [软件名]:显示当前系统中以 rpm 方式安装的所有软件列表[只看一个]

rpm -qa | grep postfix:查询软件 postfix 是否已安装(尽量用管道)

查询未安装的 RPM 软件包文件中的信息(不实用)

rpm -qpi RPM包文件名:查询指定软件包的详细信息

rpm -qpl RPM包文件名:查询指定软件包的文件列表

rpm -qpc RPM包文件名:查询指定软件包的配置文件

rpm -qpd RPM包文件名:查询指定软件包的软件包文档的位置

安装实例

[root@localhost Packages]#rpm -ivh tree-1.6.0-10.el7.x86_64.rpm 
准备中… #################################[100%] 
正在升级/安装… 
  1:tree-1.6.0-10.el7 #################################[100%] 
[root@localhost Packages]#rpm-q tree  #查询服务是否安装 
tree-1.6.0-10.el7.x86_64
[root@localhost Packages]#rpm-e tree  #卸载服务 
[root@localhost Packages]#rpm-q tree 
未安装软件包tree

维护RPM数据库

1.重建RPM数据库

当RPM数据库发生损坏,可通过重建RPM数据库修复

rpm --rebuilddb

rpm --initdb

2.导入验证公钥

在没有导入用于数字签名验证的公钥文件之前,安装光盘中的一部分RPM软件包时会报错。
需要向RPM数据库中导入位于光盘根目录下的公钥文件

mount /dev/sr0 /mnt/
rpm--import /mnt/RPM-GPG-KEY-CentOS-7

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐