Установка Snap в Linux

Одно из самых обсуждаемых нововведений в Ubuntu 16.04 - это новый формат установочных пакетов программного обеспечения - snap. Canonical представила новую систему установки и управления программным обеспечением, она более безопасна и позволяет получить всегда самые последние версии программ.

Ещё одно преимущество Snap пакетов - это доступность не только в Ubuntu, но и в других дистрибутивах. Разработчики могут создать один пакет, который потом можно будет одинаково установить в Ubuntu, Debian, Fedora, CentOS или любом другом дистрибутиве. В этой статье мы рассмотрим как установить пакетный менеджер Snap в вашем дистрибутиве, а также как им пользоваться.

Что такое Snap пакеты?

Сначала поговорим о том что такое Snap. Есть несколько способов установки программ в системах Linux. Один из способов - установка из исходных кодов. Здесь вам нужно вручную запускать скрипты, удовлетворять зависимости, ну одним словом, очень неудобно.

Здесь в игру вступают пакеты. После завершения разработки программы её разработчики создают пакеты, например, deb или rpm и размещают их в репозиториях программного обеспечения, откуда пользователи могут их очень легко установить. Установить программу из любого deb пакета можно буквально в пару кликов. Но такие пакеты содержат только саму программу, все зависимости и необходимые ей библиотеки пакетный менеджер ищет и устанавливает автоматически.

В свою очередь Snap пакеты содержат саму программу, а также все её зависимости. Это имеет несколько преимуществ перед обычными deb или rpm пакетами, поскольку теперь программу можно запустить в любом дистрибутиве, а также разработчик может быть уверен, что его программа получает именно необходимые ей версии библиотек.

Установка snap

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

sudo apt install snapd

Установка snap в Fedora или CentOS отличается не сильно:

sudo dnf install snapd

После установки для включения возможности установки классических приложений через snap надо создать символическую ссылку на /var/lib/snapd/snap в корне:

sudo ln -s /var/lib/snapd/snap /snap

После этого можно установить магазин приложений snap-store:

sudo snap install snap-store

Или устанавливать пакеты snap через терминал.

Как пользоваться snap

Основы рассмотрели, теперь перейдем к управлению пакетами. Процесс взаимодействия со snap очень похож на apt или dnf, только не надо обновлять репозитории. Все действия выполняются в терминале.

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

Чтобы найти нужный пакет или посмотреть есть ли он в магазине приложений snap используйте команду find. Например:

snap find chromium

 

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

2. Информация о пакете

Чтобы посмотреть информацию о пакете используйте команду info:

snap info chromium

Здесь выводится информация о том кто создал пакет, а также его описание. Для установки пакетов доступно несколько каналов. Это stable, beta и edge. Первый самый стабильный, второй - тестируемый, а третий - версия для разработчиков. Эта информация тоже выводится внизу вывода команды info. Здесь же выводится версия программы в канале.

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

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

sudo snap install chromium

Когда установка snap пакетов завершится, программа выдаст соответствующее сообщение. Для установки пакета из определенного канала используйте соответствующую опцию, например --stable, --candidate, --beta или --edge. По умолчанию используется канал stable. Например:

sudo snap install chromium --edge

По умолчанию приложение может получить доступ только к тем частям системы, к которым у него подключены интерфейсы. Эти подключения устанавливаются автоматически во время установки пакета. Посмотреть их можно командой connections:

snap connections chromium

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

Поэтому:

sudo snap install --classic atom

Есть ещё один режим безопасности, при котором приложение получает полный доступ к системе: devmode. Для установки таких программ надо использовать опцию --devmode.

4. Удаление пакета

Удалить snap пакет из системы очень просто. Для этого достаточно использовать команду remove:

sudo snap remove chromium

5. Установленные программы

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

snap list

Многие из программ Ubuntu и Gnome уже поставляются в виде snap и их уже нельзя установить из обычных репозиториев. С помощью опции --all можно посмотреть все доступные версии определённого пакета:

snap list --all opera

6. История изменений

Также вы можете посмотреть историю изменений, внесенных, в систему с помощью этого пакетного менеджера:

snap changes

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

Если вы хотите обновить пакет snap, до более новой версии, выполните команду refresh:

sudo snap refresh opera

Если установлена самая свежая версия вы получите сообщение об ошибке.

Для обновления всех пакетов, установленных в системе просто выполните команду refresh:

sudo snap refresh

Если обновление вам не понравилось, вы можете откатить версию всех пакетов или одного из них до предыдущей. Для этого выполните команду revert:

sudo snap revert opera

Выводы

С момента создания этой технологии прошло много времени и сейчас доступно уже много snap пакетов. Они даже вытеснили многие PPA репозитории, что теперь заброшены и не поддерживаются. Поскольку существует инструмент snapcraft, который делает создание snap пакетов намного проще, все разработчики могут подготовить эти пакеты для своих программ.

А что вы думаете о системе управления пакетами и о самих пакетах snap? Будете использовать систему установки snap чаще чем apt? Напишите в комментариях!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *