1. 程式人生 > >RPM安裝命令總結

RPM安裝命令總結

在 Linux 作業系統下,幾乎所有的軟體均通過RPM 進行安裝、解除安裝及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用於管理Linux 下軟體包的軟體。Linux 安裝時,除了幾個核心模組以外,其餘幾乎所有的模組均通過RPM 完成安裝。RPM 有五種操作模式,分別為:安裝、解除安裝、升級、查詢和驗證

1)用RPM安裝軟體包,最簡單的命令如下:

1 #rpm -i example.rpm 安裝 example.rpm 包;
2 #rpm -iv example.rpm 安裝 example.rpm 包並在安裝過程中顯示正在安裝的檔案資訊;
3 #rpm -ivh example.rpm 安裝 example.rpm 包並在安裝過程中顯示正在安裝的檔案資訊及安裝進度


2)刪除已安裝的軟體包
要解除安裝軟體包example,只需輸入以下這行命令:

1 # rpm -e example

注意:軟體包名是example,而不是rpm檔名"example.rpm"。

3)升級軟體包
升級軟體類似於安裝軟體:

1 # rpm -Uvh example.rpm

使用者要注意的是:rpm會自動解除安裝相應軟體包的老版本。如果老版本軟體的配置檔案通新版本的不相容,rpm會自動將其儲存為另外一個檔案,使用者會看到下面的資訊:

saving /etc/example.conf as /etc/example.conf.rpmsave

這樣使用者就可以自己手工去更改相應的配置檔案。
另外如果使用者要安裝老版本的軟體,使用者就會看到下面的出錯資訊:

# rpm -Uvh example.rpm

examle packag example-2.0-l(which is newer) is already installed

error:example.rpm cannot be installed

 安裝rpm到指定目錄

rpm -ivh --prefix=路徑 FILE.rpm


如果使用者要強行安裝就使用-oldpackage引數。

4)查詢軟體包
使用者可以用rpm -q在rpm的資料庫中查詢相應的軟體,rpm會給出軟體包的名稱,版本,釋出版本號,例如:

1 # rpm -q example

下面是查詢時可以使用的特定引數:
-a   :查詢目前系統安裝的所有軟體包。
-f 檔名   :查詢包括該檔案的軟體包。
-F   :同-f引數,只是輸入是標準輸入(例如 find /usr/bin | rpm -qF)
-q 軟體包名   : 查詢該軟體包
-Q   :同-p引數,只是輸入是標準輸入(例如 find /mnt/cdrom/RedHat/RPMS | rpm -qQ)
下面是輸出時的格式選擇:
-i 顯示軟體包的名稱,描述,發行,大小,編譯日期,安裝日期,開發人員等資訊。
-l 顯示軟體包包含的檔案
-s 顯示軟體包包含的檔案目前的狀態,只有兩種狀態:normal和missing
-d 顯示軟體包中的文件(如man,info,README等)
-c 顯示軟體包中的配置檔案,這些檔案一般是安裝後需要使用者手工修改的,例如:sendmail.cf,passwd,inittab等
如果用-v引數就可以得到類似於ls -l的輸出

5)用rpm校驗軟體包

1 rpm -Vf 需要驗證到包


rpm 實用技巧! 
1)使用者可以通過FTP來安裝軟體包。如果使用者能夠連上網路,想安裝某個新的軟體包時,可以直接用它的URL地址來安裝: 
比如:現在在ftp.linuxsir.com/pub/linux/redhat/RPMS/下有這個檔案包:foo-1.0-1.i386.rpm,那就可以用這樣的命令:

1 # rpm -i ftp.linuxsir.com/pub/linux/redhat/RPMS/foo-1.0-1.i386.rpm 

來安裝,也可以查詢! 

2)如果使用者不小心誤刪了幾個檔案,但不確定到底是那些檔案,想對整個系統進行校驗,以瞭解哪些部分可能已經損壞,可以用:

1 # rpm -Va 

3)如果使用者碰到一個人不出來的檔案,想要知道它是屬於那一個軟體包的話,可以這樣做:

1 # rpm -qf /usr/X11R6/bin/xjewel 

結果會得到以下資訊:

xjewel-1.6-1 


4)如果使用者得到一個新的RPM檔案,卻不清楚它的內容;或想了解某個檔案包將會在系統裡安裝那些檔案,可以這樣做:

1 # rpm -qpi koules-1.2-2.i386.rpm 

 結果會獲得很多資訊.

本文參考自以下文章:

http://www.cnblogs.com/nuke/archive/2009/03/03/1402067.html

http://www.jb51.net/LINUXjishu/10984.html

http://os.51cto.com/art/201001/177866.htm

http://linux.vbird.org/linux_basic/0520rpm_and_srpm.php#rpmmanager_dir