05 августа 2018

Что такое snap, и в чем его преимущества

 Snap — это универсальный пакет, созданный Canonical (Ubuntu), который доступен для каждой операционной системы Linux, поддерживающей snapdUbuntu, Debian, Linux Mint, Gentoo, Arch Linux, Fedora, OpenWrt, OpenEmbedded, Yocto, openSUSE, Manjaro, Solus.
 Более того, snap будет хорошо работать в любом дистрибутиве Linux без каких-либо дополнительных модификаций, так как он уже содержит все необходимые зависимости.

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

Преимущества snap-пакетов:

  • их легко устанавливать одной командой в терминале или в один клик из Snap Store
  • они автоматически обновляются сразу для всех дистрибутивов и устройств;
  • их безопасно использовать, потому что snap-пакеты не привязаны к операционной системе, другим приложениям или особенностям железа.

  • Менеджером snap-пакетов является служба snapd (d-demon), которая работает в фоновом режиме.

    Прежде чем начать установку snap-пакетов в дистрибутивах Linux, необходимо установить Менеджер пакетов snapd.

    В каждом из дистрибутивов Linux, snapd устанавливается по-своему.
    Инструкцию по установке snapd для каждого дистрибутива можно найти на официальной странице https://docs.snapcraft.io/core/install.

    Инструкция по установке snapd:

  • Arch Linux
  • Debian
  • elementary OS
  • Fedora
  • Gentoo
  • Linux Mint
  • Manjaro
  • OpenEmbedded/Yocto
  • openSUSE
  • OpenWrt
  • Pop!_OS
  • Solus
  • Raspbian
  • Ubuntu

  • Примечание. В дистрибутивах Ubuntu и производных, таких как Kubuntu, Ubuntu MATE и пр., начиная с версии 18.04, snapd установлен по умолчанию.

    После того как snapd установлен, вы можете устанавливать приложения посредством snap-пакетов.

    Устанавливать snap-пакеты можно как из  магазина Snap Store, так и посредством терминала.

    1. Установка из магазина Snap Store.

    Переходите по ссылке https://snapcraft.io/store в магазин Snap Store и выбираете программу, кликом на значке.


    Нажимаете кнопку Install (Установить).


    Копируете установочную терминальную команду на выполнение.


    И выполняете её в терминале.


    По окончании установки программы терминал известит вас об этом: 'opera-software' installed ('приложение opera' установлено).

    Примечание. Терминальная команда sudo snap install название программы является универсальной для любого из перечисленных выше дистрибутивов Linux.

    2. Установка snsp-пакетов непосредственно из терминала, без захода в магазин Snap Store.

    Откройте терминал и выполните команду:

    snap find

    find в переводе с английского означает найти.

    После выполнения этой команды, терминал выводит перечень/список snap-пакетов.


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

    snap find opera


    Скопируйте в установочную команду название выбранной версии и выполните команду в терминале. Пример:

    sudo snap install --beta opera-beta

    Примечание. Команда snap install opera-beta не перезаписывает установленную стабильную версию программы, они будут работать автономно. В системном меню вы найдёте обе программы.


    Установка snap-пакетов требует root привилегий (sudo). Установка с правами пользователя на данный момент невозможна. При установке snap загружается в /var/lib/snapd/snaps и монтируется в /snap/имя_пакета.

    Кроме того, создаются также юнит-файлы для каждого snap-пакета и добавляются в /etc/systemd/system/multi-user.target.wants/, для того чтобы snap-пакеты монтировались при каждом запуске системы.

    Дополнительно

    Поиском в snap-пакетах (snap find weather) я нашёл очень интересную консольную программу погоды от Яндекс - yandex-weather-cli.
    Выполните в терминале следующую команду на установку yandex-weather-cli.

    sudo snap install yandex-weather-cli --edge

    По окончании установки, введите и выполните команду:

    yandex-weather-cli

    Данная команда по умолчанию выводит в терминале погодные условия вашей местности:


    Если вы к команде добавите искомый город (на английском языке) в нижнем регистре, то получите вывод погодных данных в этом городе. Например, я добавил г. Москва (moscow):

    yandex-weather-cli moscow


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

    Вы можете просмотреть список установленных у вас snsp-пакетов командой:

    snap list

    list - список.

    Мой вывод команды списка установленных программ посредством snap:


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

    Для того чтобы удалить пакет выполните в терминале: sudo snap remove имя пакета. Например:

    sudo snap remove opera-beta


    Подробней о командах snap можно познакомиться, выполнив команду в терминале:

    snap help

    Удачи.

              P.S. Если у вас появились вопросы или мнения по данной статье, обсудить их можно на нашем форуме:
     http://compizomania.54672.x6.nabble.com/snap-td7209.html