《LINUX实战:Linux rpm包管理详解》要点: 本文介绍了LINUX实战:Linux rpm包管理详解,希望对您有用。如果有疑问,可以联系我们。
RPM 软件担保理器,原名为Red Hat Package Manager,是Linux系统最为常见和基础的软件担保理工具,RPM是以一种数据库记录的方式将已经安装的数据包进行记录,为RPM软件担保理及后续yum软件担保理提供数据库依据,因此项目实施过程中,要定时备份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剧本
|
[root@CentOS7 ~]#rpm -q --scripts httpd? #仅仅为q时,无需加完整的包明 preinstall scriptlet (using? /bin/sh): # Add the "apache"? group and user /usr/sbin/groupadd -g 48 -r? apache 2> /dev/null || : /usr/sbin/useradd -c? "Apache" -u 48 -g 48 ? ? -s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null? || : postinstall scriptlet (using? /bin/sh): ………… ############################################################################ [root@centos7 ~]#rpm -qp –scripts? /media/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm? ? ? ? ? ? ? ? ? ? ? ? ? #P查询未依照的完整包名 warning:? /media/Packages/httpd-2.4.6-40.el7.centos.x86_64.rpm: Header V3 RSA/SHA256? Signature,key ID f4a80eb5: NOKEY preinstall scriptlet (using? /bin/sh): # Add the "apache"? user /usr/sbin/useradd -c? "Apache" -u 48 ? ? -s /sbin/nologin -r -d /usr/share/httpd apache 2> /dev/null? || : postinstall scriptlet (using? /bin/sh): ………… ############################################################################ [root@centos7 ~]#rpm -qf? /lib64/libxtables.so.10.0.0 #查询模块属于哪个数据包 iptables-1.4.21-16.el7.x86_64
PRM软件包的安装,在RPM软件包的安装进程中,同样会用到众多参数. 具体用法如下所示:
[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数据库.
本文永远更新链接地址: 《LINUX实战:Linux rpm包管理详解》是否对您有启发,欢迎查看更多与《LINUX实战:Linux rpm包管理详解》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|