
Предыстория
Пакетная система Snap была созданная компанией Canonical и изначально появилась в дистрибутиве Ubuntu Linux. Ее смысл заключается в том, что в пакет с приложением входит полный набор компонентов, необходимых для запуска данного приложения. Такие пакеты можно устанавливать в систему не заботясь о зависимостях, так как все зависимости уже включены в пакет.
Так как идея 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.
Комментарии
18:49
09:50
11:13
13:58
Я скачал файл программы в формате .snap
Как мне установить эту программу просто с этого файла с моего ПК?
Скачал все маркеты, в них этой программы нет и они файл тоже устанавливать не хотят.
Заранее спасибо.
17:03
Вместо имени пакета можешь перетащить в терминал файлик.
03:46
Загрузка PKGBUILD snapd из AUR...
x .SRCINFO
x .gitignore
x PKGBUILD
x snapd.install
snapd 2.45.1-1 (2020-06-08 10:47)
( Неподдерживаемый пакет: Потенциально опасен ! )
==> Отредактировать PKGBUILD ? Да/нет [Y/n] ("A" для отмены)
==> --------------------------------------------------------
==> a
==> Отменено..
21:10
21:32
19:18
10:45
13:14
19:21
Примерно так, но может выскочить ошибка в связи с именем службы. Тогда:
systemctl list-unit-files | grep enabled
Ищешь что-то похожее на snap и подставляешь в первую команду вместо snapd. Это отключит автозагрузку Снапд при запуске системы, но не повлияет на работу, когда это надо тебе лично
18:14
13:06
17:03
13:43