Crossroads » Linux » Установка Snap-пакетов

Установка Snap-пакетов

Вы наверняка уже слышали о SNAP - новом формате пакетов, разработанном в Canonical. Если же нет, то данные пакеты призваны стандартизировать систему установки ПО в Linux. DEB и RPM, содержат саму программу и список зависимостей, загружаемых из репозитория вашего дистрибутива. SNAP-пакеты же содержат и саму программу, и все её зависимости. Таким образом программа будет работать в, практически изолированной среде, независимо от дистрибутива, наличия в нём нужных пакетов и их версий.

Критики аргументируют свою позицию тем, что SNAP - шаг в сторону Windows, где практически каждая сторонняя программа содержит кучу библиотек, и использование SNAP приведёт к тому, что Linux станет столь же жадным до системных ресурсов и дискового пространства. Однако SNAP можно использовать, а можно нет. В всех поддерживаемых дистрибутивах (в основном, пока, это производные от Ubuntu) SNAP-пакеты можно использовать параллельно с привычной системой пакетов. Широкое же применение SNAP-пакетов решит проблему несовместимости, когда зачастую даже между родственными дистрибутивами наблюдается несовместимость. А вовремя не обновлённая разработчиками сторонняя программа может работать с ошибками даже на том дистрибутиве, под который она собиралась, только из за того, что в дистрибутиве обновился компонент, к которому она привязана. По той же причине в ряде дистрибутивов (например в Debian) версии пакетов морально устаревают уже ко дню релиза дистрибутива. Установка же свежей версии может закончится тем, что программа работать не будет из-за сложных зависимостей, соблюдение которых в ряде случаев невозможно, без серьёзного вмешательства в основные пакеты дистрибутива, что в свою очередь способно положить всю систему.

Время покажет насколько революционна система SNAP, сейчас же попробуем что-нибудь установить из SNAP-пакета.

В Ubuntu 16.04 и ряде его производных всё это работает "из коробки". Однако вы не можете просто открыть Центр Приложений и выбрать программу. Пока это работает только через консоль, что ничуть не сложнее привычной системы APT.

Установка snap-пакетов производится из "магазина" (в будущем, видимо, некий глобальный Canonical Store), на сегодня не имеющего своего графического интерфейса. Взаимодействовать с ним вы можете без авторизации, но авторизация даёт некоторые преимущества, среди которых доступ к вашим приватным snap-пакетам, а так же автоматическое обновление установленных snap-пакетов (в данном случае не требующее root-доступа к устройству).

На момент написания этого материала существует лишь один "междистрибутивный" Ubuntu Store, доступны для Arch, Debian, Fedora, Gentoo, OpenSuse и Ubuntu, с которым мы и будем взаимодействовать в примере ниже. В будущем должны появиться и другие площадки.

В Ubuntu и его производных snapd должен работать "из коробки". Если нет, то для Ubuntu и Debian (на момент написания только Sid):

sudo apt install snapd


Для Arch:

sudo pacman -S snapd


Для Fedora:

sudo dnf copr enable zyga/snapcore 
sudo dnf install snapd  
sudo systemctl enable --now snapd.service  
sudo setenforce 0

Для сохранения отредактировать /etc/selinux/config и установить знчение
SELINUX=permissive

Перезагрузить ПК.

Для Gentoo:

Установить snap-confine.ebuild и snapd.ebuild и включить snapd systemd сервис.

sudo systemctl enable --now snapd.service


Для OpenSUSE (на момент написания только для нестабильной 42.2):

sudo zypper addrepo http://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy 
sudo zypper install snapd


Для авторизации используется аккаунт UbubntuOne

sudo snap login ваш@email


Выдача в случае успеха:

Password: 
Login successful


Если вы нее авторизованы, большая часть snap-команд будет требовать выполнения от root.

Следующая команда выведет весь список доступных пакетов. Пока их не так много.

snap find


Объяснив свою позицию тем, что "пользователю это не нужно", в начале августа ребята из Canonical убрали возможность выполнять вышеуказанную команду без аргумента. То есть с её помощью можно искать только что-то определённое.

snap find .


Вышеуказанная команда работает скорее как "недочёт", который вскоре исправят. Но пока систему не "улучшили", способ вывести список всех snap-пакетов остался.

snap list 

Покажет все установленные snap-пакеты.

snap install имя_пакета 

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

snap remove имя_пакета 

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

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

Установим графический растровый редактор Krita.
sudo snap install krita 


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

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

___
Tatyana K.



Tags: Linux, Ubuntu


 
  • Creative Commons Licence
  • Norton Safeweb
  • Website Uptime Monitoring By ServiceUptime.com