В отличие от существующих атомарно обновляемых дистрибутивов, системные компоненты в которых монтируются в режиме только для чтения, в Ubuntu Core Desktop применяется модель «все компоненты в формате snap». При использовании подобной модели содержимое системного окружения, ядро Linux, загрузчик, среды рабочего стола, мультимедийные серверы, запускаемые фоновые процессы и приложения поставляются в формате snap и управляются инструментарием snapd.
В отличие от ранее развивавшегося прототипа дистрибутив намерены сделать более модульным и вместо поставки одного snap-пакета с системным окружением Ubuntu Core, разделить базовую систему на набор отдельно обновляемых snap-пакетов. Все приложения намерены запускать с изоляцией от основной системы, а для пакетов не поддерживающих изоляцию предоставят прослойку для запуска с использованием виртуализации.
Для контроля над доступом приложений к системным и внешним ресурсам развивается механизм запроса полномочий, требующий у пользователя подтверждения доступа, например, при обращении из snap-пакетов к файлам в домашнем каталоге, web-камере или микрофону. Динамический вывод запросов осуществляется на основании анализа обращений к системным вызовам, а разграничение доступа организовано с использованием AppArmor.
Разработка ведётся с оглядкой на три базовых сценария использования:
- Рабочая станция, на которой основная активность связана с использованием web-браузера и работы с web-приложениями. Данный сценарий рассматривается как самый быстро реализуемый, так как уже имеются готовые snap-пакеты с Firefox и Chromium, а также налажена поддержка запроса полномочий при доступе к камере и микрофону.
- Система для разработчиков ПО, позволяющая использовать одновременно несколько сред разработки, устанавливаемых в изолированных окружениях при помощи инструментария workshop, использующего LXD для управления контейнерами. При необходимости запустить приложения из deb-пакетов, пакетов в формате flatpak или классических snap-пакетов, не работающих поверх Ubuntu Core, будут использованы контейнеры или виртуализация.
- Система для любителей компьютерных игр, построенная вокруг snap-пакета Steam. Составные части игрового стека, такие как Proton, Mesa и драйверы, будут также поставляться в формате snap, что даст возможность устанавливать самые последние версии данных компонентов или использовать разные версии с разными играми.
В процессе подготовки следующего релиза Ubuntu планируется провести работу по разделению составных частей среды рабочего стола на разные модули, сформировать snap-интерфейсы для поддержки разных функций и сценариев использования рабочего стола, а также протестировать новую архитектуру Ubuntu Core Desktop на вышеотмеченных трёх сценариях использования. Помимо этого совместно с разработчикам проекта KDE Neon началась работа над вариантом дистрибутива KDE Neon, реализованного поверх Ubuntu Core, что позволит адаптировать Ubuntu Core Desktop для поддержки различных рабочих столов, не ограничиваясь GNOME.
Источник: http://www.opennet.ru/opennews/art.shtml?num=66568
