RPM包管理工具爲紅帽公司研發的一款程序包管理器,在RHEL、CentOS、Fedora、SUSE等發行版中被廣泛使用。
RPM包管理工具可用於實現RPM的安裝、卸載、查詢、重裝、校驗等操作。
RPM包的命名格式爲:Name-Major.Minor.Release-release.arch.rpm
Major:程序包的主版本號
Minor:程序包的次版本號
Release:發行版本號(此版本號爲程序的源代碼包的發行號)
release:修訂版本號(這個版本號標識對此rpm包自身的修訂)
arch:適用的硬件平臺
例如:zsh-4.3.10-7.el6.x86_64.rpm
zsh是軟件包的名字,4.3.10爲源碼包發行的主版本號,次版本號以及發行版本號,7.el6爲rpm包修改的次數以及適用的OS發行版版本,x86_64爲適用的硬件平臺
獲取rpm包的途徑:
1.系統發行版的光盤中以及官方站點或鏡像站點等
rpm包在光盤中的位置:/Packages(這裏的/代表光盤爲根目錄)
鏡像站點例如:mirrors.sohu.com (163.com)等
2.程序項目官方站點
如apache:www.apache.org
3.第三方組織
Fedora-EPEL
搜索引擎等
4.自己製作
RPM程序包的應用:
查詢:
檢查某包是否已經安裝成功,或檢查安裝的所有軟件包
rpm -q [select-option] [query-option]
select-option:
1、查詢某包是否安裝:
rpm -q Package_Name...
2、查詢已安裝的所有包:
rpm -qa
3、查詢某文件是由哪個包安裝生成的
rpm -qa /path/to/somefile
4、查詢尚未安裝的相關信息:
rpm -qpi Package_file
query-option:
1、查詢某包的簡要說明信息
rpm -qi PACKAGE_file
2、查詢某包安裝後生成的所有文件列表
rpm -ql Package_file
3、查詢某包安裝後生成的所有配置文件列表
rpm -qc Package_file
4、查詢某包安裝後生成的所有幫助文件列表
rpm -qd Package_file
5、查詢某包製作時隨版本變化的changelog列表信息
rpm -q –changelog Package_file
以上內容只會演示個別例子,請見諒。
安裝:
rpm -ivh [install-options] Package_file
常用安裝選項:
--replacepkgs:重新安裝
--nodeps:忽略軟件包依賴關係
--test:測試安裝,並不執行安裝過程
例如:安裝zsh這個軟件包
使用:rpm -ivh --test zsh-4.3.10-7.el6.x86_64.rpm
注:安裝和升級必須使用軟件包的完整名稱
升級:
rpm -Uvh [intsall-options] Package_file
此操作爲:如果系統中存在舊版本程序包,則升級安裝,否則執行安裝操作
rpm -Fvh [install-options] Package_file
這項操作爲:如果系統中存在舊版本程序包,則升級安裝,否則不安裝
常用升級選項:
--nodeps:忽略軟件包依賴關係
--test:測試安裝,並不執行安裝過程
注: 這裏沒有這項演示,請見諒。
不要對內核執行升級操作,linux內核支持多版本內核並存,若安新版本內核可以直接安裝,以免系統崩潰
卸載:
rpm -e [options] Package_file
options:
--nodeps:忽略依賴關係
--test:卸載測試
在卸載前,請先查看當前系統中是否安裝此包
卸載剛纔的zsh包使用rpm -e zsh,卸載完成後再次查詢一下看看是否存在
rpm程序包在安裝時會有大量的依賴關係存在,例如安裝A程序包需要B程序支持然而安裝B又需要C支持這就導致可能安裝一個軟件包需要很長時間,如果使用—nodeps這個選項可能會導致程序包的不能正常使用,爲此紅帽某衍生版開發了一款rpm軟件包的前端管理工具可以幫我們完成大量軟件包的依賴關係而做到快速安裝
若要了解請點擊下一篇文章《軟件包管理之YUM》