RPM軟件包管理

   RPM(RedHat PackageManager,紅帽子軟件包管理器)用於軟件包的安裝、查詢、升級、校驗、卸載,以及生成.rpm格式的軟件包。RPM使用數據庫的方式來記錄已經安裝的軟件包信息,數據庫存儲在目錄/var/lib/rpm中。node


格式:
rpm 選項[軟件名|軟件包名]
參數:
-q  #軟件名  查看指定的軟件是否安裝
-qa #查看系統內容已經安裝了那些rpm包
-ql #軟件名 查看軟件包裏文件都安裝的了系統的什麼目錄下
-qc #軟件名 查看軟件包裏的配置文件都安裝到的什麼目錄下
-qf #文件名 查看文件由那個軟件包安裝
-i  #在系統中安裝軟件
-U  #在系統中升級軟件
-e  #在系統中卸載軟件
-h  #用 #(hash) 符顯示 rpm 安裝過程
-v  #詳述安裝過程
-a  #查詢全部已安裝的軟件包
-f  #查詢 文件所屬軟件包
-l  #顯示軟件包中的文件列表
-d  #顯示被標註爲文檔的文件列表
-c  #顯示被標註爲配置文件的文件列表
-p  #代表對 RPM 包進行查詢,一般和其它參數同時使用,如:
-qlp  #查詢某個 RPM 包中的全部文件列表
-qip  #查詢某個 RPM 包的內容信息
--excludedocs  #不安裝軟件包的文檔文件
--prefix PATH  #將軟件包安裝到指定目錄
--test  #只對安裝進行測試,並不實際安裝(一般用來看下須要的依賴項)
--replace[pkgs|files]  #當出現衝突時或想強制覆蓋時可使用
--nodeps  #不考慮依賴關係,強制安裝
--force   #強制安裝軟件包


RHEL5中安裝光盤中的包路徑說明:linux

  • Server 提供服務的軟件包數據庫

  • VT 提供虛擬化技術的軟件安全

  • Cluster 提供集羣功能的軟件包bash

  • ClusterStorage  提供集羣和存儲功能的軟件包ide

  • p_w_picpaths   提供鏡像文件和引導文件測試

  • isolinux  提供鏡像文件和引導文件ui


安裝軟件
spa

rpm -ivh package.rpm

強制安裝(忽略依賴)server

   RPM 中的默認安裝規則是不容許同一個包屢次安裝的,也不容許降級安裝。使用 --force 輔助參數將不考慮以上因素,強制安裝 RPM 包。可是,--force 沒法強制安裝一個不知足系統依賴性關係的包 ( 此時須要用到 --nodeps 參數 ) 。

rpm -ivh --nodeps package.rpm
rpm -ivh --force package.rpm

遠程安裝RPM

rpm -Uvh ftp://user:pass@ftpserver/package.rpm

從新安裝

   當要安裝的軟件包的某些文件已經在安裝其餘軟件包時安裝過了時,能夠經過 --replacefiles參數來替換屬於其餘軟件包的文件,若是安裝RPM軟件包發生衝突時,能夠經過 --replacepkgs參數強制從新安裝

rpm -ivh --replacepkgs package.rpm

升級軟件包

rpm -Uvh package.rpm  #如此版本的軟件包沒安裝 直接安裝當前版本的軟件包
rpm -Fvh package.rpm  #如此版本的軟件沒安裝  當前版本的軟件包裝不上

卸載軟件包

-e #卸載rpm 包
--nodeps #忽略包依賴關係卸載
--force  #強制卸載軟件包
rpm -ev package
rpm -e package
rpm -e --nodeps package
rpm -e --force package

查詢RPM包中包含的文件列表

rpm -qlp package

查詢RPM包中包含的內容信息

rpm -qip package

查詢系統中全部已安裝RPM包

rpm -qa

查詢是否安裝軟件包

rpm -q package

查看軟件包文件安裝在系統的目錄

rpm -ql package

查看軟件包配置文件安裝在系統的目錄

rpm -qc package

查看文件是由那個RPM包安裝

rpm -qf package

系統內全部被改動過文件

rpm -Va

查看指定的文件是否被改動過

rpm -Vf filename

查看指定軟件提供的文件那些被改過

rpm -V package

驗證軟件包

rpm -Vp package

S ---文件大小不一樣
M ---文件權限和文件類型不一樣
5 ---MD5檢驗碼不一樣
D ---設備的標識號不一樣
L ---文件的連接路徑不一樣
U ---文件的全部者不一樣
G ---文件的所屬組不一樣
T ---文件的修改時間不一樣

手動更新rpm包的數據庫文件

rpm --initdb

查詢RPM包的依賴關係

rpm -qRp package_a.rpm

驗證RPM簽名

   可使用 --import 導入與軟件同時發佈的 GPG KEY, 接着使用 -K 命令來驗證包的安全性,如:

rpm --import pub_ibm_lotus_notes.gpg
rpm -K ibm_lotus_notes-8.5.i586.rpm
返回信息 :
ibm_lotus_notes-8.5.i586.rpm: (sha1) dsa sha1 md5 gpg OK

重構RPM數據庫

   若是底層數據庫損壞,RPM 將沒法正常使用。此時最經常使用的解決方法是重構數據庫:

rm -f /var/lib/rpm/__* ; rpm -vv --rebuilddb

查詢RPM包的安裝時間

rpm -qa --last

軟件包文件提取

#解壓指定文件到當前目錄
rpm2cpio   /../...rpm |cpio –idv   ./../..

查詢軟件包幫助文檔

rpm -qc package
相關文章
相關標籤/搜索