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 deb
dan deb-src
. deb
berarti repositori biner di mana deb-src
berarti 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
, multiverse
dan 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.list
memiliki 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.list
file Anda , saya menemukan bahwa, Ini adalah file dasar yang disediakan oleh Ubuntu secara default. Anda dapat membuat file default mengikuti prosedur:
Buka terminal dan pertama ganti nama sources.list
file yang ada ke sources.list.bak
file. (kita bisa menghapusnya dengan aman, tapi hati-hati itu baik).
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
Kemudian buka software-properties-gtk
untuk 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 gksu
sebelum software-properties-gtk
perintah
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.list
file default tanpa kesalahan. Bandingkan file ini dengan yang sebelumnya, jika Anda mau.
Perbarui untuk menangani sources.list.d
file dir
Terkadang entri duplikat dapat berada dalam file di /etc/apt/sources.list.d
direktori, 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.com
di /etc/apt/sources.list
file 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.list
dan google.list
kandidat 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.list
hanya berisi satu baris apt dan juga tercantum dalam google.list
file, kita dapat menghapus file ini dengan aman dengan perintah
sudo rm /etc/apt/sources.list.d/google-chrome.list
Kemudian masalah terpecahkan.
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".Jika Anda memerlukan opsi baris perintah, ini dia:
Perintah melakukan ini:
cat
membaca file dan meneruskan kontenperl
yang menghapus garis duplikat. Hasilnya kemudian disimpan>
dalam file sementara yang kemudian dipindahkan untuk mengganti/etc/apt/sources.list
file asli .sumber
sudo apt-get update
masih mengeluh tentang entri duplikat seolah-olah tidak ada yang berubah. Jika itu penting, saya di 12,04 (khusus, OS OS dasar).cat
tidak berguna dan mencegah Anda menggunakansudo perl -i
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
Terbuka y-ppa-manager bentuk Dash
sumber
Repositori mitra digandakan di dalam
/etc/apt/sources.list
dan/etc/apt/sources.list.d/precise-partner.list
.Hapus saja file "mitra-tepat" tersebut karena repositori mitra sudah ada
sources.list
.sumber
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. Periksa juga /etc/apt/sources.list Anda, cari baris duplikat./etc/apt/sources.list
tidak mengandung duplikat apa pun menurutuniq
.Buat salinan cadangan dari sources.list Anda:
Sekarang hapus yang asli dan perbarui:
sumber
sources.list
file?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"
sumber
Jika Anda tidak bisa mengetahuinya di Anda
source.list
, maka lakukan ini:sudo apt-get update
.sumber
10.10 dan Sebelumnya
Aplikasi> Pusat Perangkat Lunak Ubuntu> Edit> Sumber Perangkat Lunak> Perangkat Lunak Lainnya
ATAU
Sistem> Administrasi> Manajer Paket Synaptic> Pengaturan> Gudang
Pilih dan Hapus entri duplikat.
sumber
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:
Setelah itu, jalankan aplikasi dan masuk ke menu Advanced.
Kemudian pilih "Pindai dan hapus duplikat PPA" dan tekan OK.
sumber
Sepertinya Anda memiliki dua baris yang identik dalam
/etc/apt/sources.list
file 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 lakukansudo apt-get update
dan itu akan menyelesaikan masalah Anda.Jika itu tidak menyelesaikan masalah Anda, maka Anda harus menggunakan pendekatan coba-coba. Pertama, buat cadangan
sources.list
file Anda , lalu dalam file aktual telusuri dan komentari atau hapus setiap baris, simpan danapt-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 jikaapt-get update
masih menampilkan prompt yang sama, jika tidak, Anda tidak akan memiliki sumber apa pun disources.list
file Anda .sumber
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:
Penulis
Mubarak Alrashidi (DeaDSouL)
Persyaratan:
Instalasi:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Copot pemasangan:
sudo sh uninstall.sh
.Bagaimana cara menggunakannya:
Cukup buka terminal dan ketik
sudo chkdup
.Tanya Jawab:
Apa yang dilakukan install.sh?
chkdup.php
untuk/opt/
kemudian akan membuat tautan simbolis/usr/bin/
.Bagaimana dengan uninstall.sh?
Penghapus instalasi akan menghapus file-file berikut:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
Apakah aman menggunakan chkdup?
Lisensi
Lisensi Publik Umum GNU
sumber
Apakah kamu memeriksa
ls /etc/apt/sources.list.d/
? Mungkin Anda memiliki beberapa repositori "ekstra" di sana?sumber
Instal ubuntu-tweak dan hapus entri duplikat dari sana.
sumber
Tidak, tidak ada baris perintah tunggal untuk menemukan dan menghapus entri yang digandakan dalam
/etc/apt/sources.list
file.Ini karena baris perintah yang disarankan, yang hanya menduplikasi fungsi
uniq
perintah 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 update
akan terdiri dari entri fungsi duplikat , seperti repositori yang disertakan dalam variannyai386
danamd64
. 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 semuasource-code
repositori jika Anda tidak menyusun paket).Namun, perlu dicatat bahwa
apt-get update
tidak hanya menemukan entri duplikat melaluisources.list
, tetapi termasuk file repositori yang terletak di/var/lib/apt/lists/
. Menghapus entri duplikat dari sana hanya akan menghapus sementaraapt-get update
pesan kesalahan jika Ubuntu merasa perlu, karena file akan diinstal ulang secara otomatis. Fakta yangapt-get update
akan melaporkan beberapa repositori sebagai duplikat, dan kemudian menyarankan bahwa Anda menjalankanapt-get update
sendiri untuk memperbaikinya, adalah petunjuk bahwa Anda benar-benar tidak perlu khawatir tentang pesan kesalahan itu.sumber
Dalam kasus saya, duplikatnya ada di
prerequists-sources.list
file. Saya dapat melanjutkan upgrade dengan menjalankan perintah berikut di Terminal:Lalu pergi ke
Update Manager
dan instal pembaruan.sumber
.list
sudah cukupYah, saya memecahkan sendiri masalah Duplicate Entry dengan mengganti nama
/etc/apt/sources.d
(sebagai root) ke sesuatu yang lain dan berjalansudo apt-get update
untuk membangun kembali direktori dan isinya.sumber
Pergi
/etc/apt/sources.list
secara manualsudo nano /etc/apt/sources.list
dan menghapus duplikat. Setelah ituapt-get update
, masalah terpecahkan.sumber
Di dalam
/etc/apt/sources.list
Anda harus mengomentari (menambahkan#
di awal baris) entri repositori duplikat dan menyimpan perubahan. Setelah itu ulangisudo apt-get update
.sumber
Gunakan Generator Daftar Sumber Ubuntu .
sudo -H nautilus
di terminal/etc/apt/sources.list
sources.list
dan simpan.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).
sumber
Cukup edit file
/etc/apt/sources.list
(misalnya digunakansudo -H gedit /etc/apt/sources.list
) dan hapus baris duplikat atau letakkan#
di awal baris.sumber
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
(Untuk memahami lebih baik: di direktori
/etc
Anda dapat menemukan (hampir) semua file konfigurasi komputer Anda dan diapt
direktori Anda menemukansouces.list
file 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:
Selamat bersenang-senang!
sumber
* Jeda baris dimasukkan untuk dibaca.
sumber
Jalankan yang berikut untuk menghapus duplikat
sumber
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.list
tersisasumber
Ini adalah pekerjaan yang tepat untuk
uniq
menghilangkan baris duplikat dan hanya mencetak entri unik, sehingga kami dapat mengambil outputuniq
dan mengganti file lama denganuniq
output:sumber
uniq
membutuhkan input yang diurutkan.sort -u
melakukan pekerjaan yang sama =)