Jak obejść problem „Plik aktualizacji wygasł” na lokalnym serwerze lustrzanym

59

Mam lokalne dublowanie (utworzone za pomocą debmirror), a kiedy uruchamiam apt-get updatepo kilku dniach, otrzymuję to:

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

Jak mam to obejść?

tshepang
źródło
4
Ostrzeżenie bezpieczeństwa: To pytanie wymaga obejścia. Lepiej jednak naprawić lustro lub wskazać działające. Zmieniłem punkt na httpredir.debian.org/debian i zaczęło działać ponownie.
ctrl-alt-delor
Przełącz się na inne lustro i będzie działać.
Patrick Mutwiri
2
To, co jest „lepsze”, zależy od twoich celów. Jeśli Twoim celem jest uzyskanie najnowszych pakietów z Debiana, zmiana lustra jest właściwym rozwiązaniem. Jeśli Twoim celem jest korzystanie ze starszego serwera lustrzanego, który masz lokalnie, abyś mógł rozpocząć pracę w miejscu, gdzie Internet jest niedostępny lub drogi, wyłącz sprawdzanie ważności jest właściwym rozwiązaniem. Jeśli Twoim celem jest aktualizacja do określonej starszej wersji repozytorium ze względu na usuwanie błędów, ponowne wyłączenie sprawdzania wygaśnięcia jest właściwym rozwiązaniem.
płyn do płukania
Rzeczywiście, dotarłem do tej wiadomości podczas korzystania z Archiwum Debiana dla systemu Debian Wheezy, którego nie można zaktualizować.
JucaPirama

Odpowiedzi:

98

Dodaj to do polecenia:

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

Na przykład:

sudo apt-get -o Acquire::Check-Valid-Until=false update
AA
źródło
11
To działało, ale przydatne byłoby wyjaśnienie, dlaczego tak się stało.
Faheem Mitha,
4
To dezaktywuje sprawdzanie, które weryfikuje wygasłe podpisy cyfrowe, więc apt zaakceptuje również stare i wygasłe klucze zwalniania.
uśmiech
6
Ostrzeżenie bezpieczeństwa: ta odpowiedź jest obejściem (zgodnie z prośbą). Lepiej jednak naprawić lustro lub wskazać działające. Zmieniłem punkt na httpredir.debian.org/debian i zaczęło działać ponownie.
ctrl-alt-delor
3
nie można tak łatwo zmienić w już wycofanych wersjach, takich jak powiedzmy debian 6, gdzie musisz użyć archives.debian.org, aby uzyskać teraz jakiekolwiek pakiety
Marcin Orłowski,
35

Jeśli nie zależy ci na tym sprawdzeniu, bez względu na to, dla którego kopii lustrzanej, po prostu utwórz plik /etc/apt/apt.conf.d/(np. Nazwij go 10no--check-valid-until) i umieść tam opcję bezpośrednio:

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

Po tym już nigdy więcej nie będziesz się martwić wspomnianym ostrzeżeniem.

Jaleks
źródło
1
Chociaż samo obejście nie jest optymalnym rozwiązaniem, mam pudełko programistyczne, na którym mi nie zależy, więc ta irytacja po prostu mi przeszkadza. Byłem w stanie użyć tej odpowiedzi z Ansible, ponieważ nie mogę znaleźć żadnego sposobu, aby dodać zaakceptowaną odpowiedź do modułu akcji podczas korzystania z ansible_pkg_mgr.
jia103,
1
jedno polecenie:echo "Acquire::Check-Valid-Until false;" | tee -a /etc/apt/apt.conf.d/10-nocheckvalid
rubo77
11

Pliki wydania zawierają wpis ważny do, np Valid-Until: Thu, 07 Oct 2010 08:17:56 UTC

Jeśli plik wydania nie jest już prawidłowy, należy ponownie uruchomić debmirror, aby sprawdzić, czy w repozytorium nie ma żadnych zmian. Jedną zmianą będzie plik wydania i otrzymasz nową ważność.

Możesz to łatwo zautomatyzować za pomocą wpisu crontab.

echox
źródło
Dzięki za to. Powinienem zajrzeć do tego pliku, zanim zapytam. Co ciekawe, czy to nowa rzecz? Nie zdarzyło się to wcześniej (ale raz).
tshepang
W tej chwili nie używam Debiana zbyt często, ale może po prostu zmienili cykle plików wydania na krótszą datę ...
echox
3

Niektóre z serwerów lustrzanych mogą mieć nieaktualne pliki. Zdarzyło mi się to niedawno i było to również powiązane z serwerem buforującym, którego używam (apt-cacher-ng), który próbuje zaoszczędzić przepustowość, przekierowując repozytoria dla tego samego archiwum do jednego obiektu (w moim przypadku, jeśli był Węgierskie lustro). Na przykład bezpośrednie aktualizacje przez niemieckie lustro działały poprawnie. Spróbuj zmienić używane lustro. Jeśli używasz apt-cacher-ng, musisz zrobić coś w kierunku zmiany zawartości następującego pliku:

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

Następnie powinieneś zrestartować apt-cacher-ng, aby zmiany odniosły skutek.

tshepang
źródło
Zauważ, że prosiłem o obejście, a nie dlaczego tak się dzieje (choć dobra odpowiedź). W tym przypadku świadomie miałem przestarzałe repozytorium.
tshepang
3

Może się to również zdarzyć, jeśli data / czas w systemie są nieprawidłowe. Naprawiłem to, poprawiając swój czas lokalny przed wykonaniem aktualizacji.

MarrekNožka
źródło
@AnthonyGeoghegan To robi dla mnie. To jedyna rzecz, która zadziałała w końcu.
Martin Vseticka
1
@MartinVseticka Masz rację. Skomentowałem to, gdy natknąłem się na tę odpowiedź w jednej z kolejek recenzji po tym, jak system oznaczył ją jako moderacyjną. Oryginalne sformułowanie (zanim Michael je zredagował) było znacznie mniej przydatne.
Anthony Geoghegan
1

Nie jestem pewien, czy jest to związane z bieżącym problemem Jessie ( https://lists.debian.org/debian-devel-announce/2019/03/msg00006.html ), czy nie. ale dla tych dostał ten sam błąd, nawet już używany

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

i nadal występował ten sam problem, możesz spróbować zamiast tego

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

Mi to pasuje :)

Alex Chandra
źródło
0

Usunąłem /var/lib/apt/*i ponownie apt-get update, i to działa!

Patrick
źródło
Robię to z zupełnie innym błędem i działa na ten jeden. Ten błąd jest całkowicie nieistotny.
pobierz
0

Lustro może nie wygasnąć.

Raczej coś innego w twoim systemie może zostać pomieszane. Spróbuj tego:


1) Tymczasowo komentuj powiązane wiersze z /etc/apt/sources.listlub /etc/apt/source.list.d/*. Na przykład po tym, jak skomentowałem następujące dwa wiersze, mój błąd zniknął (w konsekwencji archiwa te nie były tymczasowo używane do przeładowywania):

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) Otwórz synaptic i załaduj ponownie, lub prawdopodobnie sudo apt-get updateteż zadziała.

3) Skomentuj te wiersze z powrotem.

4) Powtórz krok 2.


Naprawiono to dla mnie. Zgaduję, że moja apt cache ma złą datę.

Mój problem wystąpił po przywróceniu moich systemów plików / (root) i / var z migawek btrfs, aby pomóc naprawić problem z instalacją pakietu, który wystąpił. Dokładny komunikat o błędzie, który otrzymałem, to:

Plik wersji http://mirrors.ocf.berkeley.edu/debian/dists/stretch-updates/InRelease wygasł (nieważny od 5d 4h 50min 18s). Aktualizacje tego repozytorium nie zostaną zastosowane. Plik wersji http://security.debian.org/dists/stretch/updates/InRelease wygasł (nieważny od 2d 2h 52min 43s). Aktualizacje tego repozytorium nie zostaną zastosowane.

Widok eliptyczny
źródło