Домашний компьютер
 

Snap-пакеты в Linux. Что это и как с ними работать

Автор yuriy

Дата публикации: 23 августа 2019

 

Предыстория

Пакетная система Snap была созданная компанией Canonical и изначально появилась в дистрибутиве Ubuntu Linux. Ее смысл заключается в том, что в пакет с приложением входит полный набор компонентов, необходимых для запуска данного приложения. Такие пакеты можно устанавливать в систему не заботясь о зависимостях, так как все зависимости уже включены в пакет.

Snap пакеты также называют «снапами».

Так как идея Snap пакетов имеет множество преимуществ, снапы быстро стали популярными и теперь используются не только в Ubuntu, но и в других дистрибутивах Linux: Debian, openSUSE, Arch Linux, Gentoo, Fedora и др.

Что такое Snap-пакет

Мы привыкли устанавливать приложения из DEB и RPM пакетов. Такие пакеты содержат саму программу, но не включают зависимости, которые требуются для запуска данного приложения.

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

Когда вы устанавливаете в систему приложение из Snap-пакета, то установка не влияет на другие пакеты и приложения. То есть такое приложение работает в своей «программной среде», но при этом оно может взаимодействовать с другими программами в системе.

Система управления Snap-пакетами поддерживает автоматическое обновление установленных в системе Snap-пакетов.

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

Для управления Snap-пакетами в Linux используется демон snapd. Для его установки необходимо установить пакет — snapd.

Пользователь использует клиент snap для управления пакетами. Клиент snap входит в состав пакета snapd.

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

В новых версиях Ubuntu поддержка Snap уже включена. Если это не так, то для установки Snap в Ubuntu Linux выполните команду:

sudo apt install snapd

Аналогично выполняется установка в Debian, Linux Mint, Elementary OS и других Ubuntu/Debian-based дистрибутивах.

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

sudo dnf install snapd
sudo ln -s /var/lib/snapd/snap /snap

После установки выйдите и войдите в систему.

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

sudo yaourt -S snapd
sudo systemctl enable --now snapd.socket

Работа со Snap-пакетами

Установка пакетов

Для установки пакетов используется команда snap install имя_пакета

Пример установки графического редактора GIMP из Snap-пакета:

snap install gimp

После ввода команды будет открыто окно для ввода пароля, так как требуются привилегии root-пользователя. Или используйте sudo:

sudo snap install gimp

Обновление пакетов

Для обновления пакетов используется команда snap refresh

Обновление всех установленных пакетов:

snap refresh

Обновление одного пакета:

snap refresh gimp

Удаление пакетов

Для удаления пакетов используется команда snap remove имя_пакета

snap remove gimp

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

Для просмотра списка установленных пакетов используется команда snap list

snap list

Поиск пакетов

Для поиска пакетов используется команда snap find запрос

snap find gimp

Поиск выполняется не только по имени пакета, но и по описанию, поэтому можно использовать произвольный запрос:

snap find "photo editor"

Информация о пакете

Для получения информации о каком-либо пакете используется команда snap info имя_пакета

snap info gimp

Откат обновления

Если по каким-то причинам вы хотите отменить обновления, которые были выполнены над каким-либо Snap-пакетом, то можно использовать команду snap revert имя_пакета, чтобы вернуть пакет к предыдущей версии.

snap revert gimp

Временно отключить пакет

Чтобы временно отключить пакет используется команда snap disable имя_пакета

snap disable gimp

Чтобы снова сделать пакет доступным используется команда snap enable имя_пакета:

snap enable gimp

Запуск Snap-пакетов

Для запуска Snap-пакета можно использовать команду snap run имя_пакета

snap run gimp

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

Заключение

Мы кратко рассказали о том, что представляют из себя Snap-пакеты и как с ними работать. Snap-пакеты не единственные представители подобного типа пакетов в Linux. Также популярны пакеты AppImage и Flatpak.

 

Источник

 

 
***