乐趣区

关于linux:Linux-rpm查询命令以及RPM包验证

在上一章咱们介绍了应用 rpm 命令装置、卸载和降级 RPM 软件包,在理论的操作过程中,咱们还须要应用 rpm 命令来对 RPM 软件包做一些查问操作,比方:

  • 查问软件包是否已装置
  • 查问零碎中所有已装置的软件包
  • 查看软件包的详细信息
  • 查问软件包的文件列表
  • 查问某系统文件具体属于哪个 RPM 包

rpm 查问命令的格局如下:

$ rpm 选项 包名

一、查问软件包是否装置:-q

rpm 命令查问软件包是否装置的命令格局为:

$ rpm -q 包名

-q 的英文单词是 query,示意查问的意思。

比方我须要查看 Linux 零碎中是否装置sudo,则 rpm 查问命令应写成:

$ rpm -q sudo

如果零碎中装置了咱们要查问的软件,则书输入软件的包名信息,如果没有装置,则通知咱们package is not installed

这里查问的时候,只须要咱们输出包名就能够,并不需要输出包全名,零碎能够自动识别。

二、查问零碎中所有装置的软件包:-qa

应用 rpm 查问 Linux 零碎中所有已装置软件包的命令格局为:

$ rpm -qa

能够看到,会把咱们零碎中装置的所有的软件包输入。如果咱们想要查问某个包是否装置,然而记不全包名,那么能够应用管道符查找,比方咱们要查问蕴含 su 的软件:

$ rpm -qa | grep su

执行命令之后,会把软件名蕴含 su 的软件全部列进去。

三、查问软件包的详细信息:-qi

应用 rpm 命令查问软件包的详细信息,命令格局如下:

$ rpm -qi sudo

比方咱们要查问 sudo 软件的详细信息:

  • Name: 包名
  • Version: 版本号
  • Release: 发行版本
  • Install Date: 安装时间
  • GroupSource RPM: 组和源 RPM 包文件名
  • Signature: 数字签名
  • Summary: 软件包阐明
  • Description: 软件详细描述
  • PackagerURL: 厂商以及地址

四、查问软件包的文件列表:-ql

在上一章学习 RPM 软件装置的时候有提到过,rpm 软件包通常采纳默认门路装置,各安装文件会分门别类安放在指定的目录文件下。应用 rpm 命令能够查问到已装置软件包中蕴含的所有文件及各自装置门路,命令格局为:

$rpm -ql 包名

比方查看 sudo 软件包所有文件以及各自的装置地位:

五、查问系统文件属于哪个 RPM 包:-qf

查问某系统文件所属哪个 RPM 软件包。其命令格局如下:

$ rpm -qf 零碎文件名

留神:只有应用 RPM 包装置的文件能力应用该命令,手动形式建设的文件无奈应用此命令。

比方查问 ls 命令所属的软件包,能够执行如下命令:

rpm -qf /bin/ls

六、查问软件包的依赖关系:-qR

应用 rpm 命令装置 RPM 包,有时候咱们需思考与其余 RPM 包的依赖关系。能够应用命令来查问某已装置软件包依赖的其余包,该命令的格局为:

$ rpm -qR 包名

-R(大写)选项的含意是查问软件包的依赖性,是 requires 的首字母。

比方,查问 sudo 软件包的依赖性,可执行以下命令:

七、Linux RPM 包校验和数字证书

在后面咱们执行 rpm -qa 命令的时候,能够发现 Linux 零碎中装有大量的 RPM 包,且每个包都含有大量的安装文件。因而,为了可能及时发现文件误删、误批改文件数据、歹意篡改文件内容等问题,Linux 提供了以下两种检测形式:

  • RPM 包校验:其实就是将已安装文件和 /var/lib/rpm/目录下的数据库内容进行比拟,确定文件内容是否被批改。
  • RPM 包数字证书校验:用来校验 RPM 包自身是否被批改。
1、Linux RPM 包校验

RPM 包校验可用来判断已装置的软件包(或文件)是否被批改,此形式可应用的命令格局分为以下 3 种。

$ rpm -Va #校验零碎中已装置的所有软件包

$ rpm -V 已装置的包名 #校验指定 RPM 包中的文件

$ rpm -Vf 零碎文件名 #校验某个系统文件是否被批改

2、Linux RPM 数字证书验证

上述 RPM 包校验办法只能用来校验已装置的 RPM 包及其文件,如果 RPM 包自身就被篡改过,应用该办法就无奈无效校验了,因而须要应用第二种办法:RPM 数字证书验证办法。

数字证书,又称数字签名,由软件商间接公布。Linux 零碎装置数字证书后,若 RPM 包做了批改,此包携带的数字证书也会扭转,将无奈与零碎胜利匹配,软件无奈装置。

应用数字证书验证 RPM 包:

  • 必须找到原厂的公钥文件,而后能力进行装置。
  • 装置 RPM 包会提取 RPM 包中的证书信息,而后和本机装置的原厂证书进行验证。如果验证通过,则容许装置;如果验证不通过,则不容许装置并收回正告。

数字证书默认会放到零碎中 /etc/pki/rpm-gpg/ 地位:

装置数字证书:

$ rpm --import RPM-GPG-KEY-centos*

数字证书装置实现后,可应用如下命令进行验证:

$ rpm -qa|grep gpg-pubkey

能够看到,数字证书已胜利装置。在装有数字证书的零碎上装置 RPM 包时,零碎会主动验证包的数字证书,验证通过则能够装置,反之将无奈装置。

既然能够依照证书,同样也能卸载数字证书,因为数字证书自身也是一个 RPM 包,因而能够应用 rpm -e 卸载:

$ rpm -e gpg-pubkey-5ba5fa8d-5ccc6012

退出移动版