Федорчук Алексей Викторович
Шрифт:
Для доступа к PPA-репозиториям фирмой Canonical разработан специальный онлайновый инструмент — Launchpad, размещённый на одноимённом сайте. Это — не открытая и не свободная система. Более того, она имеет и платную версию, предназначенную для коммерческих пакетов. Однако мы ведь не рататую абстрактной свободы, и нас это не волнует, верно? Цели и задачи Launchpad'а не ограничиваются обеспечением доступа к PPA-репозиториям. Однако остальные его функции предназначены для разработчиков, и потому нас, применителей, также не касаются.
Казалось бы, при чём здесь Mint? А при том, что практически все пакеты из PPA-репозиториев прекрасно устанавливаются в нём и работают точно так же, как в родной Ubuntu. И потому обращение к ним неизбежно, как как крах мировой системы социализма: далеко не всегда потребности применителя в пакетах удовлетворяются официальными репозиториями Ubuntu, даже дополненными Mint'овскими.
В разделе про Mintsource мы уже занимались подключением PPA-репозиториев. Теперь посмотрим, что получается в итоге. А вот что: в том же каталоге /etc/apt/sources.list.d/ к спискам официальных репозиториев, official-package-repositories.list и official-source-repositories.list, присоединяются файлы вида *.list — по одному на каждый подключённый репозиторий, где под маской скрывается его так называемое ppa-имя.
Откуда берётся ppa-имя — расскажу в очерке про управление пакетами. А пока — как оно выглядит. Большинство пакетов в PPA-репозиториях собирается и поддерживается майнтайнерами-индивидуалами, и потому здесь нередко можно видеть их имена, фамилии или ники, например, ppa:andrew-crew-kuznetsov/crew — репозиторий, поддерживаемый Андреем Crew Кузнецовым, разработчиком программы XNeur и сборщиком пакета hunspell-ru-ie-yo, словаря для проверки русской орфографии, поддерживающего букву Ё. В других случаях это просто имя пакета, часто с отражением статуса разработки, например, ppa:marlin-devs/marlin-daily — репозиторий «ежедневных» сборок файлового менеджера Marlin. Репозиторий может включать несколько связанных друг с другом пакетов — и тогда называться по главному из них, например: ppa:zfs-native/stable и ppa:zfs-native/daily — репозитории пакетов поддержки ZFS on Linux стабильной и разрабатываемой ветки, соответственно.
Возможны и более причудливые имена, например, ppa:mystic-mirage/komodo-edit — репозиторий текстового редактора Komodo Edit. Важно, что они в обязательном порядке включают «префикс» ppa:, который в имени соответствующего list-файла отбрасывается. Зато завершается последний обязательным компонентом — именем релиза. Например, для Komodo Edit имя list-файла — mystic-mirage-komodo-edit-trusty.list.
Внутри такого файла — обычно две строки. Например, для пакета komodo-edit они будут такими:
debtrusty main
deb-srctrusty main
То есть в одном файле описывается и репозиторий бинарников, и репозиторий исходников. Если последний отсутствует — соответствующей строки не будет. Впрочем, в PPA-репозиториях пакетов без исходников не водится. А вот среди «не вполне свободного» софта встречаются, примером чему — браузер Opera: файл opera-stable.list выглядит следующим образом:
debstable non-free #Opera Browser (final releases)
Однако случаи, когда приходится искать пакеты за пределами PPA-репозиториев, очень редки. Ибо в них, как в Греции есть всё — и ещё немного больше, чем всё.
Подключение PPA-репозиториев
Чтобы воспользоваться всем греческим сокровищем,описанным на предыдущей страницу, необходимо научиться подключать дополнительные репозитории вообще и PPA-репозитории в особенности.
В очерке про фирменный инструментарий Mint был описан один способ их подключения — с помощью утилиты mintsources, она же software-sources. Однако это можно сделать и в CLI — командой add-apt-repository (или apt-add-repository — это опять-таки символическая ссылка на неё). Поскольку очевидно, что для подключения репозиториев требуются права администратора, команда эта должна быть дана в такой форме:
$ sudo add-apt-repository ppa-name
Если воспользоваться глобальными псевдонимами Zsh, это будет выглядеть примерно так:
$ sudo Ar ppa-name
Так что остаётся только сущая мелочь — определить это самое ppa-имя нужного репозитория. Между прочим, та же проблема была и при использовании mintsources — и он никак не может помочь в этом деле. Как её решить?
Можно, конечно, походить по форумам Ubuntu'йской тематики, можно сделать запрос к Гоше или Яше, указав имя искомого пакета, можно... да много чего можно сделать, чтобы по прошествии изрядного или ещё большего времени получить нужный результат. А можно, действуя методично и планомерно, прибегнуть к универсальному способу. И для начала зайти на Launchpad:
Далее в поле поиска следует набрать имя требующегося пакета или его фрагмент, например, zfs. Далее в списке выдачи результатов нужно отыскать нужную строку — в данном случае это будет ZFS Stable Releases... или ZFS Daily Releases..., в зависимости от требований — стабильности или фронтирности:
Теперь — щёлкнуть на ней (предположим, мы предпочти синицу стабильности журавлю фронтирности), и прочитать раздельчик, озаглавленный Adding this PPA to your system: