Snappy (система управления пакетами)


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

Пакеты snap — это переносимые приложения, работающие на большинстве дистрибутивов Linux. Это отличается от традиционных пакетных менеджеров типа apt или Yum, требующих адаптации приложения под каждый дистрибутив, вследствие чего обновление пакетов замедляется, например, LibreOffice в системе apt обновляется реже, чем на официальном сайте.[1][2]

Пакеты не зависят от какого-либо дистрибьютора приложений и могут быть установлены из любого источника и использованы в разработке upstream[англ.]. Во время развёртывания пакета snap установленный магазин приложений может служить источником обновлений, но не обязательно только он.

Разработчики могут использовать систему, чтобы создавать приложения для командной строки или демонов также как и обычные пользовательские приложения.[3][4] Приложения могут быть обновлены при помощи атомарных или дельта обновлений.[5][6][7]

В июне 2016 snapd был портирован на большинство дистрибутивов, тем самым открывая возможности использования пакетов snap на почти всех дистрибутивах.[8]

Файл .snap представляет собой динамично подключаемый сжатый файл с файловой системой внутри (основана на squashfs) и метаданными в декларативном виде, которые интерпретируются системой при создании защищённой песочницы или контейнера.