it-swarm.com.de

Was soll ich tun, wenn ich nach einem apt-get-Update die Fehlermeldung KEYEXPIRED erhalte?

Beim Aktualisieren meiner Pakete auf einem Debian-basierten System durch a

Sudo apt-get update

Ich habe diese Fehlermeldung:

Reading package lists... Done
W: GPG error: ftp://ftp.fr.debian.org stable/non-US Release: 
The following signatures were invalid: KEYEXPIRED 1138684904

Was soll ich tun, um das zu beheben?

74
paulgreg

Im Debian-Wiki über SecureAPT habe ich festgestellt, dass ich die Zeile mit non-us Aus /etc/apt/sources.list entfernen sollte.

Ich habe das tatsächlich gemacht und es hat funktioniert.

1
paulgreg

Verwenden Sie apt-key Wie folgt, um abgelaufene Repository-Schlüssel und ihre IDs zu finden:

LANG=C apt-key list | grep expired

Sie erhalten ein ähnliches Ergebnis wie das folgende:

pub   4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]

Die Schlüssel-ID ist in diesem Fall das Bit nach /, D. H. BE1DB1F1.

Führen Sie aus, um den Schlüssel zu aktualisieren

Sudo apt-key adv --recv-keys --keyserver keys.gnupg.net BE1DB1F1

Hinweis : Das Aktualisieren des Schlüssels funktioniert offensichtlich nicht , wenn der Paketbetreuer (noch) keinen neuen Schlüssel hochgeladen hat. In diesem Fall können Sie nur den Betreuer kontaktieren, einen Fehler gegen Ihre Distribution melden usw.

Ein Liner zum Aktualisieren aller abgelaufenen Schlüssel : (danke an @ryanpcmcquen)

for K in $(apt-key list | grep expired | cut -d'/' -f2 | cut -d' ' -f1); do Sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $K; done
118
kynan

Sie müssen den neueren Schlüssel erhalten und hinzufügen. An diesem Punkt erkennt apt ihn und beschwert sich nicht. Dies sollte normalerweise nicht passieren, tut es aber manchmal. Was Sie wirklich brauchen, ist, den Hex-Code des Schlüssels zu kennen, den Sie hinzufügen müssen. Sobald Sie das haben, geht es ziemlich bergab.

Einige Beispiele:

6
Avery Payne

Ich hatte einen ähnlichen Fehler, aber das Problem lag in der Systemzeit. Das Jahr war 1961 :)

Ich habe das Datum und die Uhrzeit des Systems korrigiert und konnte danach ohne einen Profi aktualisieren

2
slava

Dies kann auch passieren, wenn das Datum nicht korrekt ist.

Überprüfen Sie das Datum mit

date

Wenn es falsch konfiguriert ist, gehen Sie wie folgt vor, um die automatische Synchronisierung von Zeitzone und Datum festzulegen.

apt-get install ntp ntpdate && service ntp stop
dpkg-reconfigure tzdata
ntpdate-debian
service ntp start
1
Aley

Eine höchst unwahrscheinliche, aber gelegentlich mögliche Ursache für diesen Fehler ist, dass derselbe Schlüssel zweimal mit unterschiedlichen Ablaufdaten hinzugefügt wurde. Sie würden wahrscheinlich wissen, dass diese Antwort für Sie relevant ist.

Dies kann wie bei mir passieren, wenn Sie Ihr eigenes Repository mit Ihren eigenen Schlüsseln hosten. Wenn Sie, wenn der Schlüssel bald abläuft, einfach seine Lebensdauer verlängern, anstatt ihn zu ändern, und wenn Sie den ursprünglichen Schlüssel mit Voreinstellung, den aktualisierten Schlüssel jedoch mit einem Deb-Paket installiert haben, befindet sich der alte Schlüssel in /etc/apt/trusted.gpg, während die neue als separate Datei unter /etc/apt/trusted.gpg.d/ endet. Der alte Schlüssel schattiert den neuen, der von apt-key Vollständig ignoriert wird. Entfernen Sie den alten Schlüssel, indem Sie gpg --keyring /etc/trusted.gpg --delete-keys <keyid> Ausführen, und Ihr neuer Schlüssel wird erkannt.

Dies ist ein bisschen eine nicht standardmäßige Eckkonfiguration, aber ich hoffe, meine Antwort kann einige Verwirrung ersparen, falls jemand aus dem gleichen Grund wie ich auf dieses Problem stößt.

1
sampi

Ein einfacherer Oneliner:

for key in $(Sudo apt-key list | awk -v FS='[ /:]+' '/expire[sd]/ {print $3}'); do Sudo apt-key adv --recv-keys --keyserver keys.gnupg.net $key; done

Ich habe nur das Gefühl, dass es ein besseres Werkzeug gibt, wenn Sie Dinge wie cut mehr als einmal verwenden. (Außerdem habe ich dies basierend auf eine andere Frage erstellt.)

1
Bruno Bronosky

Sie müssen nichts tun . Es ist nur eine Warnung, das können Sie am W: Präfix.

0
Michael Franzl