Поиск по сайту:

Руководство для начинающих по Snaps в Linux. Часть 1.


За последние несколько лет сообщество Linux добилось некоторых замечательных достижений в области управления пакетами в системах Linux, особенно когда речь идет об универсальной или перекрестной упаковке и распространении программного обеспечения. Одним из таких достижений является формат пакета Snap, разработанный компанией Canonical, создателями популярного Ubuntu Linux.

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

Snap — это приложения, не требующие каких-либо зависимостей и простые в установке, упакованные со всеми зависимостями для запуска во всех основных дистрибутивах Linux. Из одной сборки снап (приложение) будет работать во всех поддерживаемых дистрибутивах Linux на настольных компьютерах, в облаке и в Интернете вещей. Поддерживаемые дистрибутивы включают Ubuntu, Debian, Fedora, Arch Linux, Manjaro и CentOS/RHEL.

Снимки безопасны: они изолированы и помещены в «песочницу», поэтому не ставят под угрозу всю систему. Они работают на разных уровнях изоляции (то есть степени изоляции от базовой системы и друг от друга). Более того, каждая снапка имеет интерфейс, тщательно выбранный создателем оснастки на основе требований оснастки, чтобы обеспечить доступ к определенным системным ресурсам за пределами их границ, например, доступ к сети, доступ к рабочему столу и многое другое.

Еще одна важная концепция в экосистеме snap — это Каналы. Канал определяет, какая версия Snap установлена и отслеживается на наличие обновлений, и состоит из треков, уровней риска и ветвей и подразделяется на них.

Основными компонентами системы управления пакетами Snap являются:

  • snapd – фоновая служба, которая управляет и обслуживает ваши снимки в системе Linux.
  • snap — формат пакета приложения и инструмент интерфейса командной строки, используемый для установки и удаления снимков, а также для многих других действий в экосистеме Snap.
  • snapcraft – платформа и мощный инструмент командной строки для создания снимков.
  • магазин снимков – место, где разработчики могут делиться своими снимками, а пользователи Linux ищут и устанавливают их.

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

Как установить Snapd в Linux

Как описано выше, демон snapd — это фоновая служба, которая управляет и поддерживает среду snap в системе Linux, реализуя политики ограничения и контролируя интерфейсы, которые позволяют доступ к определенным системным ресурсам. Он также предоставляет команду привязка и служит многим другим целям.

Чтобы установить пакет napd в вашей системе, выполните команду, соответствующую вашему дистрибутиву Linux.

------------ [On Debian and Ubuntu] ------------ 
sudo apt update 
sudo apt install snapd

------------ [On Fedora Linux] ------------
dnf install snapd			

------------ [On CentOS and RHEL] ------------
yum install epel-release 
yum install snapd		

------------ [On openSUSE - replace openSUSE_Leap_15.0 with the version] ------------
sudo zypper addrepo --refresh https://download.opensuse.org/repositories/system:/snappy/openSUSE_Leap_15.0 snappy
sudo zypper --gpg-auto-import-keys refresh
sudo zypper dup --from snappy
sudo zypper install snapd

------------ [On Manjaro Linux] ------------
pacman -S snapd

------------ [On Arch Linux] ------------
git clone https://aur.archlinux.org/snapd.git
cd snapd
makepkg -si

После установки snapd в вашей системе включите модуль systemd, который управляет основным коммуникационным сокетом snap, используя команды systemctl следующим образом.

В Ubuntu и его производных это должно запускаться автоматически установщиком пакета.

sudo systemctl enable --now snapd.socket

Обратите внимание: вы не сможете запустить команду snap, если snapd.socket не запущен. Выполните следующие команды, чтобы проверить, активен ли он и разрешен ли автоматический запуск при загрузке системы.

sudo systemctl is-active snapd.socket
sudo systemctl status snapd.socket
sudo systemctl is-enabled snapd.socket

Затем включите поддержку классической привязки, создав символическую ссылку между /var/lib/snapd/snap и /snap следующим образом.

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

Чтобы проверить версию napd и инструмента командной строки Snap, установленного в вашей системе, выполните следующую команду.

snap version 

Как установить Snap в Linux

Команда snap позволяет устанавливать, настраивать, обновлять и удалять снимки, а также взаимодействовать с более широкой экосистемой Snap.

Перед установкой привязки вы можете проверить, существует ли она в хранилище моментальных снимков. Например, если приложение относится к категории «серверы чата» или «медиаплееры», вы можете запустить эти команды для его поиска, которые отправят запрос в магазин. для доступных пакетов в стабильном канале.

snap find "chat servers"
snap find "media players"

Чтобы показать подробную информацию о снапе, например, rocketchat-server, вы можете указать его имя или путь. Обратите внимание, что имена ищутся как в хранилище снапов, так и в установленных снапах.

snap info rocketchat-server

Чтобы установить snap в вашей системе, например, rocketchat-server, выполните следующую команду. Если параметры не указаны, устанавливается привязка, отслеживающая «стабильный» канал со строгими ограничениями безопасности.

sudo snap install rocketchat-server

По той или иной причине вы можете выбрать установку из другого канала: edge, бета или кандидат, используя . --edge, --beta или --candidate соответственно. Или используйте параметр --channel и укажите канал, с которого вы хотите установить.

sudo snap install --edge rocketchat-server        
sudo snap install --beta rocketchat-server
sudo snap install --candidate rocketchat-server

Управление снапами в Linux

В этом разделе мы узнаем, как управлять снапами в системе Linux.

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

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

snap list

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

snap list mailspring
OR
snap list --all mailspring

Обновление и возврат снимков

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

sudo snap refresh mailspring
OR
sudo snap refresh		#update all snaps on the local system

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

sudo snap revert mailspring

Теперь, когда вы проверяете все версии mailspring, последняя версия отключена, а ранее использованная версия теперь активна.

snap list --all mailspring

Отключение/включение и удаление привязок

Вы можете отключить привязку, если не хотите ее использовать. Если этот параметр отключен, двоичные файлы и службы Snap больше не будут доступны, однако все данные останутся там.

sudo snap disable mailspring

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

sudo snap enable mailspring

Чтобы полностью удалить снимок из вашей системы, используйте команду remove. По умолчанию все ревизии снапа удаляются.

sudo snap remove mailspring

Чтобы удалить определенную редакцию, используйте параметр --revision следующим образом.

sudo snap remove  --revision=482 mailspring

Важно отметить, что при удалении snap его данные (например, данные внутреннего пользователя, системы и конфигурации) сохраняются с помощью snapd (версия 2.39 и выше). в виде моментального снимка и хранится в системе в течение 31 дня. В случае, если вы переустановите снап в течение 31 дня, вы сможете восстановить данные.

Заключение

Snap становятся все более популярными в сообществе Linux, поскольку они предоставляют простой способ установки программного обеспечения в любой дистрибутив Linux. В этом руководстве мы показали, как установить привязки и работать с ними в Linux. Мы рассказали, как установить snapd, установить snaps, просмотреть установленные снимки, обновить и отменить снимки, а также отключить/включить и удалить снимки.

Вы можете задать вопросы или связаться с нами через форму обратной связи ниже. В следующей части этого руководства мы рассмотрим управление снимками (командами, псевдонимами, службами и снимками) в Linux.