sudo apt-key adv --keyserver keyserver.ubuntu.com --recv O comando 7F0CEB10 retorna erro

23

Estou tentando instalar o Mongodb no Ubuntu 12, mas quando executo este comando:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Isso retornou o erro abaixo:

keyserver.ubuntu.com host not found
gpgkeys: HTTP fetch error 7: couldn't connect: no such file or directory
gpg:no valid openPGP data found
gpg: Total number processes :0

Desativei o Firewall no Iptables, mas não funciona. Existe alguma ideia?

    
por nyamka 17.07.2013 / 10:10

4 respostas

28

Isso pode não ser realmente um problema em procurar o servidor de chaves, que é o que o erro sugere. O comando apt-key chama gpg, que por sua vez tenta acessar o servidor de chaves. Aparentemente, há um bug no gpg em que se o servidor de chaves não tiver a chave que você está solicitando, o gpg interpretará incorretamente como "host não encontrado".

Pode ser que um servidor de chaves não responsivo faça a mesma coisa, e eu vi ambientes onde os servidores de chaves estão bloqueados (regras de firewall corporativo), então isso pode ser sua causa se houver um firewall upstream não tem acesso a.

Apenas para referência, a chave está lá e o servidor de chaves está respondendo para mim:

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.rh1myoBdSE --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: "Richard Kreuter <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

Pode ser que a porta seja o problema (foi a última vez que acertei um problema de firewall corporativo), então tente fazer isso na porta HTTP padrão (80), veja se isso resolve:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
    
por 18.07.2013 / 10:29
15

Eu enfrentei o mesmo problema que minha máquina está por trás de um proxy corporativo. Adicionando o gpg --keyserver-option http-proxy fez o truque. Parece:

sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10
    
por 18.07.2014 / 19:58
14

Se você estiver usando um proxy, por exemplo, proxy de empresas, provavelmente a única maneira é inserir isso manualmente, o que é muito fácil. Executar:

sudo apt-get update

e obtenha o id do pub_key. Em seguida, vá para o link e procure a chave como hexadecimal, por exemplo, se a chave for 7936A783B, procure 0x7936A783B. Clique no link do filhote e copie o conteúdo das chaves e salve-o em um arquivo txt. Vá para o terminal e navegue até o arquivo e execute:

sudo apt-key add key.txt

Se funcionar, você receberá um feedback simples de OK . Quando todas as chaves são adicionadas, você pode executar:

sudo apt-get update

e você tem isso!

    
por 08.07.2015 / 11:21
0

A segunda abordagem mencionada neste link funcionou para mim. Faça o download manual da chave e adicione-a. O link fornece um procedimento passo a passo para corrigir o erro devido à falta de uma chave.

    
por 01.02.2014 / 07:05