Jak opravit "W: Duplicitní zápis sources.list"?

187

Pokaždé, když se snažím spustitsudo apt-get update.

, stále dostávám toto varování
W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

Níže je výstup z/etc/apt/sources.list file:

deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted

deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted

deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe

deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse

deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse

Jak to opravím?

    
dané hsinxh 10.04.2012 08:31

25 odpovědí

226

Váš zdrojový seznam skutečně obsahuje duplicitní položky.

Nejprve uvidíme správnou formu řádku úložiště nebo zdrojového řádku:

Správný formát zdrojového řádku repozitáře je

<type of repository>  <location>  <dist-name> <components> 

Repo linka může být například taková

  deb http://archive.ubuntu.com/ubuntu precise main

Zde znamená, že repozitář je určen pro binární balíčky, které jsou hostovány v Odkazu a toto repozitář je určen pro Ubuntu přesné (12.04) a tento úložiště obsahuje hlavní (software, který je oficiálně podporován kanonikou).

  • Typ: Typ může býtdeb adeb-src. deb znamená binární repozitář, kdedeb-src znamená zdrojový úložiště

  • Umístění: http://archive.ubuntu.com/ubuntu umístění úložiště.

  • Dist-name: Název distribuce uvolnění Ubuntu. Ubuntu 12.04 jeprecise, u 11.10% je co_kde%.
    Můžete navštívit Ubuntu Wiki zobrazit aktualizovaný seznam vydání Ubuntu a jejich názvy kódů .

  • Komponent: Může býtoneiric,main,universe amultiverse. Tato slova označují úroveň podpory pro balíky a stav licencí.

Další informace naleznete v této stránce .

Vezměte prosím na vědomí, že můžete přidat jednu nebo více komponent do řádku, takže "main", "universe", "restricted" a "multiverse" Poznámka: Přestože přidáte více než jednu komponentu do jednoho řádku, systém APT je považuje za samostatný řádek obsahující pouze jednu součástku.

Takže pokud vášrestricted má řádek jako tento

deb http://archive.ubuntu.com/ubuntu precise universe

Pak nemůže mít jiný řádek, jaký je uveden níže (které mají vaše soubory)

deb http://archive.ubuntu.com/ubuntu precise main universe

, což je ekvivalent těchto dvou řádků

deb http://archive.ubuntu.com/ubuntu precise main
deb http://archive.ubuntu.com/ubuntu precise universe

Protože dvakrát duplikujete vesmír , tak se vyskytne chyba pro tento duplikát. Pro každý nalezený duplikát se zobrazí chyba.

Řešení:

Po analýze vašehosources.list souboru jsem zjistil, že je to základní, který je ve výchozím nastavení dodáván Ubuntu. Výchozí soubor můžete vytvořit následujícím postupem:

  1. Otevřete terminál a nejprve přejmenujte stávající souborsources.list na souborsources.list. (můžeme to bezpečně odstranit, ale opatrnost je dobrá).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Otevřete souborsources.list.bak a vytvořte nový. Zadejte příkaz níže v terminálu nebo v příkazovém řádku příkazového řádku stisknutím Alt + F2

    software-properties-gtk
    

    Poznámka: U Ubuntu verze 11.10 nebo dřívější musíte použítsoftware-properties-gtk před příkazemgksu

  3. Po otevření okna

    • Vyberte všechny čtyři kategorie v záložce Software Ubuntu
    • V záložce Aktualizace vyberte přesně-bezpečnostní li>
    • Vyberte kartu Canonical partner a Nezávislou

To je všechno. Nyní máte výchozí souborsoftware-properties-gtk bez chyby. Porovnejte tento soubor s předchozím, pokud chcete.

Aktualizace pro řešenísources.list dir's files

Někdy může být duplicitní záznam v souboru v adresářisources.list.d, který také používá APT. Takže byste se měli podívat na tento adresář a zjistit, zda v těchto souborech existuje nějaký duplikát. Není nutné, aby se duplikáty nacházely ve stejném souboru.

Příklad:

Uživatel zobrazil toto chybové hlášení při provádění/etc/apt/sources.list.d.

W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)
W: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main i386 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems

V hlavním souborusudo apt-get update nebyl však žádný záznam shttp://dl.google.com. Při pohledu na adresář/etc/apt/sources.list jsme tyto soubory našli:

Výstup/etc/apt/sources.list.d/:

aims-sagemath-precise.list
aims-sagemath-precise.list.save
dropbox.list
dropbox.list.save
fossfreedom-packagefixes-precise.list
fossfreedom-packagefixes-precise.list.save
google-chrome.list
google-chrome.list.save
google.list
google.list.save
sagemath-monolithic-precise.list
sagemath-monolithic-precise.list.save

Souboryls /etc/apt/sources.list.d/ agoogle-chrome.list byly dobrými kandidáty pro obsah duplikátů. Takže kontrola obsahu obou souborů byla nutná.

Výstupgoogle.list:

deb http://dl.google.com/linux/chrome/deb/ stable main  

acat /etc/apt/sources.list.d/google-chrome.list

deb http://dl.google.com/linux/chrome/deb/ stable main

Takže tam byly duplicitní položky ve zdrojích Apt. Vzhledem k tomu, žecat /etc/apt/sources.list.d/google.list obsahuje pouze jednu linku apt a bylo také uvedeno v souborugoogle-chrome.list, můžeme soubor bezpečně odebrat příkazem

sudo rm /etc/apt/sources.list.d/google-chrome.list

Poté byl problém vyřešen.

    
odpověděl Anwar 05.09.2012 19:33
78

Ubuntu 12.04

Graficky:

Stiskněte klávesy Alt + F2 a vložtesoftware-properties-gtk (nebo otevřete "Software Center" a přejděte na "Upravit"> Přejděte na kartu "Jiný software", vyberte duplicitní záznam a stiskněte tlačítko "Odebrat".

Pokud potřebujete volbu příkazového řádku, je zde:

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  

Příkaz provede toto:

cat přečte soubor a předá obsahperl, který odstraní duplicitní řádky. Výsledkem je uložení> do dočasného souboru, který je potom přesunut na původní soubor/etc/apt/sources.list.

    
odpověděl desgua 05.05.2012 00:27
22

Jak špatné jsou duplicitní položky v sources.list?

Nevím, jak je to špatné, ale nelíbí se mi, že se mi líbí sudo apt-get update , který mi zobrazuje duplicitní záznamy.

Mimochodem, není to tak špatné, že právě ukazuje, že máte duplicitní záznamy.

Seznam zdrojů

Soubor sources.list je klíčovým faktorem při přidávání nebo upgradu aplikací do instalace Ubuntu. Tento systém je také používán pro aktualizace systému. Soubor je v podstatě plánem vašeho systému, aby zjistil, kde může stahovat programy pro instalaci nebo upgrade.

Je to stejně jako aktualizace systému Windows

  

Duplicitní položky můžete odstranit několika jednoduchými kroky pomocí Y PPA Manager

 sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
 sudo apt-get update
 sudo apt-get install y-ppa-manager -y

Otevřete y-ppa-manager formulář Pomlčka

  

Zadejte správné heslo

  

Poklepáním na Pokročilé

  

Skenování & Odstranit duplicitní PPA & Klikněte na OK

  

Bude to trvat nějaký čas (1 nebo 2 mincovny) Chcete-li skenovat & Odstranit duplicitní PPA

    
odpověděl Qasim 08.05.2013 07:36
16

Partnerské úložiště je duplikováno uvnitř/etc/apt/sources.list a/etc/apt/sources.list.d/precise-partner.list.

Stačí odstranit ty soubory "přesného partnera", jelikož partnerské úložiště je již vsources.list.

sudo rm /etc/apt/sources.list.d/precise-partner.*
    
odpověděl Eric Carvalho 01.09.2012 21:20
10

Vytvořte záložní kopii zdroje sources.list:

sudo cp /etc/apt/sources.list{,.backup}

Nyní odstraňte originál a aktualizujte:

sudo rm /etc/apt/sources.list && sudo apt-get update
    
odpověděl wojox 04.07.2012 07:16
8

Měl jsem stejný problém, otevřené zdroje softwaru. nekontrolované "kanonické partnery". Konflikt je mezi "kanonickými partnery" a "kanonickými partnery přidanými softwarovým centrem"

    
odpověděl Amjed 11.04.2012 07:11
7

Pokud jste to nemohli přijít dosource.list, proveďte následující kroky:

  1. Klikněte pravým tlačítkem myši na ikonu nastavení (v horním horním rohu obrazovky) a vyberte možnost Nastavení systému.
  2. Klepněte na položku Zdroje softwaru a přesuňte se na jiný software.
  3. Zrušte zaškrtnutí políčka "Canonical Partners (zdrojový kód)" - softwarové balíčky společnosti Canonical pro soubory svých partnerů a jeden z "Canonical Partners - software, který Canonical obsahuje pro své partnery". li>
  4. K otevření terminálu otevřete současně klávesy CTRL + ALT + T
odpověděl all4naija 11.04.2012 08:15
5

Pro Ubuntu 9.10 - 12.04

K dispozici je aplikace s názvem Y-PPA-Manager, která dokáže a mnohem více.

Můžete jej nainstalovat z terminálu:

sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get upgrade
sudo apt-get install y-ppa-manager

Poté spusťte aplikaci a přejděte do nabídky Pokročilé.

Pak vyberte "Skenování a odstranění duplicitních PPA" a stiskněte OK.

    
odpověděl rearlight 06.05.2012 15:25
5

10.10 a starší

Aplikace > Ubuntu Software Center > Upravit > Zdroje softwaru > Další software

NEBO

Systém > Podávání > Synaptic Packet Manager > Nastavení > Repository

Vyberte a odeberte duplicitní položky.

    
odpověděl Sid 18.11.2010 16:43
4

Zdá se, že ve vašem souboru/etc/apt/sources.list máte dvě identické čáry.

Přejděte na terminál a zadejtesudo editor /etc/apt/sources.list, pak vyhledejte stejné řádky v daném souboru a pokud je najdete, odstraňte je. Po dokončení proveďte uložení a ukončení a poté proveďtesudo apt-get update a to by mělo vyřešit váš problém.

Pokud to váš problém nevyřeší, budete muset použít zkušební a chybový přístup. Nejprve vytvořte zálohu vašeho souborusources.list, poté v aktuálním souboru projděte a vyjměte každý řádek, ukládejte aapt-get update -ing po každém komentáři nebo odstranění. Procházením tohoto řádku po řádku komentováním různých řádků se nakonec ozve, která čára je nadbytečná. Nezapomeňte odkomentovat všechny řádky, které jste komentovali, pokudapt-get update stále zobrazuje stejnou výzvu, jinak nebudete mít v souborusources.list žádné zdroje.

    
odpověděl Jeff Welling 10.04.2012 17:01
4

Hledal jsem takový nástroj, ale nenašel jsem žádný ...
Takže jsem skončil tím, že jsem sám kódovalPHP.

Omlouváme se za špinavý neorganizovaný zdrojový kód.

chkdup - Screenshot:

Autor

Mubarak Alrashidi (DeaDSouL)

Požadavky:

  1. PHP.
  2. sudo.

Instalace:

  1. Otevřete terminál.
  2. Chcete-li nainstalovat PHP, pokud jej nemáte, zadejte:sudo apt-get install php5 php5-cli.
  3. Stáhněte si chkdup .
  4. Extrahujte soubor kdekoli.
  5. Typ:sudo sh install.sh.

Odinstalovat:

  1. Otevřete terminál.
  2. Přejít na cestu, do které jste nástroj vložili.
  3. Typ:sudo sh uninstall.sh.

Použití:

Stačí otevřít terminál a zadejtesudo chkdup.

Nejčastější dotazy:

Co dělá instalační soubor?

  • Instalátor přesunechkdup.php na/opt/ a vytvoří symbolické spojení v/usr/bin/.

A co odinstalace.sh?

  • Odinstalátor odstraní následující soubory:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. sámuninstall.sh

Je bezpečné používat chkdup?

  • Ano, je to proto, že předtím, než se pokusí dělat cokoliv, provede zálohu aktuálního zdroje. Ale nejsem zodpovědný, pokud se něco stane. Plná zodpovědnost bude vaše.

Licence

Všeobecná veřejná licence GNU

    
odpověděl DeaDSouL 17.03.2011 01:19
3

Zkontrolovali jstels /etc/apt/sources.list.d/? Možná máte tam nějaké "extra" repozitáře?

    
odpověděl koni_raid 11.04.2012 13:41
2

Nainstalujte instalaci softwaru ubuntu a odstraňte duplicitní položky odtud.

sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak

    
odpověděl karthick87 18.11.2010 16:43
1

Ne, v souboru/etc/apt/sources.list není nalezen a odstraněn duplicitní položky.

Protože navrhované příkazové řádky, které pouze duplikují funkci mnohem jednoduššího vestavěného příkazuuniq, pracují pouze na souboru SORTED a odstraní pouze řádky ADJACENT. Dále tyto příkazy odstraní pouze řádky sestávající z identického řetězce znaků .

Duplicitní záznamy reportované uživatelemapt-get update se budou skládat z duplicitních položek funkce , jako je např. repozitář obsažený v obou variantáchi386 aamd64. Jednoduchý a efektivní způsob jejich odebrání je poznamenat, které repozitáře jsou hlášeny jako duplikáty pomocí aktualizace apt-get a odstraněny pomocí Softwarového centra . Otevřete jej a vyberte možnost Upravit - > Zdroje softwaru - > Další záložka Software . Jednoduše vyhledejte duplicitní záznamy a zrušte zaškrtnutí. (Je také příležitost odstranit všechny úložištěsource-code, pokud neplánujete kompilaci balíků).

Mělo by se však poznamenat, žeapt-get update najde nejen duplicitní položky prostřednictvímsources.list, ale obsahuje soubory repository umístěné v/var/lib/apt/lists/. Odstranění duplicitních položek bude dočasně odstranit chybové zprávyapt-get update pouze tehdy, pokud Ubuntu myslí, že je potřebuje, protože soubory budou automaticky znovu nainstalovány. Skutečnost, žeapt-get update bude hlásit některé repozitáře jako duplikáty a pak naznačuje, že spustíteapt-get update opravit je, je stopa, že se opravdu nemusíte obávat o tomto chybovém hlášení.

    
odpověděl Smarteralec 08.05.2012 00:00
1

V mém případě byly duplikáty v souboruprerequists-sources.list. Pokračoval jsem s aktualizací spuštěním následujících příkazů v Terminálu:

sudo mv /etc/apt/sources.list.d/prerequists-sources.list /tmp
sudo apt-get update

Pak přejděte naUpdate Manager a nainstalujte aktualizace.

    
odpověděl Mathijs Sterk 15.06.2012 10:18
1

Pochopitelně jsem problém s duplicitním zápisem vyřešil přejmenováním/etc/apt/sources.d (jako root) na něco jiného a spuštěnímsudo apt-get update obnovit adresář a jeho obsah.

    
odpověděl Seann 25.04.2013 21:36
1

Přešel přes/etc/apt/sources.list ručněsudo nano /etc/apt/sources.list a odstranil duplicity. Poapt-get update byl problém vyřešen.

    
odpověděl Anderverhaal 03.09.2013 14:01
1

V/etc/apt/sources.list musíte komentovat (přidat# na začátku řádku) duplicitní položku úložiště a uložit změny. Po tomto opakovánísudo apt-get update.

    
odpověděl Snorri 28.05.2013 11:07
1

Použijte Generátor seznamů zdrojů Ubuntu .

  • Spusťtesudo -H nautilus v terminálu
  • Najít/etc/apt/sources.list
  • Klikněte pravým tlačítkem myši a soubor otevřete pomocí textového editoru (kliknutím na něj otevřete GUI zdrojových programů)
  • Stačí zkopírovat a vložit do složkysources.list a uložit.
  • Ukončete terminál a jste hotovi.

Zdá se, že Google má nějaký problém, a proto bych doporučil, abyste to nechal. Udělal jsem to na Ubuntu 12.10 (verze Studio s Ubuntu desktop přidanou a Unity pro další přihlášení do počítače).

    
odpověděl studiofreak 05.01.2013 15:29
1

Stačí upravit soubor/etc/apt/sources.list (například použítsudo -H gedit /etc/apt/sources.list) a odstranit duplicitní řádek nebo dát# na začátek řádku.

    
odpověděl Micha 14.12.2012 19:41
1

Snažím se dokončit možnosti nabízené ostatními uživateli, kteří používají terminál, protože to jste se zeptali, hlavně:

Přihlaste se, pokud používáte instalaci založenou na textu, nebo stiskněte Alt + F2 a zadejte Gnome-terminál, pokud používáte GUI

Zadejte

sudo nano /etc/apt/sources.list

(Chcete-li lépe pochopit: v adresáři/etc najdete (téměř) všechny konfigurační soubory z vašeho počítače aapt adresáři najít% soubor% co_kde, který obsahuje všechny repozitáře, které používá APT aktualizovat nebo instalaci a upgrade softwaru)

Upravte soubor odstranění nebo komentování ssouces.list na začátku řádku všech duplicitních řádků.

Stisknutím tlačítka Ctrl + X ukončete a stisknutím tlačítka y uložte soubor (nebo n úspora).

Pak aktualizujte, zda jste jej opravili:

sudo apt-get update

Bavte se!

    
odpověděl Pitto 18.11.2010 18:12
0
S="/etc/apt/sources.list" ;
S2="$S ${S}.d/*.list" ;
grep -b "^deb\'cat $S2 |
    grep -i "^deb[[:space:]]http" |
    sort |
    uniq -dc |
    sed -e 's;[[:space:]]\+[[:digit:]]\+[[:space:]]\+deb\(.\+$\);\1;g'\'$" $S2

* Za účelem čitelnosti jsou vloženy čárky.

    
odpověděl Tony Saratonev 04.07.2012 01:59
0

Proveďte následující odstranění duplikátů

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
    
odpověděl Stormvirux 14.09.2013 12:46
0

V případěW: Duplicate sources.list entry http://dl.google.com/linux/chrome/deb/ stable/main amd64 Packages (/var/lib/apt/lists/dl.google.com_linux_chrome_deb_dists_stable_main_binary-amd64_Packages)

Otevřít:sources.list.d

rm google.list

takže zůstane pouzegoogle-chrome.list

    
odpověděl Stevie G 25.05.2015 10:38
0

Je vhodné pracovat prouniq, které vynechá duplicitní řádky a vytiskne pouze jedinečné položky, takže můžeme odebrat výstupuniq a nahradit starý soubor výstupemuniq:

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
    
odpověděl Sergiy Kolodyazhnyy 24.11.2015 01:38