天天看點

LINUX RPM包管理

程式包管理器分類

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,如需轉載請自行聯系原作者

繼續閱讀