程式包管理器分類
debian:deb、dpt
redhat:rpm(redhat program manager)
gentoo
archlinux
管理程式包的方式:
使用包管理器:rpm
使用前端工具:yum, dnf
COMMAND
安裝
rpm {-i|--install} [install-options] PACKAGE_FILE
-v: verbose
-vv:
-h: 以#顯示程式包管理執行進度;每個#表示2%的進度
rpm -ivh PACKAGE_FILE ...常用
[install-options]
--test: 測試安裝,但不真正執行安裝過程;dry run模式;
--nodeps:忽略依賴關系;
--replacepkgs: 重新安裝;
--nosignature: 不檢查來源合法性;
--nodigest:不檢查包完整性;
--noscipts:不執行程式包腳本片斷;
%pre: 安裝前腳本; --nopre
%post: 安裝後腳本; --nopost
%preun: 解除安裝前腳本; --nopreun
%postun: 解除安裝後腳本; --nopostun
更新
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
upgrage:安裝有舊版程式包,則“更新”;如果不存在舊版程式包,則“安裝”;
freeshen:安裝有舊版程式包,則“更新”;如果不存在舊版程式包,則不執行更新操作;
常用指令
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降級;
--force: 強行更新;
注意:(1) 不要對核心做更新操作;Linux支援多核心版本并存,是以,對直接安裝新版本核心;
(2) 如果原程式包的配置檔案安裝後曾被修改,長級時,新版本的提供的同一個配置檔案并不會直接覆寫老版本的配置檔案,而把新版本的檔案重命名(FILENAME.rpmnew)後保留;
查詢
rpm {-q|--query} [select-options] [query-options]
[select-options]
-a: 所有包
-f: 檢視指定的檔案由哪個程式包安裝生成
-p /PATH/TO/PACKAGE_FILE:針對尚未安裝的程式封包件做查詢操作;
--whatprovides CAPABILITY:查詢指定的CAPABILITY由哪個包所提供;
--whatrequires CAPABILITY:查詢指定的CAPABILITY被哪個包所依賴;
[query-options]
--changelog:查詢rpm包的changlog
-c: 查詢程式的配置檔案
-d: 查詢程式的文檔
-i: information
-l: 檢視指定的程式包安裝後生成的所有檔案;
--scripts:程式包自帶的腳本片斷
-R: 查詢指定的程式包所依賴的CAPABILITY;
--provides: 列出指定程式包所提供的CAPABILITY;
#ldconfig -p 已裝載在緩存中的庫
rpm -qf /etc/fstab查詢某個檔案由哪個包安裝生成
rpm -qpl zsh-5.0.2-14.el7.x86_64.rpm用于實作對未安裝的程式包執行查詢操作
# rpm -q --whatprovides bash查詢指定的CAPABILITY由哪個程式包提供
--whatrequires CAPABILITY查詢指定的CAPABILITY被哪個包所依賴
--changelog 查詢修改日
-qc:查詢指定的程式包提供的配置檔案
-qd:查詢指定的程式包提供的幫助文檔
--provides:列出指定的程式包提供的所有的CAPABILIT
-R:查詢指定的程式包的依賴關系
本文轉自echoroot 51CTO部落格,原文連結:http://blog.51cto.com/echoroot/1923057,如需轉載請自行聯系原作者