在linux中,rpm包是一種通過資料庫管理的方式將所需要的軟件安裝到主機上的管理程序;rpm由紅帽開發(fā)常用于軟件包的安裝升級卸載與查詢,linux通過rpm來實現(xiàn)和管理軟件的安裝、查看和刪除。
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux的rpm包是什么
RPM(RedHat Package Manager)一種通過資料庫管理的方式將所需要的軟件安裝到主機上的管理程序.
RPM包的特點
1:事先已經(jīng)編譯好
2:安裝方便
3:安裝過程中要求環(huán)境一致
4:反安裝時要從最上層開始
RPM包的命名規(guī)則
示例:bind-9.8.2-0.47.rc1.el6.x86_64.rpm
1.name,如:bind,是軟件的名稱
2.version,如:9.8.2-0,是軟件的版本號,版本號格式通常為“主版本號.次版本號.修正號”。47,是發(fā)布版本號,表示這個rpm軟件包是第幾次編譯生成的
3.arch,如i386,是表示包適用的硬件平臺,目前rpm支持的平臺有:i386,i586,i686,sparc和alpha
4..rpm和.src.rpm,是rpm包類型后綴,rpm是編譯好的二進制包,.src.rpm是源碼包
5.特殊名稱:
(1)el*:表示發(fā)行商的版本,el6表示這個軟件包是在rhel6.x/centos6.x下使用;
(2)devel:表示這個rpm包是軟件的開發(fā)包
(3)noarch:說明這樣的軟件包可以在任何平臺安裝和運行,不需要特定的硬件平臺
例如 httpd-manual- 2.0.40-21.i386.rpm
httpd-manual —– 軟件包名稱
2 —– 主版本號
0 —– 次版本號
40 —– 次版本號
21 —– 編譯的次數(shù)
i386 —– 適合的平臺
rpm —– 說明是一個RPM包
RPM包的安裝
RPM包的安裝非常簡單,只需要執(zhí)行以下命令:
rpm -ivh 軟件包名
參數(shù)說明:
-i 安裝
-v 顯示安裝信息
-h 顯示安裝進度
rpm命令執(zhí)行安裝rpm包和源碼包,rpm包以.rpm結(jié)尾,而源碼包以.src.rpm結(jié)尾
RPM常用命令
-ivh 安裝并顯示安裝進度(規(guī)則:rpm –ivh 包名) 示例:rpm –ivh bind-9.8.2-0.47.rc1.el6.x86_64.rpm -Uvh 升級軟件包(rpm –Uvh 包名 //升級軟件包-舊升新,低升高) 示例:rpm –Uvh --oldpackage bind-9.8.2-0.47.rc1.el6.x86_64.rpm(新版本軟件包降級為舊版本) -ql 列出rpm軟件包內(nèi)的文件信息(顯示已安裝軟件包內(nèi)容) 示例:rpm –ql vsftpd (規(guī)則:rpm –ql 軟件名) -qi 列出rpm軟件包描述信息(顯示已安裝軟件包屬性) 示例:rpm –qi bind (規(guī)則:rpm –qi 軟件名) -qf 查看指定文件屬于哪個軟件包(rpm –qf 文件名) 示例:rpm –qf /etc/rc.d/init.d/named -Va 校驗所有rpm包,查找丟失的文件 -e 刪除rpm軟件包(rpm –e 包名) 示例:rpm –e bind-9.8.2-0.47.rc1.el6.x86_64.rpm -qpR 查看rpm包依賴關(guān)系 示例:rpm –qpR 包名 --force 忽略軟件包及文件的沖突,即強制安裝(長格式命令) --nodeps 忽略軟件包的依賴關(guān)系(長格式命令) --test 安裝測試,并不實際安裝(長格式命令) 示例:測試--nodeps和--test,rpm –ivh httpd-2.2.15-53.el6.x86_64.rpm --test 并不安裝,測試一下httpd軟件包的依賴 rpm –qa
其中
–a選項是查詢所有已經(jīng)安裝的軟件包。
-q是查詢一個包是否安裝
(顯示區(qū)別:已經(jīng)安裝的rpm包不會顯示后綴.rpm ,而未安裝的包則顯示后綴.rpm)