虽然现在N多人都使用yum去替代rpm了,但是rpm在一些特俗场合下还是有其作用的,比如查询跟验证已安装的rpm包,rpm全称Redhat Package Manager,是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,与Dpkg类似。

1.安装软件包
rpm -ivh ***.rpm 其中i表示安装,v表示输出,h表示用#作进度标记

2.升级软件包
rpm -Uhv ***.rpm

3.删除软件包
rpm -e package_name
rpm -e –nodeps package_name 不考虑依赖包
rpm -e –allmatches package_name 删除所有跟package_name匹配的所有版本的包

4.查询软件包
rpm -q package_name
rpm -qp ***.rpm 获取当前目录下的rpm包相关信息
rpm -qa | less 列出所有已安装的软件包
rpm -qf /etc/sysctl.conf 查看某个文件属于哪个软件包
rpm -qi package_name 列出已安装的这个包的标准详细信息
rpm -qlp package_name 列出rpm包的文件内容
rpm -q –scripts kernel | less 列出已安装rpm包自带的安装前和安装后脚本
rpm -qa –queryformat ‘Package %{NAME} was build on %{BUILDHOST}\n’ | less queryformat强大的查询
rpm –querytags | less 可以列出queryformat可以使用的所有变量从而组合成更强大的查询

5.检查已安装软件包
rpm -Va | grep bin

检查失败的字符:
S:文件大小不符,M:模式不符,5:MD5校验和不符,U:用户所有权不符,G:用户组所有权不符,T:mTime不符

6.重建rpm数据库
rm /var/lib/rpm/__db.00*
rpm –rebuilddb 在rpm数据库已破坏且不能安装软件包的时候使用此大发

7.从rpm提取文件
rpm2cpio ***.rpm | cpio -idv /路径/文件名