GNU/Linux >> Znalost Linux >  >> Ubuntu

Oprava chyby „Cílové balíčky jsou nakonfigurovány vícekrát“ v distribucích Linuxu založených na Ubuntu a Debianu

Nedávno, když jsem aktualizoval Ubuntu pomocí příkazového řádku, narazil jsem na varování, které si stěžovalo na vícenásobnou konfiguraci cílového balíčku.

Přesná zpráva po spuštění příkazu sudo apt update vypadala takto:

Načteno 324 kB za 6 s (50,6 kB/s)
Čtení seznamů balíčků… Hotovo
Vytváření stromu závislostí… Hotovo
Čtení informací o stavu… Hotovo
Upgradovat lze 17 balíčků. Chcete-li je zobrazit, spusťte „apt list – upgradable“.
W:Cílové balíčky (main/binary-amd64/Packages) se konfigurují vícekrát v /etc/apt/sources.list.d/microsoft-edge-dev.list:3 a /etc/apt/sources.list.d/ microsoft-edge.list:3

Protože vím pár věcí o správci balíčků apt, už vidím problém.

Tady je ta věc. Do seznamu zdrojů bylo dvakrát přidáno úložiště. To se může stát ve stejném souboru nebo v samostatných souborech.

Oprava spočívá ve správném přečtení chybové zprávy (ve skutečnosti je to varování) a úpravě souboru tak, aby byly odstraněny (nebo komentovány) duplicitní řádky. Můžete vidět, že je v něm uveden název souboru i číslo řádku.

Takže v mém případě jsem odstranil třetí řádek jednoho ze souboru a přestal mi zobrazovat varování. Abychom to shrnuli, zde je to, co musíte udělat:

  • Přečtěte si chybovou zprávu a zjistěte, které číslo řádku souborů obsahuje stejný záznam.
  • Pomocí terminálového textového editoru, jako je Nano, upravte jeden ze souborů a buď odstraňte nebo okomentujte duplicitní řádek.
  • Řešení může vyžadovat, abyste byli obeznámeni (a dobře) se základními příkazy Linuxu.

Ale to je příliš krátké vysvětlení, pokud nejste obeznámeni se správou balíčků v Ubuntu a Debianu.

Pochopte a opravte problém s balíkem konfigurovaným vícekrát

Je důležité porozumět problému, abyste jej mohli vyřešit. Je to proto, že neexistuje jediný příkaz, který by to odstranil. Řešení vyžaduje z vaší strany trochu úsilí a uvidíte, že přesný příkaz/proces se může u různých lidí lišit.

Co způsobuje tento problém?

Pokud si přečtete varovnou zprávu, můžete alespoň odhadnout, že je něco nakonfigurováno více než jednou.

Správa balíků APT funguje na sources.list. Je to pouze textový soubor, který obsahuje informace o úložištích, odkud si můžete stáhnout určité balíčky.

Existuje hlavní soubor /etc/apt/sources.list, který obsahuje podrobnosti o oficiálních úložištích poskytovaných Ubuntu. Pak je zde adresář /etc/apt/sources.list.d, který obsahuje soubory pro další externí úložiště.

Normou je, že se hlavního souboru /etc/apt/sources.list nedotýkáte. Pro všechna další úložiště, která přidáte, přidáte nový soubor do /etc/apt/sources.list.d.

Problém nastává, když se pokoušíte nainstalovat nějaký software čtením různých návodů z internetu. Zkoušíte přidat externí úložiště, nefunguje to podle vašich představ. Pokusíte se přidat nějaké další úložiště z nějakého jiného tutoriálu a skončíte s duplicitními položkami, aniž byste si to uvědomili.

Aby bylo jasno, nejedná se o chybu. Pokud máte v seznamu zdrojů duplicitní položky, váš systém z něj stále stahuje balíčky. Vašemu systému to nebrání v tom, aby fungoval jako obvykle. Z tohoto důvodu je to varovná zpráva, nikoli chyba . Jen očekává, že úložiště bude přidáno pouze jednou.

Oprava duplicitních položek úložiště

Chcete-li problém vyřešit, musíte odstranit všechny duplicitní záznamy a ponechat v systému pouze jeden z nich.

To se snadněji řekne, než udělá, zvláště pro začátečníky. Dovolte mi, abych se s vámi podělil o několik tipů a návrhů.

Metoda 1:Pro stolní uživatele Ubuntu

V Ubuntu existuje aplikace s názvem Software &Updates. Spusťte tuto aplikaci.

Přejděte na Další software a podívejte se na další úložiště přidaná do vašeho systému. Zaškrtnuté jsou aktivní.

Můžete si prohlédnout všechny zaškrtnuté položky a zjistit, zda najdete duplicitní položky. Pokud ano, vyberte jednu z nich a stiskněte tlačítko Odebrat.

Příkaz aktualizace můžete spustit znovu, abyste zjistili, zda je problém vyřešen. Vím, že to není příliš pohodlné, ale pokud chcete pohodlí nástroje GUI, musíte udělat toto.

Pokud nemůžete najít duplicitní záznamy, musíte být detektiv a prozkoumat to z chybové zprávy, jak je vysvětleno v dalších částech.

Metoda 2:Odstraňte duplicitní položky pomocí příkazového řádku (pokud duplicitní chyba není v souboru /etc/apt/sources.list)

Všimněte si prosím rozdílu mezi /etc/apt sources.list (hlavní zdrojový soubor systému) a /etc/apt/sources.list.d (složka pro uložení souborů pro další úložiště).

Pokud si chyba stěžuje na opakované záznamy v souborech ve složce /etc/apt/sources.list.d , použijte tuto metodu.

Ukážu vám to na svém příkladu. Postupujte podle metody s podrobnostmi ve vaší vlastní chybové zprávě.

W:Cílové balíčky (main/binary-amd64/Packages) se konfigurují vícekrát v /etc/apt/sources.list.d/microsoft-edge-dev.list:3 a /etc/apt/sources.list .d/microsoft-edge.list:3

Ve výše uvedené chybové zprávě mi to říká, že řádek číslo 3 souboru /etc/apt/sources.list.d/microsoft-edge-dev.list je stejný jako řádek číslo 3 souboru /etc/apt/sources .list.d/microsoft-edge.list.

Stalo se to proto, že jsem měl nainstalovanou beta verzi prohlížeče Microsoft Edge. Když byla vydána stabilní verze, nainstaloval jsem ji ze souboru deb a přidal další položku.

Rozhodnutí je pro mě jednoduché, mohu smazat jeden ze souborů a nebude si stěžovat na duplicitní záznam. Pokud znáte příkazový řádek Linuxu, můžete získat úplnou cestu k souboru a pomocí příkazu rm se sudo jej odstranit.

Ale pokud nevíte o linuxovém terminálu, existuje bezpečnější přístup, a to komentovat opakovaný řádek.

V terminálu zkopírujte úplnou cestu k jednomu ze souboru problémů. Pro mě je to /etc/apt/sources.list.d/microsoft-edge-dev.list. Použijte tento příkaz sudo gedit takto:

sudo gedit /etc/apt/sources.list.d/microsoft-edge-dev.list

Otevře se soubor v grafickém textovém editoru a můžete přejít na číslo řádku, na které si systém stěžoval, a přidat na začátek řádku #:

Tím bude řádek považován za komentář. Uložte soubor a zavřete editor. Váš problém by měl nyní ustat.

Metoda (nebo případ použití) 3:Když je jeden soubor z /etc/apt/sources.list a druhý z adresáře /etc/apt/sources.list.d

Cílem je vyhnout se dotyku hlavního souboru /etc/apt/sources.list.

Takže pokud máte duplicitní řádky v tomto souboru a nějakém dalším souboru v adresáři /etc/apt/sources.list.d, měli byste upravit soubor ve složce /etc/apt/sources.list.d.

Zkopírujete jeho cestu a otevřete ji pomocí sudo gedit stejným způsobem, jaký jste viděli v předchozí metodě.

Metoda (nebo případ použití) 4:Když jsou všechny duplicitní položky v samotném souboru /etc/apt/sources.list

Je možné, že jste do hlavního souboru /etc/apt/sources.list přidali více položek. Neměli byste, ale nejste obeznámeni s věcmi, takže jste to udělali. Nyní si stěžuje na duplicitní položky ve stejném souboru.

W:Cílové balíčky (universe/binary-amd64/Packages) se konfigurují vícekrát v /etc/apt/sources.list:16 a /etc/apt/sources.list:53

Nyní první věcí je vytvořit zálohu tohoto souboru pomocí tohoto příkazu:

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

Dále otevřete soubor pomocí textového editoru Gedit a sudo:

sudo gedit /etc/apt/sources.list

Pokud chcete, můžete přejít do Preference v Gedit a zobrazit čísla řádků. Bude snazší vidět čísla řádků.

Nyní se znovu podívejte na chybovou zprávu a zjistěte, na které řádky si stěžuje. Přejděte na jeden z těchto řádků a přidejte před něj znak # nebo řádek zcela odstraňte.

Uložte soubor a zavřete editor. To je ono.

Pomohlo vám to?

Nevím, jestli jsem věci nezkomplikoval. Chtěl jsem vysvětlit věci podrobně, aby speciálně začátečníci mohli problém vyřešit, aniž by si pokazili svůj systém.

Dejte mi vědět, jestli to pro vás fungovalo nebo ne. Pokud máte další otázky, neváhejte se zeptat v sekci komentářů.

Původní článek


Ubuntu
  1. Oprava „Nelze získat zámek frontendu dpkg. Jste root?" Chyba v Ubuntu a dalších distribucích Linuxu

  2. Jak zobrazit seznam nainstalovaných úložišť v Ubuntu a Debianu

  3. Jak vypsat všechny balíčky v úložišti na Ubuntu, Debian nebo Linux Mint [APT]

  1. Jak vypsat všechny nebo konkrétní balíčky nainstalované v systému Debian/Ubuntu Linux

  2. Jak vyřešit chybu „nelze otevřít soubor sdíleného objektu“ v distribucích Linuxu založených na Ubuntu

  3. Nainstalovat archiv PeaZip na Ubuntu 20.04 / LinuxMint / Debian Linux Distributions - Průvodce krok za krokem?

  1. Kompletní průvodce používáním balíčků Snap v Ubuntu a dalších distribucích Linuxu

  2. Nainstalujte balíčky z Ubuntu PPA na Debian Linux

  3. Seznam nainstalovaných balíčků na Ubuntu 20.04 Focal Fossa Linux