1、安装
语法:rpm [选项] [参数] PACKAGE_FILE
选项:
-i:install安装;
-v:显示安装过程,vv详细过程;
-h:一个#号代表2%进度;
参数:
--nodeps:忽略依赖关系;
--force:强制安装;
--replacepkgs:重新安装;
--oldpackage:降级安装;
--test:测试安装;
2、查询
语法:rpm [选项] [参数] PACKAGE_NAME
选项:
-q:查询指定软件是否安装,后边跟PACKAGE_NAME;
-qa:查询所有已安装的软件;
-qc:查询已安装软件的配置文件路径;
-ql:查询已安装软件所生成的文件列表;
-qi:查询已安装软件的详细信息,软件版本等;
-qd:查询已安装软件的帮助文档;
-qf:查询指定文件是由哪个rpm包安装生成的;
参数:
--scripts:查询指定包中包含的脚本;
脚本分为四类:
1、preinstall:安装前
2、postinstall:安装后
3、preuninstall:卸载前
4、postuninstall:卸载后
如果rpm包尚未安装,我们需要查询其说明信息、安装后会生成的文件;
rpm -qpi(query package ) /PATH/TO/PACKAGE_FILE.rpm--查询指定包安装后会生成的说明信息
rpm -qpl(query package ) /PATH/TO/PACKAGE_FILE.rpm--查询指定包安装后会生成的文件列表、目录
rpm -qpc(query package ) /PATH/TO/PACKAGE_FILE.rpm--查询指定包安装后会生成的配置文件
rpm -qpd(query package ) /PATH/TO/PACKAGE_FILE.rpm--查询指定包安装后会生成的帮助文档
3、升级
语法:
rpm [选项] [参数] PACKAGE_FILE.rpm
选项:
-Uvh:如果有老版本则在此基础升级,否则就安装;
-Fvh:如果有老版本则在此基础升级,否则退出;
参数:
--oldpackage:降级更新;
--force:强制更新;
4、卸载
语法:
rpm [选项] [参数] PACKAGE_NAME
选项:
-e:卸载
参数:
--nodeps:忽略依赖关系;
--force:强制卸载;
5、重建RPM数据库:
rpm --rebuilddb :不管此数据库有没有,都重建
rpm --initdb :初始化数据库,如果没有则建立;
/var/lib/rpm :RPM数据配置文件
5、rpm校验
rpm -V PACKAGE_NAME
校验信息核对表:
S :(file Size differs) 文件的容量大小是否被改变
M :(Mode differs) 文件的类型或文件的属性 (rwx) 是否被改变?如是否可运行等参数已被改变
5 :(MD5 sum differs) MD5 这一种指纹码的内容已经不同
D :(Device major/minor number mis-match) 装置的主/次代码已经改变
L :(readLink(2) path mis-match) Link 路径已被改变
U :(User ownership differs) 文件的所属人已被改变
G :(Group ownership differs) 文件的所属群组已被改变
T :(mTime differs) 文件的创建时间已被改变
7、rpm包来源合法性校验
rpm -K /PATH/TO/PACKAGE_FILE --验证rpm包
dsa,pgp:验证来源合法性,也即验证签名; --nosignature可以略过此项
sha1,md5:验证软件包完整性; --nodigest可以略过此项
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release --导入密钥文件