В Linux есть много разных способов установки программного обеспечения. Существуют пакеты Debian, пакеты Redhat RPM, пользовательский репозиторий Arch Linux, дерево переносов Gentoo, AppImages, архивы tar.gz со статическими двоичными файлами, и этот список можно продолжить. Тем не менее, при таком количестве способов установки программного обеспечения в Linux остается много проблем. Например: при разработке профессионального программного обеспечения для Linux очень сложно установить его в каждом отдельном дистрибутиве Linux. Люди в Ubuntu привержены решению этой проблемы. Их решение; Пакеты Snap. Рассмотрим необходимость Snap Packages в Linux, а также способы их использования и установки.
ОПОВЕЩЕНИЕ СПОЙЛЕРА: прокрутите вниз и посмотрите видеоурок в конце этой статьи.
Оглавление
Почему были разработаны Snap-пакеты
Часто разработчики обнаруживают, что упаковывают свои программы во множество различных типов пакетов, и разочаровываются. На создание всех этих файлов пакетов требуется время, и в результате многие программы не попадают в Linux. Вот почему люди в Ubuntu разработали пакеты Snap. Снап — это то, что можно установить из хранилища снапов, а внутри «снапа» находится все, что требуется программе для запуска.
Это означает, что все, что нужно приложению (библиотеки, двоичные файлы, файлы изображений, аудиофайлы и программы), автономно и может работать независимо от системы. Это гарантирует, что несмотря ни на что, программа будет работать, несмотря на то, насколько устарела или неправильно настроена хост-система. Это эффективно делает возможным установку снимков в любом дистрибутиве Linux и делает его «универсальным установщиком», который любой разработчик, большой или маленький, может подобрать и даже создать собственное хранилище снимков!
Установка Snapd и запуск
Snapd — это технология, которая помогает запускать снимки в Linux. Компания, создавшая Snap, работала с другими производителями дистрибутивов Linux, чтобы популярные и наиболее часто используемые Linux могли легко запускать и устанавливать Snap. Вот как это запустить
Примечание: пользователям Ubuntu, а также тем, кто использует дистрибутив Linux на основе Ubuntu, не нужно устанавливать Snapd.
Тестирование Debian / нестабильная версия
sudo apt install snapd
Fedora
sudo dnf install snapd sudo systemctl enable --now snapd.socket
Arch Linux
sudo pacman -S snapd sudo systemctl enable --now snapd.socket
OpenSUSE Leap 42.2
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_42.2/ snappy sudo zypper install snapd sudo systemctl enable --now snapd.socket
OpenSUSE Tumbleweed
sudo zypper addrepo https://download.opensuse.org/repositories/system:/snappy/openSUSE_Tumbleweed/ snappy sudo zypper install snapd sudo systemctl enable --now snapd.socket
Gentoo
sudo -s
nano -w /etc/portage/repos.conf/gentoo-snappy.conf
Вставьте следующее:
[gentoo-snappy] # An unofficial overlay that supports the installation of the "Snappy" backbone. # Maintainer: Clayton "kefnab" Dobbs ([email protected]) # Upstream Maintainer: Zygmunt "zyga" Krynicki ([email protected]) location = /usr/local/portage/gentoo-snappy sync-type = git sync-uri = https://github.com/zyga/gentoo-snappy.git priority = 50 auto-sync = yes
Сохраните файл конфигурации с помощью ctrl + O.
emaint sync --repo gentoo-snappy
Как использовать Snap
Как упоминалось ранее, снимки размещаются в «хранилище снимков», управляемом Ubuntu и Canonical соответственно. Любой желающий может опубликовать снимок бесплатно. Для тех, кто хочет публиковать свои собственные пакеты snap в магазине, перейдите на Snapcraft.io. На этом веб-сайте есть вся информация (в подробностях), с которой вы можете начать.
Чтобы найти программное обеспечение в магазине, попробуйте использовать команду find:
snap find programname
Например:
snap find telegram
Будет напечатан список всех устанавливаемых пакетов оснастки с ключевым словом «телеграмма». Просмотрите этот список и выясните, какой пакет установить. Затем используйте команду установки, чтобы это произошло.
sudo snap install telegram-latest
Это загрузит последнюю версию оснастки из магазина и установит ее в системе, а затем смонтирует контейнер оснастки, чтобы пользователь мог получить доступ к программному обеспечению внутри него. Чтобы увидеть, где смонтирована оснастка, выполните команду lsblk. Это связано с тем, что программное обеспечение представляет собой смонтированный том и ничем не отличается для системы от любого другого смонтированного жесткого диска или устройства.
Удалите любой установленный пакет оснастки из системы с помощью команды remove.
Например:
sudo snap remove telegram-latest
Забыли название снимка, который хотите удалить? Попробуй это:
snap list
Команда list распечатает список всех установленных снимков. Отсюда запишите имя оснастки, затем удалите ее из системы с помощью команды удаления выше.
Примечание. Найдите другие команды, не обсуждаемые в этом руководстве, с помощью snap –help.
Обновление снимков
Как и любое программное обеспечение, снимки нужно обновлять. Демон оснастки управляет каждым контейнером оснастки в системе. В результате пакеты snap не будут обновляться обычными средствами. Чтобы обновить установленные в системе пакеты моментальных снимков, используйте команду обновления. Последняя важная команда для использования снимков — это команда обновления.
sudo snap refresh
Заключение
Пакеты Snap могут заменить способы, которыми мы устанавливаем и используем программное обеспечение в Linux, упрощая его распространение. Вместо того, чтобы разработчикам программного обеспечения создавать несколько разных пакетов, двоичных файлов и методов доставки для выполнения одной и той же задачи, они просто создадут один контейнер привязки. Автономный с библиотеками, исполняемым кодом и другими важными файлами, которые пользователи могут легко установить с помощью одной команды.
Снимки не идеальны. У некоторых новых пользователей Linux возникнут проблемы с их использованием. Это потому, что установка приложений будет работать только из командной строки. Мы можем только надеяться, что по мере того, как пакеты snap становятся все более и более популярными, люди в Ubuntu будут работать над приятным пользовательским интерфейсом для установки и использования снимков. А до тех пор придется делать из командной строки.