Weboldal keresés

Hogyan javítsuk a 404 Not Found hibát apt-get frissítés közben Debian rendszeren


A „404 Not Found” hiba frissítés közben akkor fordul elő, amikor a rendszer azokról a tárolóforrásokról próbál csomagokat letölteni, amelyek már nem léteznek vagy áthelyezték őket, ami általában azokra a régebbi Debian kiadásokra jellemző, amelyek elérték az életciklusuk végét, és amelyek csomagjait az archív szerverekre helyezték át.

Mivel a Debian szigorú kiadási ciklusokat tart fenn, a régebbi verziók végül az aktív tükrökről külön archív tárhelyre kerülnek. Amikor ez megtörténik, a meglévő tárolóbeállításaid elavulttá válnak, és a csomagkezelő műveletek meghiúsulnak.

A 404-es hibák megértése frissítés közben

Amikor futtatod a apt-get update vagy apt-get upgrade parancsot, a rendszer a /etc/apt/sources.list fájlból olvassa be a forráslistádat, és megpróbálja lekérni a csomaginformációkat a megadott URL-ekről. Ha ezek az URL-ek olyan tárolókra mutatnak, amelyeket áthelyeztek vagy töröltek, 404-es hibát kapsz.

A megoldás magában foglalja a forráslistád frissítését, hogy a megfelelő tárolóhelyekre mutasson. Mivel a különböző Debian verziók eltérő tároló URL-eket igényelnek, először az aktuális verziódat azonosítjuk, majd ennek megfelelően módosítjuk a konfigurációt.

A Debian verziójának ellenőrzése

Mielőtt bármilyen változtatást végrehajtanál, meg kell határoznod, hogy melyik Debian verziót futtatod.

lsb_release -a

A fenti parancs megjeleníti a disztribúció információit, beleértve a kiadás számát és a kódnevet.

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

Jegyezd fel a fedőnevedet, mivel a következő lépésekben szükséged lesz rá.

Forrásfájl-beállítások biztonsági mentése

Mivel rendszerfájlokat fogsz módosítani, egy biztonsági mentés készítése biztosítja, hogy szükség esetén vissza tudod állítani az eredeti beállításaidat.

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

Ez létrehoz egy másolatot a forráslistádról ugyanabban a könyvtárban; ha valami baj történik, a parancsban a forrás és a cél megcserélésével visszaállíthatod.

Tárolóforrások frissítése

Ezután módosítania kell a forráslistáját, hogy a megfelelő tárolókra mutasson. A régebbi, életciklusuk végéhez ért Debian kiadások esetében át kell váltani az archív szerverekre.

Nyisd meg a fájlt egy szövegszerkesztővel:

sudo nano /etc/apt/sources.list

Elavult Debian-verziókhoz

Ha a Debian verziódat már nem támogatják (pl. Jessie, Stretch vagy régebbi), cseréld ki a fájl tartalmát a következőre:

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

Cseréld le a CODENAME-et a Debian kódnevedre (például stretch a Debian 9 esetén).

Jelenleg Támogatott Verziókhoz

Ha a Debian verziódat még támogatják, de 404-es hibákat kapsz (tükrözési problémák), használd helyette a fő Debian tárolókat:

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

Cserélje le a CODENAME szöveget a verziójára:

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

A változtatások elvégzése után mentse el a fájlt a Ctrl+O megnyomásával, majd Enter, és lépjen ki a Ctrl+X-szel.

Archivum tárhely érvényesítés kezelése

A lejárt életciklusú Debian verziók archív tárolói nem kapnak biztonsági frissítéseket, ami azt jelenti, hogy a kiadási fájljaik már nem aláírtak érvényes kulcsokkal. Annak érdekében, hogy az apt parancs ne hibázzon lejárt aláírások miatt, ki kell kapcsolnia az ellenőrzési ellenőrzéseket ezeknél a tárolóknál.

Nyissa meg vagy hozza létre a következő konfigurációs fájlt:

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

Add hozzá ezt az egy sort:

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

Ez a beállítás azt mondja a apt-nek, hogy hagyja figyelmen kívül a kiadási fájlok érvényességi idejét, ami szükséges a régi tárolók esetében, amelyek már nem kapnak frissítéseket.

Csomaginformációk frissítése

Miután a tárolóforrásait helyesen konfigurálta, frissítse a csomaglistáit, ami letölti a legfrissebb csomaginformációkat az újonnan konfigurált tárolóiból. Ha minden megfelelően van beállítva, hiba nélkül, anélkül, hogy 404-es hibát kapna, befejeződik.

sudo apt-get update

Miután a csomaglistáid frissültek, frissítheted a telepített csomagjaidat, ami letölti és telepíti a rendelkezésre álló frissítéseket a jelenlegi rendszeredhez. Archivált verziók esetén előfordulhat, hogy kevés vagy egyáltalán nincs frissített csomag, mivel ezek már nem kapnak frissítéseket.

sudo apt-get upgrade

A disztribúció frissítésének fontolgatása

Bár a 404-es hibák javítása lehetővé teszi a jelenlegi rendszer működését, egy elavult Debian verzió használata azt jelenti, hogy már nem kap biztonsági frissítéseket, ami jelentős kockázatot jelenthet éles vagy internet felé nyitott környezetekben.

Érdemes fontolóra venni, hogy frissítsen egy jelenleg támogatott Debian kiadásra.

sudo apt-get dist-upgrade

Azonban a fő Debian verziók közötti frissítés gondos tervezést igényel, és nem szabad könnyelműen végezni, mivel ez tönkreteheti a meglévő beállításokat vagy a telepített szoftvert. A főfrissítés előtt mindig konzultáljon a célverzió hivatalos Debian kiadási megjegyzéseivel.

Összefoglaló

A 404-es hibák a apt-get upgrade során elavult tároló-URL-ekből adódnak a forrásbeállításaidban. A Debian verziód azonosításával, a forráslista frissítésével a megfelelő tárolókra mutató címekre és a hitelesítési beállítások módosításával visszaállítható a csomagkezelés működése.

Mivel a nem támogatott verziók futtatása biztonsági kockázatot jelent, a jelenlegi Debian kiadásra történő frissítés tervezése továbbra is a hosszú távon javasolt megoldás.