Como aceitar automaticamente a chave epp gpg

8

A primeira vez que eu instalo um pacote da epel, me perguntam se eu quero importar uma chave GPG.

Observe como há 2 'está ok' quando instalar o redis?

[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) <[email protected]>"
 From  : http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6
Is this ok [y/N]: y

Isso faz com que o fantoche falhe em máquinas recém-provisionadas, a menos que eu faça um ssh na máquina primeiro e aceite manualmente a instalação dessa chave.

  1. Por que a epel precisa de uma chave para ser baixada na primeira instalação de um pacote?
  2. Como posso instalar automaticamente essa chave em minhas imagens para que o fantoche não falhe?
por spuder 30.05.2014 / 20:45

2 respostas

9

A razão pela qual o yum está pedindo uma chave é que ela não está presente em / 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

Você pode importar a chave de uma das quatro maneiras:

  1. use rpm --import http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 (como sugerido por slm)

  2. Instale um pacote e aguarde o prompt (como eu estava fazendo)

  3. Use o pacote RPM fornecido pela epel, ele instala o repositório e a chave simultaneamente.

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

  4. Copie manualmente a chave para o diretório correto.

por 30.05.2014 / 22:27
4

Qualquer repositório que valha a pena assinará os RPMs que ele oferece. A chave usada para confirmar a assinatura dos RPMs é o que você está baixando e instalando pela primeira vez.

Sem essa chave, seria impossível garantir a autenticidade dos RPMs de um determinado repositório, portanto, esse é um recurso extremamente importante que não deve ser descartado rapidamente como irritante.

Se você quiser instalar a chave automaticamente, você pode tentar instalar a chave diretamente, antes de instalar qualquer RPM de um repositório da seguinte forma:

$ rpm --import <url>

-or-

$ yum -y ...

Exemplos

$ sudo rpm --import \
    http://download.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 

Ou você pode tentar definir a opção como yum para assumir que sim:

$ yum -y install redis

Você também pode fazer o download desses arquivos manualmente e colocá-los nesse diretório, /etc/pki/rpm-gpg/ . Na próxima vez em que yum ou rpm for executado, eles coletarão esses arquivos que estão presentes aqui.

Referências

por 30.05.2014 / 21:15