Установка поддержки пакетов Snap в Debian

Конечно же, вы скажете, мол, если хочется использовать пакеты в формате Snap, то почему бы не взять Ubuntu или её официальные варианты. Однако Debian в своей стабильной версии всё же надёжнее. Кроме того, в Ubuntu есть телеметрия. Хотя отправляется не слишком важная информация, но для многих неприемлем сам факт.

Зачем же тогда пользоваться Snap? Не хочется быть рабом репозиториев (в том числе репозиториев с пакетами Flatpak) и их персонала. Не хочется жёсткой, железобетонной привязки конкретного выпуска программы к тому или иному релизу операционной системы (желаешь новее — устанавливай и ОС новее). А формат Appimage, увы, портативный лишь условно, поскольку зависит от версий системных библиотек, да и софта в таком виде очень мало.

Итак, предположим, что при установке Debian вы указали пароль для root. Тогда нужно сначала повысить привилегии, затем добавить в систему обычный deb-пакет snapd:
 
su root
apt-get update && apt-get install snapd


Если же пароль root не указывали, решили обустроить всё как в Ubuntu, тогда действуем чуточку иначе:

sudo apt-get update
sudo apt-get install snapd


Теперь нужно установить ту самую платформу уже в формате Snap:

sudo snap install snapd

Магазин приложений Snap Store добавляем по желанию, если поддержка Snap не встроилась в уже имеющийся менеджер софта (как в центре программ Discover в KDE Plasma). Команда выглядит так:

sudo snap install snap-store
 
Интеграция Snap в центр программ Discover в KDE Plasma

Теперь рассмотрим преимущества Snap. Такие пакеты можно скачивать, записывать на флешку и устанавливать на компьютер, не имеющий подключения к интернету. Для этого сначала загружаем, например, медиаплеер MPV, командой в эмуляторе терминала:

snap download mpv

Непосредственно в домашней папке появятся сразу два файла, что-то вроде сертификата mpv_201.assert и сам пакет mpv_201.snap (номер версии программы может быть иным, разумеется).

В первую очередь нужно скормить целевой системе сертификат:

sudo snap ack /путь/к/файлу/mpv_201.assert

Затем и сам пакет:

sudo snap install  /путь/к/файлу/mpv_201.snap

Теперь, если всё устраивает, запретим программе автоматически обновляться:

sudo snap refresh --hold mpv

Можно запретить обновляться вообще всем Snap:

sudo snap refresh --hold

Чтобы не вводить вручную путь, можно просто перетащить файл в окошко эмулятора терминала, набрав команду. Нужно только следить, чтобы после той команды был пробел. Если Snap-пакет годный, то теоретически должен установиться быстро и легко.

Если доступ к скачанным файлам в домашней директории ограничен, для их переноса в другую папку нужно запустить файловый менеджер с повышенными привилегиями. К примеру, в KDE Plasma команда выглядит так:

sudo dolphin 
 
Бывает, что новые Snap требуют более свежего ядра своей платформы, то бишь Core. В Ubuntu обновление Core может происходить автоматически. В Debian, вероятно, доведётся сделать всё вручную:

snap install core

Или, если Core уже есть, обновим:

snap refresh core

Конечно же, в отличие от ситуации с важным софтом, предназначенным для трудовой деятельности, запрещать автоматическое обновление Core нецелесообразно.

Как видим, при использовании Snap нет никаких проблем с зависимостями, с версиями релизов, с нехваткой каких-либо программных библиотек. Нет необходимости регулярно переходить на поддерживаемые выпуски дистрибутива. Устанавливаем софт куда хотим и когда хотим, хоть в устаревшую систему с давно отключенными репозиториями. Это и есть настоящая свобода.