Ваш 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
Тогда проблема была решена.
Для Ubuntu 12.04
Графически:
Нажмите Alt+ F2и вставьте
software-properties-gtk
(или вы можете открыть «Центр программного обеспечения», затем перейдите в «Редактировать»> «Источники программного обеспечения»). Перейдите на вкладку «Другое программное обеспечение», выберите дубликат записи и нажмите кнопку «Удалить».Если вам нужна опция командной строки, вот она:
Команда делает это:
cat
читает файл и передает содержимое, вperl
котором удаляются дубликаты строк. Затем результат сохраняется>
во временном файле, который затем перемещается для замены исходного/etc/apt/sources.list
файла.источник
sudo apt-get update
все еще жалуется на дубликаты записей, как будто ничего не изменилось. Если это имеет значение, я на 12.04 (конкретно, на элементарной ОС Luna).cat
бесполезно и не позволяет вам использоватьsudo perl -i
Насколько плохи повторяющиеся записи в sources.list?
Я не знаю, насколько это плохо, но мне не нравится обновление sudo apt-get, показывающее мне повторяющиеся записи.
Кстати, это не так уж плохо, просто показывает, что у вас есть дубликаты записей.
SourcesList
Файл sources.list является ключевым фактором при добавлении или обновлении приложений в вашей установке Ubuntu. Это также используется вашей системой для обновления системы. Этот файл в основном является дорожной картой для вашей системы, чтобы узнать, где она может загружать программы для установки или обновления.
Это как обновление Windows
Откройте форму y-ppa-manager Dash
источник
Репозиторий партнера дублируется внутри
/etc/apt/sources.list
и/etc/apt/sources.list.d/precise-partner.list
.Просто удалите эти файлы «точного партнера», так как репозиторий партнеров уже присутствует в
sources.list
.источник
rm: cannot remove '/etc/apt/sources.list.d/precise-partner.*': No such file or directory
sudo rm /etc/apt/sources.list.d/*partner*
. Также проверьте ваш /etc/apt/sources.list, поищите дубликаты строк./etc/apt/sources.list
не содержит дубликатов в соответствии сuniq
.Сделайте резервную копию вашего sources.list:
Теперь удалите оригинал и обновите:
источник
sources.list
файла?У меня была такая же проблема, открытые исходники программного обеспечения. снят флажок «Канонические партнеры». Конфликт между «Каноническими партнерами» и «Каноническими партнерами, добавленными Центром программного обеспечения»
источник
Если вы не можете понять это в своем
source.list
, то сделайте это:sudo apt-get update
.источник
10.10 и ранее
Приложения> Ubuntu Software Center> Правка> Источники программного обеспечения> Другое программное обеспечение
ИЛИ ЖЕ
Система> Администрирование> Synaptic Packet Manager> Настройки> Репозитории
Выберите и удалите повторяющиеся записи.
источник
Для Ubuntu 9.10 - 12.04
Существует приложение под названием Y-PPA-Manager, которое может сделать это и многое другое.
Вы можете установить его так из терминала:
После этого просто запустите приложение и перейдите в Расширенное меню.
Затем выберите «Сканировать и удалить дубликаты PPA» и нажмите «ОК».
источник
Похоже, у вас есть две одинаковые строки в вашем
/etc/apt/sources.list
файле.Перейдите в терминал и введите
sudo editor /etc/apt/sources.list
, затем найдите все идентичные строки в этом файле и, если найдете, удалите их. После того, как вы сделали, сохраните и выйдите, а затем сделайте,sudo apt-get update
и это должно решить вашу проблему.Если это не решит вашу проблему, вам придется использовать метод проб и ошибок. Сначала создайте резервную копию вашего
sources.list
файла, затем в самом файле пройдите и закомментируйте или удалите каждую строку, сохраняя иapt-get update
-ing после каждой строки, закомментированной или удаленной. Пройдя по этой строке файла, построчно комментируя разные строки, вы в итоге скажете, какая строка лишняя. Не забудьте раскомментировать любые комментарии, которые вы прокомментировали, еслиapt-get update
все еще показывает то же самое приглашение, иначе у вас останутся источники в вашемsources.list
файле.источник
Я искал такой инструмент, но я не нашел ни одного ...
Итак, я сам стал его кодировать
PHP
.Извините за грязный неорганизованный исходный код.
chkdup - скриншот:
автор
Мубарак Алрашиди (DeaDSouL)
Требования:
Монтаж:
sudo apt-get install php5 php5-cli
.sudo sh install.sh
.Удаление:
sudo sh uninstall.sh
.Как это использовать:
Просто откройте терминал и введите
sudo chkdup
.Вопросы и ответы:
Что делает install.sh?
chkdup.php
в/opt/
то создаст символическую ссылку в/usr/bin/
.Что насчет uninstall.sh?
Деинсталлятор удалит следующие файлы:
install.sh
/opt/chkdup.php
/usr/bin/chkdup
uninstall.sh
Безопасно ли использовать chkdup?
Лицензия
GNU General Public License
источник
Вы проверяли
ls /etc/apt/sources.list.d/
? Может быть, у вас есть какие-то "дополнительные" репозитории?источник
Установите ubuntu-tweak и удалите дублирующиеся записи оттуда.
источник
Нет, нет единой командной строки для поиска и удаления дублированных записей в
/etc/apt/sources.list
файле.Это связано с тем, что предлагаемые командные строки, которые просто дублируют функцию гораздо более простой встроенной
uniq
команды, будут работать только с файлом SORTED и будут удалять только строки ADJACENT. Кроме того, эти команды будут удалять только строки, состоящие из идентичной строки символов .Дублированные записи, о которых сообщается,
apt-get update
будут состоять из дублированных записей функций , таких как репозиторий, включаемый как в его, такi386
и вamd64
варианты. Простой и эффективный способ удалить их - заметить, какие репозитории сообщаются как дубликаты при обновлении apt-get, и удалить их через Центр программного обеспечения . Откройте его и выберите « Правка» -> « Источники программного обеспечения» -> вкладка «Другое программное обеспечение» . Просто найдите дубликаты записей и снимите их. (Это также возможность удалить любыеsource-code
репозитории, если вы не компилируете пакеты).Тем не менее, следует отметить, что
apt-get update
он не только находит дубликаты записейsources.list
, но и содержит файлы репозитория, расположенные в/var/lib/apt/lists/
. Удаление дублирующихся записей оттуда только временно удалитapt-get update
сообщения об ошибках, если Ubuntu считает, что они нужны, поскольку файлы будут автоматически переустановлены. Тот факт, чтоapt-get update
некоторые репозитории будут сообщаться как дубликаты, а затем предполагается, что вы запускаетеapt-get update
себя для их восстановления, является подсказкой, что вам действительно не нужно беспокоиться об этом сообщении об ошибке.источник
В моем случае дубликаты были в
prerequists-sources.list
файле. Я смог продолжить обновление, выполнив следующие команды в Терминале:Затем перейдите к
Update Manager
и установите обновления.источник
.list
достаточноЧто ж, я решил проблему с Duplicate Entry, переименовав
/etc/apt/sources.d
(как root) во что-то другое и выполнивsudo apt-get update
переустановку каталога и его содержимого.источник
Прошел
/etc/apt/sources.list
вручнуюsudo nano /etc/apt/sources.list
и удалил дубликаты. Послеapt-get update
этого проблема была решена.источник
В
/etc/apt/sources.list
вы должны прокомментировать (добавить#
в начале строки) дубликат записи в хранилище и сохраните изменения. После этого повторитеsudo apt-get update
.источник
Используйте генератор списков источников Ubuntu .
sudo -H nautilus
в терминале/etc/apt/sources.list
sources.list
и сохранить.У Google, похоже, есть проблема, поэтому я бы посоветовал ее оставить. Я сделал это на Ubuntu 12.10 (добавлена версия Studio с рабочим столом Ubuntu и Unity для другого входа на рабочем столе).
источник
Просто отредактируйте файл
/etc/apt/sources.list
(например, используйтеsudo -H gedit /etc/apt/sources.list
) и удалите дублирующую строку или поставьте#
в начале строки.источник
Я пытаюсь завершить возможности, предлагаемые другими пользователями, используя терминал, поскольку именно это вы и просили, в основном:
войдите в систему, если вы используете текстовую установку, или нажмите Alt+ F2и введите gnome-terminal, если вы используете GUI
Затем введите
(Чтобы лучше понять: в каталоге
/etc
вы можете найти (почти) все файлы конфигурации вашего компьютера, а вapt
каталоге вы найдетеsouces.list
файл, содержащий все репозитории, которые APT использует для обновления или установки и обновления программного обеспечения)Отредактируйте файл, удалив или комментируя
#
в начале строки любые дублирующиеся строки.Нажмите Ctrl+, Xчтобы выйти и нажмите, yчтобы сохранить файл (или nвыйти без сохранения).
Затем обновите, чтобы увидеть, исправили ли вы это:
Веселиться!
источник
* Разрывы строк вставлены для удобства чтения.
источник
Выполните следующее, чтобы удалить дубликаты
источник
На случай, если
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)
Открыто:
sources.list.d
rm google.list
так
google-chrome.list
остается толькоисточник
Это подходящее задание, для
uniq
которого пропускаются повторяющиеся строки и печатаются только уникальные записи, поэтому мы можем взять выводuniq
и заменить старый файлuniq
выводом:источник
uniq
нужен отсортированный ввод.sort -u
выполняет ту же работу =)