Linux : résoudre les erreurs communes de clé GPG dans APT

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.

Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.

Faites confiance à mon expertise »

Articles conseillés :

5 pensées sur “Linux : résoudre les erreurs communes de clé GPG dans APT”

Opinions