Hogyan lehet kijavítani a "W: Duplicate sources.list entry" -t?

187

Mindig ezt a figyelmeztetést kapom, amikor megpróbáloksudo apt-get update -ot futtatni.

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

Az alábbiakban a/etc/apt/sources.list fájlból származó kimenet:

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

Hogyan javíthatom meg?

    
készlet hsinxh 10.04.2012 08:31
forrás

25 válasz

226

A sources.list valójában duplikált bejegyzéseket tartalmaz.

Először nézzük meg a repository line vagy forrássor helyes formáját:

A repository forrássor helyes formátuma

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

Például egy repóvonal lehet, mint ez

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

Itt a bináris csomagok, amelyek a linkben helyezkednek el, és ez a repository for Ubuntu pontos (12.04) és ez az adattár tartalmazza a fő (a Canonical által hivatalosan támogatott szoftvereket).

  • Típus: A típus lehetdeb ésdeb-src. deb olyan bináris repository, ahol adeb-src egy forrástárat jelent

  • Hely: http://archive.ubuntu.com/ubuntu a repository helye.

  • Dist-név: Az Ubuntu kiadásának eloszlása. Az Ubuntu 12.04 esetébenprecise, a 11.10-benoneiric.
    Az Ubuntu Wiki segítségével megtekintheti a frissített az Ubuntu kiadások listája és kódnevük .

  • Összetevő: lehetmain,universe,multiverse ésrestricted. Ezek a szavak jelzik a csomagok támogatási szintjét és az engedélyezési státuszt.

További információ: ezen az oldalon .

Kérjük, vegye figyelembe, hogy egy vagy több elemet hozzáadhat egy sorhoz, ezért a "fő", "univerzum", "korlátozott" és "multiverse" egy sorban szerepelhet. Szintén fontos megjegyezni, hogy ha egynél több összetevőt ad hozzá egy sorban, akkor az APT rendszert különálló sorként veszi figyelembe, amely csak egy összetevőt tartalmaz.

Tehát, ha asources.list ilyen vonal van

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

Akkor nem lehet olyan más sor, mint az alábbiak (amelyeknek a fájljai vannak)

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

, ami egyenértékű e két sorral

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

Mert kétszer duplázod az univerzum kétszeresét, ezért hiba lesz a duplikátumnak. Minden talált példányban hiba fog megjelenni.

Megoldás:

Asources.list fájl elemzése után megállapítottam, hogy ez egy alap, amelyet alapértelmezésben az Ubuntu szolgáltat. Az eljárás szerint alapértelmezett fájlt készíthet:

  1. Nyisson meg egy terminált, és először nevezze át a meglévősources.list fájlt asources.list.bak fájlba. (biztonságosan eltávolíthatjuk, de óvatosság jót tesz.)

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Ezután nyissa meg asoftware-properties-gtk parancsot, és készítsen újat. Írja be az alábbi parancsot egy terminálba vagy a parancssori parancssorba a Alt + F2

    software-properties-gtk
    

    Megjegyzés: az Ubuntu 11.10-es vagy korábbi verziójáhozgksu -ot kell használni asoftware-properties-gtk parancs előtt

  3. Az ablak megnyitása után

    • Válassza ki mind a négy kategóriát az Ubuntu szoftver lapon
    • Válassza az Frissítések lap pontos biztonsági , pontos frissítéseket és precise-backports kategóriát.
    • Válassza a Canonical partner és a Független kategóriát az Egyéb szoftver lapról.

Ez az. Alapértelmezettsources.list fájl van hiba nélkül. Hasonlítsa össze ezt a fájlt az előzővel, ha szeretné.

Frissítés asources.list.d dir fájlok kezeléséhez

Néha egy duplikált bejegyzés lehet a/etc/apt/sources.list.d könyvtárban lévő fájlban, amelyet az APT is használ. Szóval nézze meg a könyvtárat, és nézze meg, van-e duplikátum a fájlokban. Nem szükséges, hogy a másolatok ugyanabban a fájlban legyenek.

Példa:

A felhasználó ezt a hibaüzenetet mutatjasudo apt-get update alatt.

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

De ahttp://dl.google.com fájlban a/etc/apt/sources.list nem volt bejegyzés. A/etc/apt/sources.list.d/ könyvtárat megkerestük:

ls /etc/apt/sources.list.d/:

kimenet
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

A (z)google-chrome.list ésgoogle.list fájlok jó jelöltek voltak a másolatok tárolására. Ezért mindkét fájl tartalmának ellenőrzése szükséges volt.

cat /etc/apt/sources.list.d/google-chrome.list:

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

éscat /etc/apt/sources.list.d/google.list

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

Tehát az Apt forrásokban duplikált bejegyzések voltak. Mivel agoogle-chrome.list csak egyetlen apt vonalat tartalmaz, és agoogle.list fájlban is szerepel, biztonságosan eltávolíthatjuk ezt a fájlt a

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

A probléma megoldódott.

    
válasz adott Anwar 05.09.2012 19:33
forrás
78

Ubuntu 12.04 esetén

Grafikailag:

Nyomja meg a Alt + F2 billentyűt és illessze be asoftware-properties-gtk -ot (vagy megnyithatja a "Szoftverközpont", majd a "Szerkesztés" > Szoftverforrások "menüpontot). Menjen a "Egyéb szoftver" fülre, válassza ki a kettős bejegyzést, és nyomja meg az "Eltávolítás" gombot.

Ha parancssori kapcsolatra van szüksége, ide:

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

A parancs ezt teszi:

cat olvassa el a fájlt, és átadja a tartalmatperl -nak, amely eltávolítja a kettős vonalakat. Az eredményt az> mentették egy ideiglenes fájlban, amelyet az eredeti/etc/apt/sources.list fájl helyére helyezett.

    
válasz adott desgua 05.05.2012 00:27
forrás
22

Milyen rosszak a bejegyzések forrásait tartalmazó bejegyzések?

Nem tudom, milyen rossz, de nem szeretem a sudo apt-get frissítést dupla bejegyzések megjelenítését.

Mellesleg, hogy nem olyan rossz, hogy csak megmutatja, hogy dupla bejegyzés van.

SourcesList

A sources.list fájl kulcsfontosságú tényező az alkalmazások telepítéséhez vagy frissítéséhez az Ubuntu telepítéséhez. Ezt a rendszert a rendszerfrissítések is használják. A fájl alapvetően a rendszer ütemterve, hogy tudja, hol tölthet le programokat telepítésre vagy frissítésre.

Ez olyan, mint a Windows frissítése

  

Az ismétlődő bejegyzéseket néhány egyszerű lépésben eltávolíthatja a Y PPA kezelővel

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

Nyissa meg az y-ppa-manager űrlapot Dash

  

Adja meg az Adminisztrátori jelszót

  

Kattintson duplán az Advanced gombra

  

Beolvasás & Távolítsa el a PPA sokszorosítását & Kattintson az Ok gombra

  

Néhány időt vesz igénybe (1 vagy 2 pont) a Beolvasás & A Duplikált PPA-k eltávolítása

    
válasz adott Qasim 08.05.2013 07:36
forrás
16

A partnertárhely a (z)/etc/apt/sources.list és/etc/apt/sources.list.d/precise-partner.list között duplikált.

Csak távolítsa el a "precíz partner" fájlokat, mivel a partnertárhely már szerepel a (z)sources.list -ban.

sudo rm /etc/apt/sources.list.d/precise-partner.*
    
válasz adott Eric Carvalho 01.09.2012 21:20
forrás
10

Készítsen biztonsági másolatot a források listájáról:

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

Most vegye ki az eredeti példányt és frissítse:

sudo rm /etc/apt/sources.list && sudo apt-get update
    
válasz adott wojox 04.07.2012 07:16
forrás
8

Ugyanaz a probléma, nyílt forráskódú szoftverek. nem ellenőrzött "Canonical Partnerek". A konfliktus a "Canonical Partners" és a "Canonical partners Added by Software Center" között található.

    
válasz adott Amjed 11.04.2012 07:11
forrás
7

Ha nem találod ki asource.list -ban, akkor ezt:

  1. Kattintson a bal egérgombbal a beállításikonra (a képernyő szélsőséges felső sarkában), és válassza a Rendszerbeállítások lehetőséget.
  2. Kattintson a Szoftverforrások lehetőségre, és más szoftverre ugorjon.
  3. Szüntesse meg a "Canonical Partners" (forráskód) - a Canonical által csomagolt szoftvereket partnereihez és a Canonical által a partnerei fájlokba csomagolt "Canonical Partners" -szoftvereket, és kattintson a Bezárás gombra a távozáshoz.
  4. Egyidejűleg nyomja meg a CTRL + ALT + T billentyűkombinációt a terminál megnyitásához és írja be asudo apt-get update
válasz adott all4naija 11.04.2012 08:15
forrás
5

Ubuntu 9,10 - 12,04

esetén

Van egy app, az úgynevezett Y-PPA-Manager, amely képes erre és még sok másra.

Ezt a terminálon keresztül telepítheti:

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

Ezután indítsa el az alkalmazást egy lépéssel a Speciális menübe.

Ezután válassza a "PPA-k szkennelése és eltávolítása" lehetőséget, majd nyomja meg az OK gombot.

    
válasz adott rearlight 06.05.2012 15:25
forrás
5

10.10 és korábban

Alkalmazások > Ubuntu szoftverközpont > Szerkesztés > Szoftverforrások > Egyéb szoftverek

VAGY

Rendszer > Igazolás > Synaptic Packet Manager > Beállítások > Adattárak

Jelölje ki és távolítsa el a kettős bejegyzéseket.

    
válasz adott Sid 18.11.2010 16:43
forrás
4

Úgy tűnik, hogy a/etc/apt/sources.list fájlban két azonos vonal van.

Menjen a terminálba, és írja be asudo editor /etc/apt/sources.list értéket, majd keresse meg a fájlban lévő azonos sorokat, és ha megtalálja őket, törölje őket. Miután elkészült, mentse el és lépjen ki, majd végezze el asudo apt-get update -ot, és megoldja a problémát.

Ha ez nem oldja meg a problémát, akkor próbaverziót és hiba-megközelítést kell használnia. Először hozzon létre egy biztonsági másolatot asources.list fájljáról, majd a tényleges fájlban megy át és törölje meg vagy törölje az egyes sorokat, a mentést és aapt-get update -ing parancsot, miután az egyes sorokat kommentálta vagy törölte. Ha ezt a fájlt a soronként végigmegyünk, akkor megmondjuk, hogy melyik sor a felesleges. Ne felejtsd el figyelmen kívül hagyni azokat a sorokat, amelyeket megjegyzést fűzött, ha aapt-get update ugyanazt a promptot mutatja, különben asources.list fájlban nincs forrás.

    
válasz adott Jeff Welling 10.04.2012 17:01
forrás
4

Kerestem egy ilyen eszközt, de nem találtam ... Tehát végül kódoltam magam aPHP -al.

Sajnálom a piszkos, nem szervezett forráskódot.

chkdup - Képernyőkép:

Szerző

Mubarak Alrashidi (DeaDSouL)

Követelmények:

  1. PHP.
  2. sudo.

Telepítés:

  1. Nyissa meg a terminált.
  2. Ha telepíteni szeretné a PHP-t, írja be:sudo apt-get install php5 php5-cli.
  3. Töltse le a chkdup fájlt.
  4. A fájlt bárhová ki is szabadítani
  5. Típus:sudo sh install.sh.

Eltávolítás

  1. Nyissa meg a terminált.
  2. Ugrás az elérési útba, amelybe a szerszámot kivette.
  3. Típus:sudo sh uninstall.sh.

Hogyan kell használni:

Nyissa meg a terminált és írja be asudo chkdup parancsot.

GYIK:

Mit csinál a install.sh?

  • A telepítő áthelyezi achkdup.php -ot/opt/ -ra, majd létrehoz egy szimbolikus linket a/usr/bin/ -ban.

Mi a helyzet az eltávolítással?

  • Az eltávolító eltávolítja a következő fájlokat:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. magátuninstall.sh

Biztonságos a chkdup használata?

  • Igen, mert a biztonsági másolatok készítése előtt biztonsági másolatot készít a jelenlegi forrásokról. De nem vagyok felelős, ha valami történt. A teljes felelősség a tiéd lesz.

Licenc

GNU általános nyilvános licenc

    
válasz adott DeaDSouL 17.03.2011 01:19
forrás
3

Ellenőriztels /etc/apt/sources.list.d/? Talán van néhány "extra" tárhely is?

    
válasz adott koni_raid 11.04.2012 13:41
forrás
2

Telepítse az ubuntu-tweak alkalmazást, és távolítsa el a kettős bejegyzéseket.

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

    
válasz adott karthick87 18.11.2010 16:43
forrás
1

Nem, nincs egyetlen parancssor sem a/etc/apt/sources.list fájlban lévő ismétlődő bejegyzések kereséséhez és törléséhez.

Ez azért van, mert a javasolt parancssorok, amelyek csupán a sokkal egyszerűbb beépítettuniq parancs funkcióját ismételik meg, csak egy SORTED fájlon dolgoznak, és csak az ADJACENT sorokat távolítják el. Továbbá ezek a parancsok csak egy azonos karakterláncot tartalmaznak.

Aapt-get update által jelentett többszörözött bejegyzések többszörös függvény bejegyzésből állnak, például ai386 és aamd64 változatokban lévő tárhelyen. Az eltávolítás egyszerű és hatékony módja annak, hogy megjegyezzük, mely állományokat duplikátumként jelentenek az apt-get frissítéssel és eltávolítják őket a Szoftverközpont segítségével. Nyissa meg, és válassza a Szerkesztés - > Szoftverforrások - > Egyéb szoftver fül . Egyszerűen keresse meg a kettős bejegyzéseket, és törölje őket. (Ez a lehetőség arra is, hogy eltávolítsd asource-code repositories-t, ha nem csomagolod a csomagokat).

Mindazonáltal meg kell jegyezni, hogy aapt-get update nem csak asources.list -on keresztül találja a duplikált bejegyzéseket, de tartalmazza a/var/lib/apt/lists/ -ban található repository fájlokat. A duplikált bejegyzések törlése csak akkor fogja átmenetileg eltávolítani aapt-get update hibaüzeneteket, ha az Ubuntu úgy gondolja, hogy szüksége van rájuk, mivel a fájlok automatikusan újra telepítésre kerülnek. Az a tény, hogyapt-get update egyes állományokat jelent duplikátumként, és azt javasolja, hogy aapt-get update -ot saját javításukra futtathassuk, arra utal, hogy tényleg nem kell aggódnia a hibaüzenet miatt.

    
válasz adott Smarteralec 08.05.2012 00:00
forrás
1

Az én esetemben a másolatok aprerequists-sources.list fájlban voltak. A következő parancsokat a Terminálon futtathattam:

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

Ezután lépjen aUpdate Manager -ra és telepítse a frissítéseket.

    
válasz adott Mathijs Sterk 15.06.2012 10:18
forrás
1

Nos, megoldtam a Duplicate Entry problémát úgy, hogy/etc/apt/sources.d (rootként) átneveztem valami mást, és asudo apt-get update futtatásával újraindítottam a könyvtárat és annak tartalmát.

    
válasz adott Seann 25.04.2013 21:36
forrás
1

A/etc/apt/sources.list kézzelsudo nano /etc/apt/sources.list -on keresztül ment végbe, és eltávolította a másolatokat. apt-get update után a probléma megoldódott.

    
válasz adott Anderverhaal 03.09.2013 14:01
forrás
1

A (z)/etc/apt/sources.list -ban meg kell kommentálnia (hozzáadja a# -ot a sor elején) a duplikált tárolóbejegyzést és mentse a változtatásokat. Ezt követően ismételje meg asudo apt-get update -ot.

    
válasz adott Snorri 28.05.2013 11:07
forrás
1

Használja az Ubuntu források listatermelőjét .

  • Futtassa asudo -H nautilus -ot a terminálon
  • Keresés/etc/apt/sources.list
  • Kattintson a jobb egérgombbal, és nyissa meg a fájlt egy szövegszerkesztővel (ha rákattintasz, megnyílik a szoftverforrások GUI-ja)
  • Egyszerűen másolja be és illessze be asources.list -ba és mentse el.
  • Kilépés a terminálból és készen áll.

Úgy tűnik, hogy a Google problémája van, ezért javasolnám, hogy hagyd ki ezt. Ezt megtettem az Ubuntu 12.10 verziójában (Stúdió verzió Ubuntu asztali hozzáadása és Unity egy másik asztali bejelentkezéshez).

    
válasz adott studiofreak 05.01.2013 15:29
forrás
1

Csak módosítsd a/etc/apt/sources.list (példáulsudo -H gedit /etc/apt/sources.list) fájlt, és távolítsd el a dupla sort, vagy tegyél fel egy# -ot a sor elején.

    
válasz adott Micha 14.12.2012 19:41
forrás
1

Megpróbálom kiegészíteni a többi felhasználó által kínált lehetőségeket a terminál használatával, mivel ezt kérte, főleg:

jelentkezzen be, ha szöveges telepítést használ, vagy nyomja le a Alt + F2 billentyűt, és írja be a gnome-terminált, ha GUI-t használ

Ezután írja be

sudo nano /etc/apt/sources.list

(A jobb megértés érdekében: a/etc könyvtárban megtalálhatja (majdnem) a számítógép összes konfigurációs fájlját, és aapt könyvtárban megtalálja asouces.list fájlt, amely tartalmazza az APT által az összes frissítési fájlt vagy telepítse és frissítse a szoftvert)

Szerkessze a fájlt a# eltávolításával vagy megjegyzésével a sor elején bármelyik duplikált sorral.

A kilépéshez nyomja meg a Ctrl + X gombot, és nyomja meg a y gombot a fájl mentéséhez (vagy n megtakarítás).

Akkor frissítse, ha megjavította-e:

sudo apt-get update

Jó szórakozást!

    
válasz adott Pitto 18.11.2010 18:12
forrás
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

* A sorok beolvashatók az olvashatóság érdekében.

    
válasz adott Tony Saratonev 04.07.2012 01:59
forrás
0

Végezze el a következőket a másolatok eltávolításához

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
    
válasz adott Stormvirux 14.09.2013 12:46
forrás
0

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)

esetén

Nyissa meg:sources.list.d

rm google.list

tehát csakgoogle-chrome.list marad

    
válasz adott Stevie G 25.05.2015 10:38
forrás
0

Helyes feladat auniq számára, amely nem ismeri fel a dupla sorokat, és csak egyedi bejegyzéseket nyomtat, így auniq kimenetét és a régi fájlt auniq kimenetével helyettesíthetjük:

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
    
válasz adott Sergiy Kolodyazhnyy 24.11.2015 01:38
forrás