RPM 是 Red Hat Package Manager 的縮寫,本意是Red Hat 軟件包管理,顧名思義是Red Hat 貢獻出來的軟件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流發行版本,以及在這些版本基礎上二次開發出來的發行版采用。
RPM包里面都包含什么?里面包含可執行的二進制程序,這個程序和Windows的軟件包中的.exe文件類似是可執行的;RPM包中還包括程序運行時所需要的文件,這也和Windows的軟件包類似,Windows的程序的運行,除了.exe文件以外,也有其它的文件。
一個RPM 包中的應用程序,有時除了自身所帶的附加文件保證其正常以外,還需要其它特定版本文件,這就是軟件包的依賴關系;依賴關系并不是Linux特有的, Windows操作系統中也是同樣存在的;比如我們在Windows系統中運行3D游戲,在安裝的時候,他可能會提示,要安裝Direct 9 ;Linux和Windows原理是差不多的。所以被打包的二進制應用程序的組成部分除了二進制文件以外還包括庫文件、配置文件(可以實現軟件的一些設置)、幫助文件。RPM保留一個數據庫,這個數據庫中包含了所有的軟件包的資料,通過這個數據庫,用戶可以進行軟件包的查詢。
RPM包管理的配置文件是rpmrc,可以使用如下命令進行查找
# locate
rpmrc
可以通過如下命令進行查看
rpm
–showrc
具體命令:
rpm
-i –instal 安裝
–test 檢測
–nodeps 忽略依賴性關系直接安裝
-v 顯示詳細信息
-vv 顯示更詳細信息
-h 顯示進度
-ivh rpm包名
–test: 測試安裝,但不真正執行安裝,即dry run模式
–nodeps:忽略依賴關系
–replacepkgs 已安裝過的包重裝。
–replacefiles 其他已安裝的RPM包的文件,與即將裝的RPM中的文件沖突時,則覆蓋文件并安裝。
–nosignature: 不檢查來源合法性
–nodigest:不檢查包完整性
–noscripts:不執行程序包腳本
%pre: 安裝前腳本; –nopre
%post: 安裝后腳本; –nopost
%preun: 卸載前腳本; –nopreun
%postun: 卸載后腳本; –nopostun
-Uvh 當有舊的版本的包時,則卸載舊包再裝新包,如沒有舊包,直接裝新包。
-Fvh 當有舊的包時,卸載舊包裝新包,無舊包時,nothing
–oldpackage 降級 已有新包,裝舊包。
–force 強制安裝。–replacepkgs –replacefiles –oldpackage
-q 軟件包名 查詢已安裝過的軟件包名。
-qa 列出所有的已安裝過的rpm包
-qa
“name*”
-qa
|grep name
-qf 查詢一個文件來自于哪一個rpm包 (已安裝的rpm)
-q –changelog 版本更新日志
-qc 查詢軟件包的配置文件(不是所有包都有配置文件)
-qd 查詢軟件包的幫助文檔
-qi 查詢軟件包的詳細信息
-ql 查詢軟件包所安裝到系統當中的所有文件路徑
-q –scripts 查詢軟件包自帶的腳本
-q –provides 查詢自身的功能
-qR 查詢實現自身的功能需要什么能力
-qp[licd] rpm包 查看未安裝的rpm包的各項信息
-e 軟件名
–nodeps 忽略依賴性。強制卸載
–import GPG-KEY…. 導入公鑰
-qa “gpg-pubkey*” 顯示所有已導入的公鑰
-e gpg-pubkey….
-K rpm包 驗證某rpm簽名是否合法
原創文章,作者:poetic snow,如若轉載,請注明出處:http://www.www58058.com/84548