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 |