Red Hat包管理系統

2021-05-22 03:03:41 字數 2855 閱讀 3793

red hat包管理系統為rpm(red hat package manager)。

rpm的概念

rpm的作用是讓軟體包的安裝與維護自動化。包檔案封裝了程式檔案、配置檔案、說明檔案以及與其他包的依賴關係的描述。不同與debian apt系統多樣化工具的組合,rpm系統將大部分功能集中在同乙個程式中-rpm,因此,rpm的命令列選項多到令人記不清楚。rpm將包資訊記錄在資料庫中。每當你用rpm安裝或移除包時,該資料庫也會自動更新。

rpm包的命名原則類似於debian包系統,但細節上仍有些許差異。rpm檔名分為四部分。

包名:簡短而具有說明性,若有多個單詞,單詞之間以連字元(-)隔開。

版本編號:格式隨所含軟體而定。版本編號與包名之間以連字元(-)隔開。

結構名:含有binary檔案的包,只能用於特定機型的計算機系統。對於x86 pc而言,其rpm結構名為i386。對於sun和與sun相容的處理器,其rpm結構名為sparc。結構名與包版本編號之間以點號(.)隔開。

副檔名:所有rpm包的預設副檔名都是.rpm。

例如,下面的檔案包名為package,版本為1.0,發行版次為2,架構為i386,擴充套件名為.rpm:

package-1.0-2.i386.rpm

在rpm檔名中,連字元(-)可以出現在單詞之間、版本編號與名稱之間、版本編號的一部分。

rpm語法

rpm –i (同 rpm --install)           安裝模式

rpm –u(同 rpm --upgrade)      公升級模式

rpm –e(同 rpm --uninstall)       解除安裝安裝模式

rpm –q(同 --query)                  查詢模式

rpm –v                                    檢驗模式

安裝/公升級模式

安裝模式,顧名思義,當然是用於安裝新包。若系統上已安裝了舊版的包,則安裝模式會使得新舊兩個版本的包都存在於系統上。公升級模式的效果類似於安裝模式,差別在於已安裝的舊版的包會被公升級到新版。

安裝公升級模式常用選項: 選項

說明--force

允許覆蓋現有的包或已安裝的包。對於公升級模式,這表示允許新版本的包被替換成舊版本的包。

-h (同 --hash)

在安裝會公升級過程中,用50個#表示操作進度。

--nodeps

忽略依賴性檢查。可以讓你的rpm不會理依賴條件,而強制安裝或公升級特定包。

--test

模擬整個過程的每乙個細節,但不實際修改檔案。想要檢查包的完整性以及該包能夠被正確安裝時,此選項非常有用。注意,此選項不能搭配-v和-h選項,但是可以搭配-vv選項。

-v在進行任何動作時,都輸出詳細的資訊。

-vv更徹底的詳細模式,其manpage是這麼寫的:「顯示出大量雜亂的除錯資訊」。

要安裝乙個新包,只要使用rpm -i命令加上該包檔案的名稱即可但如果新包必須搭配其他尚未安裝的包,則安裝動作會失敗。

使用-u選項,可以將現有包公升級到更新的版本。公升級模式可以視為安裝模式的特例:現有包會被新版覆蓋。若要被「公升級」的包並未安裝在系統中,則-u的行為與-i一樣。

解除安裝模式

此模式用來將已安裝的包移出系統。rpm的預設行為是,在不破壞依賴關係的前提下,才回解除安裝所指定的包。

解除安裝模式常用選項: 選項

說明--nodeps

要求rpm跳過檢查依賴關係的步驟。

--test

模擬整個解除安裝過程,但不實際刪除任何檔案。當你只是想知道某包可否在不破壞依賴關係的前提下被安全地解除安裝,而不想真正的解除安裝該包時,此選項有用。注意此選項不能搭配-v和-h選項,但是可以搭配-vv選項。

查詢模式

rpm的查詢模式可以讓你檢查已安裝包的狀態以及關於原始包檔案的資訊。查詢模式的選項分成兩組,一組用於選擇查詢物件,另一組用於決定查詢內容。

選擇查詢物件的選項: 選項

說明-a (同 --all)

列出已安裝在系統上的所有包。當你不確定包的名稱或想找出擁有共同特徵的一組包時,此選項就可派上用場。例如,將rpm -qa的輸出結果傳入管道交給grep過濾,就可以得到想要的資訊。

-f filename (同 --file)

檢視特定檔案所屬的包。

-p package_filename

查詢指定的包檔案。搭配-i時最有用。

用於選擇內容的選項: 選項

說明-c (同 --configfiles)

只列出配置檔案

-d (同 --docfiles)

只列出說明檔案

-i package

顯示關於包的特定資訊時,所指定的package必須事先已安裝在系統上。搭配-p一起使用時,則是顯示包檔案的資訊(此時的package是乙個檔名)。

-l package (同 --list)

列出所指定包的所有檔案。搭配-p一起使用時,則是顯示包檔案所含的所有檔案(此時的package是乙個檔名)。

-r (同 --requires)

列出與該包想依賴的所有相關包。

檢驗模式

使用rpm -v可以將所安裝的檔案與它們在rpm資料庫裡的預期配置相比較。

檢驗模式常用選項: 選項

說明--nofiles

不理會遺失的檔案

--nomd5

不理會md5檢驗的錯誤

--nopgp

不理會pgp檢查錯誤

其他操作模式

rpm其實還有其他操作模式,包括對rpm檔案的「編譯」、「重編譯」、「簽名」、「簽名校驗」等。

基於redhat系統的軟體包管理

安裝 rpm ivh rpm 解除安裝 rpm e rpm 查詢 rpm q 軟體名 查詢單個軟體 rpm qa 軟體名 查詢系統中所有已安裝的軟體包 rpm ql 軟體名 查詢已安裝軟體包都安裝到何處 路徑 rpm qi 軟體名 查詢已安裝軟體包的詳細資訊 rpm qd 軟體名 查詢已安裝軟體包文...

Linux之rpm軟體包管理 redhat

2年 ago mqzi rpm常用命令 1.rpm qa 查詢所安裝的所有rpm軟體包 rpm qa more rpm qa grep xx 2.rpm q 軟體包名 查詢軟體包是否安裝 rpm q 3.rpm qi 軟體包名 查詢軟體包資訊 4.rpm ql 軟體包名 查詢軟體包中的檔案 rpm ...

debian包管理系統指南

最新版本 http wiki.ubuntu.org.cn e5 8c 85 e7 ae a1 e7 90 86 e7 b3 bb e7 bb 9f e6 8c 87 e5 8d 97 aptitude search n apt注 n 意思是搜尋軟體包名,是匹配最前面 aptitude 是更強大的安裝...