Linux rpm命令


一、簡介

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下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM