web-dev-qa-db-fra.com

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10 La commande retourne une erreur

J'essaie d'installer Mongodb sur Ubuntu 12, mais lorsque j'exécute cette commande:
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
Cela a renvoyé l'erreur ci-dessous:

keyserver.ubuntu.com Hôte introuvable
gpgkeys: erreur de récupération HTTP 7: impossible de se connecter: aucun fichier ni répertoire de ce type
gpg: aucune donnée openPGP valide trouvée
gpg: Nombre total de processus: 0

J'ai désactivé le pare-feu sur Iptables, mais cela ne fonctionne pas. Y a-t-il une idée?

27
nyamka

Cela ne pose peut-être pas vraiment un problème lors de la recherche du serveur de clés, ce que suggère l'erreur. La commande apt-key appelle gpg, qui tente à son tour d'accéder au serveur de clés. Apparemment, il y a un bogue dans gpg selon lequel si le serveur de clés n'a pas la clé que vous demandez, alors gpg interprète mal cela comme étant "hôte introuvable".

Il se peut bien qu'un serveur de clés non réactif fasse la même chose, et j'ai vu des environnements dans lesquels les serveurs de clés sont bloqués (règles de pare-feu d'entreprise), ce qui pourrait être votre cause principale si vous avez un pare-feu en amont auquel vous n'avez pas accès. à.

Juste pour référence, la clé est là et le serveur de clés répond actuellement pour moi:

$ 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

Le problème est peut-être lié au port (c'était la dernière fois que j'ai rencontré un problème de pare-feu d'entreprise), essayez donc de le faire sur le port HTTP standard (80), voyez si cela résout le problème:

Sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
32
Adam C

Je suis confronté au même problème car ma machine est derrière un proxy d'entreprise. L'ajout du gpg --keyserver-option http-proxy a rendu l'astuce. Ressemble à:

Sudo apt-key adv --keyserver-options http-proxy=<myProxy> --keyserver keyserver.ubuntu.com --recv 7F0CEB10
19
fgungnir

Si vous utilisez un proxy, par exemple un proxy d'entreprise, le seul moyen de le saisir est probablement manuellement, ce qui est assez simple. Courir:

Sudo apt-get update

et obtenez l'id de la pub_key. Ensuite, allez à http://keyserver.ubuntu.com/ et recherchez la clé au format hexadécimal, par exemple si la clé est 7936A783B, puis recherchez 0x7936A783B. Cliquez sur le lien chiot, copiez le contenu de la clé et enregistrez-le dans un fichier txt. Allez au terminal et naviguez jusqu'au fichier et exécutez:

Sudo apt-key add key.txt

Si cela fonctionne, vous obtiendrez un simple retour d'informations OK. Lorsque toutes les clés sont ajoutées, vous pouvez alors exécuter:

Sudo apt-get update

et voila!

17
DKo

La deuxième approche mentionnée dans ce link a fonctionné pour moi. Téléchargez manuellement la clé et ajoutez-la. Le lien fournit une procédure pas à pas pour corriger l’erreur due à la clé manquante.

1
Aniket Thakur