rpm

 CentOS系统上使用rpm命令管理程序包:
安装、卸载、升级、查询、校验、数据库维护(/var/lib/rpm)

1. 安装:

rpm {-i|--install} [install-options] PACKAGE_FILE…
-i:install 安装
-v: verbose 显示过程
-vv:更详细的过程
-h: 以#显示程序包管理执行进度
rpm -ivh PACKAGE_FILE ...
 [install-options]
--test: 测试安装,但不真正执行安装,即dry run模式
--nodeps:忽略依赖关系
--replacepkgs | replacefiles(替代安装包)
--nosignature: 不检查来源合法性
--nodigest:不检查包完整性
--noscripts:不执行程序包脚本
脚本的类型:
%pre: 安装前脚本; --nopre
%post: 安装后脚本; --nopost
%preun: 卸载前脚本; --nopreun
%postun: 卸载后脚本; --nopostun
Paste_Image.png
Paste_Image.png

2.升级:

 rpm {-U|--upgrade} [install-options] PACKAGE_FILE...
 rpm {-F|--freshen} [install-options] PACKAGE_FILE...
upgrade:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则“安装”
freshen:安装有旧版程序包,则“升级”;如果不存在旧版程序包,则不执行升级操作
rpm -Uvh PACKAGE_FILE ...
rpm -Fvh PACKAGE_FILE ...
--oldpackage:降级(降级后以前的版本还在)
--force: 强制安装
Paste_Image.png

升级注意项
 注意:
(1) 不要对内核做升级(-U/-F)操作;Linux支持多内核版本并存,因此直接-i安装新版本内核,
(2) 如果原程序包的配置文件安装后曾被修改,升级时,新版本
的提供的同一个配置文件并不会直接覆盖老版本的配置文件,而
把新版本的文件重命名(FILENAME.rpmnew)后保留
(3)在/boot下可以查看有几个内核

3.包查询

rpm {-q|--query} [select-options] [query-options]
 [select-options]
-a: 所有包
-f: 查看指定的文件由哪个程序包安装生成
-p rpmfile:针对尚未安装的程序包文件做查询操作,后面跟文件名
-q 查询包的版本,后面加包名
--whatprovides CAPABILITY:查询指定的CAPABILITY(功能)由哪个包所提供
--whatrequires CAPABILITY:查询指定的CAPABILITY被哪个包所依赖
 rpm2cpio 包文件|cpio –itv 预览包内文件
 rpm2cpio 包文件|cpio –id “*.conf” 释放包内文件
 [query-options]
--changelog:查询rpm包的changelog
-c: 查询程序的配置文件
-d: 查询程序的文档
-i: information查看描述信息
-l: 查看指定的程序包安装后生成的所有文件
--scripts:程序包自带的脚本
--provides: 列出指定程序包所提供的CAPABILITY
-R: 查询指定的程序包所依赖的CAPABILITY
 常用查询用法:
-qi PACKAGE, -qf FILE, -qc PACKAGE, -ql
PACKAGE, -qd PACKAGE
-qpi PACKAGE_FILE, -qpl PACKAGE_FILE, ...
-qa
Paste_Image.png
Paste_Image.png
Paste_Image.png
Paste_Image.png

4.包卸载:

rpm {-e|--erase} [--allmatches](匹配到名字的全部卸载)[--nodeps] [--
noscripts] [--notriggers] [--test] PACKAGE_NAME ...

5.包校验

 rpm {-V|--verify} [select-options] [verify-options]
-Va 检查所有包
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
 包来源合法性验正及完整性验正
完整性验正:SHA256
来源合法性验正:RSA
 公钥加密
对称加密:加密、解密使用同一密钥
非对称加密:密钥是成对儿的
public key: 公钥,公开所有人
secret key: 私钥, 不能公开
 导入所需要公钥
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7导入公钥
rpm -K|checksig rpmfile 检查包的完整性和签名
CentOS 7发行版光盘提供:RPM-GPG-KEY-CentOS-7
rpm -qa “gpg-pubkey*”查看导入的公钥

6.rpm数据库

 数据库重建:
/var/lib/rpm(千万不能破坏,一旦破坏原有的数据就回不来了)
 rpm {--initdb|--rebuilddb}两个都是完成新的数据库
initdb: 初始化
如果事先不存在数据库,则新建之;否则,不执行任何操作
rebuilddb:重建已安装的包头的数据库索引目录

你可能感兴趣的:(rpm)