虽然现在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 /路径/文件名