所有红帽企业 Linux 的软件包都使用红帽的 GPG 密钥进行签注。GPG 是 GNU Privacy Guard(GNU 隐私卫士)或 GnuPG 的缩写。它是被用来确保发行文件的真实性的自由软件。例如,红帽拥有的私人密钥(或保密的密钥)会锁住软件包,而公共密钥可以打开并校验软件包。如果在 RPM 校验过程中,被红帽发行的公共密钥和私人密钥不匹配,该软件包就可能被篡改了,因此不可信任。
红帽企业 Linux 中的 RPM 工具会在安装软件包前自动校验它的 GPG 签名。如果您没有安装 红帽 GPG 密钥钥,请从一个安全、静态的位置(如 红帽企业 Linux 安装光盘)上安装它。
假定光盘被挂载在 /mnt/cdrom,使用以下命令来把它导入到您的钥匙圈上(keyring,系统上可信任密钥的数据库):
rpm --import /mnt/cdrom/RPM-GPG-KEY
要显示所有已安装的用于 RPM 校验的密钥列表,执行以下命令:
rpm -qa gpg-pubkey*
红帽密钥的输出会包括:
gpg-pubkey-db42a60e-37ea5438
要显示特定公钥的详情,使用 rpm -qi 命令以及前一命令的输出,如:
rpm -qi gpg-pubkey-db42a60e-37ea5438
在安装 RPM 文件前校验它的签名这一个步骤至关重要。只有这样才能确保这些文件没有从红帽软件包的发行版本中被篡改。要立刻校验所有已下载的软件包,使用以下命令:
rpm -K /tmp/updates/*.rpm
对于每个软件包,如果 GPG 钥匙校验成功,该命令会返回:gpg OK。否则,确认您使用的是正确的红帽公共密钥,并校验其内容。没有通过 GPG 校验的软件包不应该被安装,因为它们可能已经被第三方篡改了。
校验了 GPG 密钥,并下载了所有和勘误报告有关的软件包后,在 shell 提示符下以根用户身份安装它们。