Snap

Snap

Snap — это система управления пакетами, разработанная Canonical для Linux. Она позволяет устанавливать приложения в изолированной среде, включающей все необходимые зависимости и библиотеки. Это обеспечивает совместимость приложений на разных дистрибутивах, автоматическое обновление и повышенную безопасность. 

Установка Snap на разные дистрибутивы Linux

Для работы с Snap требуется установка демона snapd, который управляет пакетами. 

Ubuntu. В последних версиях Ubuntu Snap предустановлен по умолчанию. Проверить его наличие можно командой

snap version

Если Snap не установлен, выполните: 

sudo apt update && sudo install snapd

Debian. Установите snapd через APT:

sudo apt update && sudo apt install snapd

После установки рекомендуется установить пакет core, который обеспечивает среду выполнения для других Snap-приложений: sudo snap install core

Arch Linux. Snapd доступен в AUR. Установите его с помощью:

git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

Затем включите службу:

sudo systemctl enable --now snapd.socket. 

Fedora. Используйте команду:

sudo dnf install snapd

Для поддержки классических Snap-пакетов создайте символическую ссылку: sudo ln -s /var/lib/snapd/snap /snap

openSUSE. Добавьте репозиторий snappy:

sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.6 snappy

Обновите кэш пакетов:

sudo zypper --gpg-auto-import-keys refresh, 

затем установите snapd:

sudo zypper install snapd

Red Hat Enterprise Linux (RHEL). Требуется репозиторий EPEL. После его добавления выполните:

sudo yum install snapd

Включите сокет:

sudo systemctl enable --now snapd.socket.

Примеры установки приложений

Для установки приложений через Snap используется команда

sudo snap install <имя_приложения>

Установка Spotify:

sudo snap install spotify

Установка Visual Studio Code:

sudo snap install code --classic

Флаг --classic требуется для приложений, которым нужен доступ за пределы изолированной среды. 

Установка Discord:

sudo snap install discord

Установка Opera:

sudo snap install opera

Дополнительные команды для управления Snap:

Просмотр списка установленных приложений:

snap list

Обновление всех Snap-пакетов:

sudo snap refresh

Удаление приложения:

sudo snap remove <имя_приложения>

Поиск приложений в репозитории:

snap search <ключевое_слово>

Получение подробной информации о пакете:

snap info <имя_приложения>

Особенности

Изоляция. По умолчанию Snap-приложения запускаются в изолированной среде с ограниченным доступом к хост-системе. Для доступа к дополнительным функциям (например, запись звука) нужно явно предоставить интерфейсы. 

Автообновление. Snap автоматически проверяет и устанавливает обновления несколько раз в день. Можно настроить расписание обновлений или временно их приостановить.

Каналы. Разработчики могут создавать несколько каналов (stable, beta, edge и др.) для разных версий приложения. При установке можно указать канал, например:

sudo snap install <приложение> --channel=edge. 

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