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ể debvà deb-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, multiversevà restricted. 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:
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
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
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ật và chí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.listvà google.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.