《LINUX實戰(zhàn):Linux rpm包管理詳解》要點:
本文介紹了LINUX實戰(zhàn):Linux rpm包管理詳解,希望對您有用。如果有疑問,可以聯(lián)系我們。
RPM 軟件擔保理器,原名為Red Hat Package Manager,是Linux系統(tǒng)最為常見和基礎的軟件擔保理工具,RPM是以一種數(shù)據(jù)庫記錄的方式將已經(jīng)安裝的數(shù)據(jù)包進行記錄,為RPM軟件擔保理及后續(xù)yum軟件擔保理提供數(shù)據(jù)庫依據(jù),因此項目實施過程中,要定時備份RPM數(shù)據(jù)庫,一旦數(shù)據(jù)庫破壞,數(shù)據(jù)包在安裝過程中無法查詢依據(jù).
RPM管理功能有,軟件包的查詢、軟件包切實其實認、軟件包的信息查詢、軟件包的卸載和軟件包的更新多種用法.
RPM的查詢選項用法較為繁雜,特別是p選項,指定未安裝的包,參數(shù)要跟完整的rpm包名,因為指定未安裝的數(shù)據(jù)包時,要在指定路徑下(如某光盤鏡像中的Package中)找完整的rpm包.不加p時,只需指明普通報名即可,因為在安裝過程中,數(shù)據(jù)庫存儲時會把普通報名存為一列.
其他選項如下所示:
功效 |
選項 |
寄義 |
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 |
查詢所有安裝過的數(shù)據(jù)包 |
|
Qf |
查詢子模塊屬于哪個數(shù)據(jù)包安裝的 |
|
Ql |
查詢數(shù)據(jù)包中安裝路徑及內(nèi)容 |
|
Qpi |
查詢?yōu)榘惭b包的信息,如版本號、描寫信息等,P指定未安裝的 |
|
Qc |
查詢數(shù)據(jù)包 |
|
-q –scritps |
+包名,可查詢已經(jīng)安裝的包的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 #查詢模塊屬于哪個數(shù)據(jù)包
iptables-1.4.21-16.el7.x86_64
PRM軟件包的安裝,在RPM軟件包的安裝進程中,同樣會用到眾多參數(shù).
具體用法如下所示:
[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包時,有可能提現(xiàn)無法卸載,故通過強行卸載而不檢查依賴關系進行卸載.
具體用法如下:
功效 |
選項 |
寄義 |
e |
--nodeps |
卸載不反省依賴關系 |
--noscripts |
卸載不執(zhí)行劇本 |
|
--test |
卸載測試是否可以或許完成 |
[root@centos7 ~]#rpm -e? psmisc
[root@centos7 ~]#rpm -qi? psmisc
package psmisc is not? installed
在rpm的安裝過程中會自動在目錄/var/lib/rpm中創(chuàng)建rpm的數(shù)據(jù)庫,不管在安裝rpm包之前或在卸載rpm包之前都會查詢rpm數(shù)據(jù)庫,檢查是否已安裝.如果不測刪除rpm數(shù)據(jù)庫,即使通過rpm –initdb 或 rpm –rebuilddb 重構(gòu)數(shù)據(jù)庫也無法找回系統(tǒng)之前安裝的rpm包,會導致無法卸載rpm包或者重復安裝rpm數(shù)據(jù)包,因此建議系統(tǒng)定時備份rpm數(shù)據(jù)庫.
本文永遠更新鏈接地址:
《LINUX實戰(zhàn):Linux rpm包管理詳解》是否對您有啟發(fā),歡迎查看更多與《LINUX實戰(zhàn):Linux rpm包管理詳解》相關教程,學精學透。維易PHP學院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/8883.html