Snappy. Cистема развёртывания программного обеспечения и управления пакетами.

Описание.

Snappy — система развёртывания и управления пакетами, разработанная компанией Canonical для Ubuntu. Позволяет создавать дистрибутивно-независимые программы — пакеты snap, которые работают на большинстве дистрибутивов GNU\Linux.

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

Интересный факт: Snap полагается на проверки Canonical и систему ratings в Snap Store. Однако были случаи публикации вредоносного программного обеспечения.

Официальная документация проекта: snapcraft.io

Неофициальная документация проекта: lytkins.ru

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

Магазин готовых приложений: snapcraft.io

Функционал.

Некоторые возможности:

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

Принцип работы.

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

Некоторые уровни изоляции:

  • Строгий режим — снимки выполняются в полной изоляции, не могут получить доступ к файлам, сети, процессам без запроса специального доступа через интерфейс.
  • Classic — обеспечивает доступ к ресурсам системы во многом так же, как традиционные пакеты. Для защиты от злоупотреблений публикация классической snap требует утверждения вручную.
  • Devmode — специальный режим для создателей snap и разработчиков, выполняется как строго ограниченный snap с полным доступом к системным ресурсам.

Компоненты.

Некоторые компоненты системы Snappy:

  • snap — интерфейс командной строки для взаимодействия с функциональностью snap.
  • snapd — фоновая служба, которая управляет, поддерживает, устанавливает и удаляет snap-пакеты.
  • Snapcraft — утилита для разработчиков, позволяющая паковать свои программы в пакеты snap.
  • Snap Store — центральное хранилище, где разработчики публикуют свои snap-пакеты, а пользователи устанавливают их.

Установка.

Дистрибутивы на базе Fedora.

Установка Snmp (CLI) в Fedora через DNF

Шаг 1: Обновите пакеты Fedora перед установкой Snapd.

Перед началом установки Snapd крайне важно обновить вашу систему Fedora. Этот шаг необходим для предотвращения конфликтов и обеспечения совместимости с Snapd.

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

$ sudo dnf upgrade --refresh

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

Шаг 2: Установите начальные необходимые пакеты для Snap CLI.

Для правильной работы snap требуются определенные пакеты. Эти пакеты необходимы для работы snap и должны быть установлены перед продолжением.

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

$ sudo dnf install fuse squashfuse

Функции fuse и squashfuse критически важны для работы файловой системы snap, обеспечивая бесперебойную работу приложений snap.

Шаг 3: Установите Snap (snapd) с помощью команды DNF.

Snap, также известный как Snapcraft или Snapd, доступен в Fedora appstream.

Для тех, кто предпочитает работать с интерфейсом командной строки, необходимо установить пакет snapd.

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

$ sudo dnf install snapd

Эта команда загрузит и установит пакет Snapd из репозиториев Fedora.

Шаг 4: Перезагрузите хост после установки Snap.

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

Перезагрузите систему с помощью этой команды терминала:

$ sudo shutdown -r now

Примечание: Пренебрежение перезагрузкой может привести к проблемам с работой Snap в дальнейшем.

Шаг 5: Включите службу Snap в Fedora.

После перезагрузки активируйте службу Snapd для автоматического запуска в вашей системе с помощью:

$ sudo systemctl enable snapd --now

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

Шаг 6: Включите поддержку Snap Classic и установите Snap Core.

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

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

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

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

$ sudo snap install core

Ответ:

Шаг 7: Проверьте службу Snapd.

Ядро snap является фундаментальным для экосистемы snap, обеспечивая основу для запуска приложений snap.

$ sudo systemctl daemon-reload
$ sudo systemctl enable snapd
$ sudo systemctl start snapd
$ sudo systemctl stop snapd
$ sudo systemctl restart snapd
$ sudo systemctl status snapd

Эта команда позволяет вам подтвердить, что Snapd настроен надлежащим образом и функционирует в вашей системе Fedora.

Шаг 8: Проверьте версию Snap.

Информация об установленной версии snap полезно, особенно для устранения неполадок или обеспечения совместимости.

Проверьте версию Snapd с помощью команды:

$ snap version

Ответ:

Теперь, когда Snapd успешно установлен в вашей системе Fedora, вы можете эффективно управлять приложениями с помощью командной строки.

Эта команда отображает текущую версию Snapd и другие важные сведения о вашей среде Snap.

Использование.

Примеры базовых команд Snapd (CLI) в Fedora.

После установки Snapd в вашей системе Fedora начните управлять пакетами с помощью базовых команд.

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

$ sudo snap list

Ответ:

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

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

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

$ sudo snap search <название пакета>
$ sudo find search <название пакета>

Замените <название пакета> на фактическое название пакета, который вы ищете.

Ответ:

Поиск пакетов по описанию.

$ sudo find description

Ответ:

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

$ sudo info <название пакета>

Ответ:

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

$ sudo snap install <название пакета>

Ответ:

Установить пакет <название пакета> версии <номер версии>:

$ sudo snap install <название пакета> --revision <номер версии>

Пример:

$ sudo snap install hello-world --revision 27

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

Поддержание обновлений в пакетах критически важно для безопасности и производительности. Snap упрощает это с помощью команды refresh.

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

$ sudo snap refresh

Snap автоматически проверит и применит обновления ко всем установленным пакетам, чтобы убедиться, что у вас есть последние функции и обновления для системы безопасности.

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

Автоматическое обновление (можно отложить);

$ sudo snap refresh --hold=48h <пакет>

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

$ sudo snap refresh <название пакета>

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

Если нужно посмотреть историю изменений, которые внёс в систему пакетный менеджер Snappy (управляет snap-пакетами через утилиту snapd), то используйте команду.

$ sudo snap changes

Ответ:

Удаление пакетов.

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

$ sudo snap remove <название пакета>

Эта команда указывает Snapd, как удалить указанный пакет, в данном случае <название пакета>, из вашей системы.

Источники.

  1. linuxcapable.com «How to Install Snap on Fedora Linux — LinuxCapable.»
  2. habr.com «Как работают snap, flatpak, appimage.»
  3. руни.рф «Snappy (система управления пакетами).»
  4. altlinux.org «Snappy.»
  5. webistore.ru «Snap-пакеты в Ubuntu: основы работы.»
  6. dzen.ru «Эволюция управления пакетами Linux: APT, Snap и Flatpak в профессиональной экосистеме 2025.»
  7. ytkins.ru «Привязки (snap) в ядре Ubuntu.»
image_printСКАЧАТЬ ВЕРСИЮ ДЛЯ ПЕЧАТИ

Вам может также понравиться...

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

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