Vraag Wat moet ik doen als ik het KEYEXPIRED-foutbericht heb ontvangen na een apt-get-update?


Tijdens het updaten van mijn pakketten op een debian-gebaseerd systeem door een

sudo apt-get update

Ik heb die foutmelding:

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

Wat moet ik doen om dit op te lossen?


65
2018-05-11 19:58


oorsprong




antwoorden:


Gebruik de sleutels van de verlopen repository en hun id's apt-key als volgt:

LANG=C apt-key list | grep expired

U krijgt een resultaat dat lijkt op het volgende:

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

De sleutel-ID is het bit na de / d.w.z. BE1DB1F1 in dit geval.

Als u de sleutel wilt bijwerken, voert u uit

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

Notitie: Het updaten van de sleutel zal uiteraard niet werk als de beheerder van het pakket (nog) geen nieuwe sleutel heeft geüpload. In dat geval is er weinig dat u kunt doen, behalve contact opnemen met de beheerder, een bug indienen tegen uw distributie enz.

Eén voering om alle verlopen sleutels bij te werken: (bedankt aan @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

109
2017-07-24 23:44



dat werkt niet voor mij, na het commando voor het updaten van de sleutel, is de sleutel nog steeds vervallen. - Karl Forner
@KarlForner voegde de sleutel succesvol toe? - kynan
ja het was succesvol. - Karl Forner
Oneliner: 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 - ryanpcmcquen
Gewoon een hint over grep-gedeelte: "expired" is i18ned, dus afhankelijk van LANG * -instellingen werkt dit misschien niet, bijvoorbeeld voor instellingen pl_PL.UTF-8 moet men "verlopen" wijzigen in "wygasł" om dit te maken- voering om te werken. - Cromax


Je moet de nieuwere sleutel krijgen en deze toevoegen, op dat moment zal apt het detecteren en niet klagen. Dit zou normaal niet moeten gebeuren, maar soms wel. Wat je echt nodig hebt, is de hex-code kennen van de sleutel die je moet toevoegen; als je dat eenmaal hebt, is het vrij veel bergafwaarts vanaf daar.

Een paar voorbeelden:


6
2018-05-11 20:09





Op de Debian Wiki over SecureAPT, Ik heb ontdekt dat ik de regel met moet verwijderen non-us van /etc/apt/sources.list.

Ik deed dat en het werkte.


2
2018-05-12 20:12



Dit kan in een bepaald geval hebben gewerkt, maar is dat wel niet een generieke oplossing - kynan


Ik had een soortgelijke fout, maar het probleem zat in de systeemtijd. Het jaar was 1961 :)

Ik heb de datum / tijd van het systeem gecorrigeerd en kon daarna zonder een professional updaten


2
2018-04-03 16:25





Het kan ook gebeuren als de datum niet correct is.

Controleer de datum met

date

Als het verkeerd is geconfigureerd, doet u het volgende om uw automatische synchronisatie van tijdzone en datum in te stellen.

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

1
2018-03-24 14:43





Een zeer onwaarschijnlijk, maar soms mogelijk oorzaak van deze fout is als u dezelfde sleutel twee keer hebt toegevoegd met verschillende vervaldatums. U zou waarschijnlijk weten dat u dit gedaan hebt, want dit antwoord is relevant voor u.

Dit kan gebeuren, net als voor mij, bij het hosten van je eigen repository met je eigen sleutels. Als u de levensduur van de sleutel wilt verlengen, hoeft u alleen de levensduur ervan te verlengen in plaats van deze te wijzigen. Als u de originele sleutel hebt geïnstalleerd met behulp van de voorinstelling maar de bijgewerkte sleutel gebruikt u een deb-pakket, dan bevindt de oude sleutel zich in de /etc/apt/trusted.gpg, terwijl de nieuwe als een afzonderlijk bestand eindigt onder /etc/apt/trusted.gpg.d/. De oude sleutel zal de nieuwe overschaduwen, die volledig genegeerd zal worden door apt-key. Verwijder de oude sleutel door te lopen gpg --keyring /etc/trusted.gpg --delete-keys <keyid>en uw nieuwe sleutel wordt gedetecteerd.

Dit is een beetje een niet-standaard hoekconfiguratie, maar ik hoop dat mijn antwoord enige verwarring kan opleveren in het geval dat iemand anders dit probleem tegenkomt vanwege dezelfde reden als ik.


1
2018-01-11 20:45





Een eenvoudigere 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

Ik voel gewoon dat als je dingen als gebruiken doet cut meer dan eens is er een betere tool. (Ook heb ik dit gemaakt op basis van een andere vraag.)


1
2018-04-24 18:37





Jij niet moet doe iets. Het is slechts een waarschuwing, dat zie je aan de W: voorvoegsel.


0
2018-06-03 11:53



Als hij niets hoefde te doen, zou het hele signeersysteem voor repos nutteloos zijn. Dit is een beveiligingsfunctie en in productieomgevingen is essentiële integriteit van cruciaal belang voor de beveiliging. - Broco