Bagaimana cara memperbaiki "W: Duplikat entri sources.list"?

190

Saya terus mendapatkan peringatan ini setiap kali saya mencoba lari sudo apt-get update.

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

Di bawah ini adalah output dari /etc/apt/sources.listfile:

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

Bagaimana saya memperbaikinya?

hsinxh
sumber

Jawaban:

229

Daftar sources.list Anda benar-benar memiliki entri duplikat.

Pertama, mari kita lihat bentuk repositori atau sumber yang benar:

Format baris sumber repositori yang benar adalah

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

Misalnya, garis repo bisa seperti ini

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

Di sini, itu berarti, repositori adalah untuk paket biner, yang di-host di http://archive.ubuntu.com/ubuntu dan repositori ini untuk ketepatan Ubuntu (12.04) dan repositori ini berisi main (perangkat lunak yang secara resmi didukung oleh Komponen Canonical).

  • Jenis: Jenisnya bisa debdan deb-src. debberarti repositori biner di mana deb-srcberarti repositori sumber

  • Lokasi: http://archive.ubuntu.com/ubuntu lokasi repositori.

  • Dist-name: Nama distribusi rilis Ubuntu. Untuk Ubuntu 12,04 itu precise, untuk 11,10 itu oneiric.
    Anda dapat mengunjungi Wiki Ubuntu untuk melihat daftar rilis terbaru Ubuntu dan nama kodenya .

  • Komponen: Hal ini dapat main, universe, multiversedan restricted. Kata-kata ini menunjukkan tingkat dukungan untuk paket dan status lisensi.

Lihat halaman ini untuk informasi lebih lanjut.

Harap perhatikan bahwa, Anda dapat menambahkan satu atau beberapa komponen dalam satu baris, sehingga "main", "universe", "dibatasi" dan "multiverse" dapat berada dalam satu baris. Perhatikan juga, Meskipun Anda menambahkan lebih dari satu komponen dalam satu baris, sistem APT menganggapnya sebagai jalur terpisah yang hanya berisi satu komponen.

Jadi, jika Anda sources.listmemiliki garis seperti ini

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

Maka tidak dapat memiliki baris lain seperti di bawah ini (yang dimiliki file Anda)

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

yang setara dengan dua baris ini

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

Karena, Anda menduplikasi semesta dua kali, jadi akan ada kesalahan untuk duplikat itu. Kesalahan akan diberikan untuk setiap duplikat yang ditemukan.

Larutan:

Setelah menganalisis sources.listfile Anda , saya menemukan bahwa, Ini adalah file dasar yang disediakan oleh Ubuntu secara default. Anda dapat membuat file default mengikuti prosedur:

  1. Buka terminal dan pertama ganti nama sources.listfile yang ada ke sources.list.bakfile. (kita bisa menghapusnya dengan aman, tapi hati-hati itu baik).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Kemudian buka software-properties-gtkuntuk membangun yang baru. Ketik perintah di bawah ini di terminal atau di command prompt dengan menekan Alt+F2

    software-properties-gtk
    

    Catatan, untuk Ubuntu versi 11.10 atau sebelumnya Anda harus menggunakan gksusebelum software-properties-gtkperintah

  3. Setelah jendela terbuka,

    • Pilih keempat kategori di tab Perangkat Lunak Ubuntu
    • Pilih keamanan yang tepat , pembaruan akurat, dan kategori backport akurat di tab Pembaruan .
    • Pilih mitra Canonical dan kategori Independen dari tab Perangkat lunak lain .

Itu dia. Sekarang Anda memiliki sources.listfile default tanpa kesalahan. Bandingkan file ini dengan yang sebelumnya, jika Anda mau.


Perbarui untuk menangani sources.list.dfile dir

Terkadang entri duplikat dapat berada dalam file di /etc/apt/sources.list.ddirektori, yang juga digunakan oleh APT. Jadi, Anda harus melihat direktori itu dan melihat apakah ada duplikat dalam file-file itu. Tidak perlu duplikat berada di file yang sama.

Contoh kasus:

Pengguna menampilkan pesan kesalahan ini saat melakukan sudo apt-get update.

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

Tetapi tidak ada entri dengan http://dl.google.comdi /etc/apt/sources.listfile utama . Melihat /etc/apt/sources.list.d/direktori kami menemukan file-file ini:

output dari ls /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

File google-chrome.listdan google.listkandidat yang baik untuk mengandung duplikat. Jadi, memeriksa isi kedua file itu perlu.

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

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

dan dari cat /etc/apt/sources.list.d/google.list

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

Jadi, ada duplikat entri di sumber Apt. Karena google-chrome.listhanya berisi satu baris apt dan juga tercantum dalam google.listfile, kita dapat menghapus file ini dengan aman dengan perintah

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

Kemudian masalah terpecahkan.

Anwar
sumber
5
Apa yang saya lakukan untuk menyebabkan saya memiliki entri duplikat di sources.list.d saya?
Seanny123
@ Seanny123 Itu sulit dikatakan.
Anwar
1
Terima kasih banyak. Saya bertanya-tanya bagaimana duplikat terjadi. Akhirnya Anda menunjukkan sources.list.d
Isura Manchanayake
1
Jawaban yang bagus dan menyeluruh. Dalam Pembaruan Anda untuk berurusan dengan file sources.list.d dir Anda menjelaskan mana file / baris yang memberikan duplikat. Bisakah Anda menjelaskan hal yang sama yaitu 6 pasang garis (karena Anda mengatakan "file Anda memiliki 6 duplikat di sana") di OP yang memberikan duplikat?
sancho.s
1
Petunjuk untuk memeriksa sumber saya.list.d adalah yang membantu saya menyelesaikan ini.
lcarsos
80

Untuk Ubuntu 12.04

Secara grafis:

Tekan Alt+ F2dan tempel software-properties-gtk(atau Anda dapat membuka "Pusat Perangkat Lunak" lalu buka "Edit"> "Sumber Perangkat Lunak"). Buka tab "Perangkat Lunak Lain", pilih entri duplikat dan tekan tombol "Hapus".

masukkan deskripsi gambar di sini


Jika Anda memerlukan opsi baris perintah, ini dia:

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

Perintah melakukan ini:

catmembaca file dan meneruskan konten perlyang menghapus garis duplikat. Hasilnya kemudian disimpan >dalam file sementara yang kemudian dipindahkan untuk mengganti /etc/apt/sources.listfile asli .

desgua
sumber
2
Hanya bagaimana cara memperbaikinya, tanpa kebingungan dan semua detail terlalu dalam. Terima kasih!
Peter M.
Ini benar-benar berhasil! Karena suatu alasan, tidak dapat menginstal git pada 12.04 juga. Alih-alih menghapus, saya hanya memeriksa duplikat "mitra Canonical".
davidkonrad
3
Saya menjalankan one-liner, tetapi sudo apt-get updatemasih mengeluh tentang entri duplikat seolah-olah tidak ada yang berubah. Jika itu penting, saya di 12,04 (khusus, OS OS dasar).
waldyrious
Ini cattidak berguna dan mencegah Anda menggunakansudo perl -i
tripleee
24

Seberapa buruk entri duplikat di sources.list?

Saya tidak tahu seberapa buruk itu, tetapi saya tidak suka pembaruan apt-get sudo yang menunjukkan saya entri duplikat.

Ngomong-ngomong itu tidak terlalu buruk, itu hanya menunjukkan Anda bahwa Anda memiliki entri duplikat.

SourcesList

File sources.list adalah faktor kunci dalam menambah atau meningkatkan aplikasi ke instalasi Ubuntu Anda. Ini juga digunakan oleh sistem Anda untuk pembaruan sistem. File ini pada dasarnya adalah peta jalan bagi sistem Anda untuk mengetahui di mana ia dapat mengunduh program untuk instalasi atau peningkatan.

Sama seperti pembaruan Windows

Anda dapat menghapus entri duplikat dalam beberapa langkah mudah dengan 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

Terbuka y-ppa-manager bentuk Dash

Masukkan Kata Sandi Admin Anda

masukkan deskripsi gambar di sini

Klik dua kali pada Tingkat Lanjut

masukkan deskripsi gambar di sini

Pindai & Hapus Duplikat PPA & Klik OK

masukkan deskripsi gambar di sini

Ini akan memakan waktu (1 atau 2 Mint) Untuk Memindai & Menghapus Duplikat PPA

Qasim
sumber
2
Dalam kasus saya, Y PPA terus mengatakan tidak ada duplikat ditemukan. Saya membuat cadangan dari source.list menghapusnya, dan menjalankan sudo apt-get update untuk membuat ulang daftar sumber (ubuntu 12.04). Ini berhasil untuk saya.
michel.iamit
1
Bekerja untuk saya di Mint 17, terima kasih man!
spences10
Bekerja untuk saya di ubuntu 14.04..Terima kasih sobat .. :)
Rahul Singh
1
bekerja seperti pesona
vektor
1
Dalam kasus saya pada 14,04 ia terus mengatakan Tidak Ada Duplikat Ditemukan
Muhammad Omer Aslam
16

Repositori mitra digandakan di dalam /etc/apt/sources.listdan /etc/apt/sources.list.d/precise-partner.list.

Hapus saja file "mitra-tepat" tersebut karena repositori mitra sudah ada sources.list.

sudo rm /etc/apt/sources.list.d/precise-partner.*
Eric Carvalho
sumber
Saya mendapatkanrm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
Dennis
1
Coba sudo rm /etc/apt/sources.list.d/*partner*. Periksa juga /etc/apt/sources.list Anda, cari baris duplikat.
Eric Carvalho
Tidak beruntung, saya tidak punya file dengan "partner" dalam nama di direktori itu. Dan /etc/apt/sources.listtidak mengandung duplikat apa pun menurut uniq.
Dennis
10

Buat salinan cadangan dari sources.list Anda:

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

Sekarang hapus yang asli dan perbarui:

sudo rm /etc/apt/sources.list && sudo apt-get update
wojox
sumber
Bagaimana dia bisa memperbarui tanpa sources.listfile?
Anwar
Ini akan terisi kembali. =)
wojox
punyaku tidak terisi kembali
conman253
Kembalikan ke yang Anda cadangkan
wojox
Bagaimana cara saya kembali ke daftar yang didukung? penghapusan menghapus banyak hal penting ... ini sama sekali tidak aman ..
alvas
8

Saya memiliki masalah yang sama, sumber perangkat lunak terbuka. "Mitra Canonical" yang tidak dicentang. Konflik terjadi antara "Mitra Canonical" dan "Mitra Canonical yang Ditambahkan oleh Pusat Perangkat Lunak"

Amjed
sumber
7

Jika Anda tidak bisa mengetahuinya di Anda source.list, maka lakukan ini:

  1. Klik kiri pada ikon pengaturan (di sudut paling atas layar Anda) dan pilih Pengaturan Sistem.
  2. Klik pada Sumber Perangkat Lunak dan pindah ke Perangkat Lunak Lain.
  3. Hapus centang salah satu dari 'Mitra Canonical (Kode Sumber) -perangkat lunak yang dikemas oleh Canonical untuk file mitra mereka' dan salah satu dari 'Mitra Canon -software yang dikemas oleh Canonical untuk file mitra mereka juga dan klik Tutup untuk pergi.
  4. Secara bersamaan tekan tombol CTRL+ ALT+ Tuntuk membuka terminal dan mengetik sudo apt-get update.
all4naija
sumber
Saya mengikuti saran Anda, tetapi saya masih mendapatkan kesalahan ini.
hsinxh
Silakan, kirim gambar 'Sumber Perangkat Lunak' Anda di sini untuk mengetahui penyebabnya.
all4naija
Tolong, kirim gambar 'Perangkat Lunak Lain' Anda di sini.
all4naija
6

10.10 dan Sebelumnya

Aplikasi> Pusat Perangkat Lunak Ubuntu> Edit> Sumber Perangkat Lunak> Perangkat Lunak Lainnya

ATAU

Sistem> Administrasi> Manajer Paket Synaptic> Pengaturan> Gudang

Jendela konfigurasi Sumber Perangkat Lunak

Pilih dan Hapus entri duplikat.

Sid
sumber
5

Untuk Ubuntu 9,10 - 12,04

Ada aplikasi bernama Y-PPA-Manager yang dapat melakukan itu dan banyak lagi.

Anda dapat menginstalnya seperti itu dari Terminal:

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

Setelah itu, jalankan aplikasi dan masuk ke menu Advanced.

masukkan deskripsi gambar di sini

Kemudian pilih "Pindai dan hapus duplikat PPA" dan tekan OK.

masukkan deskripsi gambar di sini

lampu belakang
sumber
Ini alat yang keren tetapi tidak memperbaiki masalah. Saya melakukan pilihan ini dan setelah ini memiliki peringatan yang sama.
nazar_art
4

Sepertinya Anda memiliki dua baris yang identik dalam /etc/apt/sources.listfile Anda .

Pergi ke terminal, dan masukkan sudo editor /etc/apt/sources.list, lalu cari baris yang identik dalam file itu, dan jika Anda menemukannya, hapuslah. Setelah selesai, simpan dan keluar, lalu lakukan sudo apt-get updatedan itu akan menyelesaikan masalah Anda.

Jika itu tidak menyelesaikan masalah Anda, maka Anda harus menggunakan pendekatan coba-coba. Pertama, buat cadangan sources.listfile Anda , lalu dalam file aktual telusuri dan komentari atau hapus setiap baris, simpan dan apt-get update-in setelah setiap baris dikomentari atau dihapus. Menelusuri baris file ini demi baris, mengomentari baris yang berbeda pada akhirnya akan memberi tahu Anda baris mana yang paling berlebihan. Jangan lupa batalkan komentar pada baris yang Anda komentari jika apt-get updatemasih menampilkan prompt yang sama, jika tidak, Anda tidak akan memiliki sumber apa pun di sources.listfile Anda .

Jeff Welling
sumber
4

Saya mencari alat seperti itu, tetapi saya tidak menemukan ...
Jadi, saya akhirnya mengkodekan sendiri PHP.

Maaf untuk kode sumber kotor yang tidak terorganisir.

chkdup - Screenshot:

masukkan deskripsi gambar di sini

Penulis

Mubarak Alrashidi (DeaDSouL)

Persyaratan:

  1. PHP
  2. sudo.

Instalasi:

  1. Buka terminal.
  2. Untuk menginstal PHP jika Anda tidak memilikinya, ketik: sudo apt-get install php5 php5-cli.
  3. Unduh chkdup .
  4. Ekstrak file di mana saja Anda suka.
  5. Ketik: sudo sh install.sh.

Copot pemasangan:

  1. Buka terminal.
  2. Buka jalur tempat Anda mengekstrak alat.
  3. Ketik: sudo sh uninstall.sh.

Bagaimana cara menggunakannya:

Cukup buka terminal dan ketik sudo chkdup.

Tanya Jawab:

Apa yang dilakukan install.sh?

  • Pemasang akan memindahkan chkdup.phpuntuk /opt/kemudian akan membuat tautan simbolis /usr/bin/.

Bagaimana dengan uninstall.sh?

  • Penghapus instalasi akan menghapus file-file berikut:

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

Apakah aman menggunakan chkdup?

  • Ya itu, karena dibutuhkan cadangan dari sources.list saat ini sebelum mencoba melakukan apa pun. Tetapi saya tidak bertanggung jawab jika terjadi sesuatu. Tanggung jawab penuh akan menjadi milik Anda.

Lisensi

Lisensi Publik Umum GNU

Jiwa yang mati
sumber
baru saja mencobanya, bagus dan sederhana :-) bagus :-)
bmbaker
3

Apakah kamu memeriksa ls /etc/apt/sources.list.d/? Mungkin Anda memiliki beberapa repositori "ekstra" di sana?

koni_raid
sumber
2

Instal ubuntu-tweak dan hapus entri duplikat dari sana.

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

teks alternatif

karthick87
sumber
Ini tidak mengatakan bagaimana melakukannya.
RolandiXor
1

Tidak, tidak ada baris perintah tunggal untuk menemukan dan menghapus entri yang digandakan dalam /etc/apt/sources.listfile.

Ini karena baris perintah yang disarankan, yang hanya menduplikasi fungsi uniqperintah built-in yang lebih sederhana , hanya akan bekerja pada file SORTED dan hanya akan menghapus baris ADJACENT. Selain itu, perintah-perintah itu hanya akan menghapus baris yang terdiri dari serangkaian karakter yang identik .

Entri duplikat yang dilaporkan oleh apt-get updateakan terdiri dari entri fungsi duplikat , seperti repositori yang disertakan dalam variannya i386dan amd64. Cara mudah dan efektif untuk menghapus ini adalah untuk mencatat repositori mana yang dilaporkan sebagai duplikat oleh pembaruan apt-get dan menghapusnya melalui Pusat Perangkat Lunak . Buka dan pilih Edit -> Sumber Perangkat Lunak -> tab Perangkat Lunak Lainnya . Cukup cari entri duplikat dan hapus centang. (Ini juga merupakan kesempatan untuk menghapus semua source-coderepositori jika Anda tidak menyusun paket).

Namun, perlu dicatat bahwa apt-get updatetidak hanya menemukan entri duplikat melalui sources.list, tetapi termasuk file repositori yang terletak di /var/lib/apt/lists/. Menghapus entri duplikat dari sana hanya akan menghapus sementara apt-get updatepesan kesalahan jika Ubuntu merasa perlu, karena file akan diinstal ulang secara otomatis. Fakta yang apt-get updateakan melaporkan beberapa repositori sebagai duplikat, dan kemudian menyarankan bahwa Anda menjalankan apt-get updatesendiri untuk memperbaikinya, adalah petunjuk bahwa Anda benar-benar tidak perlu khawatir tentang pesan kesalahan itu.

Smarteralec
sumber
1

Dalam kasus saya, duplikatnya ada di prerequists-sources.listfile. Saya dapat melanjutkan upgrade dengan menjalankan perintah berikut di Terminal:

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

Lalu pergi ke Update Managerdan instal pembaruan.

Mathijs Sterk
sumber
Pindah ke / tmp tidak perlu. Mengganti nama menjadi sesuatu yang tidak berakhir .listsudah cukup
Daniel Alder
1

Yah, saya memecahkan sendiri masalah Duplicate Entry dengan mengganti nama /etc/apt/sources.d(sebagai root) ke sesuatu yang lain dan berjalan sudo apt-get updateuntuk membangun kembali direktori dan isinya.

Seann
sumber
1

Pergi /etc/apt/sources.listsecara manual sudo nano /etc/apt/sources.listdan menghapus duplikat. Setelah itu apt-get update, masalah terpecahkan.

Anderverhaal
sumber
1

Di dalam /etc/apt/sources.listAnda harus mengomentari (menambahkan #di awal baris) entri repositori duplikat dan menyimpan perubahan. Setelah itu ulangi sudo apt-get update.

Snorri
sumber
1

Gunakan Generator Daftar Sumber Ubuntu .

  • Jalankan sudo -H nautilusdi terminal
  • Temukan /etc/apt/sources.list
  • Klik kanan dan buka file dengan editor teks (jika Anda mengkliknya, itu akan membuka sumber perangkat lunak GUI)
  • Cukup salin dan tempel ke dalam sources.listdan simpan.
  • Keluar dari terminal dan Anda selesai.

Google tampaknya memiliki masalah, jadi saya sarankan untuk tidak melakukannya. Saya telah melakukan ini di Ubuntu 12.10 (versi Studio dengan desktop Ubuntu ditambahkan dan Unity untuk desktop masuk lain).

studi banding
sumber
1

Cukup edit file /etc/apt/sources.list(misalnya digunakan sudo -H gedit /etc/apt/sources.list) dan hapus baris duplikat atau letakkan #di awal baris.

Micha
sumber
1

Saya mencoba untuk menyelesaikan kemungkinan yang ditawarkan dari pengguna lain menggunakan terminal, karena itulah yang Anda tanyakan, terutama:

login jika Anda menggunakan instalasi berbasis teks atau tekan Alt+ F2dan ketik gnome-terminal jika Anda menggunakan GUI

Kemudian ketik

sudo nano /etc/apt/sources.list

(Untuk memahami lebih baik: di direktori /etcAnda dapat menemukan (hampir) semua file konfigurasi komputer Anda dan di aptdirektori Anda menemukan souces.listfile yang berisi semua repositori yang digunakan APT untuk memperbarui atau menginstal dan meningkatkan perangkat lunak)

Edit file yang dihapus atau dikomentari dengan #di awal baris setiap baris duplikat.

Tekan Ctrl+ Xuntuk keluar dan tekan yuntuk menyimpan file (atau nuntuk keluar tanpa menyimpan).

Kemudian perbarui untuk melihat apakah Anda telah memperbaikinya:

sudo apt-get update

Selamat bersenang-senang!

Pitto
sumber
Saya juga berpikir bahwa editor teks berevolusi seperti vim dapat secara otomatis menemukan duplikat, tetapi saya tidak tahu bagaimana melakukan itu semua jenis info akan menarik
Pitto
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

* Jeda baris dimasukkan untuk dibaca.

Tony Saratonev
sumber
2
Tolong jelaskan jawabannya atau risikonya dihapus.
jokerdino
Selamat Datang di Tanya Ubuntu! Seperti yang ditunjukkan jokerdino, jawaban ini akan bermanfaat secara substansial, jika Anda mengeditnya untuk menambahkan beberapa penjelasan (atau setidaknya untuk memberi tahu pengguna apa yang harus dilakukan dengan garis-garis ini).
Eliah Kagan
Jawaban ini salah karena mungkin menghapus entri duplikat tetapi tidak menghapus entri sumber duplikat . lihat di sini untuk penjelasan
Anwar
0

Jalankan yang berikut untuk menghapus duplikat

cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list  
Stormvirux
sumber
info lebih lanjut tentang ini tolong
0

Dalam kasus 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)

Buka: sources.list.d

rm google.list

jadi hanya google-chrome.listtersisa

Stevie G
sumber
0

Ini adalah pekerjaan yang tepat untuk uniqmenghilangkan baris duplikat dan hanya mencetak entri unik, sehingga kami dapat mengambil output uniqdan mengganti file lama dengan uniqoutput:

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list
Sergiy Kolodyazhnyy
sumber
1
uniqmembutuhkan input yang diurutkan.
muru
sort -umelakukan pekerjaan yang sama =)
AB