วิธีการแก้ไข“ W: รายการแหล่งที่มา. รายการซ้ำ”


190

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

ด้านล่างเป็นผลลัพธ์จาก/etc/apt/sources.listไฟล์:

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

ฉันจะแก้ไขได้อย่างไร

คำตอบ:


229

รายการแหล่งที่มาของคุณมีรายการที่ซ้ำกันจริงๆ

ก่อนอื่นมาดูรูปแบบที่ถูกต้องของที่เก็บบรรทัดหรือบรรทัดที่มา:

รูปแบบที่ถูกต้องของบรรทัดซอร์สของที่เก็บคือ

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

ตัวอย่างเช่นสายซื้อคืนสามารถเป็นเช่นนี้

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

ที่นี่หมายถึงที่เก็บเป็นแพ็คเกจไบนารีซึ่งโฮสต์ในhttp://archive.ubuntu.com/ubuntuและที่เก็บนี้มีไว้สำหรับ Ubuntu ที่แม่นยำ (12.04) และที่เก็บนี้ประกอบด้วยหลัก (ซอฟต์แวร์ที่สนับสนุนอย่างเป็นทางการโดย ส่วนประกอบของ Canonical)

  • ประเภท:ประเภทสามารถและdeb หมายถึงที่เก็บแบบไบนารีที่หมายถึงที่เก็บข้อมูลที่มาdeb-srcdebdeb-src

  • ที่ตั้ง: http://archive.ubuntu.com/ubuntuที่ตั้งของที่เก็บ

  • Dist-name: ชื่อการแจกจ่ายของ Ubuntu ที่วางจำหน่าย สำหรับ Ubuntu 12.04 มันเป็นprecise, 11.10 oneiricมันเป็น
    คุณสามารถไปที่อูบุนตูวิกิพีเดียเพื่อดูการปรับปรุงรายการของการเผยแพร่ Ubuntu และชื่อรหัสของพวกเขา

  • ตัวแทน:มันอาจจะเป็นmain, universe, และmultiverse restrictedคำเหล่านี้ระบุระดับการสนับสนุนสำหรับแพ็คเกจและสถานะการออกใบอนุญาต

ดูหน้านี้สำหรับข้อมูลเพิ่มเติม

โปรดทราบว่าคุณสามารถเพิ่มหนึ่งหรือมากกว่าหนึ่งองค์ประกอบในบรรทัดดังนั้น "หลัก", "จักรวาล", "จำกัด " และ "ลิขสิทธิ์" สามารถอยู่ในบรรทัดเดียว โปรดทราบว่าแม้ว่าคุณจะเพิ่มมากกว่าหนึ่งองค์ประกอบในหนึ่งบรรทัดระบบ APT จะถือว่าพวกเขาเป็นบรรทัดแยกที่มีเพียงองค์ประกอบเดียว

ดังนั้นหากคุณsources.listมีสายเช่นนี้

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

จากนั้นจะไม่มีบรรทัดอื่นเช่นด้านล่าง (ไฟล์ของคุณมี)

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

ซึ่งเทียบเท่ากับสองบรรทัดนี้

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

เพราะคุณกำลังทำซ้ำจักรวาลสองครั้งดังนั้นจะมีข้อผิดพลาดสำหรับการทำซ้ำนั้น จะได้รับข้อผิดพลาดสำหรับการทำซ้ำแต่ละครั้งที่พบ

วิธีการแก้:

หลังจากวิเคราะห์sources.listไฟล์ของคุณแล้วฉันพบว่ามันเป็นไฟล์พื้นฐานที่ Ubuntu ให้มาเป็นค่าเริ่มต้น คุณสามารถสร้างไฟล์เริ่มต้นโดยทำตามขั้นตอน:

  1. เปิดเทอร์มินัลและเปลี่ยนชื่อsources.listไฟล์ที่มีอยู่เป็นsources.list.bakไฟล์แรก (เราสามารถลบออกได้อย่างปลอดภัย แต่ข้อควรระวังนั้นดี)

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. จากนั้นเปิดsoftware-properties-gtkเพื่อสร้างใหม่ พิมพ์คำสั่งด้านล่างในเทอร์มินัลหรือในพรอมต์คำสั่งเส้นประด้วยการกดAlt+F2

    software-properties-gtk
    

    หมายเหตุสำหรับ Ubuntu รุ่น 11.10 ขึ้นไปคุณต้องใช้gksuก่อนหน้าsoftware-properties-gtkคำสั่ง

  3. หลังจากหน้าต่างเปิดขึ้น

    • เลือกทั้งสี่หมวดหมู่ในแท็บซอฟต์แวร์ของ Ubuntu
    • เลือก การรักษาความปลอดภัยได้อย่างแม่นยำ , ความแม่นยำการอัปเดตและแม่นยำ backportsประเภทในการปรับปรุงแท็บ
    • เลือกพันธมิตร Canonicalและหมวดหมู่อิสระจากแท็บซอฟต์แวร์อื่น ๆ

แค่นั้นแหละ. ตอนนี้คุณมีsources.listไฟล์เริ่มต้นโดยไม่มีข้อผิดพลาด เปรียบเทียบไฟล์นี้กับไฟล์ก่อนหน้าหากคุณต้องการ


อัปเดตเพื่อจัดการกับsources.list.dไฟล์ของ dir

บางครั้งรายการที่ซ้ำกันอาจอยู่ในไฟล์ใน/etc/apt/sources.list.dไดเรกทอรีซึ่ง APT ใช้เช่นกัน ดังนั้นคุณควรดูที่ไดเรกทอรีนั้นและดูว่ามีซ้ำกันในไฟล์เหล่านั้น ไม่จำเป็นสำหรับการทำซ้ำที่อยู่ในไฟล์เดียวกัน

กรณีตัวอย่าง:

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

แต่ไม่มีรายการhttp://dl.google.comใน/etc/apt/sources.listไฟล์หลัก มองไปที่/etc/apt/sources.list.d/ไดเรกทอรีเราพบไฟล์เหล่านี้:

ผลลัพธ์ของ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

ไฟล์google-chrome.listและgoogle.listเป็นตัวเลือกที่ดีในการบรรจุรายการที่ซ้ำกัน ดังนั้นการตรวจสอบเนื้อหาของไฟล์ทั้งสองจึงมีความจำเป็น

ผลลัพธ์ของcat /etc/apt/sources.list.d/google-chrome.list:

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

และจาก cat /etc/apt/sources.list.d/google.list

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

ดังนั้นจึงมีรายการซ้ำในแหล่งที่มาของ Apt เนื่องจากgoogle-chrome.listมีเพียงบรรทัด apt เพียงเส้นเดียวและมีการระบุไว้ในgoogle.listไฟล์เราจึงสามารถลบไฟล์นี้ได้อย่างปลอดภัยด้วยคำสั่ง

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

จากนั้นปัญหาได้รับการแก้ไข


5
ฉันต้องทำอย่างไรเพื่อให้ตนเองมีรายการที่ซ้ำกันในแหล่งที่มาของฉัน list.d
Seanny123

@ Seanny123 นั่นยากที่จะพูด
Anwar

1
ขอบคุณมาก. ฉันสงสัยหลายชั่วโมงว่าการซ้ำซ้อนเกิดขึ้นได้อย่างไร ในที่สุดคุณก็แสดงแหล่งที่มา
listlist

1
คำตอบที่ดีและทั่วถึง ในการอัปเดตของคุณเพื่อจัดการกับซอร์สไฟล์ dlistคุณต้องอธิบายว่าไฟล์ / สายใดให้ข้อมูลซ้ำกัน คุณสามารถอธิบายว่าคู่สายใดมี 6 คู่ (เนื่องจากคุณบอกว่า "ไฟล์ของคุณมี 6 รายการซ้ำกัน") ใน OP ที่ให้ข้อมูลซ้ำ
sancho.s

1
คำแนะนำในการตรวจสอบแหล่งที่มาของฉัน list.d คือสิ่งที่ช่วยฉันแก้ไขปัญหานี้
lcarsos

80

สำหรับ Ubuntu 12.04

กราฟิก:

กดAlt+ F2และวางsoftware-properties-gtk(หรือคุณสามารถเปิด "ศูนย์ซอฟต์แวร์" จากนั้นไปที่ "แก้ไข"> "แหล่งที่มาของซอฟต์แวร์") ไปที่แท็บ "ซอฟต์แวร์อื่น ๆ " เลือกรายการที่ซ้ำกันและกดปุ่ม "ลบ"

ป้อนคำอธิบายรูปภาพที่นี่


หากคุณต้องการตัวเลือกบรรทัดคำสั่งนี่คือ:

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

คำสั่งทำสิ่งนี้:

catอ่านไฟล์และส่งเนื้อหาperlที่ลบบรรทัดที่ซ้ำกัน ผลลัพธ์จะถูกบันทึก>ในไฟล์ชั่วคราวซึ่งจะถูกย้ายไปแทนที่/etc/apt/sources.listไฟล์ต้นฉบับ


2
วิธีแก้ไขโดยไม่สับสนและรายละเอียดที่ลึกเกินไป ขอขอบคุณ!
Peter M.

มันใช้งานได้จริง! ไม่สามารถติดตั้ง git ด้วยเหตุผลบางประการได้ 12.04 แทนที่จะลบฉันเพิ่งตรวจสอบซ้ำ "พันธมิตร Canonical" ที่ชัดเจน
davidkonrad

3
ฉันใช้งานสายการบินเดียว แต่sudo apt-get updateยังคงบ่นเกี่ยวกับรายการที่ซ้ำกันราวกับว่าไม่มีอะไรเปลี่ยนแปลง ถ้าเป็นเรื่องสำคัญฉันอยู่ที่ 12.04 (โดยเฉพาะระบบปฏิบัติการระดับประถมศึกษา Luna)
waldyrious

catจะไร้ประโยชน์และป้องกันคุณจากการใช้sudo perl -i
tripleee

24

รายการที่ซ้ำกันในแหล่งที่มาเลวร้ายเพียงใด

ฉันไม่รู้ว่ามันแย่แค่ไหน แต่ฉันไม่ชอบการอัพเดต sudo apt-get updateแสดงรายการซ้ำกัน

โดยวิธีการที่ไม่เลวมันเพียงแสดงให้คุณเห็นว่าคุณมีรายการที่ซ้ำกัน

SourcesList

ไฟล์ source.list เป็นปัจจัยสำคัญในการเพิ่มหรืออัปเกรดแอปพลิเคชั่นไปยังการติดตั้ง Ubuntu ของคุณ ระบบของคุณใช้สำหรับการอัปเดตระบบ ไฟล์นั้นเป็นโรดแมพสำหรับระบบของคุณที่จะรู้ว่ามันสามารถดาวน์โหลดโปรแกรมเพื่อติดตั้งหรืออัพเกรดได้ที่ไหน

มันเหมือนกับการอัพเดทของ Windows

คุณสามารถลบรายการที่ซ้ำกันในไม่กี่ขั้นตอนง่ายๆด้วย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

เปิดY-ppa ผู้จัดการรูปแบบDash

ป้อนรหัสผ่านผู้ดูแลระบบของคุณ

ป้อนคำอธิบายรูปภาพที่นี่

ดับเบิลคลิกที่ขั้นสูง

ป้อนคำอธิบายรูปภาพที่นี่

สแกนและลบ PPA ที่ซ้ำกันและคลิกตกลง

ป้อนคำอธิบายรูปภาพที่นี่

จะใช้เวลาสักครู่ (1 หรือ 2 Mints) ในการสแกนและลบ PPA ที่ซ้ำกัน


2
ในกรณีของฉัน Y PPA ยังคงบอกว่าไม่พบรายการที่ซ้ำกัน ฉันทำสำเนาสำรองของ source.list เอาออกและรัน sudo apt-get update เพื่อสร้างรายการแหล่งที่มาใหม่ (ubuntu 12.04) สิ่งนี้ใช้ได้สำหรับฉัน
michel.iamit

1
ทำงานให้ฉันเมื่อวันที่ 17 มิ้นขอบคุณคน!
spences10

ทำงานให้ฉันใน Ubuntu 14.04 .. ขอบคุณเพื่อน .. :)
Rahul Singh

1
ทำงานเหมือนเครื่องราง
เวกเตอร์

1
ในกรณีของฉันที่ 14.04 มันจะบอกว่า ไม่พบซ้ำ
Muhammad Omer Aslam

16

พื้นที่เก็บข้อมูลพันธมิตรซ้ำภายในและ/etc/apt/sources.list/etc/apt/sources.list.d/precise-partner.list

เพียง แต่เอาบรรดา "แม่นยำพันธมิตร" sources.listไฟล์เป็นพื้นที่เก็บข้อมูลคู่ค้าที่มีอยู่แล้วในปัจจุบัน

sudo rm /etc/apt/sources.list.d/precise-partner.*

ฉันจะได้รับrm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
Dennis

1
ลองsudo rm /etc/apt/sources.list.d/*partner*ดู ตรวจสอบ /etc/apt/sources.list ของคุณค้นหาบรรทัดที่ซ้ำกัน
Eric Carvalho

ไม่มีโชคฉันไม่มีไฟล์ที่มี "พันธมิตร" ในชื่อในไดเรกทอรีนั้น และ/etc/apt/sources.listไม่ได้มีซ้ำกันใด ๆ uniqตาม
Dennis

10

ทำสำเนาสำรองของแหล่งที่มาของคุณรายการ:

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

ตอนนี้ลบต้นฉบับและอัปเดต:

sudo rm /etc/apt/sources.list && sudo apt-get update

เขาจะอัปเดตโดยไม่มีsources.listไฟล์ได้อย่างไร
Anwar

มันจะ repopulate =)
wojox

ฉันไม่ได้ repopulate
conman253

ย้อนกลับไปเป็นภาพที่คุณสำรองไว้
wojox

ฉันจะเปลี่ยนกลับไปเป็นรายการสำรองได้อย่างไร กำจัดออกจำนวนมากของสิ่งที่สำคัญ ... นี้โดยสิ้นเชิงไม่ปลอดภัย ..
alvas

8

ฉันมีปัญหาเดียวกันแหล่งซอฟต์แวร์แบบเปิด ไม่ได้ทำเครื่องหมาย "Canonical Partners" ความขัดแย้งอยู่ระหว่าง "พันธมิตร Canonical" และ "พันธมิตร Canonical ที่เพิ่มโดยศูนย์ซอฟต์แวร์"


7

หากคุณไม่สามารถคิดออกมาได้source.listให้ทำสิ่งนี้:

  1. คลิกซ้ายที่ไอคอนการตั้งค่า (ที่มุมบนสุดของหน้าจอ) และเลือกการตั้งค่าระบบ
  2. คลิกที่ Software Sources และไปที่ Software อื่น
  3. ยกเลิกการเลือกหนึ่งใน 'Canonical Partners (ซอร์สโค้ด) - ซอฟต์แวร์ที่แพคเกจโดย Canonical สำหรับไฟล์ของพวกเขา' และหนึ่งใน 'Canonical Partners - ซอฟต์แวร์ที่จัดทำโดย Canonical สำหรับไฟล์ของพันธมิตรและคลิกที่ปิดเพื่อออก
  4. พร้อมกันกดCTRL+ ALT+ Tกุญแจที่จะเปิด terminal sudo apt-get updateและประเภท

ฉันทำตามคำแนะนำของคุณแล้ว แต่ฉันยังคงได้รับข้อผิดพลาดนี้อยู่
hsinxh

กรุณาโพสต์ภาพของ 'แหล่งซอฟแวร์' ของคุณที่นี่เพื่อทราบผู้กระทำผิด
all4naija

กรุณาโพสต์ภาพของ 'ซอฟต์แวร์อื่น' ของคุณที่นี่
all4naija

6

10.10 และก่อนหน้านี้

แอปพลิเคชั่น> ศูนย์ซอฟต์แวร์ Ubuntu> แก้ไข> แหล่งซอฟต์แวร์> ซอฟต์แวร์อื่น ๆ

หรือ

ระบบ> การดูแลระบบ> Synaptic Packet Manager> การตั้งค่า> ที่เก็บ

หน้าต่างปรับแต่งซอฟต์แวร์ที่มา

เลือกและลบรายการที่ซ้ำกัน


5

สำหรับ Ubuntu 9.10 - 12.04

มีแอพที่เรียกว่า Y-PPA-Manager ซึ่งสามารถทำได้และอีกมากมาย

คุณสามารถติดตั้งได้จาก Terminal:

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

หลังจากนั้นเพียงเริ่มต้นแอปพลิเคชันและไปที่เมนูขั้นสูง

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นเลือก "สแกนและลบ PPA ที่ซ้ำกัน" แล้วกดตกลง

ป้อนคำอธิบายรูปภาพที่นี่


มันเป็นเครื่องมือเจ๋ง ๆ แต่ก็ไม่ได้แก้ปัญหา ฉันเลือกและหลังจากนี้ก็มีคำเตือนเหมือนกัน
nazar_art

4

ดูเหมือนว่าคุณมีสองบรรทัดเหมือนกันใน/etc/apt/sources.listไฟล์ของคุณ

ไปที่เทอร์มินัลแล้วป้อนsudo editor /etc/apt/sources.listจากนั้นค้นหาบรรทัดที่เหมือนกันในไฟล์นั้นและหากคุณพบให้ลบออก หลังจากเสร็จสิ้นให้บันทึกและออกจากนั้นทำsudo apt-get updateและควรแก้ไขปัญหาของคุณ

หากยังไม่สามารถแก้ปัญหาของคุณได้คุณจะต้องใช้วิธีการทดลองและข้อผิดพลาด ขั้นแรกให้สร้างการสำรองข้อมูลsources.listไฟล์ของคุณจากนั้นในไฟล์จริงจะผ่านและออกความคิดเห็นหรือลบแต่ละบรรทัดบันทึกและapt-get update-ing หลังจากแต่ละบรรทัดได้รับการแสดงความคิดเห็นหรือลบออก การผ่านบรรทัดไฟล์นี้โดยการคอมเม้นท์บรรทัดต่าง ๆ ในที่สุดจะบอกคุณว่าบรรทัดไหนที่ไม่จำเป็น อย่าลืมที่จะapt-get updateใส่เครื่องหมายข้อคิดเห็นในบรรทัดใด ๆ ที่คุณแสดงความคิดเห็นหากยังคงแสดงพรอมต์เดียวกันมิฉะนั้นคุณจะถูกทิ้งไว้โดยไม่มีแหล่งที่มาในsources.listไฟล์ของคุณ


4

ผมค้นหาเครื่องมือดังกล่าว แต่ฉันไม่พบใด ๆ ... ดังนั้นฉันจึงจบลงด้วยการเข้ารหัสหนึ่งตัวเองด้วย
PHP

ขออภัยสำหรับซอร์สโค้ดที่ไม่มีการจัดระเบียบที่สกปรก

chkdup - ภาพหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่

ผู้เขียน

Mubarak Alrashidi (DeaDSouL)

ที่ต้องการ:

  1. PHP
  2. sudo

การติดตั้ง:

  1. เปิดเครื่อง
  2. การติดตั้ง PHP sudo apt-get install php5 php5-cliถ้าคุณยังไม่ได้พิมพ์:
  3. ดาวน์โหลดchkdup
  4. แตกไฟล์ได้ทุกที่ที่คุณต้องการ
  5. ประเภท: sudo sh install.sh.

ถอนการติดตั้ง:

  1. เปิดเครื่อง
  2. ไปที่เส้นทางที่คุณคลายเครื่องมือ
  3. ประเภท: sudo sh uninstall.sh.

วิธีใช้งาน:

เพียงแค่เปิด terminal sudo chkdupและพิมพ์

คำถามที่พบบ่อย:

install.sh ทำอะไรได้บ้าง

  • โปรแกรมติดตั้งจะย้ายchkdup.phpไปแล้วจะสร้างการเชื่อมโยงสัญลักษณ์ใน/opt//usr/bin/

สิ่งที่เกี่ยวกับ uninstall.sh

  • โปรแกรมถอนการติดตั้งจะลบไฟล์ต่อไปนี้:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. ตัวเอง uninstall.sh

การใช้ chkdup ปลอดภัยหรือไม่?

  • ใช่มันเป็นเพราะใช้การสำรองข้อมูลของแหล่งที่มาปัจจุบันรายการก่อนที่จะพยายามทำอะไร แต่ฉันจะไม่รับผิดชอบหากมีอะไรเกิดขึ้น ความรับผิดชอบเต็มที่จะเป็นของคุณ

การอนุญาต

สัญญาอนุญาตสาธารณะทั่วไปของกนู


แค่ลองใช้ดูดีและเรียบง่าย :-) nice :-)
bmbaker

3

คุณตรวจสอบls /etc/apt/sources.list.d/ไหม บางทีคุณอาจมีที่เก็บ "พิเศษ" อยู่ในนั้นบ้าง


2

ติดตั้ง ubuntu-tweak และลบรายการที่ซ้ำกันออกจากที่นั่น

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

ข้อความแสดงแทน


สิ่งนี้ไม่ได้บอกว่าจะทำอย่างไร
RolandiXor

1

ไม่ไม่มีบรรทัดคำสั่งเดียวในการค้นหาและลบรายการที่ซ้ำกันใน/etc/apt/sources.listไฟล์

นี่เป็นเพราะบรรทัดคำสั่งที่แนะนำซึ่งเพียงทำซ้ำฟังก์ชั่นของuniqคำสั่งในตัวที่ง่ายกว่ามากจะทำงานกับไฟล์ SORTED เท่านั้นและจะลบบรรทัด ADJACENT เท่านั้น นอกจากนี้คำสั่งเหล่านั้นจะลบบรรทัดที่ประกอบด้วยสตริงอักขระที่เหมือนกันเท่านั้น

รายการซ้ำที่รายงานโดยapt-get updateจะประกอบด้วยรายการฟังก์ชันที่ซ้ำกันเช่นที่เก็บข้อมูลที่รวมอยู่ในทั้งสองรายการi386และชุดตัวamd64เลือก วิธีที่ง่ายและมีประสิทธิภาพในการลบเหล่านี้เป็นสิ่งที่จะต้องทราบที่เก็บจะมีการรายงานว่าซ้ำโดยการปรับปรุง apt-get และลบออกผ่านทางศูนย์ซอฟแวร์ เปิดและเลือกแก้ไข -> แหล่งที่มาของซอฟแวร์ -> แท็บซอฟแวร์อื่นเพียงมองหารายการที่ซ้ำกันและยกเลิกการเลือก (นี่เป็นโอกาสที่จะลบที่source-codeเก็บใด ๆหากคุณไม่ได้รวบรวมแพ็คเกจ)

แต่ก็ควรจะตั้งข้อสังเกตว่าapt-get updateไม่เพียง แต่หารายการที่ซ้ำกันผ่านแต่รวมถึงไฟล์ที่เก็บอยู่ในsources.list /var/lib/apt/lists/การลบรายการที่ซ้ำกันออกจากที่นั่นจะเป็นการลบapt-get updateข้อความแสดงข้อผิดพลาดชั่วคราวหาก Ubuntu คิดว่าจำเป็นเท่านั้นเนื่องจากไฟล์จะถูกติดตั้งใหม่โดยอัตโนมัติ ความจริงที่ว่าapt-get updateจะรายงานที่เก็บบางรายการเป็นข้อมูลซ้ำจากนั้นแนะนำให้คุณเรียกใช้apt-get updateตัวเองเพื่อซ่อมแซมเป็นข้อมูลที่คุณไม่ต้องกังวลเกี่ยวกับข้อความแสดงข้อผิดพลาดนั้น


1

ในกรณีของฉันซ้ำกันอยู่ในprerequists-sources.listไฟล์ ฉันสามารถอัพเกรดต่อไปได้โดยการรันคำสั่งต่อไปนี้ใน Terminal:

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

จากนั้นไปที่Update Managerและติดตั้งการอัปเดต


ไม่จำเป็นต้องย้ายไปที่ / tmp การเปลี่ยนชื่อเป็นบางสิ่งที่ไม่ได้จบลง.listก็เพียงพอแล้ว
Daniel Alder

1

ดีฉันแก้ไขปัญหารายการซ้ำด้วยตัวเองโดยเปลี่ยนชื่อ/etc/apt/sources.d(เป็น root) เป็นอย่างอื่นและทำงานsudo apt-get updateเพื่อสร้างไดเรกทอรีใหม่และเนื้อหา


1

ไป/etc/apt/sources.listด้วยตนเองsudo nano /etc/apt/sources.listและลบรายการที่ซ้ำกัน หลังจากนั้นapt-get updateปัญหาก็แก้ไขได้


1

ใน/etc/apt/sources.listคุณต้องแสดงความคิดเห็น (เพิ่ม#ที่จุดเริ่มต้นของบรรทัด) รายการที่เก็บข้อมูลที่ซ้ำกันและบันทึกการเปลี่ยนแปลง sudo apt-get updateหลังจากซ้ำว่า


1

ใช้รายการแหล่งกำเนิดอูบุนตู

  • ทำงานsudo -H nautilusในอาคารผู้โดยสาร
  • หา /etc/apt/sources.list
  • คลิกขวาและเปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความ (หากคุณคลิกที่ไฟล์จะเป็นการเปิดแหล่งซอฟแวร์ GUI)
  • เพียงคัดลอกและวางลงในsources.listและบันทึก
  • ออกจากเทอร์มินัลและคุณทำเสร็จแล้ว

Google ดูเหมือนจะมีปัญหาดังนั้นฉันขอแนะนำให้ออกไป ฉันทำสิ่งนี้บน Ubuntu 12.10 (เวอร์ชั่นสตูดิโอที่เพิ่ม Ubuntu บนเดสก์ท็อปและ Unity สำหรับการลงชื่อเข้าใช้เดสก์ท็อปอื่น)


1

เพียงแค่แก้ไขไฟล์/etc/apt/sources.list(เช่นใช้sudo -H gedit /etc/apt/sources.list) และลบบรรทัดที่ซ้ำกันหรือวาง#ที่จุดเริ่มต้นของบรรทัด


1

ฉันพยายามทำให้ความเป็นไปได้ที่มีให้จากผู้ใช้รายอื่นโดยใช้เทอร์มินัลเนื่องจากเป็นสิ่งที่คุณถามโดยหลัก ๆ แล้ว:

เข้าสู่ระบบหากคุณใช้การติดตั้งแบบข้อความหรือกดAlt+ F2และพิมพ์ gnome-terminal หากคุณใช้ GUI

จากนั้นพิมพ์

sudo nano /etc/apt/sources.list

(เพื่อความเข้าใจที่ดีขึ้น: ในไดเรกทอรี/etcคุณสามารถค้นหา (เกือบ) ไฟล์กำหนดค่าทั้งหมดของคอมพิวเตอร์ของคุณและในaptไดเรกทอรีที่คุณค้นหาsouces.listไฟล์ที่มีที่เก็บทั้งหมดที่ APT ใช้เพื่ออัปเดตหรือติดตั้งและอัปเกรดซอฟต์แวร์)

แก้ไขการลบไฟล์หรือแสดงความคิดเห็นด้วย#ที่จุดเริ่มต้นของบรรทัดแถวที่ซ้ำกันใด ๆ

กดCtrl+ Xเพื่อออกและกดyเพื่อบันทึกไฟล์ (หรือnเพื่อออกโดยไม่บันทึก)

จากนั้นอัปเดตเพื่อดูว่าคุณได้แก้ไข:

sudo apt-get update

มีความสุข!


ฉันยังคิดว่าตัวแก้ไขข้อความที่พัฒนาขึ้นเช่น vim สามารถค้นหารายการที่ซ้ำกันได้โดยอัตโนมัติ แต่ฉันไม่ทราบวิธีการทำข้อมูลประเภทใด ๆ ที่น่าสนใจ
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

* แทรกตัวแบ่งบรรทัดเพื่อให้สามารถอ่านได้


2
โปรดอธิบายคำตอบหรือความเสี่ยงหากถูกลบออกไป
jokerdino

ยินดีต้อนรับสู่ถาม Ubuntu! jokerdino ดังที่ระบุไว้คำตอบนี้จะเป็นประโยชน์อย่างมากหากคุณต้องแก้ไขเพื่อเพิ่มคำอธิบาย (หรืออย่างน้อยก็เพื่อบอกผู้ใช้ว่าต้องทำอะไรกับสายเหล่านี้)
Eliah Kagan

คำตอบนี้เป็นความผิดเพราะมันอาจจะไม่เอารายการที่ซ้ำกัน แต่ก็ไม่ได้ลบรายการแหล่งที่ซ้ำกัน ดูคำอธิบายได้ที่นี่
Anwar

0

ดำเนินการต่อไปนี้เพื่อลบรายการซ้ำ

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

ข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้โปรด

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)

เปิด: sources.list.d

rm google.list

google-chrome.listเหลืออยู่เพียงอย่างเดียว


0

มันเป็นงานที่เหมาะสมสำหรับการuniqละเว้นบรรทัดที่ซ้ำกันและพิมพ์เฉพาะรายการที่ไม่ซ้ำกันดังนั้นเราสามารถเอาท์พุทuniqและแทนที่ไฟล์เก่าด้วยuniqเอาต์พุตของ:

 sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources  /etc/apt/sources.list

1
uniqต้องการอินพุตที่เรียงลำดับ
muru

sort -uทำหน้าที่เดียวกัน =)
AB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.