У вашому 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
Тоді проблема була вирішена.