Kako popraviti 404 Not Found tijekom apt-get nadogradnje na Debianu


Greška “404 Not Found” tijekom nadogradnje javlja se kada vaš sustav pokuša preuzeti pakete s izvora repozitorija koji više ne postoje ili su premješteni, što se obično događa sa starijim Debian izdanjima koja su dosegnula svoj kraj životnog ciklusa i čiji su paketi premješteni na arhivske servere.

Budući da Debian održava stroge cikluse izdavanja, starije verzije na kraju se premještaju s aktivnih zrcala na namjensko arhiviranje. Kada se to dogodi, vaša postojeća konfiguracija spremišta postaje zastarjela, a operacije upravitelja paketa ne uspijevaju.

Razumijevanje 404 pogrešaka tijekom nadogradnje

Kada pokrenete apt-get update ili apt-get upgrade, sustav čita listu izvora iz /etc/apt/sources.list i pokušava dohvatiti informacije o paketima s URL-ova navedenih tamo. Ako ti URL-ovi upućuju na repozitorije koji su premješteni ili uklonjeni, dobit ćete 404 pogreške.

Rješenje uključuje ažuriranje popisa izvora kako bi pokazivao na ispravne lokacije repozitorija. Budući da različite Debian verzije zahtijevaju različite URL-ove repozitorija, prvo ćemo identificirati vašu trenutnu verziju, a zatim prema tome prilagoditi konfiguraciju.

Provjera verzije Debiana

Prije nego što napravite bilo kakve promjene, trebate utvrditi koju verziju Debian koristite.

lsb_release -a

Gornja naredba prikazuje informacije o vašoj distribuciji, uključujući broj izdanja i kodno ime.

  • Bookworm → Debian 12
  • Bullseye → Debian 11
  • Buster → Debian 10

Zabilježite svoj kodni naziv, jer će vam trebati u sljedećim koracima.

Sigurnosna kopija konfiguracije datoteke izvora

Budući da ćete mijenjati sistemske datoteke, izrada sigurnosne kopije osigurava da možete vratiti izvornu konfiguraciju ako bude potrebno.

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

Ovo stvara kopiju vaše liste izvora u istom direktoriju; ako nešto pođe po zlu, možete je vratiti tako da u naredbi iznad zamijenite izvor i odredište.

Ažuriranje izvora spremišta

Zatim trebate urediti svoj popis izvora kako bi upućivao na ispravne repozitorije. Za starija izdanja Debian-a koja su došla do kraja životnog vijeka, morate prijeći na arhivske poslužitelje.

Otvorite datoteku u uređivaču teksta:

sudo nano /etc/apt/sources.list

Za verzije Debiana koje su došle do kraja životnog vijeka

Ako vaša Debian verzija više nije podržana (npr. Jessie, Stretch ili starije), zamijenite sadržaj datoteke sa:

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

Zamijenite CODENAME sa svojom Debian kodnom oznakom (na primjer, stretch za Debian 9).

Za trenutno podržane verzije

Ako vaša Debian verzija još uvijek ima podršku, ali dobivate 404 pogreške (problemi s mirrorom), koristite glavne Debian repozitorije:

deb http://deb.debian.org/debian/ CODENAME main contrib non-free
deb http://deb.debian.org/debian/ CODENAME-updates main contrib non-free
deb http://security.debian.org/debian-security CODENAME-security main contrib non-free

Zamijenite CODENAME sa svojom verzijom:

  • Debian 12 → bookworm
  • Debian 11 → bullseye
  • Debian 10 → buster

Nakon što unesete ove promjene, spremite datoteku pritiskom na Ctrl+O, zatim Enter, i izađite s Ctrl+X.

Rukovanje validacijom arhivskog spremišta

Arhivski repozitoriji za verzije Debian koje više nisu podržane ne primaju sigurnosna ažuriranja, što znači da njihovi izlazni datoteke više nisu potpisane važećim ključevima. Kako bi spriječili da naredba apt ne uspije zbog isteka potpisivanja, potrebno je onemogućiti provjere valjanosti za ove repozitorije.

Otvorite ili stvorite sljedeću konfiguracijsku datoteku:

sudo nano /etc/apt/apt.conf.d/99allow-unauthenticated

Dodajte ovu jednu liniju:

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

Ova postavka govori apt da zanemari valjanost datoteka izdanja, što je potrebno za arhivirane spremišta koja više ne primaju ažuriranja.

Ažuriranje informacija o paketu

Sada kada su izvori vašeg spremišta ispravno konfigurirani, ažurirajte popise paketa, što će dohvatiti najnovije informacije o paketima iz vaših novo konfiguriranih spremišta. Ako je sve ispravno postavljeno, postupak bi trebao završiti bez bilo kakvih 404 pogrešaka.

sudo apt-get update

Kad se popisi paketa ažuriraju, možete nadograditi instalirane pakete, što će preuzeti i instalirati dostupna ažuriranja za vaš trenutačni sustav. Za arhivirane verzije može se dogoditi da se malo ili nijedan paket ne nadogradi jer više ne primaju ažuriranja.

sudo apt-get upgrade

Razmatranje nadogradnje distribucije

Iako popravljanje 404 pogrešaka omogućuje da vaš trenutni sustav funkcionira, korištenje verzije Debian koja je došla do kraja životnog vijeka znači da više ne primate sigurnosna ažuriranja, što predstavlja značajne rizike u proizvodnim ili internetski izloženim okruženjima.

Trebali biste razmisliti o nadogradnji na trenutno podržano izdanje Debiana.

sudo apt-get dist-upgrade

Međutim, nadogradnja između glavnih Debian verzija zahtijeva pažljivo planiranje i ne bi se trebala raditi olako, jer može uništiti postojeće konfiguracije ili instalirani softver. Prije pokušaja velike nadogradnje, konzultirajte službene bilješke o izdanju Debian verzije na koju prelazite.

Sažetak

Pogreške 404 tijekom apt-get upgrade nastaju zbog zastarjelih URL-ova repozitorija u vašoj konfiguraciji izvora. Identificiranjem verzije Debiana, ažuriranjem popisa izvora da pokazuje na odgovarajuće repozitorije i prilagodbom postavki validacije može se vratiti funkcionalnost upravljanja paketima.

Budući da korištenje nepodržanih verzija nosi sigurnosne implikacije, planiranje nadogradnje na aktualno Debian izdanje i dalje ostaje preporučeno dugoročno rješenje.