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