“W: Duplicate sources.list entry” nasıl düzeltilir?

185

sudo apt-get update dosyasını çalıştırmayı denediğimde bu uyarıyı almaya devam ediyorum.

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

Aşağıda /etc/apt/sources.list dosyasının çıkışı var:

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

Nasıl düzeltebilirim?

    
sordu hsinxh 10.04.2012 08:31

25 cevap

224

Kaynakları.listenizin gerçekten iki kopyası var.

İlk önce bir depo satırının veya kaynak satırının doğru biçimini görelim:

Doğru kaynak kod satırı doğrudur

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

Örneğin, bir repo satırı bu gibi olabilir

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

Burada, depo, İşte 'de barındırılan ikili paketler içindir ve bu veri havuzu Ubuntu hassas (12.04) ve bu depo ana (Canonical tarafından resmi olarak desteklenen yazılım) bileşenini içerir.

  • Tür: Tür deb ve deb-src olabilir. deb , deb-src 'nin bir kaynak deposu olduğu

  • bir ikili depo anlamına gelir.
  • Yer: Deponun% 'sini% yer.

  • Dist-name: Ubuntu sürümünün dağıtım adı. Ubuntu 12.04 için http://archive.ubuntu.com/ubuntu , 11.10 için precise .
    Güncellenmiş bir Ubuntu sürümlerinin listesi ve kod adları .

  • Bileşen: oneiric , main , universe ve multiverse olabilir. Bu kelimeler paketlerin destek düzeyini ve lisans durumunu belirtir.

Daha fazla bilgi için bu sayfaya bakın.

Lütfen, bir satırda bir veya daha fazla bileşen ekleyebileceğinizi, yani "ana", "evren", "kısıtlı" ve "çok amaçlı" öğelerin tek bir satırda olabileceğini unutmayın. Ayrıca, tek bir satıra birden fazla bileşen eklemesine rağmen, APT sistemi bunları yalnızca bir bileşen içeren ayrı bir satır olarak kabul eder.

Yani, restricted 'niz böyle bir satıra sahipse

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

Ardından, aşağıdaki gibi başka bir satır olamaz (dosyalarınızın sahip olduğu)

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

Bu iki satıra eşdeğerdir

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

Çünkü, iki kez evren 'ü kopyalıyorsunuz, bu nedenle bu kopya için bir hata olacak. Bulunan her bir kopya için bir hata verilecektir.

Çözüm:

sources.list dosyanızı analiz ettikten sonra, Ubuntu tarafından varsayılan olarak sağlanan temel bir program olduğunu öğrendim. Prosedürü izleyerek bir varsayılan dosya oluşturabilirsiniz:

  1. Bir terminali açın ve önce mevcut sources.list dosyasını sources.list dosyasına yeniden adlandırın. (Bunu güvenli bir şekilde kaldırabiliriz, ama dikkat iyidir).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Ardından yeni bir tane oluşturmak için sources.list.bak değerini açın. Alt + F2

    tuşlarına basarak bir terminalde veya komut komut isteminde aşağıdaki komutu yazın.
    software-properties-gtk
    

    Ubuntu'nun 11.10 veya önceki sürümlerinde, software-properties-gtk komutundan önce gksu kullanmanız gerektiğini unutmayın

  3. Pencere açıldıktan sonra

    • Ubuntu Yazılımı sekmesindeki dört kategoriyi seçin
    • Güncelleştirmeler , kesin güncellemeler ve kesin geri bildirimler kategorisini Güncellemeler sekmesinde sekmesini seçin.
    • Diğer yazılımlar sekmesinden Canonical iş ortağı ve Bağımsız kategorisini seçin.

İşte bu. Artık bir varsayılan software-properties-gtk dosyası hatasız. İsterseniz bu dosyayı bir öncekiyle karşılaştırın.

sources.list dir dosyasının ele alınması için güncelleme

Bazen yinelenen bir giriş, sources.list.d dizinindeki bir dosyada olabilir ve bu da APT tarafından da kullanılır. Yani, o dizine bakmalı ve bu dosyalarda herhangi bir kopya olup olmadığını görmelisiniz. Aynı dosyada kopyaların bulunması gerekli değildir.

Örnek vaka:

Bir kullanıcı /etc/apt/sources.list.d yapılırken bu hata mesajını gösterdi.

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

Ancak, sudo apt-get update dosyasında http://dl.google.com ile giriş bulunamadı. % Co_de% dizinine baktığımızda şu dosyaları bulduk:

/etc/apt/sources.list çıkışı:

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

/etc/apt/sources.list.d/ ve ls /etc/apt/sources.list.d/ dosyaları çiftleri içermek için iyi adaylardı. Dolayısıyla, her iki dosyanın içeriğini de kontrol etmek gerekiyordu.

google-chrome.list çıktısı:

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

ve google.list

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

Yani, Apt kaynaklarında yinelenen girişler vardı. % Co_de% 'si yalnızca bir tane özel satır içerdiğinden ve cat /etc/apt/sources.list.d/google-chrome.list dosyasında da listelendiğinden bu dosyayı güvenli bir şekilde

ile kaldırabiliyoruz.
sudo rm /etc/apt/sources.list.d/google-chrome.list

Sonra sorun çözüldü.

    
verilen cevap Anwar 05.09.2012 19:33
77

Ubuntu için 12.04

Grafiksel:

Alt + F2 tuşlarına basın ve software-properties-gtk 'yi yapıştırın (ya da "Yazılım Merkezi" ni açabilirsiniz, daha sonra "Düzenle" & gt; "Yazılım Kaynakları" bölümüne gidin). "Diğer Yazılımlar" sekmesine gidin, yinelenen girişi seçin ve "Kaldır" düğmesine basın.

Bir komut satırı seçeneğine ihtiyacınız varsa, işte burada:

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

Komut bunu yapar:

cat , dosyayı okur ve içeriği, kopya satırları kaldıran perl öğesine geçirir. Sonuç daha sonra > dosyasını geçici bir dosyaya kaydedilir ve daha sonra orijinal /etc/apt/sources.list dosyasının yerini değiştirmek üzere taşınır.

    
verilen cevap desgua 05.05.2012 00:27
22

sources.list dosyasındaki yinelenen girişler ne kadar kötü?

Ne kadar kötü olduğunu bilmiyorum, ancak yinelenen girişleri gösteren sudo apt-get update istemiyorum.

Bu arada, o kadar da kötü değil, sadece çift girişleri olduğunu gösteriyor.

SourcesList

sources.list dosyası, Ubuntu yüklemenize uygulama ekleme veya yükseltme konusunda önemli bir faktördür. Bu, sistem güncellemeleri için sisteminiz tarafından da kullanılır. Dosya, temel olarak, sisteminizin yükleme veya yükseltme için programları indirebileceğini bilmesi gereken bir yol haritasıdır.

Tıpkı Windows güncellemesi gibi

  

Yinelenen girişleri Y PPA Yöneticisi

ile birkaç kolay adımda kaldırabilirsiniz.
 sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
 sudo apt-get update
 sudo apt-get install y-ppa-manager -y

Y-ppa-yönetici formunu aç Çizgi

  

Yönetici Şifresi Girin

  

İleri Düzeyde Çift Tıkla

  

Tara ve amp; Yinelenen PPA'ları & amp; Tamam'ı tıklayın

  

Biraz zaman alacak (1 veya 2 Mints) Scan & amp; Yinelenen PPA'ları Kaldır

    
verilen cevap Qasim 08.05.2013 07:36
16

İş ortağı deposu /etc/apt/sources.list ve /etc/apt/sources.list.d/precise-partner.list içinde kopyalandı.

Yalnızca bu iş ortağı deposunun sources.list adresinde bulunduğu için "kesin iş ortağı" dosyalarını kaldırın.

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

sources.list'inizin yedek kopyasını alın:

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

Şimdi orijinali kaldırın ve güncelleyin:

sudo rm /etc/apt/sources.list && sudo apt-get update
    
verilen cevap wojox 04.07.2012 07:16
8

Aynı sorunu yaşadım, yazılım kaynaklarını açtım. denetlenmemiş "Canonical Partners". Çatışma "Canonical Partners" ile "Yazılım Merkezi tarafından Eklenen Canonical ortakları" arasındadır.

    
verilen cevap Amjed 11.04.2012 07:11
7

Bunu source.list öğenizde belirleyemediyseniz, şunu yapın:

  1. Ayarlar simgesini (ekranınızın en üst köşesinde) sol tıklayın ve Sistem Ayarları'nı seçin.
  2. Yazılım Kaynaklarına tıklayın ve Diğer Yazılımlara geçin.
  3. Canonical tarafından iş ortaklarının dosyaları için hazırlanan 'Canonical Partners (Kaynak Kodu) -software' inden ve 'ortakları için Canonical tarafından paketlenen' Canonical Partners -software 'yazılımlarından birinin işaretini kaldırın ve çıkmak için Kapat'ı tıklayın.
  4. Aynı anda CTRL + ALT + T tuşlarına basarak terminali açın ve sudo apt-get update yazın.
verilen cevap all4naija 11.04.2012 08:15
5

Ubuntu 9.10 - 12.04 için

Y-PPA-Manager adında bir uygulama var ve bunu çok daha fazlasını yapabilir.

Bunu bir Terminal'den şöyle yükleyebilirsiniz:

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

Bundan sonra, uygulamayı sadece Gelişmiş menüsüne gidin.

Ardından "Çift PPA'ları tara ve kaldır" ı seçip Tamam'a basın.

    
verilen cevap rearlight 06.05.2012 15:25
5

10.10 ve Daha Önceki

Uygulamalar & gt; Ubuntu Yazılım Merkezi & gt; Düzenle & gt; Yazılım Kaynakları & gt; Diğer Yazılımlar

VEYA

Sistem & gt; Yönetim & gt; Synaptic Paket Yöneticisi & gt; Ayarlar & gt; Depoları

Yinelenen girişleri seçin ve kaldırın.

    
verilen cevap Sid 18.11.2010 16:43
4

/etc/apt/sources.list dosyanızda iki özdeş satıra sahip olduğunuz anlaşılıyor.

Terminale gidin ve sudo editor /etc/apt/sources.list değerini girin, ardından o dosyadaki tüm benzer satırları bulun ve bulursanız bunları silin. İşiniz bittikten sonra kaydedin ve çıkın ve sonra sudo apt-get update yapın ve bu da sorununuzu çözmelidir.

Eğer sorununuzu çözmezse, deneme yanılma yöntemini kullanmak zorunda kalacaksınız. Öncelikle, sources.list dosyanızın bir yedeğini oluşturun, daha sonra gerçek dosyada her satırın gözden geçirilmesi veya silinmesi veya her satırın yorumlanmasından veya silinmesinden sonra apt-get update -ing'in kaydedilmesi veya silinmesi. Bu dosya satırından farklı satırları yorumlayarak satır sonuna kadar gitmek, sonunda hangi hattın gereksiz olduğunu söyleyecektir. % Co_de% öğesinin hala aynı istemi göstermesi durumunda yorum yaptığınız satırları unutmadan unutmayın, aksi takdirde apt-get update dosyanızda hiçbir kaynak kalmazsınız.

    
verilen cevap Jeff Welling 10.04.2012 17:01
4

Böyle bir araç aradım ama bulamadım ...
Bu yüzden, kendimi PHP ile kodlamaya başladım.

Kirlenmemiş düzensiz kaynak kodu için üzgünüz.

chkdup - Ekran Görüntüsü:

Yazar

Mübarek Alrashidi (DeaDSouL)

Gereksinimleri:

  1. PHP.
  2. sudo.

Kurulum:

  1. Terminali açın.
  2. Sahip değilseniz PHP'yi yüklemek için şunu yazın: sudo apt-get install php5 php5-cli .
  3. chkdup 'ı indirin.
  4. Dosyayı istediğiniz yere çıkarın.
  5. Tür: sudo sh install.sh .

Kaldır:

  1. Terminali açın.
  2. Aracı ayıkladığınız yola gidin.
  3. Tür: sudo sh uninstall.sh .

Nasıl kullanılır?

Terminali açmanız ve sudo chkdup yazmanız yeterli.

SSS:

install.sh ne yapar?

  • Yükleyici chkdup.php 'si /opt/ ' ye taşıyacak ve /usr/bin/ 'de sembolik bir bağlantı oluşturacaktır.

Peki, uninstall.sh nedir?

  • Kaldırıcı aşağıdaki dosyaları kaldıracaktır:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. kendisi uninstall.sh

chkdup kullanmak güvenli midir?

  • Evet, herhangi bir şey yapmaya çalışmadan önce mevcut sources.list dosyasının yedeğini aldığından budur. Ama bir şey olsaydı ben sorumlu değilim. Tam sorumluluk senin olacak.

Lisans

GNU Genel Kamu Lisansı

    
verilen cevap DeaDSouL 17.03.2011 01:19
3

ls /etc/apt/sources.list.d/ değerini kontrol ettiniz mi? Belki orada "ekstra" depolarınız var mı?

    
verilen cevap koni_raid 11.04.2012 13:41
2

Ubuntu-tweak uygulamasını yükleyin ve kopya girdileri buradan kaldırın.

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

    
verilen cevap karthick87 18.11.2010 16:43
1

Hayır, /etc/apt/sources.list dosyasında yinelenen girdileri bulmak ve silmek için tek bir komut satırı yoktur.

Bunun nedeni, çok daha basit yerleşik uniq komutunun işlevini kopyalayan önerilen komut satırlarının yalnızca bir SORTED dosyasında çalışacak ve yalnızca ADJACENT satırlarını kaldıracaktır. Ayrıca, bu komutlar sadece aynı karakter dizisinden oluşan satırları kaldıracaktır .

apt-get update tarafından raporlanan yinelenen girişler, hem i386 hem de amd64 varyantlarında yer alan bir depo gibi yinelenen işlev girişlerinden oluşacaktır. Bunları kaldırmanın kolay ve etkili yolu, apt-get güncellemesiyle hangi depoların çift olarak rapor edildiğini not etmek ve bunları Yazılım Merkezi aracılığıyla kaldırmaktır. Açın ve Düzenle 'yi seçin - & gt; Yazılım Kaynakları - & gt; Diğer Yazılımlar sekmesi . Sadece yinelenen girişleri arayın ve işaretini kaldırın. (Bu, paketleri derlemiyorsanız source-code depolarını kaldırmanız için de bir fırsattır.)

Ancak, apt-get update 'nin yalnızca sources.list yoluyla yinelenen girişleri değil, /var/lib/apt/lists/ dosyasında bulunan depo dosyalarını da içerdiği belirtilmelidir. Yinelenen girişleri oradan silmek, dosyalar otomatik olarak yeniden yükleneceğinden, Ubuntu'nun onlara ihtiyacı olduğunu düşündüğü takdirde yalnızca apt-get update hata mesajlarını geçici olarak kaldıracaktır. % Co_de% 'si bazı depoları iki kopya olarak rapor edecektir ve sonra bunları onarmak için apt-get update ' sini çalıştırdığınızı önerir, bu hata mesajı hakkında endişelenmenize gerek olmadığını bir ipucudur.

    
verilen cevap Smarteralec 08.05.2012 00:00
1

Benim durumumda, kopyalar prerequists-sources.list dosyasındaydı. Terminalde şu komutları çalıştırarak yükseltmeye devam edebildim:

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

Ardından, Update Manager 'ya gidin ve güncellemeleri yükleyin.

    
verilen cevap Mathijs Sterk 15.06.2012 10:18
1

Yinelenen Giriş sorununu, /etc/apt/sources.d (root olarak) başka bir şeye yeniden adlandırarak ve dizini ve içeriğini yeniden oluşturmak için sudo apt-get update 'yi çalıştırarak çözdüm.

    
verilen cevap Seann 25.04.2013 21:36
1

/etc/apt/sources.list dizinini sudo nano /etc/apt/sources.list oranında geçirdim ve kopyaları sildim. % Co_de% sonra sorun çözüldü.

    
verilen cevap Anderverhaal 03.09.2013 14:01
1

/etc/apt/sources.list dosyasında, yinelenen depo girişi ve değişiklikleri kaydetmeniz gerekir (satırın başında # ekleyin). Bundan sonra tekrar sudo apt-get update .

    
verilen cevap Snorri 28.05.2013 11:07
1

Ubuntu Kaynaklar Listesi Oluşturucu’nu kullanın.

  • Terminalde sudo -H nautilus çalıştır
  • /etc/apt/sources.list bulun
  • Dosyayı sağ tıklayıp bir metin düzenleyicisiyle açın (eğer üzerine tıklarsanız, yazılım kaynakları GUI'yi açar)
  • Kopyalayıp sources.list 'ya yapıştırın ve kaydedin.
  • Çıkış terminali ve işiniz bitti.

Google’de bir sorun varmış gibi görünüyor. Bunu Ubuntu 12.10'da yaptım (Ubuntu masaüstü eklenmiş Studio sürümü ve başka bir masaüstü oturum açma için Unity).

    
verilen cevap studiofreak 05.01.2013 15:29
1

/etc/apt/sources.list dosyasını (örneğin, sudo -H gedit /etc/apt/sources.list kullanın) düzenleyin ve yinelenen satırı kaldırın veya satırın başında # koyun.

    
verilen cevap Micha 14.12.2012 19:41
1

Terminali kullanan diğer kullanıcılardan sunulan olanakları tamamlamaya çalışıyorum, çünkü sorduğunuz şey buydu, çünkü:

Metin tabanlı bir yükleme kullanıyorsanız giriş yapın veya Alt + F2 tuşlarına basın ve GUI kullanıyorsanız gnome-terminal yazın

Sonra yazın

sudo nano /etc/apt/sources.list

(Daha iyi anlamak için: /etc dizininde, bilgisayarınızın tüm yapılandırma dosyalarını (yaklaşık olarak) bulabilir ve apt dizininde APT'nin güncellemek için kullandığı tüm depoları içeren souces.list dosyasını bulabilirsiniz. veya yazılımı yükleyin ve yükseltin)

Herhangi bir yinelenen satırın satırında satırın # ile kaldırılması veya yorumlanmasıyla ilgili dosyayı düzenleyin.

Çıkmak için Ctrl + X tuşlarına basın ve dosyayı kaydetmek için y 'e basın (veya n tasarruf).

Ardından, düzeltip düzeltmediğinizi görmek için güncelleyin:

sudo apt-get update

İyi eğlenceler!

    
verilen cevap 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

* Okunabilirlik için satır sonları eklendi.

    
verilen cevap Tony Saratonev 04.07.2012 01:59
0

Kopyaları kaldırmak için aşağıdakileri uygulayın

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
    
verilen cevap Stormvirux 14.09.2013 12:46
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) durumunda

Aç: sources.list.d

rm google.list

Yani sadece google-chrome.list kalır

    
verilen cevap Stevie G 25.05.2015 10:38
0

Çift satırları engelleyen ve yalnızca benzersiz girdileri basan uniq için uygun bir iştir, bu yüzden uniq çıkışını alabilir ve uniq 's çıkışıyla eski dosyayı değiştirebiliriz:

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
    
verilen cevap Sergiy Kolodyazhnyy 24.11.2015 01:38

Etiketlerdeki diğer soruları oku