Ceci est une ancienne révision du document !
Régler l'erreur GPG "NO_PUBKEY"
Méthode générale
Lorsque vous ajoutez des dépôts à votre distribution afin de bénéficier de version supérieure de certains logiciels, vous vous trouvez surement souvent confronté à un message d'erreur du genre :
Pour pallier ce problème il vous suffit de faire :
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com votre_n°_de_clé
ou bien :
sudo apt-get install add-apt-key && sudo add-apt-key votre_n°_de_clé
Si le port hkp (11371/tcp) est filtré (par exemple au travail), passer en http :
sudo add-apt-key -k http://keys.gnupg.net votre_n°_de_clé
ou bien :
wget -O- "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xvotre_n°_de_clé" | sudo apt-key add -
gpg --keyserver keyserver.ubuntu.com --recv-keys votre_n°_de_clé gpg -a --export votre_n°_de_clé | sudo apt-key add -
Plus simplement, vous pouvez aussi vous créer un petit script que vous appellerez pour ajouter vos clés : dans votre terminal, tapez :
gedit apt-gpg-key
puis, dans gedit, copiez le code suivant :
#!/bin/bash gpg --keyserver keyserver.ubuntu.com --recv-keys $1 gpg --armor --export $1 | sudo apt-key add -
Enregistrez le fichier puis de nouveau dans votre terminal, rendez-le exécutable en faisant :
chmod +x apt-gpg-key
Enfin, lancez le programme en tapant :
sudo ./apt-gpg-key votre_n°_de_clé
Si vous obtenez une erreur du type :
gpg: AVERTISSEMENT: le propriétaire du répertoire contenant est peu sûr pour le fichier de configuration `/home/votre-nom-utilisateur/.gnupg/gpg.conf' gpg: les appels aux programmes externes sont désactivés car les permissions du fichier d'options sont trop peu sûres gpg: erreur de communication avec le serveur de clés: erreur générale gpg: la réception depuis le serveur de clés a échoué: erreur générale gpg: AVERTISSEMENT: le propriétaire du répertoire contenant est peu sûr pour le fichier de configuration `/home/votre-nom-utilisateur/.gnupg/gpg.conf' OK
Exécutez simplement :
sudo chown root:root .gnupg/ sudo chown -R root:root .gnupg/
Si vous obtenez une erreur du type :
gpg: le délai d'attente du serveur de clés a expiré gpg: la réception depuis le serveur de clés a échoué: erreur du serveur de clés
- Vérifiez d'abord que vous avez internet, par tentez
ping www.google.com
et vous verrez bien si vous obtenez une réponse ou non.
- Si vous avez Internet, tentez un ping sur le serveur de clés :
ping keyserver.ubuntu.com
En fonction de la réponse, vous y verrez plus clair. Si le serveur ne répond pas, c'est qu'il n'est pas en ligne pour maintenance, donc réessayez plus tard. Si par contre vous avez un message du type:
ping: sendmsg: Operation not permitted
Le problème vient très probablement de votre pare-feu. Configurez-le pour autoriser les requêtes apt. Ou désactivez le le temps de l'ajout de la clé.
- Si vous ne le pouvez pas, si vous etez sur un Hotspot… faite comme c'est décrit ici http://doc.ubuntu-fr.org/ppa?&#erreur_du_serveur_de_cles
* Ceci a été corrigé dans la prochaine version d'Ubuntu Natty: https://launchpad.net/ubuntu/natty/+source/software-properties/0.78.1
Modification permanente : Pour ceux qui utilisent une version antérieure il faut d'éditer ppa.py : **sudo gedit /usr/lib/python2.6/dist-packages/softwareproperties/ppa.py** Chercher la ligne ou est mentionner : **keyserver.ubuntu.com** (DEFAULT_KEYSERVER = "keyserver.ubuntu.com") Replacer la par : **hkp://keyserver.ubuntu.com:80/** (DEFAULT_KEYSERVER = "hkp://keyserver.ubuntu.com:80/"). sudo apt-get upgrade Source : http://superuser.com/questions/64922/how-to-work-around-blocked-outbound-hkp-port-for-apt-keys Ou : gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 3E5C1192 gpg --export --armor 3E5C1192 | sudo apt-key add - sudo apt-get upgrade
Pour une PPA du site launchpad.net
Le site launchpad.net est géré par Canonical, la société qui soutient Ubuntu. Il héberge de nombreuses Archives Personnelles de Paquets (PPA), on peut donc y trouver de nombreuses applications intéressantes et très à jour. Elles sont forcément open-source et sont faciles à ajouter à la liste des dépôts de son système Ubuntu, à condition de les authentifier pour éviter l'erreur GPG. Pour en ajouter une PPA de façon totalement graphique, suivre 'Applications' → 'Logithèque Ubuntu', puis 'Édition' → 'Sources de logiciels …' et rentrer son mot de passe. La fenêtre 'Sources de logiciels' s'ouvre. Dans l'onglet 'Autres logiciels', cliquer sur 'Ajouter'. Coller la ligne commençant par "ppa" qu'on a repérée sur launchpad.net, dans la boîte de dialogue, par exemple :
ppa:nilarimogard/webupd8
Cliquer sur 'Ajouter une source de mise à jour'. Le dépôt est alors ajouté mais pas encore authentifié.
Pour l'authentification de façon graphique, procéder comme suit. Sur la page web de l'archive, par exemple https://launchpad.net/~nilarimogard/+archive/webupd8, cliquer sur 'Technical details about this PPA'. Un espace de texte est déroulé, cliquer sur le code inscrit sous 'Signing key'. Dans la nouvelle page, faire un clic droit sur le code hyperlien, et faire 'Enregistrer la cible du lien sous …'. Choisir une destination. Dans la fenêtre 'Sources de logiciels' ouverte précédemment, choisir l'onglet 'Authentification' puis cliquer sur 'Importer la clé …'. Rechercher et sélectionner le fichier qui vient d'être enregistré (le nom par défaut est 'lookup'). Fermer la fenêtre des sources de logiciels. Les captures d'écrans associées à cette manipulation peuvent être trouvées sur la page d'une question posée sur askubuntu.com (en anglais).
Note sur le dépôt 'ppa:nilarimogard/webupd8' proposé en exemple : il contient un logiciel très utile appelé 'launchpad-getkeys'. Une fois installé et lancé en ligne de commande, il récupère tout seul toutes les clés d'authentification possibles, évitant du coup toutes les manipulations décrites plus haut. Il répare donc les erreurs GPG de façon très simple.
Contributeurs : Daëavelwyn, Mysteroid, BeAvEr (brève peaufination de la documentation), Agmenor (partie PPA).