CentOS系统上rpm命令管理程序包: 安装、升级、卸载、查询、校验、数据库维护
rpm命令:rpm [OPTIONS] [PACKAGE_FILE]
安装:-i, --install
升级:-U, --update, -F, --freshen
卸载:-e, --erase
查询:-q, --query
校验:-V, --verify
数据库维护:-builddb, --initdb
安装:
rpm {-i|--install} [install-options] PACKAGE_FILE ...
rpm -ivh PACKAGE_FILE...
GENERAL OPTIONS:
-v:verbose, 详细信息
-vv:更详细的输出
[install-options]:
-h:hash marks输出进度条;每个#表示2%的进度;
--test:测试安装,检查并报告依赖关系及冲突消息等;
--nodeps:忽略依赖关系;不建议;
--replacepkgs:重新安装
注意:rpm可以自带脚本;
四类: --noscripts
preinstall:安装过程开始之前运行的脚本,%pre,--nopre
postinstall:安装过程完成之后运行的脚本,%post,--nopost
preuninstall:卸载过程真正开始执行之前运行的脚本,%preun,--nopreun
postuninstall:卸载过程完成之后运行的脚本,%postun,--nopostun
--nosignature:不检查包签名信息,不检查来源合法性
--nodigest:不检查包完整性信息;
升级:
rpm {-U|--upgrade} [install-options] PACKAGE_FILE ...
rpm {-F|--freshen} [install-options] PACKAGE_FILE ...
-U:升级或安装;
-F:升级;
rpm:-Uvh PACKAGE_FILE...
rpm:-Fvh PACKAGE_FILE...
--oldpackage:降级;
--force:强制升级;
注意:
(1)不要对内核做升级操作;Linux支持多内核版本并存,因此,直接安装新版本内核即可;
(2)如果某源程序包的配置文件安装后曾被修改过,升级时,新版本的程序包提供的同一个配置文件不会覆盖原有版本的配置文件,而是把新版本的配置文件重命名(FILENAME.rpmnew)后提供;
卸载:
rpm {-e|--erase} [--allmatches] [--nodeps] [--noscripts] [--notriggers][--test] PACKAGE_NAME ...
--allmatches:卸载所有匹配指定名称的程序包的各版本;
--nodeps:忽略依赖关系;
--test:测试卸载
查询:
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;
--whatprovides:可以用来查询哪个包提供了指定内容
--whatrequires:可以用来查看哪些包依赖于指定内容
-R, --requires:查询指定的程序包的依赖关系;
--scripts:查看程序包自带的脚本片断;
用法:
-qi PACKAGE, -qf FILE, -qc PACEAGE, -ql PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, -qpc PACKAGE_FILE,...
校验:
rpm {-V|--verify} [select-options] [verify-options]
S file Size differs
M Mode differs (includes permissions and file type)
5 digest (formerly MD5 sum) differs
D Device major/minor number mismatch
L readLink(2) path mismatch
U User ownership differs
G Group ownership differs
T mTime differs
P caPabilities differ
包来源合法性验证和完整性验证: 来源合法性验证: 完整性验证:
获取并导入信息的包制作者的密钥: 对于CentOS发行版来说:rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 验证: (1)安装此组织签名的程序时,会自动执行验证; (2)手动验证:rpm -k PACKAGE_FILE
数据库重建: rpm管理器数据库路径:/var/lib/rpm/ 查询操作:通过此处的数据库进行;
获取帮助:
CentOS 6:man rpm
CentOS 7:man rpmdb
rpm{--initdb|--rebuilddb}
--initdb:初始化数据库,当前无任何数据库可实始化创建一个新的;当前有时不执行任何操作;
--rebuilddb:
原创文章,作者:N24_xiaowen,如若转载,请注明出处:http://www.178linux.com/60782


评论列表(1条)
知识点总结的不错,第三周的作业好像没有完善。