天天看點

rpm包管理

RPM 軟體包管理器,原名為Red Hat Package Manager,是Linux系統最為常見和基礎的軟體包管理工具,RPM是以一種資料庫記錄的方式将已經安裝的資料包進行記錄,為RPM軟體包管理及後續yum軟體包管理提供資料庫依據,是以項目實施過程中,要定時備份RPM資料庫,一旦資料庫破壞,資料包在安裝過程中無法查詢依據。

RPM管理功能有,軟體包的查詢、軟體包的确認、軟體包的資訊查詢、軟體包的解除安裝和軟體包的更新多種用法。

RPM的查詢選項用法較為複雜,特别是p選項,指定未安裝的包,參數要跟完整的rpm包名,因為指定未安裝的資料包時,要在指定路徑下(如某CD光牒鏡像中的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

# Add the "apache"  user

/usr/sbin/useradd -c  "Apache" -u 48 \

[root@centos7 ~]#rpm -qf  /lib64/libxtables.so.10.0.0 #查詢子產品屬于哪個資料包

iptables-1.4.21-16.el7.x86_64

PRM軟體包的安裝,在RPM軟體包的安裝過程中,同樣會用到衆多參數。

具體用法如下所示:

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 解除安裝不檢查依賴關系
解除安裝不執行腳本
解除安裝測試是否能夠完成

[root@centos7 ~]#rpm -e  psmisc

[root@centos7 ~]#rpm -qi  psmisc