如何自动接受 epel gpg 密钥

spu*_*der 15 rpm gpg package-management

我第一次从 epel 安装软件包时,系统会提示我是否要导入 GPG 密钥。

请注意在安装 redis 时如何出现 2 个“这是正常的”提示吗?

[root@us-devops-build02 yum.repos.d]# yum install redis
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
.. truncated for readability

Total download size: 213 k
Installed size: 668 k
Is this ok [y/N]: y
Downloading Packages:
redis-2.4.10-1.el6.x86_64.rpm                                                                                                                                                                                                                                                                          | 213 kB     00:00     
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Retrieving key from http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
Importing GPG key 0x0608B895:
 Userid: "EPEL (6) <epel@fedoraproject.org>"
 From  : http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y
Run Code Online (Sandbox Code Playgroud)

这会导致 puppet 在新配置的机器上失败,除非我先通过 ssh 连接到机器并手动接受此密钥的安装。

  1. 为什么 epel 需要在第一次安装软件包时下载密钥?
  2. 如何在我的图像上自动安装此密钥,以便木偶不会失败?

spu*_*der 14

yum 要求密钥的原因是它不存在于 /etc/pki/rpm-gpg

ls /etc/pki/rpm-gpg/ | column
RPM-GPG-KEY-CentOS-6        RPM-GPG-KEY-CentOS-Security-6    RPM-GPG-KEY-CentOS-Debug-6
RPM-GPG-KEY-CentOS-Testing-6    RPM-GPG-KEY-puppetlabs
Run Code Online (Sandbox Code Playgroud)

您可以通过以下 4 种方式之一导入密钥:

  1. 使用rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 (按照 slm 的建议)

  2. 安装一个包,然后等待提示(就像我在做的那样)

  3. 使用 epel 提供的 RPM 包,它同时安装 repo 和 key。

    sudo yum -y install http://mirror.pnl.gov/epel/6/i386/epel-release-6-8.noarch.rpm"

  4. 手动将密钥复制到正确的目录。

  • 您不应盲目接受通过不安全的 HTTP 下载的密钥。确保以某种方式对其进行验证(例如,检查 SHA256)或使用 HTTPS。 (3认同)