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.