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



В данной статье расскажу о репозиториях в Ubuntu. 
О том, что такое репозитории PPA в Ubuntu. О том, как добавлять и удалять репозитории PPA в Ubuntu. О том, как удалять изменения системы из добавленных репозиториев PPA.

1. Что такое репозитории Ubuntu и репозитории PPA Ubuntu?

Переходя с системы Windows, пользователи зачастую озадачены тем, что программы в Ubuntu устанавливаются посредством установки из "репозиториев". Разберем, что же это такое.

Официальные репозитории Ubuntu. 

Итак, существуют официальные репозитории Ubuntu, они уже добавлены в систему изначально.
Кроме того, существует графический интерфейс для поиска и установки приложений "Центр приложений Ubuntu":


Здесь можно воспользоваться поиском или просмотреть по категориям и найти нужную программу, которую установить довольно просто:


С распространением ios и android на телефонах люди привыкли к тому, что ищут приложения в одном месте и устанавливают их оттуда. Ubuntu в этом плане очень похожа.

Репозитории PPA в Ubuntu.

Но помимо официальных репозиториев Ubuntu, есть еще репозитории PPA
PPA расшифровывается как Personal Packages Archive, то есть Персональный Архив Пакетов.
Именно их мы и подключаем в систему Ubuntu, чтобы установить:

  • либо самые новые приложения, 
  • либо чтобы установить какое то исправление системы, 
  • либо установить те приложения, которых нет в официальном репозитории Ubuntu.

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

2. Подключение репозиториев PPA в Ubuntu.

Разобрались с понятиями о том, что такое PPA репозиторий, рассмотрим варианты их подключения в систему Ubuntu.
На своем сайте я всегда привожу терминальные команды для подключения репозитория и установки программы из этого репозитория. Так как считаю это наиболее быстрым способом и для себя и для читателя моего блога. Всего то нужно - открыть терминал и ввести три команды, которые полностью скопировать из статьи,  чтобы установить программу.

Где искать репозитории PPA?

Почти любой ppa найти можно на сайте launcpad.net
Покажу как искать на нём репозитории ppa.
Заходим на данный сайт и вводим в поиск название программы:


Находим страничку программы и на найденной страничке нас будет интересовать "Project Information", а именно "Maintainer":


Переходим на страничку в пункте "Maintainer" и находим пункт "Personal package archive":


Перейдя по ссылке, мы попадаем на страничку PPA:


На этой страничке жирным шрифтом находим само название PPA.

Кроме того, находим и строчку для добавления ppa в графическом режиме, начинается с "deb".
Чтобы получить правильную строчку, нужно выбрать версию дистрибутива:


Добавление репозиториев PPA в графическом режиме.

Чтобы добавить репозиторий PPA в графическом режиме, открываем "Программы и обновления" и переходим на вкладку "Другое ПО" и жмём "Добавить":


В открывшемся окне добавляем строчку, что скопировали с сайта launchpad  и жмём кнопку "Добавить":


Помимо этого в графическом режиме можно добавлять и строчку, что выделена жирным шрифтом, в примере:  ppa:shutter/ppa




Вот и добавили PPA репозиторий в систему.
Теперь обновите информацию о пакетах. И можно установить приложение в графическом режиме с помощью программы Synaptic к примеру.

Подключение репозиториев PPA в терминале.

Подключение репозитория PPA в Ubuntu производится следующей терминальной командой: sudo add-apt-repository ppa:репозиторий/ppa В нашем примере команда будет следующей: sudo add-apt-repository ppa:shutter/ppa Вот и всё. Подключили нужный репозиторий.

Теперь, чтобы система узнала о пакетах (программах) в этом подключенном репозитории, нужно выполнить следующую команду в терминале:
sudo apt-get update
После чего можно устанавливать программу с помощью следующей терминальной команды:
sudo apt-get install имя_пакета
Вот и разобрали два способа подключения репозиториев PPA в систему Ubuntu.

3. Удаление и отключение репозиториев из системы Ubuntu.

Рассмотрим графический режим удаления и отключения репозиториев PPA.

Также открываем "Программы и обновления", переходим на вкладку "Другое ПО":



  • Чтобы отключить репозиторий из системы, то просто снимите галочку.
  • Чтобы удалить репозитория из системы, то нужно выбрать нужный репозиторий из списка и нажать "Удалить".
Вот так удаляются и отключаются репозитории PPA из системы Ubuntu в графическом режиме.

Рассмотрим способ удаления репозиториев PPA из терминала.

Удаляются репозитории из системы той же командой что и подключаются:
add-apt-repository Только с параметром --remove или --r
То есть, чтобы удалить репозиторий из системы нужно выполнить команду:
sudo add-apt-repository --remove имя_ppa_репозитория К примеру, если хотим удалить репозиторий, добавленный в прошлом пункте, нужно выполнить следующую команду:
sudo add-apt-repository --remove ppa:shutter/ppa
Очень легко запомнить.
Чтобы удалить репозиторий из системы, то копируем туже команду, которой добавляли этот самый репозиторий и просто добавляем ключ --remove или --r

4. Убрать изменения системы из подключенного репозитория ppa.

Теперь хочу разобрать необычный случай.
Разберем на примере из моей статьи:


Есть инструкции, когда подключаем ppa репозиторий, после чего обновляем системные компоненты системы:
sudo apt-add-repository ppa:gurqn/systray-trusty

sudo apt-get update

sudo apt-get upgrade
Как же откатить изменения из этого репозитория?  Удалить обновленный системный пакет не получится (так как тогда система поломается), а при удалении репозитория изменения, сделанные с системой из данного PPA репозитория, не откатываются.
Как же быть? Как убрать эти изменения? Или это безнадежный случай?
На самом деле это не так и можно убрать эти изменения и вернуть старые системные пакеты.
Для удаления репозиториев из системы есть терминальная утилита:
ppa-purge
Изначально её нет в системе, поэтому нужно сначала её установить: sudo apt-get install ppa-purge Теперь выполняем удаление репозитория, вводим в терминале: sudo ppa-purge название_репозитория То есть в нашем случае: sudo ppa-purge ppa:gurqn/systray-trusty Увидим такое сообщение в терминале:


То есть, удаляя репозиторий PPA с помощью данной терминальной утилиты
ppa-purge, мы отменяем изменения, сделанные в системе, из удаляемого репозитория.
Вот таким образом откатываются изменения.

Вот и всё, что я хотел рассказать о репозиториях в Ubuntu.
Надеюсь, данная информация будет для Вас полезной.

Поделиться:

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

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

16 коммент. :

  1. Анонимный5 июля 2014 г., 19:44

    Спасибо за статью. Познавательно для начинающего пользователя. Узнал для себя много интересного.
    Продолжай в том же духе.

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

    ОтветитьУдалить
    Ответы
    1. Прошу не оставлять комментарии с матами.
      Замечание учту, добавлю в статью момент этот. Сам графическим способом не добавляю и не знал.

      Удалить
    2. Прошу прощения, но где там был мат?

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

      Удалить
  3. Кажется, это единственная тема, которая более или менее соответствует моему вопросу. А вопрос вот какой: при попытке обновления ubuntu 12,04 3.2 058 generic-pae повылазило: "не читается перечень источников", не определяется имя пакета", "повреждена строка 59 в списке источников". Выполнил команду cat -nA /etc/apt//sources.list и строка 59 имеет следующий вид:
    59 deb http://archive.canonical.com/ preciseparthner$ Насколько я понимаю, пропущен пробел. Вопрос: как отредактировать в терминале не "текущую" строку, а одну из тех, которые находятся выше? И как потом сделать, чтобы эти изменения применились внутри системы?

    ОтветитьУдалить
    Ответы
    1. зачем в терминале? Можете и в "гуи", это же не сервер.
      Открываете терминал и вставляете команду:
      sudo gedit /etc/apt//sources.list
      Затем меняете что нужно:
      [im]http://funkyimg.com/i/MvPS.png[/im]
      Сохраняете.
      Всё

      Удалить
    2. Спасибо, помогло. Теперь буду знать, как редактировать что то в терминале.

      Удалить
    3. Это не совсем "редактирование в терминале". Если быть точным, то это редактирование в графическом редакторе (в данном случае gedit), открытом из терминала, с правами суперпользователя.
      Справедливости ради, стоит сказать, что открыть gedit (в том числе и с рутовыми правами), можно, вообще не прибегая к терминалу.
      Хотя, соглашусь, что из терминала - быстрее и проще.
      А если говорить о редактировании в "чистом" терминале, то можно использовать например, nano.

      Удалить
    4. Я сам пользуюсь nano, но большинство пользователей отпугивает такое решение. Поэтому в статьях пишу про gedit. Хотя надо взять за практику добавлять и команду с nano.

      А вообще есть шутка:
      "- как новичка навсегда отпугнуть от Линукс?
      - Дать ему отредактировать конфигурационные файлы с помощью vi )))."

      Удалить
    5. Добавлю шутку про vi
      "Я пользуюсь редактором vi уже 4 года. Просто потому, что не знаю, как выйти из него" )))

      Удалить
    6. Очень правдивая на самом деле)))))). Мне нравится.

      Удалить
  4. Статья познавательная, простая, понятная. Благодарю.
    P.S. А есть утилита, подобная ppa-purge, но для удаления НЕ ppa-репозитория?

    ОтветитьУдалить
    Ответы
    1. Спасибо большое за отзыв.
      На счет ppa-purge, но для удаления НЕ ppa-репозитория не знаю. Я не искал, возможно и есть. А так не могу ответить на данный вопрос.

      Удалить
  5. sudo add-apt-repository не найден... у меня убунту сервер с gnome

    ОтветитьУдалить