Это старая версия документа.


Персональные архивы пакетов (PPA) на launcpad.net

Самым простым способом распространения программ для Ubuntu является выкладывание их в репозитории. Офииальные репозитории Ubuntu хоть и содержат огромное количество пакетов, труднодоступны для обычных разработчиков, в них сложно поддерживать актуальные версии своей программы, да и вообще, не каждый проект имеет шанс туда попасть. Для создания собственного репозитория необходимы ресурсы, как минимум, сервер, и неплохие навыки администратора. Всё это создаёт некоторые препядствия для распространения программ для Ubuntu.

Поэтому для поддержки и развития свободных проектов был создан сервис launcpad.net. С помощью этого сервиса можно делать много чего, но одно из его ключевых достоинств для обычного пользователя - возможность любому создать свой репозиторий, который в рамках launchpad называет персональный архив пакетов (Personal Package Arhive - PPA), и использовать его для распространения своих пакетов без лишних технических трудностей.

Уже огромное количество проектов активно использует этот сервис, в будущем оно непременно возростёт. Однако на данный момент весь сервис доступен только на английском языке, что не очень удобно для пользователей, плохо с ним знакомых. Кроме того, для грамотного добавления ppa в систему надо выполнить ряд нетривиальных действий.

Поиск нужного PPA и его описания

Если вы не первый день знакомы с Ubuntu и уже пытались поставить пакеты не только из доступных по умолчанию репозиториев, то, скорее всего, вам уже встречались ссылки вида http://ppa.launchpad.net/deluge-team/ppa/ubuntu. Это прямая ссылка на PPA для deluge-team, пройдя по ней вы увидити лишь папки с различными файлами. Сейчас огромное количество пакетов доступно через различные PPA, многие проекты используют launcpad.net как основной источник распространения своих программ для пользователей Ubuuntu, поэтому ссылки на ppa встречаются очень частно. Кроме того, на launcpad.net есть поиск, попробуйте найти через него свой любимый проект, вполне возможно он уже зарегистрирован на launcpad.net и для него выложены готовые к установке пакеты.

Ссылка http://ppa.launchpad.net/deluge-team/ppa/ubuntu очень неудобна для добавления в систему в качестве источника пакетов. Для того, чтобы добавить данный репозиторий в систему, полезней будет пройти по ссылке https://launchpad.net/~deluge-team/+archive/ppa на страницу launchpad с описанием этого PPA. Все ссылки имеют одинаковый вид, отличаются они лишь названием команды (и, возможно названием PPA), однако запомнить сей набор символов достаточно сложно, поэтому проще всего выйти на страницу с описанием репозитория добавив после основного адреса https://launchpad.net/ тильду и имя команды, которое можно выделить из любой ссылки на PPA, получится что-то типо https://launchpad.net/~deluge-team. Пройдя по этой ссылке вы попадёте на страницу команды deluge-team на launchpad.net. Если у команды есть персональный архив, то под картой вы увидите ссылку на страницу с его описанием:

Как видно, у deluge-team два персональных архива, обычно нас интересуют архив названный PPA for…. Другой способ выйти на страницу описания нужного PPA - опять-таки просто воспользоваться поиском по launcpad.net ;-)

Добавление PPA в систему

Для корректного добавления PPA в систему необходимо выполнить два действия:

  1. Добавить ссылку на репозиторий в системный список источников пакетов.
  2. Добавить цифровую подпись репозитория в систему.

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

Итак, вверху страницы с описанием PPA содержится все нужная нам информация:

Для начала необходимо выбрать в выпадающем списке, в котором по умолчанию написано «Choose your Ubuntu version«», вашу версию Ubuntu. При этом в нижней рамке слова «YOUR_UBUNTU_VERSION_HERE» заменяться на названия вашей версии. Две строчки в этой рамке - это две строчки с описанием репозиториев (первая для бинарных пакетов, вторая для исходных кодов), которые надо добавить к списку источников программного обеспечения в вашей системе, о том, как это делать см. в статье про репозитории. Если вашей версии Ubuntu нет в списке, значит, данный PPA её не поддерживает по каким-то причинам. Возможно, ваша версия Ubuntu слишком старая, тогда вам необходимо обновиться до более свежей версии, либо наоборот - вы используете нестабильную версию, ещё официально не вышедшую. Кроме того, разработчик по каким-то причинам может прекратить поддержку своего PPA и больше не добавлять туда свежие пакеты. В любом случае, все вопросы по содержанию PPA отправляйте той команде или тому человеку, кто поддерживает данный PPA.

Однако для корректной работы с подключённым PPA необходимо импортировать его ключ в систему. Ключ - это часть строчки «Signing key» после слеша, рядом есть ссылка «What is this?», при нажатии на которую появиться краткая справка о том, что такое подпись репозитория и как импортировать ключ в систему. К сожалению, она на английском, однако в импортировании ключа нет ничего сложного: вам всего лишь надо выполнить в консоли команду

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 12345678

заменив «12345678» той строчкой, которая написана после «/» в строке «Signing key». Подробнее про подпись репозиториев см. в общей статье про репозитории.

Всё, теперь можно обновить список пакетов и устанавливать программы из подключённого PPA.

Создание собственного PPA

Хотите создать собственный репозиторий и делиться пакетами со всеми пользователями Ubuntu? Нет ничего проще, для этого вам всего лишь придётся зарегистрировать свой личный GPG-ключ, подписать Code Of Conduct (CoC), и, собственно, зарегистрировать PPA на launcpad.net. За подробностями обращайтесь к справочной системе launchpad.