一、什麼是rmp包:
RPM 是 Red Hat Package Manager 的縮寫,本意是Red Hat 軟件包管理,是Red Hat發行版本所使用的一個軟件管理工具,類似與windows的添加和刪除程序。
windows中的安裝包格式有.exe,.msi等等,而在linux中的安裝包格式主要有2中:二進制包和源代碼包。二進制包是可以直接進行安裝的包,後綴名爲.rpm,源代碼包是需要進行編譯,然後才能安裝,後綴名爲src.rpm。
二、rpm包管理的使用
rpm包管理主要的功能有:安裝、升級、卸載、查詢和校驗、數據庫維護,接下來將對這些功能進行一一的解析,
rpm命令的格式爲:rpm [OPTIONS] [PACKAGE_FILE]
1、安裝:-i
rpm {-i|--install} [install-options] PACKAGE_FILE
[install-options] :
-v:verbose,顯示安裝過程
-h:hash marks輸出進度條;每個#表示2%的進度
--test:測試安裝,檢查並報告依賴關係及衝突消息等;
--nodeps:忽略依賴關係;不建議
--replacepkgs:重新安裝
--nosignature:不檢查包簽名信息,不檢查來源合法性;
--nodigest:不檢查包完整性信息;
常用命令:rpm -ivh PACKAGE_FILE
2、升級:-U,-F
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-U:升級或安裝;
-F:升級
[install-options]:
--oldpackage:降級
--force:強制升級;
常用命令:rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
3、卸載:-e
rpm {-e|--erase} [erase-options] PACKAGE_FILE ...
[erase-options]:
--allmatches:卸載所有匹配指定名稱的程序包的各版本;
--nodeps:忽略依賴關係
--test:測試卸載,dry run模式
4查詢:-q
rpm {-q|--query} [select-options] [query-options]
[select-options]
PACKAGE_NAME:查詢指定的程序包是否已經安裝,及其版本;
-a, --all:查詢所有已經安裝過的包;
-f FILE:查詢指定的文件由哪個程序包安裝生成
-p, --package PACKAGE_FILE:用於實現對未安裝的程序包執行查詢操作;
--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個程序包提供;
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;
[query-options]
--changelog:查詢rpm包的changlog;
-l, --list:程序安裝生成的所有文件列表;
-i, --info:程序包相關的信息,版本號、大小、所屬的包組,等;
-c, --configfiles:查詢指定的程序包提供的配置文件;
-d, --docfiles:查詢指定的程序包提供的文檔;
--provides:列出指定的程序包提供的所有的CAPABILITY;
-R, --requires:查詢指定的程序包的依賴關係;
--scripts:查看程序包自帶的腳本片斷;
常用方法:
-qi PACKAGE:程序包相關的信息
-qf FILE:查詢指定的文件由哪個程序包安裝生成
-qc PACKAGE:查詢指定的程序包提供的配置文件
-ql PACKAGE:程序安裝生成的所有文件列表
-qd PACKAGE:查詢指定的程序包提供的文檔
-qpi PACKAGE_FILE:查詢沒有安裝的程序包的詳細信息
-qpl PACKAGE_FILE:查詢沒有安裝的程序包將要生成的文件列表
-qpc PACKAGE_FILE:查詢沒有安裝的程序包將要生成的配置文件
5、校驗:-V
rpm {-V|--verify} [select-options] [verify-options]
功能主要驗證程序包的合法性和完整性。
6、數據庫維護
rpm {--initdb|--rebuilddb} [--dbpath DIRECTORY] [--root DIRECTORY]
--initdb:初始化數據庫,當前無任何數據庫可實始化創建一個新的;當前有時不執行任何操作;
--rebuilddb:重新構建,通過讀取當前系統上所有已經安裝過的程序包進行重新創建;
總結:rpm包管理程序有一個小的弊端就是:它不能夠完美的解決程序包安裝時的依賴關係,所以在rpm的基礎上產生了一個新的前端管理工具yum,我將在下一章講解yum的使用方法。