Установка snap пакетов в Ubuntu и других дистрибутивах Linux
В данной статье поговорим о snap пакетах для установки приложений, о том как их искать, устанавливать, обновлять и удалять.

Коротко о 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 и snapd:

Посмотреть версию snap

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

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

sudo snap

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

Список команд snap

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

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

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

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

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

snap find Inkscape

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

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

snap find clement

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

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

snap find "JetBrains IDE"

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

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

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

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

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

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

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

sudo snap install postman

Вот так выглядит установка snap пакета:

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

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

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

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

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

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

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

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

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

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

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

sudo snap install intellij-idea-community

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

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

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

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

sudo snap install intellij-idea-community --classic

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

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

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

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

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

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

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

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

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

snap info postman

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

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

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

snap list

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

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

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

snap refresh --time

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

В следующей статье разберем подробнее данные настройки автоматического обновления.

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

sudo snap refresh

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

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

К примеру:

sudo snap refresh postman

Вот как это выглядит:

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

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

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

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

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

sudo snap remove postman

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

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

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

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

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

К примеру:

sudo snap disable supertuxkart

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

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

Например:

sudo snap enable supertuxkart

Вот как это выглядит:

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

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

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

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

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

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

https://snapcraft.io/store

Snapcraft Store

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

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

Snapcraft Store

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

Snapcraft Store

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

Snapcraft Store

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

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

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

sudo apt install gnome-software-plugin-snap

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

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

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

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

На вкладке "Установлено" также будут видны установленные snap пакеты:

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

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

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

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

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

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

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

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

Магазин Snappy

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

https://snapcraft.io/snap-store

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

sudo snap install snap-store

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

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

Магазин Snappy

Магазин Snappy

Магазин Snappy


Вот и всё.


Комментарии отключены