Введение

Snap (или Snappy) — это система развертывания программ и управления пакетами, созданная Canonical. Эти пакеты чаще называют «снепами». Для работы с ними используется утилита «snapd», встроенная в ряд дистрибутивов Linux и позволяющая дистрибутивно-независимо развертывать программы на более высоком уровне.

Snap-пакеты полностью самодостаточны и работают на всех дистрибутивах Linux, позволяя безопасно распространять новые приложения и утилиты для систем облачных вычислений, серверов, десктопа и интернета вещей (Internet of Things). То есть snap-пакеты используются так же, как и команда apt-get, но другим способом.

Snapd — это REST API демон, служащий для управления snap-пакетами. Пользователи взаимодействуют с ним с помощью клиента snap, который входит в тот же пакет. Вы можете установить любое приложение на Linux-десктоп, сервер, облако или устройство.

Вам понадобится

GNU/Linux дистрибутив u и некоторые базовые знания о работе в командной строке. В данном руководстве вы узнаете, как настроить и использовать snap-команды.

Установка системы Snap

Если у вас установлена Ubuntu 16.04 LTS (Xenial Xerus) или более поздние версии, включая Ubuntu 18.04 LTS (Bionic Beaver), то вам ничего не надо делать. Snap установлен по умолчанию и готов к работе. Соответственно, если у вас установлена более ранняя версия или системы Snap нет по каким-то другим причинам, то сначала установите ее, а затем приступайте к работе.

Установку можно осуществить с помощью следующих команд:

$ sudo apt update
$ sudo apt install snapd

Работа с системой Snap

snapd настроен и готов к использованию!

Поиск snap-приложений/пакетов

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

$ snap find <search_text>

Например:

 

Установка snap-приложений

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

$ sudo snap install <package>

Также можно указать конкретный канал, из которого вы хотите установить приложение. Канал — это snap-концепция, которая позволяет переключаться между разными каналами snap-приложений.

$ sudo snap install --channel=edge <package>

Запуск установленных snap-пакетов

Установленные snap-пакеты доступны в формате bin/snap и, как правило, добавлены в $PATH. Это позволяет сделать снепы доступными через ввод команды. Snap-приложение можно запустить, выполнив следующую команду:

$ <package>

Также его можно запустить через команду:

$ bin/snap/<package>

Просмотр списка установленных приложений

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

$ snap list

 

Обновление установленных snap-приложений/пакетов

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

$ sudo snap refresh <package>

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

$ sudo snap refresh --list

Возврат к более ранней версии snap-приложений/пакетов

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

$ sudo snap revert <package>

Такая команда вернет необходимую версию snap-пакета и данные, соответствующие ПО. Если предыдущая версия snap-пакета получена из другого канала, она все равно установится, и канал останется прежним.

Удаление snap-приложений/пакетов

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

$ sudo snap remove <package>

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

Включение и выключение snap-приложений/пакетов

Если вы хотите временно остановить работу снепа, просто отключите его и снова включите тогда, когда потребуется.

$ sudo snap disable <package> 
<package> disabled
$ sudo snap enable <package> 
<package> enabled

Список запущенных служб

Используйте snap services, чтобы просмотреть все установленные и запущенные снепы.

$ sudo snap services lxd Service     
Startup  Current lxd.daemon  enabled  active

Перезапуск, запуск и приостановление snap-служб

Службы можно перезапустить с помощью команды snap restart <snap name>.

Все службы, необходимые для работы снепов, будут перезагружены по умолчанию:

$ sudo snap restart lxd
Restarted.

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

$ sudo snap start lxd.daemon 
Started.

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

$ sudo snap stop lxd.daemon 
Stopped.

Конфигурации snap set и get

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

Команды для просмотра и изменения этих параметров конфигураций — snap get и snap set.

Выставленные параметры конфигурации можно посмотреть с помощью установленного снепа. Введите команду snap get <package>:

$ sudo snap get <package>

Чтобы изменить параметры конфигурации, задайте команду «snap set»:

$ sudo snap set <package> key=value

Скачивание и установка snap-приложений offline

Установить snap-приложения можно и без подключения к интернету. Для этого необходимо скачать файлы snap-приложений/пакетов, задав следующую команду:

snap download <package>

Эта команда загрузит .assert и .snap файл. Скопируйте их на другую Linux/Ubuntu систему, которая не имеет подключения к интернету. Затем установите загруженный файл с помощью следующей команды:

snap ack <package.assert>
snap install <package.snap>

Заключение

Хотя данная система все еще разрабатывается, и доступно не так много snap-приложений/пакетов, тем не менее, она является одной из лучших систем управления ПО. Snap становится все популярнее, особенно благодаря таким настойчивым методам Canonical.

Перевод статьи Oyetoke Tobi Emmanuel: How to Install and Use Snap on Ubuntu 18.04

Предыдущая статьяЛучшие языки программирования для изучения в 2018
Следующая статьяАсинхронный JavaScript ― Цикл обработки событий