How to Fix Broken Packages on Ubuntu 16.04 és Debian 9

How to Fix Broken Packages on Ubuntu 16.04 and Debian 9

Az Ubuntu és a Debian is csomagokkal bővíti a rendszer képességeit, így a felhasználók többet tehetnek a gépükkel. Azonban bármennyire is nagyszerű ez a csomagrendszer, a dolgok még mindig elromolhatnak. Akár egy rossz telepítés, egy rossz konfiguráció, vagy ha valami külsőleg módosította a fájlokat a telepítés után, a csomagok néha elromolhatnak és nem működnek többé, így “elromlanak”. Ez hatással lehet az apt-get-re, a beépített csomagkezelőre is, ami azt eredményezheti, hogy nem tudsz további csomagokat telepíteni, frissíteni, vagy akár teljesen eltávolítani.

Ezzel a bemutatóval több módszert is átnézünk a törött csomagok javítására mind az Ubuntu 16.04, mind a Debian 9 rendszeren. Mivel ez a probléma több okból is bekövetkezhet, több megoldás is létezik, amelyek közül néhány lehet, hogy működik, de az is lehet, hogy nem az Ön gépén. Ezért a legjobb, ha megnézzük, hogy melyik konkrét csomag ment tönkre és miért, ami segít eldönteni, hogy melyik módszert kövessük először.

Tartalomjegyzék

1. módszer: Az apt-get használata

Az apt-get-ben található beépített eszköznek köszönhetően a legtöbbször viszonylag könnyen javítható egy olyan törött csomag, amely a telepítés után ment tönkre. A következő parancsok végrehajtásával megpróbálja kijavítani a rendszerére jelenleg telepített törött csomagokat:

sudo apt-get update --fix-missing
sudo apt-get install -f

(a -f opció a fix-broken rövidítése.)

Próbálja ki, hogy az első parancs megoldja-e a problémát, mielőtt a második parancsot végrehajtja. Adj neki néhány percet, hogy megpróbálja kijavítani az esetlegesen talált hibákat. Ha működik, akkor próbáld meg használni a csomagot, ami elromlott – most már valószínűleg javítva lesz. Ha még mindig nem javult, folytassa az alábbi következő megoldással.

2. módszer: A dpkg és az apt-get használata

Ez a megoldás akkor segít, ha egy szoftvercsomag telepítés közben elromlott. A folytatás előtt kipróbálhatja az előző módszer használatát, mert az segíthet. Először is tisztítsuk meg az apt-get-et, és próbáljuk meg a dpkg segítségével beállítani azokat a csomagokat, amelyeknek szükségük van rá:

sudo dpkg --configure -asudo apt-get cleansudo apt-get update

Ezután nézzük meg, hogy a csomag javítva lett-e. Ha nem, akkor lehet, hogy törölni kell a lock fájlokat. A lock fájlok arra szolgálnak, hogy bizonyos programok számára elérhetővé tegyék az erőforrásokat – ez segít megakadályozni, hogy más programok egyidejűleg hozzáférjenek a fájlokhoz. Ezt egyszerűen a lockfile lista törlésével lehet megtenni:

sudo rm /var/lib/apt/lists/lock

Ezek után próbálja meg még egyszer futtatni a fenti parancsokat. Innen próbálja meg újra telepíteni a csomagot, hátha most már sikeresen telepíthető.

3. módszer: A dpkg használata az erőszakos eltávolításhoz

Ritkán előfordul, hogy a fenti parancsok nem működnek, és a hibás csomag nem javítható. Ebben az esetben kézzel és erővel kell eltávolítani a csomagot. Ehhez a módszerhez az szükséges, hogy már tudjuk, melyik csomag hibás.

Először megpróbálhatjuk a problémás csomagot normálisan eltávolítani az apt-get segítségével a következő parancs beírásával:

sudo apt-get remove

Ez valószínűleg nem lesz sikeres, de érdemes megpróbálni, mielőtt erőszakkal eltávolítjuk.

A csomag normál eltávolításának próbálkozásakor kapott hibáktól függően talán a dpkg és a grep segítségével azonosítani lehet a hibás csomagot:

dpkg -l | grep ^..r

Ez a parancs felsorolja az összes csomagot, majd a grep listáz minden olyan találatot, amely a harmadik mezőben az “r” jelzőt tartalmazza, ami azt jelenti, hogy “reinst-required” (újratelepítés szükséges). Ha a törött csomag megjelenik, akkor el tudja távolítani.

A következő parancsot hajtja végre a csomag erőszakos eltávolításához a gépéről. Ne felejtse el megadni a jelszavát, hogy engedélyezze a törlést. Cserélje ki a törött csomag nevére.

sudo dpkg --remove --force-remove-reinstreq

Amikor ez megtörtént, tisztítsa meg és frissítse az apt-get:

sudo apt-get cleansudo apt-get update

Ezután próbálja meg telepíteni a csomagot a nulláról. Most már normálisan kell települnie.

Egyéb megoldások

Ezek a módszerek a legjobb módszerek egy hibás csomag javítására vagy eltávolítására a rendszerből – de, néha ez nem lesz elég. Ritka esetekben a rendszer egyáltalán nem látja a hibás csomagot, de ettől még megakadályozza, hogy az apt-get normálisan működjön. Ezekben az esetekben általában a fájlok manuális megkeresése és törlése a legjobb megoldás. A fájlok törlésének folyamata azonban csomagonként eltérő, és kockázatos lehet. Ezért először próbálja ki ezeket a megoldásokat, mielőtt megpróbálná törölni a fájlokat a rendszeréből.

Az alábbi módszerek követésével remélhetőleg sikeresen kijavította vagy eltávolította a rendszerében talált hibás csomagokat. Természetesen nem kell magadnak javítanod a törött csomagokat, ha valamelyik Managed Linux VPS szolgáltatásunkat használod, ebben az esetben egyszerűen megkérheted szakértő Linux adminjainkat, hogy tegyék ezt meg helyetted. Ők a nap 24 órájában rendelkezésre állnak, és azonnal segítenek kijavítani a hibás csomagokat.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.