Průvodci

Jak opravit chybu nesplněných závislostí na Ubuntu

Chyba Následující balíčky mají nesplněné závislosti již nějakou dobu trápí uživatele Ubuntu a v různých verzích Ubuntu se stále více objevuje chyba. Systém správy balíčků APT se snadno používá, ale v některých případech, například při míchání závislostí třetích stran, se může tato chyba zobrazit apt-get.

To se stane, když se pokusíte něco nainstalovat pomocí apt systému přes terminál a instalace selže bez zjevného problému. Tento problém není omezen na žádný konkrétní program, ale může se stát u poměrně málo z nich. Důvodem je, že problém spočívá v apt systému, a ne v programu, který instalujete.

Naštěstí existuje poměrně málo řešení, z nichž některá jsou snadnější a jiná obtížnější, ale pokud budete postupovat podle pokynů v níže uvedených metodách, chyby se okamžitě zbavíte.

Poznámka: Než začnete s některou z metod, je vhodné zálohovat konfigurační soubory, například takže můžete vrátit zpět všechny změny v případě, že se něco pokazí. To se provádí pomocí následujících kroků:

  1. Stisknutím kláves Alt, Ctrl a T na klávesnici otevřete terminál.
  2. Vepište a stiskněte klávesu Enter.
  3. Po dokončení předchozího příkazu zadejte sudo cp / var / lib / dpkg / status /var/lib/dpkg/status.original a znovu stiskněte klávesu Enter.

Metoda 1: Použijte parametr -f

Toto je nejjednodušší pokus a vyžaduje pouze přidání dvou dalších písmen k příkazu, který zadáváte. Místo použití sudo apt-get install PACKAGENAME, kde PACKAGENAME je balíček, který se pokoušíte nainstalovat pomocí systému apt, použijte sudo apt-get install -f. The -F parametr se pokusí opravit systém, který porušil závislosti, a poté budete moci daný balíček nainstalovat.

  1. Otevřete a Terminál stisknutím Ctrl, Alt a T současně na klávesnici.
  2. Vepište sudo apt-get install -f a stiskněte Enter provést to.
  3. Jakmile je hotovo, zadejte sudo dpkg –configure -a, lis Enter spustit a spustit příkaz z kroku 2 ještě jednou.

Metoda 2: Použijte Aptitude

Nadání je alternativou k apt-get které můžete použít jako správce balíčků vyšší úrovně. Můžete jej použít k vyzkoušení a instalaci balíčku s ním, namísto apt-get, ale nejprve musíte nainstalovat nadání.

  1. Stiskněte současně tlačítko Ctrl, Alt, a T kláves na klávesnici otevřete a
  2. Vepište sudo apt-get install aptitude a stiskněte Enter provést příkaz.
  3. Vepište sudo aptitude install PACKAGENAME, kde PACKAGENAME je balíček, který instalujete, a stiskněte Enter provést to. Pokusí se nainstalovat balíček pomocí aptitude místo apt-get, což by mělo potenciálně vyřešit problém nesplněných závislostí.

Metoda 3: Ujistěte se, že jsou povolena omezená a vesmírná úložiště, a vyzkoušejte lepší server

  1. Stiskněte současně Alt a F2 v počítači zadejte software-properties-gtk a stiskněte
  2. V Software pro Ubuntu kartu, ujistěte se, že všechna úložiště (hlavní, vesmír, omezená, multiverse) jsou povoleny.
  3. Klikněte na seznam serverů, kde je uveden Stáhnout z, a vybrat
  4. Klepněte na Vyberte nejlepší server.
  5. lis Alt, Ctrl a T současně otevřete terminál a zadejte sudo apt-get aktualizace, poté stiskněte Po dokončení spuštění zkuste software nainstalovat znovu.

Metoda 4: Vyčistěte databázi balíčků

Poškozená databáze balíčků je potenciální příčinou nesplněných závislostí i balíků, které se neinstalují správně. Vyčištění databáze balíků to však může napravit a můžete to udělat dvěma příkazy, které vysvětlím níže. Nejprve však stiskněte Ctrl, Alt a T otevřete terminál a nezapomeňte zasáhnout Enter po příkazu, aby jej bylo možné spustit.

  1. sudo apt-get clean vyčistí místní úložiště ze všech načtených souborů balíků (.deb). Odstraní vše kromě uzamčených souborů z / var / cache / apt / archive a / var / cache / apt / archive / partial /.
  2. sudo apt-get autoclean také vyčistí načtené soubory, ale na rozdíl od předchozího příkazu tento odstraní pouze balíčky, které již nemůžete stáhnout a jsou do značné míry k ničemu.

Metoda 5: Eliminujte všechny zadržené balíčky

Držené balíčky jsou ve skutečnosti drženy, protože existují problémy se závislostmi a konflikty, které výstižný nemůže vyřešit. Vyloučení těchto balíčků znamená, že k žádným takovým konfliktům nedojde, a proto může váš problém vyřešit.

  1. Otevřete a Terminál stisknutím Ctrl, Alt a T
  2. Vepište sudo apt-get -u dist-upgrade a stiskněte Pokud existují nějaké zadržené balíčky, zobrazí se jim a vy je můžete odstranit.
  3. Nejprve zkuste spustit

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

a uvidíme, jestli to problém vyřeší. Pokud to skončí s X není upgradováno na konci, kde X je počet zadržených balíčků, je budete muset postupně mazat.

  1. Chcete-li odebrat zadržený balíček, použijte sudo apt-get remove –dry-run PACKAGENAME (PACKAGENAME je balíček, který se pokoušíte odebrat). The –Suchý běh Parametr zajišťuje, že jste informováni o tom, co se stane dál. Když jste odstranili všechny balíčky, zkuste nainstalovat ten, který problém způsobil, a uvidíte, co se stane.

Metoda 6: Vyčistit / Odebrat / Zakázat PPA

Archivy osobních balíčků jsou úložiště, která jsou hostována na Launchpadu, a slouží k upgradu nebo instalaci balíčků, které obvykle nejsou k dispozici v oficiálních úložištích Ubuntu. Nejčastěji jsou příčinou nenaplněných závislostí, zvláště když se používají k aktualizaci existujícího balíčku z úložiště Ubuntu. Můžete je deaktivovat, odebrat nebo vyčistit.

Zakázat znamená, že balíčky nainstalované z tohoto PPA již nebudou dostávat aktualizace.

  1. Stiskněte současně Alt a F2, a běž software-properties-gtk.
  2. Z Jiný software Na kartě najdete dva řádky pro každý PPA, kde jeden je pro zdroj a druhý pro kompilovaný balíček. Chcete-li zakázat PPA, měli byste zrušte zaškrtnutí obou řádků.

Očistit znamená, že všechny balíčky ve vybrané PPA budou sníženy na verzi v oficiálních úložištích a také PPA deaktivuje. Chcete-li nainstalovat PPA Purge, můžete použít sudo apt-get install ppa-purge, ale vzhledem k tomu, že výstižný je nefunkční, měli byste použít tento příkaz v Terminálu (Alt, Ctrl a T současně Enter běžet):

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

Dále spusťte sudo ppa-purge ppa: someppa / ppa za účelem očištění vybrané PPA. Protože však PPA Purge stále neodstraní PPA, můžete PPA odebrat pomocí níže uvedených příkazů. Pokud váš záměr nezahrnuje odebrání nainstalovaného balíčku, ignorujte první.

  1. sudo apt-get autoremove –purge PACKAGENAME
  2. sudo add-apt-repository – remove ppa: someppa / ppa
  3. sudo apt-get autoclean

Poté byste měli být schopni nainstalovat potřebný balíček.

I když výše uvedených metod je poměrně málo, měli byste také vědět, že je vždy lepší těmto problémům předcházet. Měli byste udržovat svůj systém aktuální, používat pouze důvěryhodné PPA a zálohovat, když vše funguje správně, abyste jej mohli později obnovit. Pokud jste však na tyto věci zapomněli, vyřešte problém pomocí výše uvedených metod a pomocí preventivních metod se ujistěte, že

$config[zx-auto] not found$config[zx-overlay] not found