Компания Canonical
опубликовала
релиз Ubuntu Core 22, компактного
варианта дистрибутива Ubuntu, адаптированного для применения на
устройствах интернета вещей (IoT), в контейнерах, потребительском и
промышленном оборудовании. Ubuntu Core поставляется в форме неделимого
монолитного образа базовой системы, в котором не применяется разбивка на
отдельные deb-пакеты. Образы Ubuntu Core 22, состав которых
синхронизирован с пакетной базой Ubuntu 22.04,
подготовлены
для систем x86_64, ARMv7 и ARMv8. Время сопровождения выпуска составляет
10 лет.
Ubuntu Core служит основой для запуска дополнительных компонентов и
приложений, которые оформляются в виде самодостаточных надстроек в
формате snap. Компоненты Ubuntu Core, включая базовую систему, ядро
Linux и системные надстройки, также поставляются в формате snap и
управляются инструментарием snapd. Технология
Snappy даёт возможность
сформировать образ системы как единое целое, без разбиения на отдельные
пакеты.
Вместо поэтапного обновления на уровне отдельных deb-пакетов в Ubuntu
Core применяется механизм атомарного обновления snap-пакетов и базовой
системы, по аналогии с Atomic, ChromeOS, Endless, CoreOS и Fedora
Silverblue. При обновлении базового окружения и snap-пакетов имеется
возможность отката состояния до прошлой версии, в случае проблем,
выявленных после обновления. В настоящее время в каталоге
SnapCraft
насчитывается более 4.5 тысяч snap-пакетов.
Для обеспечения безопасности каждый компонент системы верифицируется по
цифровой подписи, что позволяет защитить дистрибутив от внесения скрытых
модификаций или установки непроверенных snap-пакетов. Поставляемые в
формате Snap компоненты
изолируются при
помощи AppArmor и Seccomp, что создаёт дополнительный рубеж для защиты
системы в случае компрометации отдельных приложений. Базовая система
включает только минимальный набор необходимых приложений, что не только
позволило уменьшить размер системного окружения, но и положительно
сказалось на безопасности за счёт уменьшения возможных векторов для
атак.
Базовая файловая система монтируется в режиме только для чтения. Имеется
возможность использования шифрования данных на накопителе с
использованием
TPM. Обновления выпускаются регулярно, доставляются в режиме ОТА
(over-the-air) и синхронизированы с составом Ubuntu 22.04. Для
минимизации трафика обновления поставляются в сжатом виде и включают
только изменения, относительно прошлого обновления (delta-обновления).
Автоматизация установки обновлений решает проблемы с поддержанием
безопасности системы при использовании на встраиваемых устройствах.
Благодаря логическому отделению базовой системы от приложений,
поддержанием кодовой базы Ubuntu Core в актуальном виде занимаются
разработчики Ubuntu, а об актуальности дополнительных приложений
заботятся разработчики приложений. Подобный подход позволяет снизить
затраты на сопровождение продуктов, программное окружение которых
построено на основе Ubuntu Core, так как их производителям не требуется
заниматься выпуском и доставкой системных обновлений и достаточно
сосредоточить внимание только на своих специфичных компонентах.
Основные новшества:
- Предложена концепция проверенных наборов пакетов (Validation
sets), позволяющая
определить набор snap-пакетов и их версий, которые могут быть
установлены и обновлены только вместе друг с другом. Проверенные
наборы могут применяться для реализации ограничений, допускающих
установку только заданных snap-пакетов, распространения собственных
дополнительно протестированных и проверенных пакетов, или для
упрощения управления зависимостями. - Добавлены инструменты для
обновления
окружения Ubuntu Core 20 до версии 22 без переустановки. - Реализована возможность
сброса
конфигурации в исходное состояние (factory reset). - Предоставлена поддержка групп
квот для ограничения
ресурсов CPU и памяти в привязке к определённым группам сервисов
snap. - Добавлена поддержка инструментария MicroK8s,
предлагающего упрощённый вариант платформы оркестровки контейнеров
Kubernetes. - Предложен вариант пакета с ядром Linux, включающим патчи PREEMPT_RT
и ориентированным на применение в системах, работающих в режиме
реального времени. - Добавлена поддержка инструментария
MAAS
(Metal-as-a-Service) для быстрого развёртывания конфигураций на
множестве систем. - Добавлена поддержка
cloud-init
для настройки системы на стадии загрузки.
>>> Подробности