У вашому Source.list дійсно є копії записів.
Спочатку давайте подивимось правильну форму рядка сховища чи рядка джерела:
Правильний формат вихідного рядка сховища
<type of repository> <location> <dist-name> <components>
Наприклад, лінія репо може бути такою
deb http://archive.ubuntu.com/ubuntu precise main
Тут, це означає, що сховище призначене для бінарних пакетів, розміщених у http://archive.ubuntu.com/ubuntu, і це сховище є для Ubuntu точним (12.04), і це сховище містить головне (програмне забезпечення, яке офіційно підтримується Канонічний) компонент.
Тип: тип може бути debі deb-src. debозначає бінарне сховище, де deb-srcозначає сховище джерела
Місцезнаходження: http://archive.ubuntu.com/ubuntu місцезнаходження сховища.
Dist-name: ім'я розповсюдження випуску Ubuntu. Для Ubuntu 12.04 - це precise, для 11.10 - це oneiric.
Ви можете відвідати Ubuntu Wiki, щоб переглянути оновлений список випусків 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
- На вкладці " Оновлення" виберіть категорію " Точна безпека" , " Точні оновлення" та " Точні спинки " .
- Виберіть Canonical партнера і Independent категорії Іншого програмного забезпечення вкладки.
Це воно. Тепер у вас є 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міститься лише одна влучна рядок і вона також була вказана у google.listфайлі, ми можемо сміливо видалити цей файл командою
sudo rm /etc/apt/sources.list.d/google-chrome.list
Тоді проблема була вирішена.