Русская Википедия:Snappy (система управления пакетами)
Шаблон:Карточка программы Snappy — система развёртывания и управления пакетами, разработанная Canonical для мобильной Ubuntu. Пакет называется snap, утилита для управления — snapd, всё это работает на широком спектре дистрибутивов Linux и позволяет создавать дистрибутивно-независимые программные продукты. Система разработана для работы как для интернета вещей, так и для облачных решений, так и для пользовательских задач.
Функциональность
Пакеты snap — это переносимые приложения, работающие на большинстве дистрибутивов Linux. Это отличается от традиционных пакетных менеджеров типа apt или Yum, требующих адаптации приложения под каждый дистрибутив, вследствие чего обновление пакетов замедляется, например, LibreOffice в системе apt обновляется реже, чем на официальном сайте.[1][2]
Пакеты не зависят от какого-либо дистрибьютора приложений и могут быть установлены из любого источника и использованы в разработке Шаблон:Нп5. Во время развёртывания пакета snap установленный магазин приложений может служить источником обновлений, но не обязательно только он.
Разработчики могут использовать систему, чтобы создавать приложения для командной строки или демонов также как и обычные пользовательские приложения.[3][4] Приложения могут быть обновлены при помощи атомарных или дельта обновлений.[5][6][7]
В июне 2016 snapd был портирован на большинство дистрибутивов, тем самым открывая возможности использования пакетов snap на почти всех дистрибутивах.[8]
Snapcraft
Snapcraft — это утилита для разработчиков, позволяющая паковать свои программы в пакеты snap.[9]
.snap
Файл .snap представляет собой динамично подключаемый сжатый файл с файловой системой внутри (основана на squashfs) и метаданными в декларативном виде, которые интерпретируются системой при создании защищённой песочницы или контейнера.
Использование
Пакеты snap могут быть использованы в интернете вещей от пользовательских продуктов[10] до решений уровня предприятия.[11] Snappy включён в Ubuntu начиная с версии 16.04.
Примеры использования
На сайте Snapcraft указано, что пакеты предоставляют им большие дистрибьюторы, типа Mozilla, Microsoft, Google. В репозитории есть такие продукты, как браузер Mozilla Firefox(firefox), Microsoft Azure (Azure CLI) и многие другие. В репозитории могут быть выложены разные версии, используемые в программе тестирования, например, для Firefox выложены версии ESR, стабильная, Шаблон:Abbr, бета, Шаблон:Abbr.
Доступ к файлам ограничен, например, для Firefox создаётся папка ~/snap/firefox/common/
для эмуляции домашней папки пользователя.
Критика
- Разработчики Peek — утилиты для захвата экрана перестали поддерживать выпуск версий snap, отчасти из-за того, что текущая реализация песочницы не даёт возможностей записи экрана с Wayland;
- Snappy до сих пор остаётся пакетным менеджером преимущественно для Ubuntu, например, в Arch Linux snapd давно не обновляется и даже удалён из стандартного репозитория;
- Сборка пакета snap занимает больше времени, чем сборка в другое портативное приложение;
- Использование платформы отличается от типовых инструментов системы, пользователю для начала требуется узнать про Snappy — многие пользуются стандартными средствами загрузки пакетов;
- Центр приложений Ubuntu не даёт возможности использовать данные Шаблон:Нп5, заставляя добавлять метаданные отдельно;
- Также общей проблемой всех переносимых пакетов является не только дополнительная компиляция, сборка и отдельный релиз, но и сборка зависимостей в пакет, если их много, следить за каждым сложно.[12]
См. также
Примечания
Шаблон:Пакетные менеджеры для Linux