Компания Canonical представила релиз Ubuntu Core 24, компактного варианта дистрибутива Ubuntu, адаптированного для применения на устройствах интернета вещей (IoT), в контейнерах, потребительском и промышленном оборудовании. Ubuntu Core поставляется в форме неделимого монолитного образа базовой системы, в котором не применяется разбивка на отдельные deb-пакеты. Образы Ubuntu Core 24, состав которых синхронизирован с пакетной базой Ubuntu 24.04, подготовлены для систем x86_64 и ARM64 (в анонсе также заявлена поддержка RISC-V, но сборки пока недоступны). Время сопровождения выпуска составит 12 лет.
Ubuntu Core служит основой для запуска дополнительных компонентов и приложений, которые оформляются в виде самодостаточных надстроек в формате snap. Компоненты Ubuntu Core, включая базовую систему, ядро Linux и системные надстройки, также поставляются в формате snap и управляются инструментарием snapd. Технология Snappy даёт возможность сформировать образ системы как единое целое, без разбиения на отдельные пакеты. Вместо поэтапного обновления на уровне отдельных deb-пакетов в Ubuntu Core применяется механизм атомарного обновления snap-пакетов и базовой системы, по аналогии с Fedora Atomic, ChromeOS, Endless и openSUSE Leap Micro. При обновлении базового окружения и snap-пакетов имеется возможность отката состояния до прошлой версии, в случае проблем, выявленных после обновления.
Для обеспечения безопасности каждый компонент системы верифицируется по цифровой подписи, что позволяет защитить дистрибутив от внесения скрытых модификаций или установки непроверенных snap-пакетов. Поставляемые в формате Snap компоненты изолируются при помощи AppArmor и Seccomp, что создаёт дополнительный рубеж для защиты системы в случае компрометации отдельных приложений. Базовая система включает только минимальный набор необходимых приложений, что не только позволило уменьшить размер системного окружения, но и положительно сказалось на безопасности за счёт уменьшения возможных векторов для атак.
Базовая файловая система монтируется в режиме только для чтения. Имеется возможность использования шифрования данных на накопителе с использованием TPM. Обновления выпускаются регулярно, доставляются в режиме ОТА (over-the-air) и синхронизированы с составом Ubuntu 24.04. Для минимизации трафика обновления поставляются в сжатом виде и включают только изменения, относительно прошлого обновления (delta-обновления). Автоматизация установки обновлений решает проблемы с поддержанием безопасности системы при использовании на встраиваемых устройствах.
Благодаря логическому отделению базовой системы от приложений, поддержанием кодовой базы Ubuntu Core в актуальном виде занимаются разработчики Ubuntu, а об актуальности дополнительных приложений заботятся разработчики приложений. Подобный подход позволяет снизить затраты на сопровождение продуктов, программное окружение которых построено на основе Ubuntu Core, так как их производителям не требуется заниматься выпуском и доставкой системных обновлений и достаточно сосредоточить внимание только на своих специфичных компонентах.
Основные новшества:
- Добавлена поддержка верифицированных списков (Validation set), определяющих какие приложения и какие их версии могут быть установлены вместе, образуя проверенную комбинацию версий программ. Списки заверяются цифровой подписью и распространяются при доставке обновлений.
- Для устройств особой важности, таких как медицинское оборудование, предусмотрена возможность отключения любых автоматических сетевых обращений во время инициализации устройства. Также добавлена возможность установки обновлений в offline-режиме на устройствах, изолированных от глобальной сети.
- Реализованы возможности для поддержки графического режима и использования GPU, который может применяться как для ускорения обработки графики, так и для вычислений при решении задач машинного обучения. В состав включены свежие выпуски графических драйверов.
- Добавлена поддержка графической оболочки Ubuntu Frame, предназначенной для создания интернет-киосков, терминалов самообслуживания, информационных стендов, цифровых вывесок, умных зеркал, промышленных экранов и других подобных применений. Ubuntu Frame можно использовать для запуска приложений на базе GTK, Qt, Flutter и SDL2, а также программ на базе Java, HTML5 и Electron. Возможен запуск как приложений, собранных с поддержкой Wayland, так и программ на базе протокола X11 (используется Xwayland).
- Реализована интеграция с сервисом Landscape, предоставляющим web-интерфейс для управления большими группами рабочих станций, серверов и облачных окружений. При помощи
Landscape можно автоматизировать выполнение типовых операций по администрированию системы, применительно к группе машин, таких как мониторинг, аудит, централизованное управление OTA-обновлениями, обеспечение единой точки аутентификации (SSO) и управление доступом. - Добавлены snap-пакеты для интеграции устройств на базе Ubuntu Core с сервисами Microsoft Azure IoT Edge.
- Добавлены snap-пакеты с различными утилитами и библиотеками от проекта ROS (Robot Operating System), развивающего инструментарий для разработки роботов.