在 linux 操作系統下,幾乎所有的軟件均通過rpm 進行linux、卸載及管理等操作。rpm 的全稱為redhat package manager ,是由redhat 公司提出的,用于管理linux 下軟件包的軟件。linux 安裝時,除了幾個核心模塊以外,其余幾乎所有的模塊均通過rpm 完成安裝。rpm 有五種操作模式,分別為:安裝、卸載、升級、linux和驗證。
1)用RPM安裝軟件包,最簡單的命令如下:
1?#rpm?-i?example.rpm?安裝?example.rpm?包; 2?#rpm?-iv?example.rpm?安裝?example.rpm?包并在安裝過程中顯示正在安裝的文件信息; 3?#rpm?-ivh?example.rpm?安裝?example.rpm?包并在安裝過程中顯示正在安裝的文件信息及安裝進度
2)linux已安裝的軟件包
要卸載軟件包example,只需輸入以下這行命令:
1?#?rpm?-e?example
注意:軟件包名是example,而不是rpm文件名”example.rpm”。
3)升級軟件包
升級軟件類似于安裝軟件:
1?#?rpm?-Uvh?example.rpm
用戶要注意的是:rpm會自動卸載相應軟件包的老版本。如果老版本軟件的linux通新版本的不兼容,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 顯示軟件包包含的文件目前的linux,只有兩種狀態:normal和missing
-d 顯示軟件包中的文檔(如man,info,README等)
-c 顯示軟件包中的配置文件,這些文件一般是安裝后需要用戶手工修改的,例如:slinuxmail.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
?結果會獲得很多信息.