Ваш sources.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
чтобы построить новый. Введите указанную ниже команду в терминале или в командной строке dash, нажав Alt+F2
software-properties-gtk
Обратите внимание, что для Ubuntu версии 11.10 или более ранней вы должны использовать gksu
перед software-properties-gtk
командой
После того, как окно открыто,
- Выберите все четыре категории на вкладке Ubuntu Software
- Выберите категорию « точная безопасность» , « точные обновления» и « точные обратные порты » на вкладке « Обновления ».
- Выберите канонического партнера и независимую категорию на вкладке Другое программное обеспечение .
Вот и все. Теперь у вас есть 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
Тогда проблема была решена.