Работа с репозиториями в 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.
Надеюсь, данная информация будет для Вас полезной.

  • Анонимный

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

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

      Спасибо за хороший отзыв.

  • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

  • https://www.blogger.com/profile/05612403887603992031 Михаил Ильинский

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

  • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

  • https://www.blogger.com/profile/12120776057319535065 Йетти Бигфут

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

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

    • https://www.blogger.com/profile/12120776057319535065 Йетти Бигфут

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

    • https://www.blogger.com/profile/04234935067842814518 Виталий Порфирьев

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

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

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

    • https://www.blogger.com/profile/04234935067842814518 Виталий Порфирьев

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

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

  • https://www.blogger.com/profile/04234935067842814518 Виталий Порфирьев

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

    • https://www.blogger.com/profile/00865845114198842309 Edward Kobylyanets

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

  • https://www.blogger.com/profile/01067280123787841684 Заира Ахмедханова

    sudo add-apt-repository не найден… у меня убунту сервер с gnome