rpm包管理器的常见使用场景
1、安装程序包
rpm [option] /path/to/package_file
[option]:
-i:下载
-v:显示下载过程
-h:以#显示程序包管理执行进度;每个#表示2%的进度
--test:仅作测试,不真正执行安装
--nodeps:忽略依赖关系
--nodigest:不检查包完整性
--nosignature:不检查来源合法性
--noscripts:不执行脚本片段
--replacepkgs:重新安装
注意:如果原有的配置文件做了修改,很有可能不执行替换,而是将安装生成的配置文件重命名为.rpmnew。
2、卸载程序包
rpm -e package_name
注意:如果包的配置文件安装后修改过,卸载时,此文件将不会被卸载,而是被重命名并保存,例如:
warning: /etc/zprofile saved as /etc/zprofile.rpmsave
3、升级程序包
rpm [option] /path/to/package_file
1>升级或安装
-Uvh
2>纯升级
-Fvh
--force:强制升级
--oldpackage:降级
注意:不应该对内核执行升级操作,而是安装,系统允许多内核并存
4、查询操作
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的变更信息
--scripts:程序包自带的脚本片段
--provides:列出程序包所提供的CAPABILITY
-c:查询程序的配置文件
-d:查询文件的文档
-i:信息
-l:查看指定的程序包安装后生成的所有文件
-R:查看指定的程序包所依赖的CAPABILITY
5、校验
rpm -V package_name
S 大小不一致
M 模式不一致(包括权限和文件类型)
5 MD5校验码不一致
D 主/次设备号不匹配
L readLink(2) 路径不匹配
U User 属主不一致
G Group 属组不一致
T mTime 不一致
P 功能不一致
某属性无变化时,显示为’.’
6、来源合法性及完整性验证
导入包的制作者的公钥:
rpm --import /path/to/key_file
然后安装时会自动执行。
也可以手动检查:
rpm -K /path/to/package_file
rpm --checksig /path/to/package_file
7、数据库重建
数据库目录:/var/lib/rpm
重建:
# rpm --initdb :初始化
如果事先没有库,会新建一个;如果有则不新建
# rpm --rebuilddb:重建
直接重建,覆盖原有的数据库