Linux rpm包管理详解

RPM管理功能有,软件包的查询、软件包的确认、软件包的信息查询、软件包的卸载和软件包的更新多种用法。

RPM的查询选项用法较为复杂,特别是p选项,指定未安装的包,参数要跟完整的rpm包名,因为指定未安装的数据包时,要在指定路径下(如某光盘镜像中的Package中)找完整的rpm包。不加p时,只需指明普通报名即可,因为在安装过程中,数据库存储时会把普通报名存为一列。

其他选项如下所示:

功能

选项

含义

q

a

Query all installed  packages.

f

Query package owning FILE.

g

Query packages with the  group of GROUP.

p

Query  an  (uninstalled)  package   PACKAGE_FILE

i

Display package information,

l

List files in package.

c

List only configuration  files

--scripts

List the package specific  scriptlet(s)

Qa

查询所有安装过的数据包

Qf

查询子模块属于哪个数据包安装的

Ql

查询数据包中安装路径及内容

Qpi

查询为安装包的信息,如版本号、描述信息等,P指定未安装的

Qc

查询数据包

-q –scritps

+包名,可查询已经安装的包的scripts脚本

-qp –scripts

+完整的rpm包名,可查询尚未安装的包的scripts脚本

PRM软件包的安装,在RPM软件包的安装过程中,同样会用到众多参数。
具体用法如下所示:

功能

选项

含义

i

V

Print verbose information

H

用#(hash)符显示rpm安装过程

--force

强制安装数据包

--nodeps

安装数据包不检查依赖性

--noscripts

安装数据包不执行数据包中脚本

--test

测试安装是否成功

--prefix

指定路径安装

[root@centos7 ~]#rpm -ivh  /media/Packages/psmisc-22.20-9.el7.x86_64.rpm
warning:  /media/Packages/psmisc-22.20-9.el7.x86_64.rpm: Header V3 RSA/SHA256  Signature, key ID f4a80eb5: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
  1:psmisc-22.20-9.el7              #################################  [100%]

RPM软件包的卸载,在RPM软件包的卸载过程中,可以单独卸载某一个包,而不卸载相关依赖包,一个包有可能被多个包同时依赖,因此在卸载某个RPM包时,有可能提现无法卸载,故通过强行卸载而不检查依赖关系进行卸载。
具体用法如下:

功能

选项

含义

e

--nodeps

卸载不检查依赖关系

--noscripts

卸载不执行脚本

--test

卸载测试是否能够完成

[root@centos7 ~]#rpm -e  psmisc
[root@centos7 ~]#rpm -qi  psmisc
package psmisc is not  installed

在rpm的安装过程中会自动在目录/var/lib/rpm中创建rpm的数据库,不管在安装rpm包之前或在卸载rpm包之前都会查询rpm数据库,检查是否已安装。如果意外删除rpm数据库,即使通过rpm –initdb 或 rpm –rebuilddb 重构数据库也无法找回系统之前安装的rpm包,会导致无法卸载rpm包或者重复安装rpm数据包,因此建议系统定时备份rpm数据库。

猜你喜欢

转载自www.linuxidc.com/Linux/2017-08/146464.htm