Làm cách nào để sửa lỗi W W: Sao chép nguồn.list mục nhập?


190

Tôi tiếp tục nhận được cảnh báo này bất cứ khi nào tôi cố gắng để chạy 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

Dưới đây là đầu ra từ /etc/apt/sources.listtập tin:

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

Làm thế nào để tôi sửa nó?

Câu trả lời:


229

Nguồn.list của bạn thực sự có các mục trùng lặp.

Trước tiên, hãy xem hình thức chính xác của một dòng kho lưu trữ hoặc dòng nguồn:

Định dạng chính xác của dòng nguồn kho là

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

Ví dụ, một dòng repo có thể giống như dòng này

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

Ở đây, điều đó có nghĩa là, kho lưu trữ dành cho các gói nhị phân, được lưu trữ trong http://archive.ubfox.com/ubfox và kho lưu trữ này dành cho Ubuntu chính xác (12.04) và kho lưu trữ này chứa chính (phần mềm được hỗ trợ chính thức bởi Canonical) thành phần.

  • Loại: Loại có thể debdeb-src. debcó nghĩa là kho lưu trữ nhị phân trong đó deb-srccó nghĩa là kho lưu trữ nguồn

  • Vị trí: http://archive.ubuntu.com/ubuntu vị trí của kho lưu trữ.

  • Dist-name: Tên phân phối của phiên bản Ubuntu. Đối với Ubuntu 12.04, nó là precisecho 11.10 oneiric.
    Bạn có thể truy cập Ubuntu Wiki để xem danh sách cập nhật các bản phát hành Ubuntu và tên mã của chúng .

  • Thành phần: Nó có thể được main, universe, multiverserestricted. Những từ này cho biết mức độ hỗ trợ cho các gói và trạng thái cấp phép.

Xem trang này để biết thêm thông tin.

Xin lưu ý rằng, bạn có thể thêm một hoặc nhiều thành phần trong một dòng, vì vậy "chính", "vũ trụ", "bị hạn chế" và "đa vũ trụ" có thể nằm trong một dòng. Cũng lưu ý, Mặc dù bạn thêm nhiều thành phần trong một dòng, hệ thống APT coi chúng là một dòng riêng biệt chỉ chứa một thành phần.

Vì vậy, nếu bạn sources.listcó một dòng như thế này

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

Sau đó, nó không thể có một dòng khác như dưới đây (mà các tệp của bạn có)

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

tương đương với hai dòng này

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

Bởi vì, bạn đang nhân đôi vũ trụ hai lần, do đó sẽ có lỗi cho bản sao đó. Một lỗi sẽ được đưa ra cho mỗi bản sao được tìm thấy.

Giải pháp:

Sau khi phân tích sources.listtệp của bạn , tôi thấy rằng, Đây là một tệp cơ bản được Ubuntu cung cấp theo mặc định. Bạn có thể xây dựng một tệp mặc định theo quy trình:

  1. Mở một thiết bị đầu cuối và đầu tiên đổi tên sources.listtập tin hiện có thành sources.list.baktập tin. (chúng ta có thể loại bỏ nó một cách an toàn, nhưng thận trọng là tốt).

     sudo mv /etc/apt/sources.list /etc/apt/sources.list.bak
    
  2. Sau đó mở software-properties-gtkđể xây dựng một cái mới. Nhập lệnh dưới đây trong một thiết bị đầu cuối hoặc trong dấu nhắc lệnh dash bằng cách nhấn Alt+F2

    software-properties-gtk
    

    Lưu ý, đối với Ubuntu phiên bản 11.10 trở về trước, bạn phải sử dụng gksutrước software-properties-gtklệnh

  3. Sau khi cửa sổ mở,

    • Chọn tất cả bốn loại trong tab Phần mềm Ubuntu
    • Chọn chính xác-an ninh , chính xác cập nhậtchính xác-backports loại trong cập nhật tab.
    • Chọn đối tác Canonical và danh mục Độc lập từ tab Phần mềm khác .

Đó là nó. Bây giờ bạn có một sources.listtập tin mặc định mà không có lỗi. So sánh tệp này với tệp trước, nếu bạn muốn.


Cập nhật để đối phó với sources.list.dcác tập tin của dir

Đôi khi một mục trùng lặp có thể nằm trong một tệp trong /etc/apt/sources.list.dthư mục, cũng được APT sử dụng. Vì vậy, bạn nên xem thư mục đó và xem liệu có bất kỳ bản sao nào trong các tệp đó không. Không cần thiết cho các bản sao trong cùng một tệp.

Ví dụ trường hợp:

Một người dùng đã có thông báo lỗi này hiển thị trong khi làm 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

Nhưng không có mục nào http://dl.google.comtrong /etc/apt/sources.listtập tin chính . Nhìn vào /etc/apt/sources.list.d/thư mục chúng tôi tìm thấy những tập tin này:

đầu ra của 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

Các tập tin google-chrome.listgoogle.listlà ứng cử viên tốt để chứa các bản sao. Vì vậy, kiểm tra nội dung của cả hai tập tin là cần thiết.

Đầu ra của cat /etc/apt/sources.list.d/google-chrome.list:

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

và của cat /etc/apt/sources.list.d/google.list

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

Vì vậy, có một mục trùng lặp trong các nguồn của Apt. Vì google-chrome.listchỉ chứa một dòng apt và nó cũng được liệt kê trong google.listtệp, chúng tôi có thể xóa tệp này một cách an toàn bằng lệnh

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

Sau đó, vấn đề đã được giải quyết.


5
Tôi đã làm gì để khiến bản thân có các mục trùng lặp trong nguồn.list.d?
Seanny123

@ Seanny123 Điều đó thật khó nói.
Anwar

1
Cảm ơn rât nhiều. Tôi đã tự hỏi hàng giờ làm thế nào trùng lặp xảy ra. Cuối cùng, bạn đã hiển thị
nguồn.list.d

1
Câu trả lời hay và kỹ lưỡng. Trong Bản cập nhật của bạn để xử lý các tệp của dir.list.d mà bạn giải thích đó là các tệp / dòng cung cấp các bản sao. Bạn có thể giải thích tương tự 6 cặp dòng nào không (vì bạn nói "tệp của bạn có 6 bản sao ở đó") trong OP cung cấp các bản sao?
sancho.s

1
Gợi ý để kiểm tra nguồn của tôi.list.d là những gì đã giúp tôi giải quyết vấn đề này.
lcarsos

80

Dành cho Ubuntu 12.04

Đồ họa:

Nhấn Alt+ F2và dán software-properties-gtk(hoặc bạn có thể mở "Trung tâm phần mềm", sau đó chuyển đến "Chỉnh sửa"> "Nguồn phần mềm"). Chuyển đến tab "Phần mềm khác", chọn mục trùng lặp và nhấn nút "Xóa".

nhập mô tả hình ảnh ở đây


Nếu bạn cần một tùy chọn dòng lệnh, đây là:

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

Lệnh này thực hiện điều này:

catđọc tệp và chuyển nội dung để perlloại bỏ các dòng trùng lặp. Kết quả sau đó được lưu >trong một tệp tạm thời, sau đó được di chuyển để thay thế /etc/apt/sources.listtệp gốc .


2
Chỉ cần làm thế nào để sửa nó, không nhầm lẫn và tất cả các chi tiết quá sâu. Cảm ơn bạn!
Peter M.

Nó thực sự đã làm việc! Vì một số lý do, không thể cài đặt git vào ngày 12.04. Thay vì loại bỏ, tôi chỉ kiểm tra các "đối tác Canonical" trùng lặp rõ ràng.
davidkonrad

3
Tôi đã chạy một lớp, nhưng sudo apt-get updatevẫn phàn nàn về các mục trùng lặp như thể không có gì thay đổi. Nếu có vấn đề, tôi sẽ vào ngày 12.04 (cụ thể là hệ điều hành Luna sơ cấp).
waldyrious

Điều catnày là vô ích và ngăn bạn sử dụngsudo perl -i
tripleee

24

Làm thế nào xấu là các mục trùng lặp trong nguồn.list?

Tôi không biết nó tệ như thế nào, nhưng tôi không thích sudo apt-get update hiển thị cho tôi các mục trùng lặp.

Bằng cách này, nó không tệ, nó chỉ cho bạn thấy rằng bạn có các mục trùng lặp.

Nguồn danh sách

Tệp nguồn.list là một yếu tố chính trong việc thêm hoặc nâng cấp các ứng dụng vào cài đặt Ubuntu của bạn. Điều này cũng được sử dụng bởi hệ thống của bạn để cập nhật hệ thống. Tệp về cơ bản là lộ trình để hệ thống của bạn biết nơi có thể tải xuống các chương trình để cài đặt hoặc nâng cấp.

Nó giống như cập nhật Windows

Bạn có thể xóa các mục trùng lặp trong vài bước dễ dàng với 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

Mở biểu mẫu y-ppa-manager Dash

Nhập mật khẩu quản trị viên của bạn

nhập mô tả hình ảnh ở đây

Nhấp đúp chuột vào Nâng cao

nhập mô tả hình ảnh ở đây

Quét và xóa trùng lặp PPA & Nhấp vào Ok

nhập mô tả hình ảnh ở đây

Sẽ mất một chút thời gian (1 hoặc 2 gợi ý) để quét và xóa trùng lặp PPA


2
Trong trường hợp của tôi, Y PPA cứ nói không tìm thấy bản sao. Tôi đã tạo một bản sao lưu của source.list để xóa nó và chạy sudo apt-get update để tạo lại danh sách nguồn (ubfox 12.04). Điều này làm việc cho tôi.
michel.iamit

1
Làm việc cho tôi trên Mint 17, cảm ơn người đàn ông!
spences10

Làm việc cho tôi trên Ubuntu 14.04..Cảm ơn bạn thân .. :)
Rahul Singh

1
làm việc như một lá bùa
véc tơ

1
Trong trường hợp của tôi vào ngày 14.04, nó cứ nói Không tìm thấy bản sao
Muhammad Omer Aslam

16

Kho đối tác được nhân đôi bên trong /etc/apt/sources.list/etc/apt/sources.list.d/precise-partner.list.

Chỉ cần xóa các tệp "đối tác chính xác" là kho lưu trữ đối tác đã có mặt sources.list.

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

Tôi đang nhận đượcrm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
Dennis

1
Hãy thử sudo rm /etc/apt/sources.list.d/*partner*. Đồng thời kiểm tra /etc/apt/source.list của bạn, tìm kiếm các dòng trùng lặp.
Eric Carvalho

Không may mắn, tôi không có bất kỳ tập tin nào có "đối tác" trong tên trong thư mục đó. Và /etc/apt/sources.listkhông chứa bất kỳ bản sao theo uniq.
Dennis

10

Tạo một bản sao lưu các nguồn của bạn.

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

Bây giờ xóa bản gốc và cập nhật:

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

Làm thế nào anh ta có thể cập nhật mà không cần sources.listtập tin?
Anwar

Nó sẽ hồi sinh. =)
wojox

Của tôi đã không hồi sinh
conman253

Hoàn nguyên về người bạn đã sao lưu
wojox

Làm thế nào để tôi trở lại danh sách sao lưu? việc gỡ bỏ đã loại bỏ rất nhiều điều quan trọng ... điều này hoàn toàn không an toàn ..
alvas

8

Tôi đã có cùng một vấn đề, các nguồn phần mềm mở. bỏ chọn "Đối tác Canonical". Xung đột nằm giữa "Đối tác Canonical" và "Đối tác Canonical được thêm bởi Trung tâm phần mềm"


7

Nếu bạn không thể tìm ra nó trong của bạn source.list, thì hãy làm điều này:

  1. Nhấp chuột trái vào biểu tượng cài đặt (ở góc trên cùng của màn hình của bạn) và chọn Cài đặt hệ thống.
  2. Nhấp vào Nguồn phần mềm và chuyển sang Phần mềm khác.
  3. Bỏ chọn một trong các phần mềm 'Đối tác Canonical (Mã nguồn) được Canonical đóng gói cho các tệp của đối tác của họ và một trong các' Đối tác Canonical -wareware được Canonical đóng gói cho các tệp của đối tác của họ và nhấp vào Đóng để rời đi.
  4. Đồng thời nhấn CTRL+ ALT+ Tchìa khóa để mở terminal và gõ sudo apt-get update.

Tôi đã làm theo đề xuất của bạn, nhưng tôi vẫn nhận được lỗi này.
hsinxh

Xin vui lòng, đăng hình ảnh của 'Nguồn phần mềm' của bạn ở đây để biết thủ phạm.
all4naija

Xin vui lòng, đăng hình ảnh của 'Phần mềm khác' của bạn ở đây.
all4naija

6

10.10 và trước đó

Ứng dụng> Trung tâm phần mềm Ubuntu> Chỉnh sửa> Nguồn phần mềm> Phần mềm khác

HOẶC LÀ

Hệ thống> Quản trị> Trình quản lý gói Synaptic> Cài đặt> Kho lưu trữ

Cửa sổ cấu hình nguồn phần mềm

Chọn và loại bỏ các mục trùng lặp.


5

Dành cho Ubuntu 9.10 - 12.04

Có một ứng dụng tên là Y-PPA-Manager có thể làm điều đó và hơn thế nữa.

Bạn có thể cài đặt nó như thế từ Terminal:

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

Sau đó, chỉ cần khởi động ứng dụng vào menu Nâng cao.

nhập mô tả hình ảnh ở đây

Sau đó chọn "Quét và xóa PPA trùng lặp" và nhấn OK.

nhập mô tả hình ảnh ở đây


Đó là công cụ tuyệt vời nhưng nó không khắc phục vấn đề. Tôi đã làm lựa chọn này và sau này có những cảnh báo tương tự.
nazar_art

4

Có vẻ như bạn có hai dòng giống nhau trong /etc/apt/sources.listtập tin của bạn .

Đi đến thiết bị đầu cuối và nhập sudo editor /etc/apt/sources.list, sau đó tìm bất kỳ dòng giống hệt nào trong tệp đó và nếu bạn tìm thấy chúng, hãy xóa chúng. Sau khi hoàn thành, lưu và thoát, sau đó làm sudo apt-get updatevà điều đó sẽ giải quyết vấn đề của bạn.

Nếu điều đó không giải quyết được vấn đề của bạn thì bạn sẽ phải sử dụng phương pháp thử và sai. Đầu tiên, tạo một bản sao lưu của sources.listtệp của bạn , sau đó trong tệp thực tế đi qua và nhận xét hoặc xóa từng dòng, lưu và apt-get update-ing sau khi mỗi dòng đã được nhận xét hoặc xóa. Đi qua dòng tệp này bằng cách bình luận dòng khác nhau cuối cùng sẽ cho bạn biết dòng nào là dòng thừa. Đừng quên bỏ qua bất kỳ dòng nào bạn đã nhận xét nếu apt-get updatevẫn hiển thị cùng một dấu nhắc, nếu không bạn sẽ không còn nguồn nào trong sources.listtệp của mình .


4

Tôi đã tìm kiếm một công cụ như vậy, nhưng tôi không tìm thấy bất kỳ ...
Vì vậy, cuối cùng tôi đã tự mình viết mã PHP.

Xin lỗi cho mã nguồn vô tổ chức bẩn.

chkdup - Ảnh chụp màn hình:

nhập mô tả hình ảnh ở đây

Tác giả

Mubarak Alrashidi (DeaDSouL)

Yêu cầu:

  1. PHP.
  2. sudo.

Cài đặt:

  1. Mở thiết bị đầu cuối.
  2. Để cài đặt PHP nếu bạn không có nó, gõ : sudo apt-get install php5 php5-cli.
  3. Tải về chkdup .
  4. Giải nén tập tin bất cứ nơi nào bạn thích.
  5. Loại : sudo sh install.sh.

Gỡ cài đặt:

  1. Mở thiết bị đầu cuối.
  2. Đi đến đường dẫn bạn trích xuất công cụ.
  3. Loại : sudo sh uninstall.sh.

Làm thế nào để sử dụng nó:

Chỉ cần mở thiết bị đầu cuối và gõ sudo chkdup.

Câu hỏi thường gặp:

Install.sh làm gì?

  • Trình cài đặt sẽ di chuyển chkdup.phpđến /opt/sau đó sẽ tạo một liên kết tượng trưng trong /usr/bin/.

Còn việc gỡ cài đặt.sh thì sao?

  • Trình gỡ cài đặt sẽ xóa các tệp sau:

    1. install.sh
    2. /opt/chkdup.php
    3. /usr/bin/chkdup
    4. Chính nó uninstall.sh

Sử dụng chkdup có an toàn không?

  • Đúng vậy, vì nó cần một bản sao lưu của các nguồn hiện tại. Danh sách trước khi cố gắng làm bất cứ điều gì. Nhưng tôi không chịu trách nhiệm nếu có bất cứ điều gì xảy ra. Toàn bộ trách nhiệm sẽ thuộc về bạn.

Giấy phép

Giấy phép công cộng GNU


chỉ cần dùng thử, rất hay và đơn giản :-) tốt đẹp :-)
bmbaker

3

Bạn đã kiểm tra ls /etc/apt/sources.list.d/chưa? Có lẽ bạn có một số kho "thêm" trong đó?


2

Cài đặt ubfox-chỉnh và loại bỏ các mục trùng lặp từ đó.

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

văn bản thay thế


Điều này không nói làm thế nào để làm điều đó.
RolandiXor

1

Không, không có một dòng lệnh nào để tìm và xóa các mục trùng lặp trong /etc/apt/sources.listtệp.

Điều này là do các dòng lệnh được đề xuất, chỉ đơn thuần là sao chép chức năng của lệnh tích hợp đơn giản hơn nhiều uniq, sẽ chỉ hoạt động trên tệp SORTED và sẽ chỉ xóa các dòng ADJACENT. Hơn nữa, các lệnh đó sẽ chỉ loại bỏ các dòng bao gồm một chuỗi ký tự giống hệt nhau .

Mục trùng lặp báo cáo của apt-get updatesẽ bao gồm trùng lặp chức năng mục, chẳng hạn như một kho lưu trữ được bao gồm trong cả của nó i386amd64các biến thể. Cách dễ dàng và hiệu quả để loại bỏ những thứ này là lưu ý kho lưu trữ nào được báo cáo là trùng lặp bằng cách cập nhật apt-get và xóa chúng thông qua Trung tâm phần mềm . Mở nó và chọn Chỉnh sửa -> Software Sources -> tab phần mềm khác . Đơn giản chỉ cần tìm các mục trùng lặp và bỏ chọn chúng. (Đây cũng là cơ hội để xóa bất kỳ source-codekho lưu trữ nào nếu bạn không biên dịch các gói).

Tuy nhiên, cần lưu ý rằng apt-get updatekhông chỉ tìm thấy các mục trùng lặp thông qua sources.list, mà bao gồm các tệp lưu trữ nằm trong /var/lib/apt/lists/. Xóa các mục trùng lặp từ đó sẽ chỉ tạm thời xóa các apt-get updatethông báo lỗi nếu Ubuntu nghĩ rằng nó cần chúng, vì các tệp sẽ được tự động cài đặt lại. Thực tế apt-get updatesẽ báo cáo một số kho lưu trữ dưới dạng trùng lặp và sau đó đề xuất rằng bạn apt-get updatetự chạy để sửa chúng, là một đầu mối mà bạn thực sự không cần phải lo lắng về thông báo lỗi đó.


1

Trong trường hợp của tôi, các bản sao đã có trong prerequists-sources.listtập tin. Tôi đã có thể tiếp tục nâng cấp bằng cách chạy các lệnh sau trong Terminal:

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

Sau đó đi đến Update Managervà cài đặt các bản cập nhật.


Di chuyển đến / tmp là không cần thiết. Đổi tên thành thứ gì đó không kết thúc .listlà đủ
Daniel Alder

1

Vâng, tôi đã tự mình giải quyết vấn đề trùng lặp bằng cách đổi tên /etc/apt/sources.d(với quyền root) thành một thứ khác và chạy sudo apt-get updateđể thiết lập lại thư mục và nội dung của nó.


1

Đi qua /etc/apt/sources.listthủ công sudo nano /etc/apt/sources.listvà loại bỏ các bản sao. Sau đó apt-get update, vấn đề đã được giải quyết.


1

Trong /etc/apt/sources.listbạn phải bình luận (thêm #vào đầu dòng) mục nhập kho lưu trữ trùng lặp và lưu các thay đổi. Sau đó lặp lại sudo apt-get update.


1

Sử dụng Trình tạo danh sách nguồn Ubuntu .

  • Chạy sudo -H nautilustrong thiết bị đầu cuối
  • Tìm thấy /etc/apt/sources.list
  • Nhấp chuột phải và mở tệp bằng trình soạn thảo văn bản (nếu bạn nhấp vào tệp, nó sẽ mở GUI nguồn phần mềm)
  • Đơn giản chỉ cần sao chép và dán vào sources.listvà lưu.
  • Thoát khỏi thiết bị đầu cuối và bạn đã hoàn tất.

Google dường như có một vấn đề, vì vậy tôi khuyên bạn nên loại bỏ nó. Tôi đã thực hiện điều này trên Ubuntu 12.10 (Phiên bản Studio có thêm máy tính để bàn Ubuntu và Unity cho một máy tính để bàn khác đăng nhập).


1

Chỉ cần chỉnh sửa tệp /etc/apt/sources.list(ví dụ sử dụng sudo -H gedit /etc/apt/sources.list) và xóa dòng trùng lặp hoặc đặt dấu #ở đầu dòng.


1

Tôi cố gắng hoàn thành các khả năng được cung cấp từ những người dùng khác bằng thiết bị đầu cuối, vì đó là những gì bạn yêu cầu, chủ yếu là:

đăng nhập nếu bạn đang sử dụng cài đặt dựa trên văn bản hoặc nhấn Alt+ F2và nhập gnome-terminal nếu bạn đang sử dụng GUI

Sau đó gõ

sudo nano /etc/apt/sources.list

(Để hiểu rõ hơn: trong thư mục /etcbạn có thể tìm thấy (gần) tất cả các tệp cấu hình của máy tính và trong aptthư mục bạn tìm thấy souces.listtệp chứa tất cả các kho lưu trữ mà APT sử dụng để cập nhật hoặc cài đặt và nâng cấp phần mềm)

Chỉnh sửa tệp xóa hoặc nhận xét #ở đầu dòng bất kỳ hàng trùng lặp.

Nhấn Ctrl+ Xđể thoát và nhấn yđể lưu tệp (hoặc nthoát mà không lưu).

Sau đó cập nhật để xem bạn đã sửa nó chưa:

sudo apt-get update

Chúc vui vẻ!


Tôi cũng nghĩ rằng trình soạn thảo văn bản phát triển như vim có thể tự động tìm các bản sao nhưng tôi không biết làm thế nào để bất kỳ loại thông tin nào cũng thú vị
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

* Ngắt dòng được chèn để dễ đọc.


2
Vui lòng giải thích câu trả lời hoặc rủi ro khi loại bỏ nó.
jokerdino

Chào mừng bạn đến hỏi Ubuntu! Như jokerdino như đã chỉ ra, câu trả lời này sẽ có lợi đáng kể, nếu bạn chỉnh sửa nó để thêm một số lời giải thích (hoặc ít nhất là nói cho người dùng biết chính xác phải làm gì với những dòng này).
Eliah Kagan

Câu trả lời này là sai vì nó có thể loại bỏ các mục trùng lặp nhưng nó không xóa các mục nguồn trùng lặp . xem tại đây để được giải thích
Anwar

0

Thực hiện như sau để loại bỏ các bản sao

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

thông tin thêm về điều này xin vui lòng

0

Trong trường hợp 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)

Mở: sources.list.d

rm google.list

vì vậy chỉ google-chrome.listcòn lại


0

Đây là công việc phù hợp để uniqbỏ qua các dòng trùng lặp và chỉ in các mục duy nhất, do đó chúng tôi có thể lấy đầu ra uniqvà thay thế tệp cũ bằng uniqđầu ra của:

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

1
uniqcần sắp xếp đầu vào.
muru

sort -uthực hiện cùng một công việc =)
AB
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.