GNU/Linux >> LINUX-Kenntnisse >  >> Debian

Fehlende GPG-Schlüssel-APT-Repository-Fehler beheben (NO_PUBKEY)

Möglicherweise wird ein Fehler mit fehlendem öffentlichem GPG-Schlüssel („NO_PUBKEY“) angezeigt, wenn es unter Debian, Ubuntu oder Linux Mint apt update ausgeführt wird / apt-get update . Dies kann passieren, wenn Sie ein Repository hinzufügen und vergessen, seinen öffentlichen Schlüssel hinzuzufügen, oder wenn beim Versuch, den GPG-Schlüssel zu importieren, ein vorübergehender Schlüsselserverfehler aufgetreten ist.

Beim Ausführen von apt update / apt-get update , oder beim Versuch, die Softwarequellen mit einem GUI-Tool zu aktualisieren, beschwert sich apt darüber, dass nicht alle Repository-Indizes heruntergeladen werden können, und zeigt Fehler wie diese an:

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.

Dies ist nur ein Beispiel. Dieser Fehler kann nicht nur bei Launchpad PPA-Repositorys auftreten, sondern bei jedem Repository, das von Google, Vivaldi oder Node.js usw. bereitgestellt wird.

Die Fehlermeldung besagt, dass das Repository nicht aktualisiert wird und die vorherigen Indexdateien verwendet werden. Das bedeutet, dass Sie keine Updates von diesem Repository erhalten, also sollten Sie den öffentlichen GPG-Schlüssel importieren, um dieses Problem zu beheben.

So beheben Sie es sehr einfach The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ... Fehler. Es sollte auf Debian, Ubuntu, Linux Mint, Pop! _OS, elementares Betriebssystem und jede andere Linux-Distribution basierend auf Debian oder Ubuntu.

Lösung 1:Schnelle NO_PUBKEY-Korrektur für ein einzelnes Repository / einen einzelnen Schlüssel.

Wenn Ihnen nur ein öffentlicher GPG-Repository-Schlüssel fehlt, können Sie diesen Befehl auf Ihrem Ubuntu / Linux Mint / Pop ausführen! _OS / Debian-System, um das Problem zu beheben:

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

Sie müssen THE_MISSING_KEY_HERE ersetzen mit dem fehlenden GPG-Schlüssel. Der Schlüssel wird im Protokoll von apt update / apt-get update hinter NO_PUBKEY angezeigt. In der oben geposteten Fehlermeldung lautet der fehlende GPG-Schlüssel, der in diesem Befehl verwendet werden soll, beispielsweise:EA8CACC073C3DB2A .

Siehe auch:So beheben Sie den Fehler „Sperre / var / lib / dpkg / lock konnte nicht abgerufen werden – öffnen (11 Ressource vorübergehend nicht verfügbar)“

Lösung 2:Batch-Import aller fehlenden GPG-Schlüssel.

Wenn Sie mehrere öffentliche OpenPGP-Schlüssel vermissen, können Sie sie alle auf einmal mit diesem Einzeiler importieren:

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


Sie müssen keinen Teil des Befehls ändern, führen Sie ihn einfach so aus, wie er ist. Dies funktioniert auch, um einen einzelnen fehlenden GPG-Schlüssel zu reparieren, ist aber etwas überflüssig. Trotzdem funktioniert es mit beliebig vielen fehlenden GPG-Schlüsseln.

Der Befehl führt sudo apt update aus um Ihre Softwarequellen zu aktualisieren und fehlende GPG-Schlüssel zu erkennen und fehlende Schlüssel hkp://pool.sks-keyservers.net:80 zu importieren als sein Server. Dieser Server wird ständig mit vielen anderen Servern synchronisiert, daher sollte er aktualisierte Schlüssel haben. Sie können einen anderen Server verwenden, wenn Sie möchten.

Der Befehl verwendet auch ein Array, um fehlende GPG-Schlüssel zu speichern, für die wir den Schlüssel bereits importiert haben. Andernfalls würde der Schlüsselimportbefehl für jeden fehlenden Schlüssel zweimal ausgeführt werden.

Sie könnten auch interessiert sein an:Erstellen (und Veröffentlichen) eines PGP-Schlüssels unter Linux mit einer GUI


Debian
  1. Entfernen Sie einen abgelaufenen Schlüssel in APT

  2. Debian – Gpg-Schlüssel kann nicht mit Apt-Schlüssel hinter einem Proxy hinzugefügt werden?

  3. Ubuntu – Keyexpired im Opensuse-Repository?

  4. Gpg:Vom Benutzer abgebrochen?

  5. Debian – Warum sind die Fedora-Gpg-Schlüssel nicht signiert?

So fügen Sie ein Apt-Repository in Ubuntu hinzu

So richten Sie den lokalen APT-Repository-Server unter Ubuntu 20.04 ein

So löschen Sie ein Repository und einen GPG-Schlüssel in Ubuntu

So beheben Sie den Fehler „Die folgenden Signaturen konnten nicht überprüft werden“ in Ubuntu Linux

So beheben Sie den Apt-Get GPG-Fehler NO_PUBKEY Ubuntu 14

Wie behebt man ein fehlendes Dropbox-Taskleistensymbol?