Коротко о snap.

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

Вся подробная документация (на английском языке) о snap находится здесь:

https://docs.snapcraft.io/

Зачем вообще нужна ещё одна система для установки приложений?

В отличие от привычных deb-пакетов и rpm-пакетов, snap пакеты несут в себе все зависимости. То есть, когда мы устанавливаем deb-пакет или rpm-пакет, то предполагается, что все зависимости мы скачаем из подключенных репозиториев системы.

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

Какой бы крутой и быстрой не была бы ваша операционная система, все решает количество написанного для нее ПО и легкость его установки. Поэтому и был сделан новый инструмент, который бы облегчил бы жизнь как разработчиков, так и пользователям.

Один из минусов – это то, что snap пакеты занимают больше места на диске, так как содержат в себе все зависимости.

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

Snap уже предустановлен в системе, начиная с Ubuntu 16.04. Ничего дополнительно устанавливать не требуется.

Огромное количество дистрибутивов уже поддерживают snap: Arch Linux, CentOS, Debian, Deepin, Elementary OS, Fedora, GalliumOS, KDE Neon, Kubuntu, Linux Mint, Lubuntu, Manjaro Linux, openSUSE, Parrot Security OS, Raspbian, Solus, Ubuntu, Xubuntu, Zorin OS.

Если у вас не Ubuntu, то перейдите по ссылке: https://docs.snapcraft.io/installing-snapd и следуйте инструкции, выбрав ваш дистрибутив.

Обычно, достаточно установить службу snapd из репозитория вашего дистрибутива, которая отвечает за работу snap приложений, к примеру на Fedora:

sudo dnf install snapd

Проверка работоспособности snap в системе.

Проверяем, что snap работает нормально в вашей ОС следующей командой:

snap version

Управление snap пакетами.

Давайте посмотрит на то, как в терминале управлять snap пакетами. Если написать:

sudo snap

и дважды нажать клавишу TAB (автодополнение), то мы увидим сколько же команд у данного инструмента.

В рамках данной статьи мы рассмотрим самые общие и необходимые.

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

Искать snap пакеты можно с помощью команды в терминале:

snap find <искомая фраза>

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

snap find Inkscape

Но можно искать программы и по части названия, попробуем найти музыкальный плеер Clementine:

snap find clement

А если требуется поискать по нескольким словам, то надо заключать искомую фразу в кавычки:

snap find "JetBrains IDE"

В колонке Name написано правильное название snap пакета, которое нужно вписывать в команду установки.

Галочка ✓ в колонке Publisher означает, что этот издатель проверенный. К примеру, выше на скриншоте означает, что, компания JetBrains официально добавила свои инструменты разработки в snap store (хранилище snap пакетов).

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

В общем виде команда установки snap пакета выглядит следующим образом:

sudo snap install <имя_пакета>

К примеру, мы нашли с помощью команды find из предыдущего пункта приложение Postman (для тестирования API), смотрим на колонку Name, копируем название пакета и вставляем его в команду установки:

sudo snap install postman

Не забывайте про автодополнение по клавише Tab.

Автодополнение работает и при написании названия программы:

  • при однократном нажатии будет дописано полное название приложения (если нет похожих);
  • при двойном появится список всех доступных пакетов с похожими названиями.

Теперь ярлык установленной программы можно найти среди других программ.

Типы snap пакетов.

Есть два типа snap пакетов:

  • Strict – большинстов пакетов, которые изолированны от основной системы. Им для доступа к системным ресурсам требуется разрешения. Про то как настроить разрешения, будет чуть ниже в статье.
  • Classic – эти пакеты получают доступ ко всем ресурсам системы, то есть как обычные системные пакеты. При их установке требуется флаг –classic.

К примеру, многие IDE (интегрированные среды разработки) являются классическими snap пакетами.

Если мы попытаемся установить IntelliJ IDEA обычным способом:

sudo snap install intellij-idea-community

то получим ошибку.

Выдается предупреждение, что этот пакет является классическим и имеет доступ ко всем ресурсам системы, и если мы хотим его установить, то надо использовать флаг –classic.

Указываем флаг и пробуем установку:

sudo snap install intellij-idea-community --classic

Теперь всё ок.

Старайтесь не устанавливать классические snap пакеты от непроверенных разработчиков (без галочки).

При поиске в колонке Notes можно узнать, является ли snap пакет классическим:

Просмотр полной информации о snap пакете.

Чтобы посмотреть полную информацию о пакете, нужно выполнить следующую команду:

snap info <имя_пакета>

К примеру, давайте посмотрим информацию о пакете postman:

snap info postman

Вывод списка установленных snap пакетов.

Чтобы отобразить список всех установленных snap пакетов в систему, введите в терминале следующую команду:

snap list

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

Все snap пакеты автоматически обновляются. Проверка происходит 4 раза в день, в этом можно убедиться, выполнив следующую команду:

snap refresh --time

Чтобы вручную обновить все snap пакеты, нужно ввести следующую команду в терминале:

sudo snap refresh

Чтобы обновить какой-то один пакет:

sudo snap refresh <имя_пакета>

К примеру:

sudo snap refresh postman

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

В общем виде команда для удаления snap пакета выглядит следующим образом:

sudo snap remove <имя_пакета>

Например, удалим приложение postman:

sudo snap remove postman

Выключение и включение snap пакетов.

Если не хотите удалять какие-то приложения, то их можно просто отключить. В этом случае пропадет ярлык приложения и оно не будет обновляться. И в любой момент можно будет его снова включить. Таким образом, нам не нужно будет его скачивать по новой и устанавливать.

Чтобы отключить какое-либо snap приложение, используется следующая команда:

sudo snap disable <имя_пакета>

К примеру:

sudo snap disable supertuxkart

В любой момент можно снова включить snap пакет, выполнив следующую команду в терминале:

sudo snap enable <имя_пакета>

Например:

sudo snap enable supertuxkart

Магазины приложений snap пакетов.

То, что можно управлять snap пакетами – это круто, но простому пользователю Linux нужны нормальные магазины приложений. К примеру, как GooglePlay на Android или как App Store на iOS.

Давайте посмотрим, что может предложить нам Linux в плане магазинов для установки snap пакетов.

Snapcraft Store – веб версия магазина snap приложений.

Данный магазин приложений доступен по адресу:

https://snapcraft.io/store

К сожалению, пока нет локализации, то есть, перевода на другие языки кроме английского. Но может в будущем это будет исправлено.

Можно искать по имени приложения, или просто просматривать по категориям. На странице какого-либо приложения, можно посмотреть скриншот окна приложения, детальную информацию.

Чтобы установить данное приложение, нужно нажать кнопку Install:

Можно скопировать консольную команду установки данного snap пакета. Либо на системе Ubuntu нажать кнопку “View in Desktop store”, тогда будет открыт “Менеджер приложений Ubuntu”, в котором можно уже установить выбранный snap пакет.

Менеджер приложений Ubuntu или Gnome Software.

В Ubuntu Менеджер приложений Ubuntu является Gnome Software. И подключен плагин к нему, который позволяет искать, просматривать, устанавливать и удалять snap пакеты.

На другой операционной системе с оболочкой рабочего стола Gnome, вам нужны следующие пакеты:

sudo apt install gnome-software-plugin-snap

В Ubuntu 18.04 и выше ничего делать не нужно дополнительно, всё уже преднастроено за вас.

Просто открываем и ищем приложения, к примеру, поищем vlc.

В “Подробностях” можно увидеть в “Источнике”, что приложение будет установлено из Snap Store.

На вкладке “Установлено” также будут видны установленные snap пакеты.

Если перейти на страницу установленного приложения, можно не только “Запустить” и “Удалить”, но и настроить разрешения (Permissions) данного snap пакета.

Магазин Snappy или Snap Store.

Согласитесь, что предыдущие два магазина приложений не совсем удобные:

  • В первом случае мы просто увидим консольную команду или откроем в Gnome Software (Менеджере приложений Ubuntu).
  • Во втором случае нужно окружение рабочего стола Gnome и кроме того, в нем ищутся не только лишь snap пакеты, а все пакеты приложений из всех подключенных репозиториев.

Поэтому есть Магазин Snappy, исключительно для управления snap пакетами:

Установить его можно по адресу:

https://snapcraft.io/snap-store

или выполнив следующую команду в терминале:

sudo snap install snap-store

После установки будет создан ярлык данного приложения.

Функционал похож на Менеджер приложений Ubuntu, только в этом магазине нет других пакетов, кроме snap.

Источник

5 1 голос
Рейтинг статьи
Підписатися
Сповістити про

1 Комментарий
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
Анонимно
8 місяців тому

Спасибо! Просто и доступно. А для меня еще и полезно! Статья очень помогла!