Gehen Sie apt-key
wie folgt vor, um abgelaufene Repository-Schlüssel und deren IDs zu suchen :
LANG=C apt-key list | grep expired
Sie erhalten ein Ergebnis ähnlich dem folgenden:
pub 4096R/BE1DB1F1 2011-03-29 [expired: 2014-03-28]
Die Schlüssel-ID ist in diesem Fall das Bit nach dem /
ie BE1DB1F1
.
Führen Sie zum Aktualisieren des Schlüssels Folgendes aus
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 Bug gegen Ihre Distribution einreichen usw.
Ein Liner, um alle abgelaufenen Schlüssel zu aktualisieren: (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
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
Sie müssen den neueren Schlüssel herunterladen und hinzufügen. An diesem Punkt erkennt apt ihn und beschwert sich nicht. Das 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 von dort aus ziemlich bergab.
Einige Beispiele:
Hinzufügen von Schlüsseln für Backports : Die ersten Zeilen sind das, wonach Sie suchen, obwohl Sie den gewünschten Schlüssel benötigen.
Hinzufügen von Schlüsseln ala Ubuntu
quelle
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 updaten
quelle
Im Debian-Wiki über SecureAPT habe ich festgestellt, dass ich die Zeile
non-us
aus /etc/apt/sources.list entfernen sollte .Ich habe das tatsächlich gemacht und es hat funktioniert.
quelle
Dies kann auch passieren, wenn das Datum nicht korrekt ist.
Überprüfen Sie das Datum mit
Wenn es falsch konfiguriert ist, gehen Sie wie folgt vor, um die automatische Synchronisierung von Zeitzone und Datum festzulegen.
quelle
Eine höchst unwahrscheinliche, aber gelegentlich mögliche Ursache für diesen Fehler ist das zweimalige Hinzufügen desselben Schlüssels mit unterschiedlichen Ablaufdaten. Wenn Sie dies getan haben, werden Sie 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 in Kürze abläuft, einfach seine Lebensdauer verlängern, anstatt ihn zu ändern, und wenn Sie den ursprünglichen Schlüssel mithilfe der Voreinstellung, aber den aktualisierten Schlüssel mithilfe eines Deb-Pakets installiert haben, befindet sich der alte Schlüssel im
/etc/apt/trusted.gpg
neuen Schlüssel endet als separate Datei unter/etc/apt/trusted.gpg.d/
. Der alte Schlüssel überschattet den neuen, der von ignoriert wirdapt-key
. Entfernen Sie den alten Schlüssel, indem Sie ausführengpg --keyring /etc/trusted.gpg --delete-keys <keyid>
, und Ihr neuer Schlüssel wird erkannt.Dies ist eine nicht standardmäßige Eckenkonfiguration, aber ich hoffe, meine Antwort kann einige Verwirrung ersparen, falls jemand anderes auf dieses Problem stößt, und zwar aus demselben Grund wie ich.
quelle
Ein einfacher 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
cut
es ein besseres Werkzeug gibt , wenn Sie Dinge wie die mehrmalige Verwendung tun . (Außerdem habe ich dies basierend auf einer anderen Frage erstellt .)quelle
Sie müssen nicht müssen nichts tun. Es ist nur eine Warnung, das sehen Sie am
W:
Präfix.quelle