Если вы использовали Ubuntu или какой-либо другой дистрибутив Linux, основанный на Ubuntu, такой как Linux Mint, Linux Lite, Zorin OS, Вы могли встретить подобные команды такого рода как, например,
sudo add-apt-repository ppa:rvm/smplayer
sudo apt-get update
sudo apt-get install smplayer smplayer-themes smplayer-skins
Ряд сайтов предлагают такие линии для установки приложений в Ubuntu . Это то, что называется установкой приложения с использованием PPA.
Соответственно возникает вопрос: что такое PPA, почему он используется и как правильно использовать? Новичкам не ясно насколько это безопасно и как при желании это удалить из системы.
Раскроем эту тему как можно шире. На примерах будет использоваться Ubuntu, но объяснения и шаги также применимы к другим дистрибутивам на основе Debian / Ubuntu.
Что такое PPA? Почему это используется?
PPA расшифровывается как Personal Package Archive - "Архив личных пакетов".
Прежде чем разбираться в PPA, вы должны знать концепцию репозиториев в Linux.
Концепция хранилищ и управления пакетами
Репозиторий - это набор файлов, которые содержат информацию о различном программном обеспечении, его версиях и некоторых других деталях, таких как контрольная сумма. Каждая версия Ubuntu имеет свой собственный официальный набор из четырех репозиториев:
бесплатное программное обеспечение с открытым исходным кодом, поддерживаемое Canonical.
поддерживаемое сообществом бесплатное программное обеспечение с открытым исходным кодом.
проприетарные драйверы для устройств.
Программное обеспечение ограничено авторским правом или правовыми вопросами.
Вы можете увидеть такие репозитории для всех версий Ubuntu http://archive.ubuntu.com/ubuntu/dists/. Вы можете просматривать их, а также перейти к отдельным репозиториям.
Таким образом, в основном это веб-URL, который содержит информацию о программном обеспечении.
Вероятно Вас заинтересовал вопрос: Как ваша система узнает, где находятся эти репозитории?
Эта информация хранится в файле sources.list в каталоге /etc/apt. Если вы посмотрите на его содержимое, то увидите, что в нем есть URL-адрес хранилищ. Строки с # в начале игнорируются.
Теперь, когда Вы запускаете команду
sudo apt update
ваша система использует инструмент APT для проверки репозитория и сохраняет информацию о программном обеспечении и его версии в кеше. Когда вы используете команду
sudo apt install package_name
она использует информацию для получения этого пакета с URL-адреса, где хранится реальное программное обеспечение.
( Что такое APT?
представляет собой набор инструментов для управления Debian пакетов.APT позволяет:
- Установить приложения
- Удалить приложения
- Держите ваши приложения в актуальном состоянии
- и многое другое...)
Итак. Если в репозитории нет информации об определенном пакете, вы увидите ошибку вроде:
E: Unable to locate package
Или примерно в таком виде:
Почему используется PPA?
Ubuntu контролирует, какое программное обеспечение и, что более важно, какую версию программного обеспечения Вы получаете в своей системе. Но представьте, если разработчик программного обеспечения выпускает новую версию программного обеспечения.
Ubuntu не сделает его доступным сразу. Существует процедура проверки совместимости новой версии программного обеспечения с системой. Это обеспечивает стабильность системы.
Но это также означает, что пройдет несколько недель или, в некоторых случаях, несколько месяцев, прежде чем он станет доступен в Ubuntu. Не все захотят так долго ждать, чтобы получить новую версию своего любимого программного обеспечения.
Аналогично, предположим, что кто-то разрабатывает программное обеспечение и хочет, чтобы Ubuntu включил его в официальные репозитории. Снова потребуются месяцы, прежде чем Ubuntu примет решение и включит его в официальные репозитории.
Другой случай будет в течении бета-тестирования. Даже если стабильная версия программного обеспечения доступна в официальных репозиториях, разработчик программного обеспечения может захотеть, чтобы некоторые конечные пользователи протестировали их предстоящий выпуск. Как они позволяют конечному пользователю провести бета-тестирование предстоящей версии?
Enter PPA!
Как использовать и как работает PPA?
PPA - означает «Архив личных пакетов». Помните слово «Личное» здесь. Это дает намек на то, что это что-то эксклюзивное для разработчика и официально не одобрено дистрибутивом. Вы можете ознакомиться с этой страницей https://launchpad.net/ubuntu/+ppas
Ubuntu предоставляет платформу под названием Launchpad, которая позволяет разработчикам программного обеспечения создавать свои собственные репозитории. Конечный пользователь, т.е. Вы, можете добавить репозиторий PPA в ваш список sources.list, и когда вы обновите свою систему, ваша система узнает о доступности этого нового программного обеспечения, и вы можете установить его, используя стандартную команду sudo apt install, как эта.
sudo add-apt-repository ppa:dr-akulavich/lighttable
sudo apt-get update
sudo apt-get install lighttable-installer
Подведя итог вышенаписанному
sudo add-apt-repository <PPA_info> - эта команда добавляет репозиторий PPA в список.
sudo apt-get update - эта команда обновляет список пакетов, которые можно установить в системе.
sudo apt-get install <package_in_PPA> - эта команда устанавливает пакет.
Важно использовать команду
sudo apt update
иначе ваша система не будет знать, когда будет доступен новый пакет.
Теперь давайте посмотрим на первую команду более подробно.
sudo add-apt-repository ppa:dr-akulavich/lighttable
Если вы добавите ppa: dr-akulavich / lighttable , то Вы получите Light Table.
Но если вы добавите ppa: dr-akulavich, то Вы получите все хранилище или пакеты, упомянутые в «верхнем хранилище». Это иерархическое.
По сути, когда вы добавляете PPA с помощью add-apt-repository, он будет выполнять те же действия, что и при ручном запуске этих команд:
deb http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main
deb-src http://ppa.launchpad.net/dr-akulavich/lighttable/ubuntu YOUR_UBUNTU_VERSION_HERE main
Две вышеупомянутые строки являются традиционным способом добавления любых репозиториев в ваш sources.list. Но PPA делает это автоматически для вас, не задумываясь о точном URL хранилища и версии операционной системы.
Здесь важно помнить, что при использовании PPA он не меняет исходный список sources.list. Вместо этого он создает два файла в каталоге /etc/apt/sources.d, список и файл резервной копии с суффиксом «save».
На скриншоте показано как PPA создает отдельный sources.list
Так выглядит содержание source.list PPA
Файлы с суффиксом list имеют команду, которая добавляет информацию о хранилище.
Это мера безопасности, гарантирующая, что добавление PPA не связывается с оригинальным sources.list. Это также помогает в удалении PPA.