在 Linux 操作系統下,幾乎所有的軟體均通過RPM 進行安裝、卸載及管理等操作。RPM 的全稱為Redhat Package Manager ,是由Redhat 公司提出的,用於管理Linux 下軟體包的軟體。Linux 安裝時,除了幾個核心模塊以外,其餘幾乎所有的模塊均通過RPM 完成安裝。R ...
在 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
如果用戶要強行安裝就使用-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