Работа с репозиториями в Ubuntu


В данной статье я разберу следующие вопросы: добавление репозиториев в Ubuntu, удаление репозиторев в Ubuntu и в конце статьи разберу проблему удаление дублирующего репозитория.

Добавление репозиториев в Ubuntu

Наверняка, Вы были на сайте LaunchPad.net/ .
Нашли Вы, допустим репозиторий: ppa:psi-plus/ppa. Как же его добавить? Можно это сделать и в графическом интерфейсе, но это не Linux Way. Намного удобнее это сделать в консоле, командой: sudo add-apt-repository ppa:репозиторий/ppa В нашем случае: sudo add-apt-repository ppa:psi-plus/ppa Этот способ хорош тем, что еще и ключ репозитория добавляет в систему, и предпочтительно использовать данный метод.
После того, как вы добавили нужный репозиторий, нужно обязательно обновить список пакетов.Вводим следующую команду: sudo apt-get update

Удаление репозиториев в Ubuntu

Для удаления репозитория нужно воспользоваться следующей командой: sudo add-apt-repository --remove ppa:репозиторий/ppa В нашем примере: sudo add-apt-repository --remove ppa:psi-plus/ppa

Удаление дублирующего репозитория

Частный пример:
После запуска обновления сведений об индексах пакетов в репозиториях, командой: sudo apt-get update можно увидеть нечто подобное. Получено 984 kБ за 42с (23,4 kБ/c)
Чтение списков пакетов… Готово
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: Вы можете запустить «apt-get update» для исправления этих ошибок
Это случается, когда вы дважды добавили один и тот же репозиторий.
Что же делать? если запустите ту команду, что написана в консоле, у вас ничего не выйдет.
Для того, чтобы исправить эту ошибку нужно помнить, как вы добавляли репозиторий, в данном случае это было таким образом: sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' Теперь найдем все файлы, в которых встречается строчка: 'deb http://dl.google.com/linux/chrome/deb/ stable main' Для этого введем в терминале команду grep: sudo grep -ir 'deb http://dl.google.com/linux/chrome/deb/ stable main' /etc/apt/sources.list.d/ /etc/apt/sources.list.d/google.list~:deb http://dl.google.com/linux/chrome/deb/ stable main
/etc/apt/sources.list.d/google.list:deb http://dl.google.com/linux/chrome/deb/ stable main
/etc/apt/sources.list.d/google.list.save:deb http://dl.google.com/linux/chrome/deb/ stable main
Нас будет интересовать только тот файл, что со знаком "тильда" "~"
Теперь нужно просто удалить его из системы, воспользовавшись командой rm: sudo rm /etc/apt/sources.list.d/google.list~

Вот и всё. Надеюсь статься была полезной. Если возникают вопросы, задавайте в комментариях, постараюсь ответить.

Поделиться:

Если у Вас возникли вопросы.

Приглашаю задавать их на сервисе вопросов и ответов: Ask LinuxRussia.com.
Там Ваши вопросы не потеряются и Вы быстрее получите ответ, в отличие от комментариев.

35 коммент. :

  1. Почему дублируется репозитарий гугла ведь добавляю его только один раз

    ОтветитьУдалить
    Ответы
    1. Поподробнее можно? Каким образом добавляете? возможно этот репозиторий уже был установлен в системе и вы еще раз его добавили..

      Удалить
  2. Анонимный4 мая 2013 г., 7:26

    Разобрался.
    При установке google-chrome-stable, автоматически создается файл google-chrome.list, внутри которого прописан тот же репозитарий который добавили вручную.
    Чтобы избежать дублирования нужно добавлять репозитарий так: sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

    ОтветитьУдалить
    Ответы
    1. Жаль анонимно, так бы ваше имя добавил в исправленную статью про установку google chrome. Очень хорошее замечание.

      Удалить
  3. Чой-то у меня нихрена не получается, вставляю команду sudo grep... а выходит вот это:
    batr@batr:~$ sudo grep "deb http://dl.google.com/linux/chrome/deb/ stable main" /etc/apt/sources.list.d/
    grep: /etc/apt/sources.list.d/: Это каталог
    batr@batr:~$
    Какой-то каталог, а где sudo rm /etc/apt/sources.list.d/google.list~ искать?

    ОтветитьУдалить
    Ответы
    1. Если на репозиторий гугла ругается, то выполните эту команду

      sudo rm /etc/apt/sources.list.d/google.list

      А потом update

      Удалить
    2. batr@batr:~$ sudo rm /etc/apt/sources.list.d/google.list
      rm: невозможно удалить «/etc/apt/sources.list.d/google.list»: Нет такого файла или каталога

      Это терминал так брешет, собака, у меня этих гуглов выскакивает несколько штук

      Удалить
    3. Спасибо за комментарий, только сейчас ошибку заметил, в статье.

      Исправил уже.

      sudo grep -ir "deb http://dl.google.com/linux/chrome/deb/ stable main" /etc/apt/sources.list.d/

      Надо выполнять grep с параметром -ir , иначе он просто каталог находит.

      Удалить
    4. Отпишитесь, получилось или нет? Если что подскажу.

      Удалить
    5. Вот что нашлось и ни одного с тильдой:
      batr@batr:~$ sudo grep -ir "deb http://dl.google.com/linux/chrome/deb/ stable main" /etc/apt/sources.list.d/
      /etc/apt/sources.list.d/google-chrome.list.save:deb http://dl.google.com/linux/chrome/deb/ stable main
      /etc/apt/sources.list.d/google.list.save:deb http://dl.google.com/linux/chrome/deb/ stable main
      /etc/apt/sources.list.d/google.list.save:deb http://dl.google.com/linux/chrome/deb/ stable main
      /etc/apt/sources.list.d/google-chrome.list:deb http://dl.google.com/linux/chrome/deb/ stable main
      /etc/apt/sources.list.d/google-chrome.list:deb http://dl.google.com/linux/chrome/deb/ stable main
      /etc/apt/sources.list.d/google-chrome.list:deb http://dl.google.com/linux/chrome/deb/ stable main

      Удалить
    6. rm /etc/apt/sources.list.d/google.list.save

      потом sudo apt-get update

      Удалить
    7. rm /etc/apt/sources.list.d/google-chrome.list

      Если опять выдаст ошибку, то и этот снесите.
      Сейчас статья про установку гугл хрома обновлена, можете по новой там проделать все действия.

      Удалить
    8. Такое ощущение, что вы три раза выполнили в терминале команду:

      sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'

      Удалить
    9. Сделал как вы написали, получил: во-первых удалять оказалось нечего "такого файла не существует", во-вторых после ...update большая часть была проигнорирована, какая-то часть попала в кэш, а какая-то была получена и в конце сообщения вот это:
      W: Не удалось получить http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu/dists/raring/main/binary-amd64/Packages 404 Not Found

      W: Не удалось получить http://ppa.launchpad.net/gwibber-daily/ppa/ubuntu/dists/raring/main/binary-i386/Packages 404 Not Found

      E: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.

      Удалить
    10. sudo grep -ir 'gwibber-daily' /etc/apt/sources.list.d/

      удалить все, что найдет

      Удалить
    11. Нашлось четыре записи, но удаляться они не хотят, потому что нет такого файла или каталога) Как такое возможно?
      Да я удалил хром, почистил кэш, потом установил по вашей статье,(unstable)почему-то хром встал автоматом как и был со всеми приложениями, закладками и даже тема осталась.

      Удалить
    12. откройте sudo nautilus , перейдите в /etc/apt/sources.list.d/ и удалите с gwibber файлики. Затем обновите сведения о пакетах.

      Удалить
    13. Да, спасибо, удалил эти файлы и теперь ошибки нет. Но нашлись они здесь /etc/apt/trusted.gpg.d, поэтому консоль писала нет такого файла или каталога.
      Спасибо еще раз огромное, теперь я ваш постоянный читатель.

      Удалить
  4. Этот комментарий был удален автором.

    ОтветитьУдалить
  5. Анонимный6 июля 2013 г., 23:31

    Добавлю отсебятины.. Статья конечно хорошая. Лично я лишь благодарности выражаю в таких статьях. Но замечу, что именно такие статьи аля "Linux Way", отпугивают начинающих пользователей Linux. Хотелось бы попросить Вас при описании статей указывать как консольные части, так и гуёвые. А трактовками "консоль рулит", тут уж кому как. Лично мне, что-то проще сделать и в консоли. А когда лень печатать, можно и гуём пользоваться. Но начинающим, все дают консоль и не описывают как это делается вне консоли, а в гуях, что печально. Ведь не мало юзверей нырнуло в окна разбив стёкла именно по этой причине. Это не критика, это всего лишь заметка и не стоит это принимать слишком близко к сердцу. Спасибо за статью, побольше хороших и полезных статей с простотой объяснения )

    ОтветитьУдалить
    Ответы
    1. Я понял Вас. Вы правы, я хотел переделать эту статью и описать методы без консоли, будет время переделаю эту статью. Пишите чаще, хорошая критика всегда помогает сделать сайт лучше. :)

      Удалить
  6. Админ, возможно будет немного не в тему, но у меня такая вот проблема. Захотел я установить себе KDE последней версии. Добавил репозиторий kubuntu-ppa/backports и после команды sudo apt-get install kubuntu-desktop пишет: "Невозможно исправить ошибки, у вас отложены (held) битые пакеты" Репозиторий конечно же обновлял, пробовал
    в Synaptic в Меню - "Правка - Исправить пакеты с ошибками", писать команды: "sudo dpkg --configure -a" и "sudo apt-get install -f", пробовал писать sudo apt-get install kde-full - НИЧЕГО НЕ ПОМОГАЕТ, не знаю что делать, может вы поможете... Та же история была когда я пытался установить Mate

    ОтветитьУдалить
    Ответы
    1. Пришлите сюда полностью вывод в консоле ошибки.

      Удалить
  7. при sudo apt-get install kde-full :
    Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
    или же используете нестабильную версию дистрибутива, где запрошенные вами
    пакеты ещё не созданы или были удалены из Incoming.
    Следующая информация, возможно, поможет вам:

    Пакеты, имеющие неудовлетворённые зависимости:
    kde-full : Зависит: kde-plasma-desktop (>= 5:78ubuntu3~ubuntu12.04~ppa6) но он не будет установлен
    Зависит: kde-plasma-netbook (>= 5:78ubuntu3~ubuntu12.04~ppa6) но он не будет установлен
    Рекомендует: kde-standard (>= 5:78ubuntu3~ubuntu12.04~ppa6) но он не будет установлен
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    При sudo apt-get install kubuntu-desktop :
    Некоторые пакеты невозможно установить. Возможно, вы просите невозможного,
    или же используете нестабильную версию дистрибутива, где запрошенные вами
    пакеты ещё не созданы или были удалены из Incoming.
    Следующая информация, возможно, поможет вам:

    Пакеты, имеющие неудовлетворённые зависимости:
    kubuntu-desktop : Зависит: kde-window-manager
    E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.
    Да кстати, у меня Ubuntu 12.04

    ОтветитьУдалить
    Ответы
    1. При обновлении. Сначала нужно сделать следующее:
      sudo apt-get update
      sudo apt-get upgrade
      sudo apt-get dist-upgrade
      sudo apt-get autoclean
      sudo apt-get autoremove
      sudo apt-get indtall -f
      затем:

      sudo apt-get purge kde-*

      Затем, перегрузить комп, если новые ядра в системе встали. Если нет, тогда пробуем поставить:
      при sudo apt-get install kde-full

      Удалить
    2. И почему лучше не поставить sudo apt-get install kubuntu-desktop

      Самое простое и скорее всего пройдет без ошибок.

      Удалить
    3. Я же писал вам, что при sudo apt-get install kubuntu-desktop выдает :
      Пакеты, имеющие неудовлетворённые зависимости:
      kubuntu-desktop : Зависит: kde-window-manager
      E: Невозможно исправить ошибки, у вас отложены (held) битые пакеты.

      Удалить
    4. Сделал все как вы написали - не помогло, KDE на компе нет, когда пишу sudo apt-get install kde-full выдает то же самое, и при sudo apt-get install kubuntu-desktop тоже.

      Удалить
    5. sudo apt-get install synaptic

      Меню - Правка - Исправить пакеты с ошибками.

      Удалить
    6. Выше же писал, что это не помогает

      Удалить
    7. Точно, а при обновлении ошибок нет про битые пакеты? А в синаптике что была за ошибка, почему не исправил, должно было быть сообщение какое-то. Больше логов :)

      Удалить
  8. В synaptic никаких сообщений нет когда нажимаю исправить пакеты. А при обновлении репозиториев пишет: W: Ошибка GPG: http://packages.mate-desktop.org precise Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 68980A0EA10B4DE8
    W: Ошибка GPG: http://repo.mate-desktop.org precise Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 68980A0EA10B4DE8
    W: Ошибка GPG: http://mirror1.mate-desktop.org precise Release: Следующие подписи не могут быть проверены, так как недоступен открытый ключ: NO_PUBKEY 68980A0EA10B4DE8
    Но это уже KDE не косается, это Mate, который я как-то не смог установить, при собственно самом обновлении ОС ничго вроде не пишет не выходит.

    ОтветитьУдалить
    Ответы
    1. посмотрите в synaptice, возможно есть какие то пакеты kde kubuntu. удалить репозиторий бэкпортов kubuntu, если есть.

      kde-full : Зависит: kde-plasma-desktop (>= 5:78ubuntu3~ubuntu12.04~ppa6) но он не будет установлен

      Вот ваша ошибка например.

      5:78ubuntu3~ubuntu12.04~ppa6 - это у нас пакет:

      Name: kdenetwork

      Description:

      networking applications from the official KDE 4 release
      This metapackage includes networking applications provided with the official
      release of KDE.
      Latest version: 5:78ubuntu3~ubuntu12.04~ppa6

      Удалить
    2. Нашел что-то, но я даже не знаю что с ними делать, как их удалять или еще что-то. Вот несколько скринов:
      http://s1.ipicture.ru/uploads/20130827/SyN1WU3Z.png
      http://s1.ipicture.ru/uploads/20130827/Jg5IUGWv.png
      http://s1.ipicture.ru/uploads/20130827/7CxbMkmr.png
      http://s1.ipicture.ru/uploads/20130827/EmLg6kNL.png

      Удалить
    3. Где 5:78ubuntu3~ubuntu12.04~ppa6 пакет заблокировать версию, далее ищите что конфликтует, блокируйте.

      Не факт, что поможет. Но как вариант.

      Удалить