Linux rpm命令

weixin_34321977發表於2015-04-22

一、簡介

RPM是RedhatPackageManager的縮寫,是由RedHat公司開發的軟體包安裝和管理程式,同Windows平臺上的Uninstaller比較類似。使用RPM,使用者可以自行安裝和管理Linux上的應用程式和系統工具。RPM可以讓使用者直接以binary方式安裝軟體包,並且可替使用者查詢是否已經安裝了有關的庫檔案;在用RPM刪除程式時,它又會聰明地詢問使用者是否要刪除有關的程式。如果使用RPM來升級軟體,RPM會保留原先的配置檔案,這樣使用者就不用重新配置新的軟體了。RPM保留一個資料庫,這個資料庫中包含了所有的軟體包的資料,通過這個資料庫,使用者可以進行軟體包的查詢。RPM雖然是為Linux而設計的,但是它已經移值到SunOS、Solaris、AIX、Irix等其它UNIX系統上了。RPM遵循GPL版權協議,使用者可以在符合GPL協議的條件下自由使用及傳播RPM。

 

二、配置

RPM包管理的配置檔案是rpmrc,可以使用如下命令進行查詢

# locate rpmrc

可以通過如下命令進行檢視

rpm --showrc

 

三、功能

1、初始化rpm 資料庫功能;

通過rpm 命令查詢一個rpm 包是否安裝了,也是要通過rpm 資料庫來完成的;所以我們要經常用下面的兩個命令來初始化rpm 資料庫;

[root@localhost beinan]# rpm --initdb
[root@localhost beinan]# rpm --rebuilddb 注:這個要花好長時間;
注:以上兩個引數是極為有用,有時rpm 系統出了問題,不能安裝和查詢,大多是這裡出了問題;
[root@localhost beinan]# updatedb
[root@localhost beinan]# locate 軟體名或檔名
提示:通過updatedb,我們可以用 locate來查詢一些軟體安裝到哪裡了;系統初次安裝時要執行updatedb ,每隔一段時間也要執行一次;以保持已安裝軟體庫最新;updatedb 是slocate軟體包所有;如果您沒有這個命令,就得安裝slocate ;
 


2、RPM軟體包管理功能

1)查詢功能:

rpm {-q|--query} [select-options] [query-options]

使用例項

1)查詢一個已經安裝的檔案屬於哪個軟體包

rpm -qf 檔名

2)查詢已安裝軟體包都安裝到何處

rpm -ql 軟體名
或
rpm rpmquery -ql 軟體名

3)檢視一下已安裝軟體的配置檔案

rpm -qc 軟體名

4)檢視一個已經安裝軟體的文件安裝位置

rpm -qd 軟體名

5)檢視一下已安裝軟體所依賴的軟體包及檔案

rpm -qR 軟體名

6)檢視一件軟體包所包含的檔案

rpm -qpl 檔名

 

2)軟體包的安裝、升級、刪除

1)常規包安裝

-ivh:安裝顯示安裝進度--install--verbose--hash
-Uvh:升級軟體包--Update;
-Va:校驗所有的RPM軟體包,查詢丟失的檔案[View Lost];
-e:刪除包

2)原始碼包安裝

rpm --recompile vim-4.6-4.src.rpm   #這個命令會把原始碼解包並編譯、安裝它,如果使用者使用命令:

rpm --rebuild vim-4.6-4.src.rpm   #在安裝完成後,還會把編譯生成的可執行檔案重新包裝成i386.rpm的RPM軟體包。

詳細用法請參考:http://ftp.tsingpost.com/index.php/archives/379/

 

3)網路包安裝

# rpm -qpi http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm
# rpm -ivh http://mirrors.kernel.org/fedora/core/4/i386/os/ Fedora/RPMS/gaim-1.3.0-1.fc4.i386.rpm

4)指定安裝目錄:要加 -relocate 引數

rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm  #gaim-1.3.0-1.fc4.i386.rpm指定安裝在目錄: /opt/gaim 中

 

3、匯入簽名功能

rpm --import 簽名檔案

 

4、rpm軟體包抽取檔案功能

rpm2cpio file.rpm |cpio -div

提示:抽取出來的檔案就在當前目錄中的usr 和etc下

相關文章