《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學院為您提供精彩教程。