2010年9月30日 星期四

RPM 套件管理使用說明

RPM 是 Red Hat Package Manager 的簡稱,主要是Red Hat上的軟體包裝方式。RPM 具有五種操作模式:安裝、移除、升級、查詢、驗證。

一、安裝
  • 執行: rpm –ivh XXX
-i表示install,-v使安裝時有套件名稱出現,若想看到更多訊息,可用-vv,-h使安裝時有”#”出現,等到”#”跑完,就是安裝完畢,安裝之前,--test可測試安裝。

二、安裝時會出現的錯誤訊息

  • 已安裝過
若出現foo package XXX.rpm is already insalled error: XXX.rpm cannot be installed表示已經安裝過,可加上--replacepkgs強制安裝。

  • 軟體相衝或不相容
若出現foo /x/x/xxx conflicts with file from XXX error: XXX.rpm cannot be installed
表示某些軟體或新舊軟體之間不相容或相衝,可加上--force強制安裝,但安裝之後不一定能正常執行。

  • 有相依性的軟體
若出現failed dependencies:XXX1 is neded by XXX2 表示要先安裝XXX1才能安裝XXX2,可加上--nodeps強制安裝,但安裝之後不一定能正常執行。

三、移除
  • 要移除已安裝的套件,只要加上-e的參數,例如:rpm –e XXX。
若出現removing these packages would break dependencies: XXX1 is needed by XXX2 表示XXX1的某一些檔案是XXX2執行時所需要的,所以不能移除,可加上--nodeps強制移除,但可能會造成其他軟體無法正常執行。

四、升級
  • 要升級已安裝的套件,只要加上-U的參數,例如:rpm –Uvh XXX。
-U是先移除舊版軟體再安裝新版軟體,因此不管有沒有安裝過,都可以用-Uvh來安裝,若想換回舊版軟體,可以加上--oldpackage強制安裝,升級之後,所有舊版軟體的設定檔會被複製成XXX.prmsave的檔名。

五、查詢
  • 執行: rpm –q XXX會顯示軟體套件的名稱和版本。
其他參數:



參數
說明
用法
-a 查詢目前所有已安裝套件  rpm –qa
-c 列出package中的軟體設定檔  rpm –qc XXX
-d 列出package中的文件檔  rpm –qd XXX
-f 查詢filename屬於哪一套件  rpm –qf 檔名
-l 列出package的檔案擁有人  rpm –ql XXX
-p 查詢套件的套件名稱  rpm –qp XXX
-R 列出此軟體的dependency  rpm –qR XXX
-s
列出package中的檔案狀態
(normal或missing)
 rpm –qs XXX


六、驗證
  • 若不小心移除了某些檔,或想知道的軟體是否正確,可執行:rpm –V XXX,或是rpm –Va驗證所有已安裝套件。
備註:以上為.i386.rpm的安裝方法,而.src.rpm的檔案安裝時,只要加上--recompile即可安裝,若是加上--rebuild參數,除了安裝之外,還會把.src.rpm的檔案重新包裝成.i386.rpm並放在/usr/src/redhat/RPMS的目錄下。