รายการแหล่งที่มาของคุณมีรายการที่ซ้ำกันจริงๆ
ก่อนอื่นมาดูรูปแบบที่ถูกต้องของที่เก็บบรรทัดหรือบรรทัดที่มา:
รูปแบบที่ถูกต้องของบรรทัดซอร์สของที่เก็บคือ
<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-src
deb
deb-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 ให้มาเป็นค่าเริ่มต้น คุณสามารถสร้างไฟล์เริ่มต้นโดยทำตามขั้นตอน:
เปิดเทอร์มินัลและเปลี่ยนชื่อsources.list
ไฟล์ที่มีอยู่เป็นsources.list.bak
ไฟล์แรก (เราสามารถลบออกได้อย่างปลอดภัย แต่ข้อควรระวังนั้นดี)
sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
จากนั้นเปิดsoftware-properties-gtk
เพื่อสร้างใหม่ พิมพ์คำสั่งด้านล่างในเทอร์มินัลหรือในพรอมต์คำสั่งเส้นประด้วยการกดAlt+F2
software-properties-gtk
หมายเหตุสำหรับ Ubuntu รุ่น 11.10 ขึ้นไปคุณต้องใช้gksu
ก่อนหน้าsoftware-properties-gtk
คำสั่ง
หลังจากหน้าต่างเปิดขึ้น
- เลือกทั้งสี่หมวดหมู่ในแท็บซอฟต์แวร์ของ 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
จากนั้นปัญหาได้รับการแก้ไข