Я продолжаю получать это предупреждение всякий раз, когда пытаюсь запустить sudo apt-get update
.
W: Duplicate sources.list entry http://archive.ubuntu.com/ubuntu/ precise-updates/main i386 Packages (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_precise-updates_main_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
Ниже приведен вывод из файла /etc/apt/sources.list
:
deb http://archive.ubuntu.com/ubuntu precise main restricted
deb-src http://archive.ubuntu.com/ubuntu precise main restricted
deb http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-updates main restricted
deb http://archive.ubuntu.com/ubuntu precise universe
deb-src http://archive.ubuntu.com/ubuntu precise universe
deb http://archive.ubuntu.com/ubuntu precise-updates universe
deb-src http://archive.ubuntu.com/ubuntu precise-updates universe
deb http://archive.ubuntu.com/ubuntu precise multiverse
deb-src http://archive.ubuntu.com/ubuntu precise multiverse
deb http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-updates multiverse
deb http://archive.ubuntu.com/ubuntu precise-security main restricted
deb-src http://archive.ubuntu.com/ubuntu precise-security main restricted
deb http://archive.ubuntu.com/ubuntu precise-security universe
deb-src http://archive.ubuntu.com/ubuntu precise-security universe
deb http://archive.ubuntu.com/ubuntu precise-security multiverse
deb-src http://archive.ubuntu.com/ubuntu precise-security multiverse
Как это исправить?
В случае 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
Выполните следующее для удаления дубликатов
cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list
Я пытаюсь использовать возможности терминала, предлагаемые другими пользователями, поскольку именно это вы и просили, в основном:
войдите в систему, если вы используете текстовую установку, или нажмите Alt kbd > + F2 kbd> и введите gnome-терминал, если вы используете GUI
Затем введите
sudo nano /etc/apt/sources.list
(Чтобы лучше понять: в каталоге /etc
вы может найти (почти) все файлы конфигурации вашего компьютера, а в каталоге apt
вы найдете файл souces.list
, содержащий все репозитории, которые APT использует для обновления или установки и обновления программного обеспечения)
Отредактируйте файл удаляя или комментируя #
в начале строки любые дублирующиеся строки.
Нажмите Ctrl kbd> + X kbd> для выхода и нажмите y kbd> для сохранения файла (или n kbd> для выхода без сохранение).
Затем обновите, чтобы увидеть, исправили ли вы это:
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 apt-get update
.
Я искал такой инструмент, но я не нашел никого...
Так, я закончил тем, что кодировал тот сам с PHP
.
Извините за грязный неорганизованный исходный код.
Mubarak Alrashidi (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
В моем случае дубликаты были в файле prerequists-sources.list
. Я смог продолжить обновление, выполнив следующие команды в Терминале:
sudo mv /etc/apt/sources.list.d/prerequists-sources.list /tmp
sudo apt-get update
Затем перейдите в Update Manager
и установите обновления.
Хранилище партнера дублируется внутри /etc/apt/sources.list
и /etc/apt/sources.list.d/precise-partner.list
.
Просто удалите эти файлы «точного партнера», так как репозиторий партнеров уже присутствует в sources.list
.
sudo rm /etc/apt/sources.list.d/precise-partner.*
Для Ubuntu 9.10 - 12.04
Существует приложение под названием Y-PPA-Manager, которое может сделать это и многое другое.
Вы можете установить его так же из терминала:
sudo add-apt-repository ppa:webupd8team/y-ppa-manager
sudo apt-get upgrade
sudo apt-get install y-ppa-manager
После этого просто запустите приложение и перейдите в Расширенное меню.
Затем выберите «Сканировать и удалить дубликаты PPA» и нажмите «ОК».
Вы проверяли ls /etc/apt/sources.list.d/
? Может быть, у вас есть несколько «дополнительных» хранилищ?
Сделайте резервную копию вашего источника.list:
sudo cp /etc/apt/sources.list{,.backup}
Теперь удалите оригинал и обновите:
sudo rm /etc/apt/sources.list && sudo apt-get update
Нет, нет единой командной строки для поиска и удаления дублированных записей в файле /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
сам для их исправления, является подсказкой, что вам действительно не нужно беспокоиться об этом сообщении об ошибке.
У меня была такая же проблема, открытые программные источники. снят флажок «Канонические партнеры». Конфликт между «Каноническими партнерами» и «Каноническими партнерами, добавленными Центром программного обеспечения»
Прошли через /etc/apt/sources.list
вручную sudo nano /etc/apt/sources.list
и удалили дубликаты. После apt-get update
проблема была решена.
Я не знаю, как плохо это, но мне не нравится sudo Кв. - получают обновление, показывающее мне дублирующиеся записи.
Не, что плохо, его просто показ Вас, что у Вас есть дублирующиеся записи.
sources.list файл является ключевым фактором в добавлении или обновлении приложений к Вашей установке Ubuntu. Это также используется Вашей системой для системных обновлений. Файл является в основном дорожной картой для Вашей системы для знания, где это может загрузить программы для установки или обновления.
Точно так же, как обновление Windows
Можно удалить дублирующиеся записи на немногих легких шагах с менеджером по PPA Y
sudo add-apt-repository ppa:webupd8team/y-ppa-manager -y
sudo apt-get update
sudo apt-get install y-ppa-manager -y
Откройте Тире формы y-ppa-manager
Введите Вас пароль администратора
Дважды щелкните по Advanced
Scan & Remove Duplicate PPA и Нажимает ОК
Это займет время (1 или 2 Монетных двора) К Scan & Remove Duplicate PPA
Для Ubuntu 12.04
Графически:
Нажмите Alt + F2 и вставка software-properties-gtk
(или можно открыть, "Software Center" затем переходят к "Редактированию"> "Источники программного обеспечения"). Перейдите к вкладке "Other Software", выберите дублирующуюся запись и нажмите кнопку "Remove".
При необходимости в параметре командной строки здесь это:
cat /etc/apt/sources.list | perl -ne '$H{$_}++ or print' > /tmp/sources.list && sudo mv /tmp/sources.list /etc/apt/sources.list
Команда делает это:
cat
читает файл и передает содержание perl
который удаляет дублирующиеся строки. Результат затем сохраняется >
во временном файле, который затем перемещен для замены оригинала /etc/apt/sources.list
файл.
Ваш sources.list действительно имеет дублирующиеся записи.
Сначала Давайте посмотрим правильную форму строки репозитория или исходной строки:
Правильный формат исходной строки репозитория
<type of repository> <location> <dist-name> <components>
Например, repo строка может быть похожей на этого
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-имя: название распределения релиза Ubuntu. Для Ubuntu 12.04 это precise
, для 11,10 это oneiric
.
Можно посетить Wiki Ubuntu для просмотра обновленного списка релизов 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
Отметьте для версии 11.10 Ubuntu, или ранее необходимо использовать gksu
перед software-properties-gtk
команда
После того, как окно открыто,
Именно. У Вас есть теперь значение по умолчанию 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
Так, был дублирующимися записями в источниках Кв. С тех пор google-chrome.list
только содержите единственную способную строку, и она была также перечислена в google.list
файл мы можем безопасно удалить этот файл с командой
sudo rm /etc/apt/sources.list.d/google-chrome.list
Затем проблема была решена.
S="/etc/apt/sources.list" ;
S2="$S ${S}.d/*.list" ;
grep -b "^deb\`cat $S2 |
grep -i "^deb[[:space:]]http" |
sort |
uniq -dc |
sed -e 's;[[:space:]]\\+[[:digit:]]\\+[[:space:]]\\+deb\\(.\\+$\\);\\1;g'\`$" $S2
* Вставлены разрывы строк для удобства чтения. I>
Это подходящее задание для uniq
, в котором пропускаются повторяющиеся строки и выводятся только уникальные записи, поэтому мы можем взять вывод из uniq
и заменить старый файл выводом uniq
:
sort /etc/apt/sources.list | uniq > /tmp/sources && sudo mv /tmp/sources /etc/apt/sources.list
Ну, я сам решил проблему Duplicate Entry, переименовав /etc/apt/sources.d
(как root) во что-то другое и запустив sudo apt-get update
, чтобы восстановить каталог и его содержимое.
Похоже, у вас есть две одинаковые строки в вашем файле /etc/apt/sources.list
.
Перейдите в терминал и введите sudo editor /etc/apt/sources.list
, затем найдите все идентичные строки в этом файле и, если найдете, удалите их. После того, как вы закончите, сохранитесь и выйдите, а затем выполните sudo apt-get update
, и это должно решить вашу проблему.
Если это не решит вашу проблему, вам придется использовать метод проб и ошибок. Сначала создайте резервную копию вашего sources.list
файла, затем в самом файле пройдите и закомментируйте или удалите каждую строку, сохраняя и apt-get update
после каждой строки, закомментированной или удаленной. Пройдя по этой строке файла, построчно комментируя разные строки, вы в итоге скажете, какая строка лишняя. Не забывайте раскомментировать любые комментарии, которые вы прокомментировали, если apt-get update
по-прежнему показывает то же самое приглашение, в противном случае в вашем файле sources.list
не останется источников.
Приложения> Ubuntu Software Center> Правка> Источники программного обеспечения> Другое программное обеспечение
ИЛИ
Система> Администрирование > Synaptic Packet Manager> Настройки> Хранилища
Выберите и удалите повторяющиеся записи.
Если вы не можете понять это в source.list
, сделайте следующее:
sudo apt-get update
. Установите ubuntu-tweak и удалите дублирующиеся записи оттуда.
sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak
Просто отредактируйте файл /etc/apt/sources.list
(например, используйте sudo -H gedit /etc/apt/sources.list
) и удалите дублирующую строку или поставьте #
в начале строки.