GNU/Linux >> Tutoriels Linux >  >> Debian

Correction des erreurs de référentiel apt de la clé GPG manquante (NO_PUBKEY)

Vous pouvez voir une erreur avec la clé publique GPG manquante ("NO_PUBKEY") lors de l'exécution sur Debian, Ubuntu ou Linux Mint apt update / apt-get update . Cela peut se produire si vous ajoutez un référentiel et oubliez d'ajouter sa clé publique, ou si une erreur temporaire du serveur de clés s'est produite lors de la tentative d'importation de la clé GPG.

Lors de l'exécution d'un apt update / apt-get update , ou en essayant de mettre à jour les sources du logiciel à l'aide d'un outil graphique, apt se plaint que tous les index du référentiel ne peuvent pas être téléchargés et affiche des erreurs comme celles-ci :

W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://ppa.launchpad.net/linuxuprising/apps/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8CACC073C3DB2A
W: Failed to fetch https://ppa.launchpad.net/linuxuprising/apps/ubuntu/dists/bionic/InRelease  The following signatures couldn't be verified because the public key is not available: NO_PUBKEY EA8CACC073C3DB2A
W: Some index files failed to download. They have been ignored, or old ones used instead.

Ceci n'est qu'un exemple. Cette erreur peut apparaître non seulement avec les référentiels Launchpad PPA, mais avec n'importe quel référentiel fourni par Google, Vivaldi ou Node.js, etc.

Le message d'erreur indique que le référentiel ne sera pas mis à jour et que les fichiers d'index précédents seront utilisés. Cela signifie que vous ne recevrez pas de mises à jour de ce référentiel, vous devez donc importer la clé publique GPG pour résoudre ce problème.

Comment y remédier très facilement The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ... Erreur. Cela devrait fonctionner sur Debian, Ubuntu, Linux Mint, Pop ! _OS, OS élémentaire et toute autre distribution Linux basée sur Debian ou Ubuntu.

Solution 1 :Correction rapide de NO_PUBKEY pour un seul dépôt/clé.

S'il vous manque juste une clé de référentiel public GPG, vous pouvez exécuter cette commande sur votre Ubuntu / Linux Mint / Pop ! _OS / système Debian pour résoudre le problème :

sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys THE_MISSING_KEY_HERE

Vous devez remplacer THE_MISSING_KEY_HERE avec la clé GPG manquante. La clé est affichée dans le journal de mise à jour apt update / apt-get derrière NO_PUBKEY. Par exemple, dans le message d'erreur posté ci-dessus, la clé GPG manquante à utiliser dans cette commande est :EA8CACC073C3DB2A .

Voir aussi :Comment corriger l'erreur "Impossible d'obtenir le verrou / var / lib / dpkg / verrou - ouvert (ressource 11 temporairement indisponible)"

Solution 2 :Importation par lots de toutes les clés GPG manquantes.

S'il vous manque plusieurs clés OpenPGP publiques, vous pouvez les importer toutes en même temps avec ce one-liner :

sudo apt update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' | while read key; do if ! [[ ${keys[*]} =~ "$key" ]]; then sudo apt-key adv --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys "$key"; keys+=("$key"); fi; done


Vous n'avez pas besoin de modifier une partie de la commande, exécutez-la simplement telle quelle. Cela fonctionne également pour corriger une seule clé GPG manquante, mais est quelque peu redondant. Néanmoins, cela fonctionne avec n'importe quel nombre de clés GPG manquantes.

La commande exécute sudo apt update pour mettre à jour vos sources logicielles et détecter les clés GPG manquantes, et importer toute clé manquante hkp://pool.sks-keyservers.net:80 comme son serveur. Ce serveur est constamment synchronisé avec de nombreux autres serveurs, il devrait donc avoir des clés mises à jour. Vous pouvez utiliser un autre serveur si vous le souhaitez.

La commande utilise également un tableau pour stocker les clés GPG manquantes pour lesquelles nous avons déjà importé la clé. Sinon, la commande d'importation de clé s'exécuterait deux fois pour chaque clé manquante.

Vous pourriez également être intéressé par :Comment créer (et publier) une clé PGP sous Linux à l'aide d'une interface graphique


Debian
  1. Supprimer une clé expirée dans APT

  2. Comment réparer l'erreur "Échec de la récupération de la clé GPG" lors de l'installation de YUM ?

  3. Debian - Impossible d'ajouter une clé Gpg avec Apt-key derrière un proxy ?

  4. Ubuntu - Clé expirée sur le référentiel Opensuse ?

  5. Gpg :Annulé par l'utilisateur ?

Comment ajouter un référentiel Apt dans Ubuntu

Comment configurer le serveur de référentiel APT local sur Ubuntu 20.04

Comment supprimer un référentiel et une clé GPG dans Ubuntu

Comment réparer l'erreur "Les signatures suivantes n'ont pas pu être vérifiées" dans Ubuntu Linux

Comment réparer l'erreur Apt-Get GPG NO_PUBKEY Ubuntu 14

Comment réparer l'icône manquante de la barre d'état Dropbox ?