Hogyan lehet kijavítani a kielégítetlen függőségi hibát az Ubuntuban

Hiba A következő csomagok kielégítetlen függőségei már egy ideje sújtják az Ubuntu felhasználókat, és egyre többször észlelik a hibát az Ubuntu különböző verzióiban. Az APT csomagkezelő rendszert könnyen lehet használni, de bizonyos esetekben, például amikor harmadik féltől származó keverékeket kever össze, előfordulhat, hogy ezt a hibát az apt-get kapja.

Ez akkor történik, amikor egy terminálon keresztül megpróbál valamit telepíteni az apt rendszerrel, és a telepítés semmilyen nyilvánvaló probléma nélkül meghiúsul. Ez a kérdés nem korlátozódik egyetlen programra sem, de jó néhányukkal előfordulhat. Ennek oka, hogy a probléma az apt rendszerben rejlik, és nem a telepített programban.

Erre szerencsére elég sok megoldás létezik, amelyek közül néhányat könnyebben, másokat nehezebben lehet megvalósítani, de ha az alábbi módszerek utasításait követi, pillanatok alatt megszabadul a hibától.

Megjegyzés: Mielőtt folytatná a módszerek bármelyikét, tanácsos biztonsági másolatot készíteni a konfigurációs fájlokról, például  visszaállítani a változásokat, ha valami baj történne. Ezt a következő lépésekkel teheti meg:

  1. A terminál megnyitásához nyomja meg egyidejűleg az Alt, a Ctrl és a T billentyűt.
  2. Írja be  és nyomja meg az Enter billentyűt.
  3. Amikor az előző parancs futása befejeződött, írja be a sudo cp / var / lib / dpkg / status /var/lib/dpkg/status.original parancsot, és nyomja meg újra az Enter billentyűt.

1. módszer: Használja a -f paramétert

Ez a legkönnyebben kipróbálható, és csak további két betűt kell hozzáadnia a gépelt parancshoz. A sudo apt-get install PACKAGENAME használata helyett , ahol a PACKAGENAME az a csomag, amelyet az apt rendszerrel próbál telepíteni, használja a sudo apt-get install -f parancsot . A -f paraméter megpróbálja kijavítani a megszakadt függőségű rendszert, majd telepítheti a kérdéses csomagot.

  1. Nyisson meg egy terminált a Ctrl, Alt és T egyidejű megnyomásával a billentyűzeten.
  2. Írja be a sudo apt-get install -f parancsot, és nyomja le az Enter billentyűt a végrehajtáshoz.
  3. Ha elkészült, írja be a sudo dpkg –configure -a parancsot, nyomja meg az Enter billentyűt a futtatásához, és futtassa újra a parancsot a 2. lépéstől .

2. módszer: Az alkalmasság használata

Az Aptitude az apt-get alternatívája, amelyet magasabb szintű csomagkezelőként használhat. Használhatja a csomag kipróbálására és telepítésére az apt-get helyett, de először telepítenie kell az aptitude-t.

  1. Nyomja meg egyszerre a Ctrl, Alt és T billentyűket a billentyűzeten az a megnyitásához
  2. Írja be a sudo apt-get install aptitude parancsot, és nyomja le az Enter billentyűt a parancs végrehajtásához.
  3. Írja be a sudo aptitude install PACKAGENAME parancsot, ahol a PACKAGENAME az Ön által telepített csomag, és nyomja le az Enter billentyűt a végrehajtáshoz. Ez megpróbálja az apt-get helyett az aptitude használatával telepíteni a csomagot, amellyel potenciálisan meg kell oldani a nem kielégített függőségi problémát.

3. módszer: Győződjön meg arról, hogy a korlátozott és az univerzális tárak engedélyezve vannak, és próbáljon ki egy jobb szervert

  1. Nyomja meg egyszerre az Alt és az F2 billentyűt a számítógépén, írja be a software-properties-gtk parancsot, majd nyomja meg az billentyűt
  2. Az Ubuntu szoftver lapon ellenőrizze, hogy az összes tároló (fő, univerzum, korlátozott, multiverzum) engedélyezve van-e.
  3. Kattintson a kiszolgálók listájára, ahol azt írja: Letöltés innen, és válassza a lehetőséget
  4. Kattintson a Legjobb kiszolgáló kiválasztása elemre .
  5. Nyomja meg egyszerre az Alt, a Ctrl és a T billentyűkombinációt a terminál megnyitásához, és írja be a sudo apt-get update parancsot, majd nyomja meg a gombot Miután befejezte a futást, próbálja meg újra telepíteni a szoftvert.

4. módszer: Tisztítsa meg a csomag adatbázisát

A sérült csomag-adatbázis potenciális oka lehet a kielégítetlen függőségeknek, valamint a nem megfelelően telepített csomagoknak. A csomag adatbázisának megtisztítása azonban kijavíthatja ezt, és ezt megteheti két paranccsal is, amelyeket az alábbiakban elmagyarázok. Mindenekelőtt azonban nyomjuk meg a Ctrl, az Alt és a T gombot a terminál megnyitásához, és futtatásához ne felejtsük el az Enter billentyűt lenyomni a parancs után.

  1. A sudo apt-get clean megtisztítja a helyi adattárat az összes letöltött csomagfájlból (.deb). A zárfájlok kivételével mindent eltávolít a / var / cache / apt / archives és a / var / cache / apt / archives / részleges / fájlokból.
  2. A sudo apt-get autoclean a letöltött fájlokat is megtisztítja, de az előző paranccsal ellentétben ez csak azokat a csomagokat távolítja el, amelyeket már nem lehet letölteni, és jóformán haszontalanok.

5. módszer: Távolítsa el a tárolt csomagokat

A visszatartott csomagokat valójában azért tartják, mert vannak függőségi problémák és konfliktusok, amelyeket az apt nem tud megoldani. Az ilyen csomagok kiküszöbölése azt jelenti, hogy nem lesz ilyen ütközés, és ennek következtében kijavíthatja a problémát.

  1. Nyisson meg egy terminált a Ctrl, Alt és T megnyomásával
  2. Írja be a sudo apt-get -u dist-upgrade parancsot, és nyomja meg a gombot Ha van valamilyen visszatartott csomag, akkor az megmutatja őket, és Önnek kell megszüntetnie őket.
  3. Először próbáld meg futni

sudo apt-get -o Debug :: pkgProblemResolver = igen dist-upgrade

és nézze meg, megoldja-e a problémát. Ha a végén nem frissített X- el lép ki , ahol X a visszatartott csomagok száma, akkor egyesével törölnie kell őket.

  1. A visszatartott csomag eltávolításához használja a sudo apt-get remove –dry-run PACKAGENAME alkalmazást (a PACKAGENAME az a csomag, amelyet megpróbál eltávolítani) . A –dry-run paraméter biztosítja, hogy tájékoztatást kapjon a következőkről. Miután eltávolította az összes csomagot, próbálja meg először telepíteni azt, amely a problémát okozta, és nézze meg, mi történik.

6. módszer: A PPA-k kiürítése / eltávolítása / letiltása

A Personal Package Archives olyan tárházak, amelyeket a Launchpad tárol, és olyan csomagok frissítésére vagy telepítésére szolgálnak, amelyek általában nem állnak rendelkezésre az Ubuntu hivatalos tárházaiban. Leggyakrabban a kielégítetlen függőségek okozói, különösen akkor, ha egy meglévő csomag frissítésére használják őket az Ubuntu adattárból. Vagy letilthatja, eltávolíthatja vagy törölheti őket.

A letiltás azt jelenti, hogy az adott PPA-ból telepített csomagok többé nem kapnak frissítéseket.

  1. Nyomja meg egyszerre az Alt és az F2 billentyűt, és futtassa a software-properties-gtk parancsot.
  2. Az Egyéb szoftver lapon két sort talál minden PPA-hoz, ahol az egyik a forráshoz, a másik pedig a lefordított csomaghoz tartozik. A PPA letiltásához törölje mindkét jel jelölését.

A megtisztítás azt jelenti, hogy a kiválasztott PPA összes csomagja a hivatalos adattárak verziójára változik, és a PPA-t is letiltja. A PPA Purge telepítéséhez használhatja a sudo apt-get install ppa-purge alkalmazást, de ha figyelembe vesszük, hogy az apt nem működik, akkor ezt a parancsot a terminálban kell használnia ( Alt, Ctrl és T egyszerre, majd az Enter futtatásához):

mkdir ppa-purge && cd ppa-purge && wget //mirror.pnl.gov/ubuntu/pool/universe/p/ppa-purge/ppa-purge_0.2.8+bzr56_all.deb && wget //mirror.pnl.gov/ ubuntu // pool / main / a / aptitude / aptitude_0.6.6-1ubuntu1_i386.deb && sudo dpkg -i ./*.deb

Ezután futtassa a sudo ppa-purge ppa: someppa / ppa alkalmazást a kiválasztott PPA tisztításához. Mivel azonban a PPA Purge még mindig nem távolítja el a PPA-t, az alábbi parancsokkal használhatja a PPA eltávolítását. Hagyja figyelmen kívül az elsőt, ha a szándéka nem tartalmazza a telepített csomag eltávolítását.

  1. sudo apt-get autoremove –purge PACKAGENAME
  2. sudo add-apt-repository –ppa eltávolítása: someppa / ppa
  3. sudo apt-get autoclean

Ezt követően képesnek kell lennie a szükséges csomag telepítésére.

Annak ellenére, hogy elég sok módszer létezik fent, azt is tudnia kell, hogy mindig jobb megelőzni az ilyen kérdéseket. Tartsa naprakészen a rendszerét, csak megbízható PPA-kat használjon, és készítsen biztonsági másolatot, amikor minden megfelelően működik, így később visszaállíthatja. Ha azonban elfelejtette elvégezni ezeket a dolgokat, használja a fenti módszereket a probléma megoldására, és a megelőzési módszerekkel győződjön meg róla, hogy nem tesz "