Snap-пакеты в Linux. Что это и как с ними работать. Команда snap. Linux статьи
Написать статью
Войдите, чтобы писать статьи

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

16

Snap пакеты

Предыстория

Пакетная система 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.

Лайков: +7
войдите, чтобы ставить лайки
16
  • Опубликовано: 23.08.2019

Комментарии

Валерий
23.08.2019
18:49
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
В Ubuntu и основанных на ней дистрибутивах Snap-пакеты можно устанавливать/удалять с помощью графического Менеджера приложений, без использования командной строки. В других дистрибутивах можно использовать магазин SnapStore на сайте snapcraft.io.
Stafik1993
Активный пользователь
Активный
27.08.2019
09:50
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Убунту становится более доступной и понятной для Виндоус пользователей
Евгений
24.01.2020
11:13
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Главная проблема - засорение системы скачанными файлами! У каждого приложения (например если стоит 2 браузера через SNAP) своя папка Downloads, которую не так просто сразу найти. Добавим сюда мессенджеры для полной картины и файлы простой человек вобще никогда не найдет :-) Об этом факте нигде пока что не нашел
Богдан
14.02.2020
13:58
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Помогите ради Бога, уже 3 часа читаю все подряд но нигде нет инструкции...

Я скачал файл программы в формате .snap
Как мне установить эту программу просто с этого файла с моего ПК?

Скачал все маркеты, в них этой программы нет и они файл тоже устанавливать не хотят.

Заранее спасибо.
oldster
Активный пользователь
Активный
14.02.2020
17:03
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
sudo snap install <имя_пакета>

Вместо имени пакета можешь перетащить в терминал файлик.
Алексей
27.06.2020
03:46
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Arch не ставит snapd пишет предупреждение


Загрузка 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

==> Отменено..
anonim
28.06.2020
21:10
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+1
войдите, чтобы ставить лайки
Здравствуйте! Я попытался установить snapd в linux mint 20 ulyana. Но терминал пишет: "для пакета snapd не найден кандидат на установку" и еще там написано, что "пакет упомянут в списке зависимостей другого пакета". Что мне делать?
Grigori
Активный пользователь
Активный
28.06.2020
21:32
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийanonimРодительский комментарий
+1
войдите, чтобы ставить лайки
может поможет - http://compizomania.blogspot.com/2020/06/snaps-linux-mint-20.html
Tellator
10.03.2021
19:18
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийanonimРодительский комментарий
0
войдите, чтобы ставить лайки
В связи с тем, что снап пакеты подтягивают с собой кучу зависимостей (даже если они уже стоят) - что с одной стороны хорошо, но с другой - засорение и замедление системы, разработчики решили удалить снап из официальных репозиториев. Поставить всё ещё можно, но лучше пользоваться по старинке, apt или deb
linuxed
Активный пользователь
Активный
25.05.2022
10:45
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийanonimРодительский комментарий
0
войдите, чтобы ставить лайки
Не надо его ставить. Разработчики mint специально заблокировали эту возможность. Лучше flatpak - он искаропки.
Pavel
16.07.2020
13:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+2
войдите, чтобы ставить лайки
Этот snapd дрочит мой комп в фоновом режиме (грузит процессор на 10%). Такими темпами этот линукс станет не лучше винды, устанавливающей приложения в фоне.
Tellator
10.03.2021
19:21
Постоянная ссылка на комментарийПостоянная ссылка на комментарийРодительский комментарийPavelРодительский комментарий
0
войдите, чтобы ставить лайки
sudo systemctl disable snapd

Примерно так, но может выскочить ошибка в связи с именем службы. Тогда:
systemctl list-unit-files | grep enabled
Ищешь что-то похожее на snap и подставляешь в первую команду вместо snapd. Это отключит автозагрузку Снапд при запуске системы, но не повлияет на работу, когда это надо тебе лично
fallen
Активный пользователь
Активный
12.08.2020
18:14
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
+3
войдите, чтобы ставить лайки
snap - зло!
Степан
18.02.2021
13:06
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Снап-пакеты - это очень хорошее изобретение. В моём случае я использую дополнительную версию Wine, установленную в виде снап-пакета. Не хотите использовать пакет - отключите его и будет Вам счастье!
linuxuser
26.07.2022
17:03
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Одно не рассказано - как snap распаковать и выпотрошить, чтобы завести как обычную статичную сборку?
tsvaan
09.05.2023
13:43
Постоянная ссылка на комментарийПостоянная ссылка на комментарий
0
войдите, чтобы ставить лайки
Не написано, в чём заключаются преимущества идеи snap.

Написать комментарий

Ваше имя:
Текст комментария:
  • Уважать других.
  • Не ругаться.
  • Без оскорблений.
  • Без грубости.
  • Не переходить на личности.
  • Писать на русском языке.
  • Без политики.
  • Без флуда.
Правила