apt update nie działa: przestaw starego Debiana na archiwum

Opublikowano Zaktualizowano 4 min czytania

Po zakończeniu wsparcia dla danej wersji Debiana apt update przerywa pracę z błędem 404. Tak przestawisz sources.list na archive.debian.org i znów zaktualizujesz serwer.

Wywołujesz apt update na starszym serwerze Debian i zamiast listy pakietów dostajesz same komunikaty o błędach: „404 Not Found”, „Release file is not valid yet” albo „Repository does not have a Release file”. W tym poradniku wyjaśniamy przyczynę i pokazujemy, jak przywrócić serwerowi możliwość aktualizacji.

Problem dotyczy wszystkich wersji Debiana, których wsparcie już się zakończyło: Debian 8 (Jessie), Debian 9 (Stretch), Debian 10 (Buster), a wkrótce także Debian 11 (Bullseye).

Dlaczego apt update nie działa na starych wersjach Debiana

Debian utrzymuje osobne serwery pakietów dla każdego wydania. Gdy dana wersja dochodzi do końca okresu wsparcia, znika ze zwykłych serwerów lustrzanych spod adresów deb.debian.orgsecurity.debian.org. Pakiety wcale nie przepadają, one się jedynie przeprowadzają: na archive.debian.org.

Twój plik /etc/apt/sources.list wskazuje jednak nadal na stare adresy. Dlatego apt zgłasza błąd 404. Dochodzi do tego drugi problem: pliki Release złożone w archiwum mają datę ważności, która dawno minęła. Na tym apt również się zatrzyma, nawet jeśli adresy są poprawne.

Oba problemy da się usunąć. Ważna jest jednak właściwa ocena sytuacji: Debian bez wsparcia nie dostaje już aktualizacji bezpieczeństwa. Poniższe kroki przywracają możliwość zarządzania serwerem, ale nie zastępują przejścia na nowszą wersję.

Która wersja Debiana działa na twoim serwerze?

Sprawdź to na samym początku, bo od tego zależą właściwe adresy:

cat /etc/debian_version
lsb_release -a

Zwrócona nazwa kodowa (jessie, stretch, buster, bullseye) pojawia się we wszystkich kolejnych wierszach.

Kopia zapasowa i edycja sources.list

Najpierw wykonaj kopię zapasową, żeby w każdej chwili móc wrócić do stanu wyjściowego:

cp /etc/apt/sources.list /etc/apt/sources.list.bak

Następnie otwórz plik w edytorze:

nano /etc/apt/sources.list

Usuń dotychczasową zawartość i wpisz blok pasujący do twojej wersji z następnej sekcji. Potem sprawdź dodatkowo katalog /etc/apt/sources.list.d/: tam również często leżą osobne pliki z nieaktualnymi adresami, które nadal wywołują ten błąd.

Właściwe źródła z archiwum

Debian 10 (Buster)

Wsparcie skończyło się w połowie 2024 roku, Buster w całości leży w archiwum:

deb http://archive.debian.org/debian/ buster main contrib non-free
deb-src http://archive.debian.org/debian/ buster main contrib non-free

deb http://archive.debian.org/debian-security/ buster/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ buster/updates main contrib non-free

Debian 9 (Stretch)

deb http://archive.debian.org/debian/ stretch main contrib non-free
deb-src http://archive.debian.org/debian/ stretch main contrib non-free

deb http://archive.debian.org/debian-security/ stretch/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ stretch/updates main contrib non-free

Debian 8 (Jessie)

Jessie to klasyk wśród przypadków z błędami, bo wiele starych poradników w sieci wciąż odsyła do security.debian.org. Ten adres nie zwraca już nic dla Jessie:

deb http://archive.debian.org/debian/ jessie main contrib non-free
deb-src http://archive.debian.org/debian/ jessie main contrib non-free

deb http://archive.debian.org/debian-security/ jessie/updates main contrib non-free
deb-src http://archive.debian.org/debian-security/ jessie/updates main contrib non-free

deb http://archive.debian.org/debian/ jessie-backports main
deb-src http://archive.debian.org/debian/ jessie-backports main

Debian 11 (Bullseye)

Bullseye dociera do końca fazy LTS w sierpniu 2026. Potem obowiązuje ten sam schemat. Zwróć uwagę, że od Bullseye zmienił się zapis źródła bezpieczeństwa: nie brzmi już bullseye/updates, tylko bullseye-security:

deb http://archive.debian.org/debian/ bullseye main contrib non-free
deb-src http://archive.debian.org/debian/ bullseye main contrib non-free

deb http://archive.debian.org/debian-security/ bullseye-security main contrib non-free
deb-src http://archive.debian.org/debian-security/ bullseye-security main contrib non-free

Dopóki Bullseye ma jeszcze wsparcie, właściwym wyborem pozostają zwykłe serwery lustrzane. Przestaw je dopiero wtedy, gdy apt faktycznie zgłosi błąd 404.

Wskazówka dla nowszych systemów: od Debiana 13 (Trixie) źródła pakietów domyślnie nie są już utrzymywane w /etc/apt/sources.list, tylko w formacie deb822 w pliku /etc/apt/sources.list.d/debian.sources. Budowa wpisów wygląda tam inaczej, ale zasada pozostaje ta sama.

Akceptowanie przeterminowanych list pakietów

Po zapisaniu pliku apt prawdopodobnie nadal będzie przerywać pracę, tym razem z informacją, że plik Release stracił ważność. Przy zarchiwizowanych wersjach to normalne. Wskaż programowi apt, żeby zignorował datę ważności:

echo 'Acquire::Check-Valid-Until "false";' | tee /etc/apt/apt.conf.d/10-nocheckvalid

Jeśli potrzebujesz tego tylko jeden raz, możesz dopisać to ustawienie wprost do wywołania, zamiast tworzyć osobny plik:

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

Potem zwykła aktualizacja znów działa:

apt-get update
apt-get upgrade

Częste komunikaty o błędach i ich znaczenie

  • „404 Not Found”: Adres w sources.list wskazuje jeszcze na zwykły serwer lustrzany. Przestaw go na archive.debian.org.
  • „Release file ... is not valid yet” albo „expired”: Data ważności pliku Release została przekroczona. Ustaw opcję Check-Valid-Until w sposób opisany powyżej.
  • „The repository ... does not have a Release file”: Najczęściej literówka w nazwie kodowej albo suite, której w archiwum nie ma. Sprawdź pisownię znak po znaku.
  • „NO_PUBKEY” albo „EXPKEYSIG”: Klucz podpisu starego wydania stracił ważność. W wielu przypadkach pomaga ponowna instalacja pakietu debian-archive-keyring.
  • Błąd utrzymuje się mimo poprawionej sources.list: W katalogu /etc/apt/sources.list.d/ leży jeszcze drugi plik ze starymi adresami.

Trwałe rozwiązanie: aktualizacja systemu albo reinstalacja

Przejście na archiwum przywraca serwer do stanu, w którym da się nim zarządzać, ale nie dostarcza aktualizacji bezpieczeństwa. Przy serwerze dostępnym z internetu powinna więc nastąpić zmiana na wspieraną wersję Debiana.

Otwarte są dwie drogi:

  1. Reinstalacja: W większości przypadków szybsza i czystsza droga. Swój serwer możesz w każdej chwili samodzielnie postawić od nowa z aktualnym systemem operacyjnym, prosto z panelu klienta. Wcześniej zabezpiecz swoje dane i pliki konfiguracyjne.
  2. Stopniowa aktualizacja: Debiana da się podnosić z wersji na wersję, czyli na przykład z wersji Buster na Bullseye, a potem na Bookworm. Przeskoki przez kilka wersji naraz nie są wspierane i regularnie kończą się uszkodzonym systemem.

W każdym przypadku wykonaj wcześniej kopię zapasową. Aktualizacja systemu starszego o kilka lat to z doświadczenia ten moment, w którym stare konfiguracje i zewnętrzne źródła zaczynają sprawiać problemy.

Najczęstsze pytania

Dlaczego apt update nagle zgłasza błąd 404?
Ta wersja Debiana dobiegła końca okresu wsparcia. Pakiety przeniosły się ze zwykłych serwerów lustrzanych na archive.debian.org, a twoja sources.list wskazuje jeszcze na stary adres.
Których wersji Debiana to dotyczy?
Wszystkich wersji bez wsparcia, czyli Debiana 8 (Jessie), Debiana 9 (Stretch) i Debiana 10 (Buster). Debian 11 (Bullseye) dołączy po zakończeniu fazy LTS w sierpniu 2026.
Co oznacza komunikat, że plik Release stracił ważność?
Zarchiwizowane pliki Release mają datę ważności, która dawno minęła. Z ustawieniem Acquire::Check-Valid-Until apt akceptuje je mimo to.
Czy po przestawieniu znów dostanę aktualizacje bezpieczeństwa?
Nie. Archiwum zawiera tylko ostatni stan sprzed końca wsparcia. Dla serwera dostępnego z internetu jedynym trwałym rozwiązaniem pozostaje aktualizacja systemu albo reinstalacja.
Czy mogę zaktualizować system bezpośrednio z Debiana 8 na Debiana 12?
Nie. Debian wspiera tylko przeskok na kolejną wersję. Przy bardzo starych systemach reinstalacja jest z reguły szybsza i wyraźnie czystsza.

Debian apt sources.list archive.debian.org koniec wsparcia Jessie Buster