Ha olyan szavakat lát, mint a „nem teljesített függőségek”, „törött csomagok”, „a csomagokat visszatartották” a terminál kimenetében, akkor valószínű, hogy függőségi konfliktusai vannak. Ez a cikk felsorol néhány módszert, amelyek felhasználhatók az ilyen típusú függőségi hibák megelőzésére és kijavítására. Ne feledje, hogy az alábbiakban javasolt módszerek nincsenek sorrendben.
Csomagok frissítése
Az első tennivaló hiba esetén az update parancs futtatása. Frissíti az összes hivatalos és harmadik féltől származó adattárat, amelyet a rendszeréhez adott, és új csomaglistát húz. A frissítési parancs futtatása a terminálról megkerüli a hivatalos Ubuntu csomagok szakaszos bevezetését a GUI frissítőn keresztül, így mindig megkapja a legfrissebb csomaglistát.
A tárakat a következő parancs futtatásával frissítheti:
$ sudo apt frissítésCsomag letöltő szerver módosítása
Ha „nem találja a csomagot” hibákat tapasztal a fenti frissítési parancs futtatásakor, próbálja meg megváltoztatni a letöltési tükröket. Az Ubuntu csomagokat a végfelhasználóknak szolgálják ki az egész világon található szerverekről. Néha csak részleges vagy törött csomagfrissítések érhetők el ezekről a szerverekről, ami hibákat okoz a frissítés során. Ez a probléma általában egy idő után automatikusan megoldódik, amikor az összes Ubuntu csomagot megfelelően klónozzák ezekben a tükrökben. A probléma megoldásához azonban manuálisan módosíthatja a tükör helyét.
A letöltési szerver megváltoztatásához indítsa el a „Szoftver és frissítések” alkalmazást az alkalmazásindítóból. Az „Ubuntu szoftver” fülön a „Letöltés innen” legördülő listában a „Fő szerver” kiválasztása szinte garantálja a csomagok elérhetőségével kapcsolatos problémák megoldását. A letöltési sebesség azonban alacsony lehet a tartózkodási helyétől és a szerverek közelségétől függően. Az Ubuntu alapértelmezés szerint kiválaszt egy kiszolgálót, amely maximális sebességet nyújt Önnek az aktuális tartózkodási helye alapján. Felülírhatja bármelyik felsorolt kiszolgáló kiválasztásával, vagy a „Válassza ki a legjobb kiszolgálót” gombra kattintva hagyhatja a választást az Ubuntuban.
Csomagok frissítése
A telepített csomagok frissítése kijavíthatja a függőségi hibákat. Kétféle parancs áll rendelkezésre az Ubuntu csomagok frissítésére, mindkettő eltérő viselkedéssel rendelkezik:
- „Upgrade”: frissíti a telepített csomagokat, ha rendelkezésre állnak frissítések, még akkor sem távolít el csomagokat, ha vannak kielégítetlen és megszakadt függőségek
- „Dist-upgrade”: megkísérli a csomagok okos frissítését és a függőségek megoldását, eltávolítja a meghibásodottakat és telepíti az új függőségeket, ahol szükséges a hibák kijavításához
A frissítési és a dist-upgrade parancsok a következők:
$ sudo apt frissítés$ sudo apt dist-upgrade
Tisztítsa meg a gyorsítótárban tárolt és a maradék csomagokat
Az Ubuntu „apt” csomagkezelője a letöltött csomagokat egy gyorsítótár mappában tartja. Legközelebb, amikor újratelepítenie kell egy már gyorsítótárazott csomagot, az Ubuntu a deb csomagot a cache mappából kapja meg, ahelyett, hogy újból letöltené a szerverről. A gyorsítótár törlése megtisztítja a lemezterületet, és bizonyos esetekben segít a függőség és a telepítési hibák kijavításában is.
Az Apt csomag gyorsítótárát az alábbi parancs futtatásával lehet törölni:
$ sudo apt cleanVan még egy apt „autoclean” parancs, amely törli a csomag gyorsítótárát. A teljes mappa törlése helyett azonban csak azokat a csomagokat távolítja el, amelyeket eltávolítottak az adattár szerverekről.
$ sudo apt autocleanVégezzen el egy áltelepítést
Szimulálni lehet egy csomag telepítését a valós telepítés során előforduló esetleges hibák ellenőrzésére. Futtassa az alábbi parancsot, miközben helyettesíti a „csomag nevét” a kívánt csomag nevével (idézőjelek nélkül) az áltelepítéshez.
$ sudo apt install --dry-run "csomagnév"Az áleltávolítás ugyanúgy elvégezhető:
$ sudo apt remove --dry-run "csomagnév"Javítsa meg a törött csomagokat
Lehet, hogy hibás csomagok és nem teljesített függőségek vannak, különösen akkor, ha egyszerre több csomagot telepít. Az alábbi parancs megpróbálja kijavítani ezeket a problémákat vagy a meghibásodott függőségek telepítésével és javításával, vagy a függőségi ütközésért felelős csomag teljes eltávolításával.
$ sudo apt -f installA csomagok konfigurálása megszakítások miatt nem sikerült telepíteni
Előfordul, hogy az apt csomagkezelő hirtelen abbahagyja azokat a csomagokat, amelyek nem tudtak beállítani. Ezek a megszakítások általában az apt csomagkezelő ellenőrzése alatt álló tényezők miatt következnek be. Például, ha véletlenül bezárta a terminált, vagy ha a számítógépe hirtelen kikapcsol, az apt nem tudja befejezni a telepítést. Az alábbi parancs futtatásával kijavíthatók a hibából fakadó csomaghibák és függőségi problémák.
$ sudo dpkg --configure -aHasználja a PPA-Purge-t
A „Personal Package Archive” vagy a PPA egy szoftvertár, amely lehetővé teszi az Ubuntu felhasználók számára, hogy nem hivatalos forrásokból frissítsenek vagy telepítsenek új csomagokat. A PPA-Purge egy olyan eszköz, amely eltávolítja ezeket a harmadik féltől származó PPA-forrásokat, és a PPA-kból telepített csomagokat leminősíti részvény verziókra. A PPA-Purge használata megoldja a PPA-ból telepített vagy frissített csomagokból eredő függőségi konfliktusokat. A PPA-Purge parancssori alkalmazás Ubuntu telepítéséhez futtassa a következő parancsot:
$ sudo apt install ppa-purgePPA törléséhez futtassa a parancsot a következő formátumban:
$ sudo ppa-purge “ppa: cím”Például a Geany szövegszerkesztő PPA hozzáadva innen: itt parancs futtatásával törölhető:
$ sudo ppa-purge ppa: geany-dev / ppaHasználja az Aptitude Package Manager alkalmazást
Az Aptitude csomagkezelő az Ubuntu alapértelmezett apt csomagkezelője helyett használható a függőségi hibák megoldására. Az Aptitude újabb, mint az apt csomagkezelő, és extra opciókat, terminál alapú kezelőfelületet és általános egyszerű kezelhetőséget biztosít. Az Aptitude sok apt opciót egyesít egyetlen parancsban, így a hibák kijavításához nem kell több parancsot futtatnia.
Például az aptitude csomagkezelő használatával akár egyetlen csomag eltávolítására is lehetőség nyílik a fel nem használt és a megmaradt csomagok eltávolítására, míg az apt-ben külön parancs van ugyanarra. Az alkalmasság sokkal okosabb a függőségi konfliktusok megoldásában, mint az apt, általában részletes visszajelzést ad a konfliktusok megoldására, a felhasználó által választható többféle lehetőséggel. Mindig biztosítom, hogy az aptitude és a PPA-Purge telepítve legyen a rendszeremen, mielőtt bármilyen kísérleti csomagot kapnék.
Az Aptitude telepíthető az alábbi parancs futtatásával:
$ sudo apt install aptitudeAz Aptitude és az apt sok parancssori beállítást oszt meg, az aptitude néhány különbséggel rendelkezik. Az összes alkalmassági lehetőséget felfedezheti itt.
Telepítse újra az Ubuntu asztali csomagot
Az „ubuntu-desktop” csomag újratelepítése behúzza azokat az alapvető csomagokat, amelyeket alapértelmezés szerint telepítettek az Ubuntuban. Megkapja az összes olyan csomagot, amely az ubuntu-desktop meta csomagtól függ. Az ubuntu-desktop újratelepítéséhez futtassa az alábbi parancsot:
$ sudo apt install - az ubuntu-desktop telepítéseNe feledje, hogy a fenti parancs csak az alapvető magcsomagokat telepíti, és nem olyan alkalmazásokat, mint a Firefox, a Thunderbird, a videolejátszó stb.
Távolítsa el vagy tiltsa le a PPA-kat, mielőtt frissítené az Ubuntu újabb verziójára
Annak ellenére, hogy az Ubuntu a rendszerfrissítés előtt letilt minden PPA-t, a rendszerfrissítés alatt és után a nem kielégítő függőségi hibák elkerülése érdekében manuálisan kell eltávolítania minden harmadik fél PPA-t. A legjobb módszer erre a fent ismertetett PPA-Purge parancs futtatása.
Kizárólag a PPA adattárakat is eltávolíthatja. Ez azonban nem akadályozhatja meg a függőségi hibákat a frissítés során. A PPA-k kétféleképpen távolíthatók el: az első a parancssor használatával jár, a második pedig a GUI alkalmazás használatával jár. Ne feledje, hogy ezek a módszerek csak a PPA-adattárakat távolítják el, így a rendszerben korábban frissített vagy telepített csomagok maradnak.
A PPA eltávolításához a parancssor használatával futtassa az alábbi parancsot a következő formátumban:
$ sudo add-apt-repository - "ppa: name" eltávolításaPéldául a Geany szövegszerkesztő PPA hozzáadva innen: itt eltávolítható a parancs futtatásával:
$ sudo add-apt-repository --remove ppa: geany-dev / ppaA PPA eltávolításához GUI módszerrel általában el kell indítania a „Szoftver és frissítések” alkalmazást az alkalmazásindítóból. Azonban az Ubuntu hibája miatt ez a módszer nem mindig működik, és nem tudja letiltani a PPA-kat.
Ennek kiküszöböléséhez telepítenünk kell a Synaptic csomagkezelőt, amely az apt frontendje. A Synaptic telepítéséhez futtassa a parancsot:
$ sudo apt install synapticIndítsa el a „Synaptic Package Manager” alkalmazást az alkalmazásindítóból. Kattintson a „Beállítások”> „Adattárak” elemre. Lépjen az „Egyéb szoftver” fülre, és a kiemeléshez kattintson az eltávolítani kívánt PPA-ra. Kattintson a lenti „Eltávolítás” gombra, hogy eltávolítsa a PPA-t a rendszerből. A PPA-t eltávolítás nélkül is letilthatja, hogy a rendszerfrissítés után újra engedélyezhető legyen. Ehhez csak törölje a pipát a PPA előtti jelölőnégyzetből. Miután végrehajtotta a fenti lépéseket, zárja be a „Szoftver és frissítések” ablakot. Amikor a rendszer kéri a tárak frissítését, kattintson az „Újratöltés” gombra.
Legyen óvatos, amikor új HTM-eket ad hozzá a rendszerhez
A legtöbb esetben a függőségi hibák harmadik fél PPA-k használatakor vagy nem hivatalos forrásokból származó deb csomagok telepítésekor merülnek fel. Arra is van esély, hogy a PPA révén rosszindulatú programok kerüljenek a rendszerbe. Ezért mindig legyen óvatos, amikor bármilyen véletlenszerű PPA-t hozzáad a rendszeréhez. Csak akkor adjon hozzá PPA-t, ha megbízik a forrásában és a fenntartókban / fejlesztőkben. Annak ellenére, hogy eddig nem hallottunk rosszindulatú programokról vagy PPA-k útján terjesztett hirdetésekről, mindig fennáll a kockázat, mivel ezek harmadik fél adattárai, amelyek csomagjait az Ubuntu fejlesztői nem ellenőrizték.
Következtetés
Ezek a módszerek használhatók az Ubuntu függőségi hibáinak kijavítására és megelőzésére. A dolgok hajlamosak megtörni, különösen akkor, ha az Ubuntut használjuk fő fejlesztői környezetként rengeteg harmadik féltől származó alkalmazással és parancssori eszközzel. Ezen függőségi hibák többségét azonban minimalizálni lehet hivatalos, jó hírű és megbízható forrásokból származó alkalmazások telepítésével.