Umgehen des Problems "Release file expired" auf einem lokalen Spiegel

59

Ich habe einen lokalen Spiegel (erstellt mit debmirror) und wenn ich apt-get updatenach ein paar Tagen starte , bekomme ich folgendes:

E: Release file expired, ignoring file:/home/wena/.repo_bin/dists/sid/Release (invalid since 14h 31min 45s)

Wie kann ich das umgehen?

Tshepang
quelle
4
Sicherheitswarnung: Bei dieser Frage wird eine Problemumgehung angefordert. Es ist jedoch besser, den Spiegel zu befestigen oder auf einen funktionierenden zu zeigen. Ich habe auf httpredir.debian.org/debian gewechselt und es hat wieder funktioniert.
Strg-Alt-Delor
Wechseln Sie zu einem anderen Spiegel und es wird funktionieren.
Patrick Mutwiri
2
Was "besser" ist, hängt von Ihren Zielen ab. Wenn Ihr Ziel darin besteht, die neuesten Pakete von Debian zu erhalten, ist das Wechseln des Spiegels die richtige Lösung. Wenn Sie den älteren Spiegel verwenden möchten, den Sie lokal haben, damit Sie Ihre Arbeit dort fortsetzen können, wo das Internet nicht verfügbar oder teuer ist, ist das Deaktivieren der Ablaufprüfung die richtige Lösung. Wenn Sie aus Gründen der Fehlerbehebung auf eine bestimmte ältere Version des Repos aktualisieren möchten, ist es die richtige Lösung, die Ablaufprüfung erneut zu deaktivieren.
Plugwash
Tatsächlich habe ich diese Nachricht erreicht, als ich Debian Archive für ein Debian Wheezy-System verwendet habe, das nicht aktualisiert werden kann.
JucaPirama

Antworten:

98

Fügen Sie dies dem Befehl hinzu:

-o Acquire::Check-Valid-Until=false

Zum Beispiel:

sudo apt-get -o Acquire::Check-Valid-Until=false update
AA
quelle
11
Dies funktionierte, aber eine Erklärung, warum es so war, wäre nützlich.
Faheem Mitha
4
Dadurch wird die Prüfung deaktiviert, mit der abgelaufene digitale Signaturen überprüft werden. Daher akzeptiert apt auch alte und abgelaufene Freigabeschlüssel.
Grinsen
6
Sicherheitswarnung: Diese Antwort ist ein Workaround (wie gewünscht). Es ist jedoch besser, den Spiegel zu befestigen oder auf einen funktionierenden zu zeigen. Ich habe auf httpredir.debian.org/debian gewechselt und es hat wieder funktioniert.
Strg-Alt-Delor
3
Sie können das nicht einfach für bereits veraltete Releases wie debian 6 ändern, bei denen Sie archives.debian.org verwenden müssen, um jetzt Pakete zu erhalten
Marcin Orlowski
35

Wenn Sie sich nicht für diese Prüfung interessieren, egal für welchen Spiegel, erstellen Sie einfach eine Datei /etc/apt/apt.conf.d/(zB benennen Sie sie 10no--check-valid-until) und fügen Sie die Option direkt dort ein:

Acquire::Check-Valid-Until "0";

Danach werden Sie von der genannten Warnung nie mehr gestört.

Jaleks
quelle
1
Obwohl die Problemumgehung selbst nicht die optimale Lösung ist, habe ich eine Entwicklungsbox, die mir egal ist, sodass mir diese Störung einfach im Weg steht. Ich konnte diese Antwort mit Ansible verwenden, da ich bei Verwendung von ansible_pkg_mgr keine Möglichkeit finde, die akzeptierte Antwort zum Aktionsmodul hinzuzufügen.
jia103
1
Ein Befehl:echo "Acquire::Check-Valid-Until false;" | tee -a /etc/apt/apt.conf.d/10-nocheckvalid
rubo77
11

Die Freigabedateien haben einen gültigen Eintrag, z Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Wenn die Release-Datei nicht mehr gültig ist, sollten Sie debmirror erneut ausführen, um zu überprüfen, ob Änderungen im Repository vorgenommen wurden. Eine Änderung ist die Release-Datei, für die Sie eine neue Gültigkeit erhalten.

Sie können dies einfach mit einem Crontab-Eintrag automatisieren.

Echox
quelle
Danke dafür. Ich hätte in diese Akte schauen sollen, bevor ich gefragt habe. Merkwürdigerweise ist das eine neue Sache? Das ist vorher nicht passiert (aber einmal).
Tshepang
Im Moment benutze ich Debian nicht wirklich oft, aber vielleicht haben sie nur die Release-
Dateizyklen
3

Einige der Spiegel haben möglicherweise veraltete Dateien. Dies ist mir kürzlich passiert, und es war auch an den von mir verwendeten Caching-Server (apt-cacher-ng) gebunden, der versucht, Bandbreite zu sparen, indem die Repositorys für dasselbe Archiv auf eine einzige Entität umgeleitet werden (in meinem Fall, wenn a Ungarischen Spiegel). Direkte Updates über den deutschen Spiegel funktionierten zum Beispiel einwandfrei. Versuchen Sie, den verwendeten Spiegel zu ändern. Wenn Sie apt-cacher-ng verwenden, müssen Sie etwas tun, um den Inhalt der folgenden Datei zu ändern:

  • / etc / apt-cacher-ng / backends_debian
  • / etc / apt-cacher-ng / backends_debvol

Danach sollten Sie auch apt-cacher-ng neu starten, damit die Änderungen wirksam werden.

Tshepang
quelle
Beachten Sie, dass ich um eine Problemumgehung gebeten habe und nicht, warum dies geschah (gute Antwort). In diesem Fall hatte ich wissentlich ein veraltetes Depot.
Tshepang
3

Dies kann auch passieren, wenn Datum und Uhrzeit Ihres Systems falsch sind. Ich habe es behoben, indem ich meine Ortszeit korrigiert habe, bevor ich das Update durchgeführt habe.

MarrekNožka
quelle
@AnthonyGeoghegan Das macht es für mich. Dies ist das einzige, was am Ende funktioniert hat.
Martin Vseticka
1
@MartinVseticka Du hast recht. Ich machte diesen Kommentar, als ich auf diese Antwort in einer der Überprüfungswarteschlangen stieß, nachdem das System sie zur Moderation markiert hatte. Der ursprüngliche Wortlaut (bevor Michael ihn redigierte) war weit weniger nützlich.
Anthony G - Gerechtigkeit für Monica
1

Ich bin mir nicht sicher, ob es mit der aktuellen Ausgabe von Jessie zusammenhängt ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ) oder nicht. aber für die hab ich ja schon den gleichen fehler benutzt

sudo apt-get -o Acquire::Check-Valid-Until=false update

und trotzdem ein gleiches Problem aufgetreten ist, kann dies stattdessen versuchen

echo 'Acquire::Check-Valid-Until no;' > /etc/apt/apt.conf.d/99no-check-valid-until

Für mich geht das :)

Alex Chandra
quelle
0

Ich habe es entfernt /var/lib/apt/*und erneut ausgeführt apt-get update, und es funktioniert!

Patrick
quelle
Ich mache das für einen ganz anderen Fehler, und das funktioniert auch für diesen. Dieser Fehler ist völlig irrelevant.
snetch
0

Der Spiegel ist möglicherweise nicht abgelaufen.

Eher könnte etwas anderes auf Ihrem System durcheinander geraten. Versuche dies:


1) Kommentieren Sie verwandte Zeilen vorübergehend aus /etc/apt/sources.listoder aus /etc/apt/source.list.d/*. Nachdem ich zum Beispiel die folgenden zwei Zeilen auskommentiert hatte, verschwand mein Fehler (mit der Folge, dass diese Archive vorübergehend nicht zum Neuladen verwendet wurden):

deb http://security.debian.org/ stretch/updates non-free contrib main
deb http://mirrors.ocf.berkeley.edu/debian/ stretch-updates main contrib non-free

2) Öffne synaptic und lade neu, oder sudo apt-get updatewürde wahrscheinlich auch funktionieren.

3) Kommentieren Sie diese Zeilen wieder in.

4) Wiederholen Sie Schritt 2.


Reparierte dieses für mich. Ich vermute, mein passender Cache hat ein schlechtes Date.

Mein Problem trat auf, nachdem ich die Dateisysteme / (root) und / var aus btrfs-Snapshots wiederhergestellt hatte, um ein aufgetretenes Problem bei der Paketinstallation zu beheben. Die genaue Fehlermeldung, die ich erhielt, war:

Die Freigabedatei für http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease ist abgelaufen (ungültig seit 5t 4h 50min 18s). Updates für dieses Repository werden nicht angewendet. Die Freigabedatei für http://security.debian.org/dists/stretch/updates/InRelease ist abgelaufen (ungültig seit 2d 2h 52min 43s). Updates für dieses Repository werden nicht angewendet.

Elliptische Ansicht
quelle