Как использовать PPA в Linux для безопасной установки приложений
В Linux существует множество способов установки приложений, включая архивы личных пакетов в дистрибутивах на базе Debian и Ubuntu. Вот как они работают.
Когда вы устанавливаете приложения в любом дистрибутиве на базе Ubuntu, используется менеджер пакетов apt — независимо от того, используете ли вы командную строку или инструмент с графическим интерфейсом. Менеджер пакетов apt подключается к личным архивам пакетов (PPA), чтобы найти пакет, который вы хотите установить.
Что такое PPA?
По сути, PPA позволяют разработчикам создавать репозитории для размещения программного обеспечения, которое могут устанавливать пользователи. Подумайте о PPA в том же духе, что и о Apple App Store или Google Play Store — удаленном месте, где хранится множество приложений, которые вы можете легко установить. Пока приложение, которое вы хотите установить, находится в репозитории, вы всегда можете его установить.
Но в репозиториях Ubuntu/Debian есть хитрость, которой нет в MacOS через PPA.
Инструмент Ubuntu Software & Updates — это тот инструмент, который вы не должны упускать из виду.
Помните, что первая буква «P» в PPA означает «Личный», что означает, что любой может разместить репозиторий, содержащий программное обеспечение Linux.
Однако, прежде чем мы перейдем к этому процессу, давайте поговорим об официальных репозиториях Ubuntu, которых четыре:
- Главная — Репозиторий бесплатного программного обеспечения с открытым исходным кодом, поддерживаемый Canonical.
- Universe — репозиторий бесплатного программного обеспечения с открытым исходным кодом, поддерживаемый сообществом
- Ограниченный – репозиторий, в котором хранятся проприетарные драйверы
- Multiverse — репозиторий, в котором хранится программное обеспечение, использование которого ограничено авторскими правами
Эти четыре репозитория можно легко включить или отключить с помощью инструмента «Программное обеспечение и обновления». Все четыре включены «из коробки», поэтому вы можете устанавливать программное обеспечение из репозиториев, в которых хранится множество приложений.
Но в отличие от того, что пели The Sundays, история начинается именно здесь.
Существует два типа PPA: официальные и неофициальные. Четыре указанных выше репозитория являются официальными, и вы можете ожидать, что они будут включены в большинстве дистрибутивов на основе Debian/Ubuntu. Когда вы рискуете войти в сферу неофициальных PPA, вам придется приложить больше усилий, чтобы добавить их в свой дистрибутив.
Как настраиваются PPA?
PPA настраиваются в текстовом файле /etc/apt/sources.list.d. Файл называется «Источники Ubuntu», и запись будет выглядеть примерно так:
Types: deb
URIs: http://security.ubuntu.com/ubuntu/
Suites: oracular-security
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
Приведенная выше конфигурация указывает apt, где расположен репозиторий, к какой версии он относится, что он содержит, а также ключ подписи GPG.
Если у вас нет PPA, настроенного в /etc/apt/sources.list.d, и вы собираетесь установить приложение, которого нет ни в одном из четырех основных репозиториев, вы получите подобную ошибку:
Unable to locate the package
Это просто потому, что apt не знает, где хранится пакет, поэтому вам необходимо добавить PPA в свою систему.
Я бы не рекомендовал добавлять в этот файл информацию о сторонних PPA; вместо этого их следует добавить в отдельные файлы в каталоге /etc/apt/sources.list.d. Хорошей новостью является то, что вам не необходимо вручную настраивать PPA, поскольку в apt есть встроенный инструмент для этой цели.
Допустим, например, вы хотите установить приложение Shutter (инструмент для создания снимков экрана). Для этого вам необходимо сначала добавить необходимый PPA. Вместо создания нового исходного файла вы можете использовать команду add-apt-repository следующим образом:
sudo add-apt-repository ppa:shutter/ppa
Затем обновите apt, чтобы он знал о новом дополнении:
sudo apt-get update
Наконец, установите приложение с помощью:
sudo apt-get install shutter -y
Я предпочитаю использовать описанный выше метод (а не ручной вариант), поскольку он автоматически устанавливает необходимый ключ GPG (поэтому требуется меньше шагов).
Предостережения относительно PPA
Проблема со всей этой ерундой в том, что нет списка доступных PPA. Вы не можете зайти на такой сайт, как ubuntuppalist.org, просмотреть доступные PPA и добавить их. Этот сайтдолжен существовать, но я его еще не нашел.
Из-за этой проблемы вам придется провести некоторое исследование. Например, предположим, что вы хотите установить Shutter на свой рабочий стол. Сначала вы ищете его в приложении «Программное обеспечение». Если вы его там не нашли, вы можете открыть окно терминала и ввести команду:
sudo apt-get install shutter -y
К сожалению, вы увидите ошибку Невозможно найти пакет, которая может привести вас к Google (или, в моем случае, к DuckDuckGo), как установить приложение. Когда вы будете искать, как установить Shutter, вы обнаружите, что он находится в неофициальном репозитории (ppa:shutter/ppa), который необходимо добавить перед установкой программного обеспечения.
Вторая проблема немного важнее для понимания.
Программному обеспечению, найденному в четырех официальных репозиториях Ubuntu, можно доверять, поскольку оно было проверено Canonical. С другой стороны, сторонние PPA не проверялись Canonical, а это означает, что вы можете действовать самостоятельно. За последний год в сторонних репозиториях обнаруживалось все больше и больше вредоносных пакетов, так что это чушь, если тот, который вам нужен, безопасен.
Это примечание не предназначено для того, чтобы отпугнуть вас от использования PPA в Linux, а для того, чтобы вы использовали их разумно. Когда мне нужно установить программное обеспечение из стороннего PPA, я ищу, является ли этот PPA законным и можно ли ему доверять. Доступен ли источник? Было ли когда-либо обнаружено, что разработчик (или команда) загружал вредоносное программное обеспечение? Если да, то вы определенно не захотите устанавливать какое-либо программное обеспечение, найденное в этом PPA.
Я рекомендую новым пользователям Linux избегать работы со сторонними PPA и придерживаться официальных. Как только вы поймете, как работает этот подход, вы сможете заняться другими PPA. Даже в этом случае всегда проверяйте PPA перед его добавлением.
Однако за почти 30 лет использования Linux я еще ни разу не устанавливал вредоносное ПО из сторонних источников. Это не означает, что вы должны доверять всем источникам по умолчанию. Если вы проявите осторожность и проведете небольшое исследование перед добавлением стороннего PPA, все будет в порядке.