05 августа 2018

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

 Snap — это универсальный пакет, созданный Canonical (Ubuntu), который доступен для каждой операционной системы Linux, поддерживающей snapd: Ubuntu, 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