Como obter o yum para usar as chaves gpg já importadas?

4

Eu estou tentando adicionar um repositório externo dentro do diretório yum.repos.d . Os pacotes e metadados desse repositório são assinados com uma chave gpg. Caso seja relevante, estou no CentOS 7.2

Até onde eu sei, a maneira tradicional de configurar o repositório é incluir um link para a chave gpg dentro do arquivo do repositório.

Ou seja, o arquivo example.repo dentro de /etc/yum.repos.d contém a linha:

gpgkey = https://example.com/repo/key

Em seguida, se você executar yum update , receberá um prompt [y/N] para importar a chave GPG e, se em vez disso, executar yum -y update , a chave será importada automaticamente. Até agora tão normal.

Como experiência, tentei remover o link de download da chave gpg do arquivo repo e, em vez disso, adicionei a chave manualmente.

wget -O key https://example.com/repo/key a rpm --import key
e verifique com rpm -qa gpg-pubkey*

Minha expectativa era que isso permitisse que yum update passasse sem aumentar o prompt [y/N] . Mas não funcionou - eu ainda recebi o aviso pedindo para importar a chave que eu já importei. Eu tentei além disso, removendo a entrada gpgkey do arquivo repo, mas nesse caso yum update simplesmente lançou um erro (já que eu também tenho gpgcheck = 1 e repo_gpgcheck = 1 ).

Por que isso importa? Bem, parece-me que, se você deseja automatizar esse processo, é necessário confiar no transporte https através do qual a chave é baixada. Tudo bem, mas a chave GPG não está realmente adicionando nenhuma segurança, além de verificar se o pacote foi baixado corretamente.

Resumindo, acho que ou estou perdendo um truque para fazer o yum reconhecer que eu já importei a chave, ou as chaves GPG realmente não estão adicionando muito além dos antigos https simples. Alguma pista?

    
por SauceCode 13.01.2017 / 23:55

1 resposta

2

De acordo com a página do manual yum.conf , gpgkey é usado para verificar os pacotes, while repo_gpgkey é usado para verificar os metadados do repositório. AIUC, o padrão é 0, mas ainda me deparo com isso. Este é uma solução de carga que parece funcionar para automatizá-lo:

yum -q makecache -y --disablerepo='*' --enablerepo=THENEWREPO
    
por 30.09.2017 / 00:26