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

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

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

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

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

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

Способ для Ubuntu 9.10 и более новых версий

Начиная с версии 9.10 в Ubuntu была улучшена интеграция с Launchpad. Теперь на страницах всех репозиториев есть короткая инструкция по быстрому добавлению источника приложений в систему. В этой инструкции интересует часть выделенная жирным шрифтом. Скопируйте эту часть и воспользуйтесь одним из ниже приведенных способов добавления репозитория.

Графический способ

GNOME: Откройте Центр приложений Ubuntu. Откройте пункт меню Правка→Источники приложений… . Перейдите на вкладку Другое ПО и нажмите Добавить… .

KDE: Откройте Управление программами→Настройки→Редактировать источники программ, перейдите на вкладку со списком подключенных репозиториев и нажмите Добавить.

В появившееся окно вставьте скопированную с сайта строку. После этого обновите список пакетов.

Консольный способ

sudo add-apt-repository ppa:deluge-team/ppa && sudo apt-get update
В Ubuntu 9.10 и выше описания репозитариев не добавляются в общий файл /etc/apt/sources.list, а хранятся отдельными файлами в каталоге /etc/apt/sources.list.d/

Универсальный метод добавления

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

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

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

Нажмите на Technical details about this PPA для того, чтобы увидить детальную информацию о PPA:

Launchpad автоматически определяет вашу версию Ubuntu. Если этого не случилось, выбирите свою версию в выпадающем списке.

Две строчки рамке - это две строчки с описанием репозиториев (первая для бинарных пакетов, вторая для исходных кодов), которые надо добавить к списку источников программного обеспечения в вашей системе. О том, как это делать см. в статье про репозитории. Если вашей версии 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.