天天看點

rpm安裝軟體包

 redhat系統CD光牒中,自帶了大量的以rpm結尾的軟體包,我們稱之為rpm包或者叫作二進制包,與二進制包相對的,還有源碼包.

二進制包的安裝比較簡單,可以直接使用rpm指令加參數來完成軟體包的管理,安裝,解除安裝,更新與簽名驗證等.但是也可能會比較麻煩,因為可能存在依賴關系,當我們要安裝軟體包A的時候,A包可以依賴于軟體包B,我們又要安裝B的時候,B又依賴于軟體包C,安裝C的時候,C又需要安裝B等,如果存在這樣的依賴關系,解決起來,是比較讓人頭疼的.好在在RMP之後,又出現了YUM這個好用的工具,本次先不說YUM和軟體包的依賴關系,先簡單說一下RPM

RPM:Redhat Package Manage OR RPM Package Manager,我也不知道是哪一個名字更準确,呵呵.

我們看一下rpm軟體包的指令方式.

指令方式:name-version-Release.OS.arch.rpm

例:yum-updateonboot-1.1.16-13.el5.noarch.rpm

其中各字段的意思如下.

name 軟體包的名字

Version 主版本号,次版本号,修訂号

Release 發行号

OS 作業系統

arch 平台

rpm管理軟體包管理:

安裝

rpm -i

rpm -ivh(v越多,顯示資訊越詳細,最多支援3個V.h顯示進度條的,一個#代表2%)

rpm -ivh --nodeps強制安裝,忽略依賴關系 --force 強制安裝

解除安裝

rpm -e

rpm -e --nodeps

更新

rpm -Uvh

U如果要更新的軟體包沒安裝,那麼則安裝

rpm -Fvh

F如果要更新的軟體包沒安裝,則更新不了.

查詢

rpm -q

p 查詢軟體包安裝完成後的相關資訊,用于查詢還沒安裝的軟體包.如 rpm -qpl 查詢軟體包安裝完成後,将生成哪些檔案.一般要結合以下子參數來查找指定軟體包的相關資訊.

a 查詢所有軟體包

i 查詢軟體包的摘要資訊(作者,平台等)

l 查詢軟體包安裝完成後,生成了哪些檔案

c 隻顯示軟體包的配置檔案

d 隻顯示軟體包的文檔

f 查詢指定檔案是由哪些軟體包生成的.

--scripts 顯示軟體包安裝完成後,執行了哪些腳本.

--changelog 顯示軟體包的更新新增功能.

校驗

rpm -V

rpm -K 驗證軟體包的簽名

--nodigest

--nosignature

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release 導入redhat的公鑰,檢驗是根據公鑰來進行的,我們安裝redhatCD光牒上的軟體包的時候,就要用到redhat的公鑰來進行檢驗.如果安裝别人制作的軟體包, 就要用制作人的公鑰來進行檢驗.

sha1和md5是驗證資料包的完整性,軟體包沒有被修改過

dsa和 是驗證軟體包的發行者

       S file Size differs 檔案大小改變

       M Mode differs (includes permissions and file type) 檔案權限發生改變

       5 MD5 sum differs 檔案的MD5發生改變

       D Device major/minor number mismatch 檔案的主裝置号或次裝置号發生改變

       L readLink(2) path mismatch readlink的路徑不比對

       U User ownership differs 屬主發生改變

       G Group ownership differs 屬組發生改變

       T mTime differs 最後一次修改時間發生了改變.

rpm軟體包的校驗,是能過rpm的軟體包資料庫來進行校驗的,安裝完軟體,都會把該軟體的相關資訊生成到rpm的資料庫,在校驗的時候,跟這個資料庫對比

# rpm --initdb 生成資料庫(如果事先存在庫,不會覆寫)

# rpm --rebuild  重建資料庫(無論有沒有庫,都會覆寫重建)

繼續閱讀