Марк Шаттлворт представил сборку Ubuntu Core, примечательную использованием модели монолитного обновления образа всей системы, вместо традиционных deb-пакетов. Одновременно доступен Snappy, новый механизм оформления образов для самодостаточного выполнения приложений и их обновления. Окружение Ubuntu Core и сформированные при помощи Snappy образы обновляются атомарно, без разделения на отдельные deb-пакеты и без применения пакетных менеджеров.

Подобный подход к обновлению уже применяется в таких проектах, как ChromeOS, CoreOS и Atomic, востребован для систем виртуализации и изолированных контейнеров, для которых проще сформировать новую сборку всего системного образа, протестировать её и установить как неделимое целое, поддерживая для всех окружений идентичную базовую начинку, чем применять традиционный подход поэтапного обновления на уровне отдельных пакетов. В случае проблем можно легко откатить систему на прошлую версию окружения. В настоящее время сборки Ubuntu Core подготовлены для установки в системах виртуализации на основе KVM и Azure cloud.

При использовании Snappy системные компоненты оформляются в виде доступных только на чтение блоков, которые привязываются к приложению и обеспечивают его изолированную работу. Образ Ubuntu Core занимает 110 Мб и представляет собой базовую часть Ubuntu, минимально необходимую для запуска типовых программ. Все вносимые в дистрибутив исправления отражаются на содержимом Ubuntu Core, который можно рассматривать как самый свежий срез минимальной базовой системы, к которому применены все обновления. Дополнительные компоненты, которые могут потребоваться для запуска приложений, оформляются в виде фреймворков, накладываемых на Ubuntu Core. Например, одним из первых фреймворков является Docker, позволяющий организовать работу поверх Ubuntu Core контейнеров приложений, подготовленных при помощи Docker.

Применяемая в Snappy модель изолированного выполнения каждого приложения, при которой программа имеет доступ только к своим данным, рассматривается как один из способов распространения сторонних приложений, в том числе и для мобильных редакций Ubuntu. Используя Snappy разработчику не нужно оглядываться на конкретные релизы Ubuntu и создавать отдельные пакеты для каждого из них. Можно формировать Snappy-окружения с новыми выпусками программ тогда, когда это удобно разработчикам приложений. В отличие от развиваемого компанией Red Hat похожего проекта Atomic, Snappy предоставляет больше возможностей кастомизации окружения для каждого приложения. Для создания Snappy-пакета достаточно собрать в одном месте приложения и необходимые для его работы компоненты, после чего одной командой сформировать образ.

Источник: http://www.opennet.ru/opennews/art.shtml?num=41223