很多人最識Linux的時候,搞不明白什麼是軟體包管理系統,其實,linux下的軟體包管理系統就是在電腦中自動安裝、配置、卸載和升級軟體包的工具組合,有點類似於windows下的控制台。
在Linux發行版中,幾乎每一個發行版都有自己的軟體包管理系統。常見的有deb軟體包的dpkg以及它的前端apt(適用於debian、Ubuntu等)。rpm以及它的前端yum(適用於RedHat系列的系統)。
RPM,全稱RPM Package Manager,是由Red Hat推出的軟體包管理系統,現在在各種發行版中普遍適用。
RRM軟體包是將程式原始碼經過編譯和封裝以後形成的包檔案,在軟體包裡面會封裝軟體的二進位程式、設定檔、協助手冊、庫檔案以及標頭檔等。RPM包的結構如所示:
RPM軟體包的安裝與卸載:
# rpm [options] /path/to/rpmfile
option:
-i|--install:安裝指定軟體
-v|--verbose:顯示安裝過程
-e|--erase:卸載指定的軟體
-h|--hash:以#的方式顯示安裝進度條,一個#為2%
--nodeps:忽略依賴關係
--test:測試安裝
-U:升級+安裝(如果之前有安裝則升級,如果之前沒有安裝則安裝)
-F:升級(如果之前有安裝則升級,如果之前沒安裝則不做任何操作)
--replacepkgs:重新安裝軟體包
--force:在軟體包的安裝或升級過程中,如果出現某個檔案已經安裝或者某一個軟體已經安裝時
可以使用--force選項強制安裝,等同於--replacepkgs --replacefiles --oldpackage同時使用
常用的軟體包安裝選項為:
#rpm -ivh /path/to/rpmfile
# rpm -Uvh /path/to/rpmfile
樣本 1:
RPM軟體包驗證:
RPM包使用gpg非對稱式加密機制,可以驗證封裝的完整性和來源的合法性。
# rpm --import PUBKEY:rpm使用--import匯入軟體包提供者製作的公開金鑰,可以自動進行軟體包的驗證
#rpm {-K|--checksig} [--nosignature] [--nodigest] PACKAGE_FILE:rpm可以使用-K或--checksig選項對軟體包進行來源和完整性的驗證,--nosignature選項是指不進行來源合法性驗證,--nodigest選項是指不進行完整性驗證
樣本 2:
製作自己的rpm包
Linux 下rpm安裝後的目錄結構和一些配置
rpm與yum的綜合性介紹與樣本示範
Redhat Linux---rpm 命令詳解