De temps en temps, il arrive qu’en faisant un apt update
, on obtienne quelques erreurs de clés GPG, soit parce qu’elles ont changé, soit parce qu’elle n’ont pas été ajoutées en même temps que les dépôts auxquels elles sont associées.
Voici une petite compilation des situations que j’ai connu jusqu’à présent.
La clé publique n’est pas disponible : NO_PUBKEY
Le message d’erreur habituel, dont voici un exemple :
W: GPG error: http://ppa.launchpad.net maverick Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible : NO_PUBKEY 632D16BB0C713DA6
Edit : voici une simple commande Shell qui permet de récupérer la clé et l’ajouter au trousseau directement, en une seule ligne de code:
sudo apt-get update 2>&1 |
sed -ne 's?^.*NO_PUBKEY ??p' |
xargs -r -- sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys
Si vous souhaitez faire cela manuellement, voici la méthode manuelle :
Ce qui est important ici, c’est le code de la clé : 632D16BB0C713DA6. Nous avons besoin des 8 derniers caractères de cette clé pour taper notre commande. Ces 8 caractères sont 0C713DA6 donc dans le terminal, on entre :
gpg --keyserver hkp://keyserver.ubuntu.com:11371 --recv-key 0C713DA6
puis:
gpg -a --export 0C713DA6 | sudo apt-key add -
On relance enfin la mise à jour :
apt-get update
La clé ayant été ajoutée, le message d’erreur disparaît.
Serveur Debian : “the public key is not available”
Sur le serveur dédié sous Debian, j’ai obtenu cette erreur:
W: GPG error: http://ftp.igh.cnrs.fr jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY CBCB082A1BB943DB
Nous allons chercher la clé publique en stipulant l’adresse complète du serveur de clés, ainsi qu’un numéro de port non bloqué par le pare-feu:
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys CBCB082A1BB943DB
Résultat:
gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
gpg: key 1BB943DB: public key "MariaDB Package Signing Key <package-signing-key@mariadb.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg: imported: 1</package-signing-key@mariadb.org>
Ensuite, on ajoute cette clé à notre trousseau:
gpg --export --armor CBCB082A1BB943DB | apt-key add -
Le système répond normalement par un laconique “OK”. Il ne reste plus qu’à mettre à jour les paquets:
apt-get update
Duplicate sources.list entry
Un autre classique :
W: Duplicate sources.list entry http://ppa.launchpad.net/ubuntu-mozilla-daily/ppa/ubuntu/ maverick/main amd64 Packages (/var/lib/apt/lists/ppa.launchpad.net_ubuntu-mozilla-daily_ppa_ubuntu_dists_maverick_main_binary-amd64_Packages)
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.
Pour corriger cette erreur, il faut supprimer le fichier temporaire sources.list~ qui se trouve dans /etc/apt
.
Virtualbox : erreur “public key is not available”
J’aborde le cas particulier de VirtualBox qui m’a donné cette erreur après sa mise à jour :
W: GPG error: http://download.virtualbox.org : The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 54422A4B98AB5139
Il se trouve qu’il suffit de mettre à jour la clé depuis le site de VirtualBox :
wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -
Au passage, vous noterez que VirtualBox a été racheté par Sun puis par Oracle (déjà propriétaire de MySQL), d’où le changement de clé.
Voilà, en espérant que cela puisse dépanner.
Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ajouter de nouvelles fonctionnalités, ou améliorer les performances de votre site? Faîtes appel à mon expertise.
Merci c’est clair net et précis!
Je t’en prie rca!
Merci beaucoup.
Ça fonctionne du tonnerre…
Je t’en prie Ehlana :)
Ajout du cas avec un serveur Debian.