RPM及其rpm命令詳解

2021-09-21 04:12:11 字數 2777 閱讀 3947

rpm和rpm一樣嗎?是不是看的有點暈呀!rpm全稱是redhat package manager即redhat軟體包管理工具,而rpm是rpm的中的乙個命令,只有root使用者才能使用,用於軟體包的安裝,查詢和公升級等。

軟體包一般由四個部分組成:

1,二進位制檔案  一般放

在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin中

2,配置檔案    一般放在:/etc,/usr/local/etc中

3,庫檔案      一般放在:/lib,/usr/lib,/usr/local/lib中

4,文件        一般放在/usr/share/docs,/usr/share/man中

軟體包的安裝方式有兩種:

1,手動編譯安裝源**包

2,直接安裝二進位制格式的軟體包

這裡我們只說第二種,並且是能用rpm命令安裝的rpm包。

rpm包的格式為:

name-version-release.arch.rmp

name:就是軟體包的名字

version:軟體包的版本號,一般由三位組成,分別為主版本號-次版本號-修正號。

release:發行號

arch:支援的硬體平台,一般有:

i386:支援幾乎所有的x86的cpu平台

i586:如p-i mmx cpu及amd的k5,k6系列等。

i686:p-ii以後的intel系列

x86_64:支援64位的cpu,如intel core2以上及amd的athlon64以後的cpu

noarch:表示沒有硬體平台的限制;

rpm工具中的rpm命令:

(注意:

1,下面內容我們以:httpd-2.2.3-31.el5.i386.rpm為例,有的選項只用包的名字就行了,即這個包中的httpd,全格式反而錯誤;

2,指定這個包檔案時必須是絕對路徑,由於我已經切換到光碟中server目錄中,而httpd這個檔案在這個目錄中,故不需要指定路徑了)

rpm常用選項有:

-v 執行的時候顯示詳細資訊

-h 執行的時候顯示進度條

1,安裝

rpm-i  表示安裝

-nodeps 忽略包之間的依賴關係安裝,即使安裝成功,有可能不能用

--force 強行安裝,即使安裝成功,有可能不能用

例:rpm -ivh httpd-2.2.3-31.el5.i386.rpm (必須是全格式的包名)

2,解除安裝

rpm-e 解除安裝

-nodeps 忽略依賴關係強行解除安裝

--force 強制解除安裝

例:rpm -evh httpd 

3,公升級

rpm-u 如果要公升級的老版本不存在,則重新安裝這個新包;如果存在,則對此進行公升級

-f 只有要公升級的老版本存在才公升級

例:rpm -uvh httpd-2.2.3-31.el5.i386.rpm(必須是全格式的包名)

4,查詢

rpm-q 查詢軟體包(查詢是支援golobing方式的檔名通配)

例:rpm -q httpd 查詢這個軟體包是否安裝

-qa 查詢所有已經安裝的包

-qi 顯示指定軟體包的摘要資訊(例如軟體包的安裝時間,編譯時間,大小等資訊)

例:rpm -qi httpd

-qr 顯示已安裝的軟體包的依賴包

例:rpm -qr httpd-2.2.3-31.el5.i386.rpm

-qrp 顯示本地rpm軟體包的依賴包

例:rpm -qrp httpd-2.2.3-31.el5.i386.rpm

-ql 顯示這個軟體包安裝之後生成了哪些檔案

例:rpm -ql httpd

-qc 顯示這個軟體包安裝之後生成了哪些配置檔案

例:rpm -qc httpd

-qd 顯示這個軟體包安裝之後生成了哪些文件檔案

例:rpm -qd http

-q --scripts  顯示這個軟體包安裝時所執行的指令碼

例:rpm -q --scripts httpd

-qf filename 顯示這個檔案由哪個軟體包生成的

例:rpm -qf /etc/profile

-q --changelog 顯示這個軟體包每次製作都新增了哪些功能

例:rpm -q --changelog httpd

-p 查詢乙個未安裝的本地存在的rpm包的相關資訊

例:rpm -qpl httpd-2.2.3-31.el5.i386.rpm  rpm -qpr httpd-2.2.3-31.el5.i386.rpm

5,校驗

rpm 

-v 校驗這個軟體包所生成的檔案是否被改動過,如果被改動就會顯示出來

-va 列出系統上所有可能被修改過的檔案

如圖所示:

紅線劃的資訊依次為:(如果這一項沒有改動,則用「.」顯示)

s:檔案的大小是否被改變

m:檔案的型別或檔案的屬性(rwx)是否改變

5:md5碼的內容已經修改過

d:裝置的主次代號已經改變

l:鏈結路徑已經改變

u:檔案的所有者發生改變

g:檔案的屬組已經改變

t:檔案的修改時間變化

黃線劃的資訊是指定檔案的型別,有:

c:表示此檔案為配置檔案

d:表示此檔案為配置檔案

g:「鬼」檔案,即該檔案不被某個軟體包所包含

l:表示此檔案為授權檔案 

r:表示此檔案為自述檔案  

藍線表示這個軟體包生成的被改變動過的檔案

RPM命令詳解

一 安裝 命令格式 rpm i or install options file1.rpm filen.rpm 引數 file1.rpm filen.rpm 將要安裝的rpm包的檔名 詳細選項 h or hash 安裝時輸出hash記號 test 只對安裝進行測試,並不實際安裝。percent 以百分...

rpm命令詳解

rpm 常用命令 1.安裝乙個包 rpm ivh 2.公升級乙個包 rpm uvh 3.移走乙個包 rpm e 4.安裝引數 force 即使覆蓋屬於其它包的檔案也強迫安裝 nodeps 如果該rpm包的安裝依賴其它包,即使其它包沒裝,也強迫安裝。5.查詢乙個包是否被安裝 rpm q rpm pac...

rpm命令詳解

rpm命令是rpm軟體包的管理工具。rpm原本是red hat linux發行版專門用來管理linux各項套件的程式,由於它遵循gpl規則且功能強大方便,因而廣受歡迎。逐漸受到其他發行版的採用。rpm套件管理方式的出現,讓linux易於安裝,公升級,間接提公升了linux的適用度。12 3456 7...