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
Code language: JavaScript (javascript)
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
Code language: JavaScript (javascript)
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
Code language: JavaScript (javascript)
puis:
gpg -a --export 0C713DA6 | sudo apt-key add -
Code language: JavaScript (javascript)
On relance enfin la mise à jour :
apt-get update
Code language: JavaScript (javascript)
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
Code language: PHP (php)
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
Code language: JavaScript (javascript)
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>
Code language: CSS (css)
Ensuite, on ajoute cette clé à notre trousseau:
gpg --export --armor CBCB082A1BB943DB | apt-key add -
Code language: JavaScript (javascript)
Le système répond normalement par un laconique “OK”. Il ne reste plus qu’à mettre à jour les paquets:
apt-get update
Code language: JavaScript (javascript)
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.
Code language: JavaScript (javascript)
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
Code language: PHP (php)
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 -
Code language: JavaScript (javascript)
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.
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.
Ajout du cas avec un serveur Debian.
Merci beaucoup.
Ça fonctionne du tonnerre…
Je t’en prie Ehlana :)
Merci c’est clair net et précis!
Je t’en prie rca!