29.06.2022

Проект Celestial развивает сборку Ubuntu с Flatpak вместо Snap

Представлен бета-выпуск дистрибутива CelOS (Celestial OS), представляющего собой пересборку Ubuntu 22.04, в которой инструментарий управления пакетами Snap заменён на Flatpak. Вместо установки дополнительных приложений из каталога Snap Store предложена интеграция с каталогом Flathub. Размер установочного образа 3.7 ГБ. Наработки проекта распространяются под лицензией GPLv3.

В состав сборки включена подборка приложений GNOME, распространяемых в формате Flatpak, а также предоставлена возможность быстрой установки дополнительных программ из каталога Flathub. В качестве пользовательского интерфейса предложен обычный GNOME с темой оформления Adwaita, в том виде, в каком он развивается основным проектом, без применения предлагаемой в Ubuntu темы оформления Yaru. В качестве инсталлятора задействован штатный Ubiquity.

Из базовой поставки исключены пакеты aisleriot, gnome-mahjongg, gnome-mines, gnome-sudoku, evince, libreoffice, rhythmbox, remmina, shotwell, thunderbird, totem, snapd, firefox, gedit, cheese, gnome-calculator, gnome-calendar, gnome-font-viewer, gnome-characters и ubuntu-session. Добавлены deb-пакеты gnome-tweak-tool, gnome-software, gnome-software-plugin-flatpak, Flatpak и gnome-session, а также flatpak-пакеты Adwaita-dark, Epiphany, gedit, Cheese, Calculator, clocks, Calendar, Photos, Characters, font-viewer, Contacts, Weather и Flatseal.

Отличия Flatpak от Snap сводятся к тому, что Snap предлагает небольшой базовый runtime с начинкой контейнера на основе монолитных выпусков Ubuntu Сore, в то время как Flatpak помимо основного runtime использует дополнительные и отдельно обновляемые runtime-слои (bundle) с типовыми наборами зависимостей для работы приложений. Таким образом, Snap большую часть прикладных библиотек переносит на сторону пакетов (последнее время возможен вынос крупных библиотек, таких как библиотеки GNOME и GTK, в общие пакеты), а Flatpak предлагает общие для разных пакетов bundle-наборы библиотек (например, в bundle вынесены библиотеки, необходимые для работы программ c GNOME или KDE), что позволяет сделать пакеты более компактными.

Для поставки пакетов Flatpak используется образ на базе спецификации OCI (Open Container Initiative), а в Snap применяется монтирование образов в формате SquashFS. Для изоляции во Flatpak применяется прослойка Bubblewrap (использует cgroups, пространства имён (namespaces), Seccomp и SELinux), а для организации доступа к ресурсам вне контейнера — механизм порталов. В Snap для изоляции применяются cgroups, namespaces, Seccomp и AppArmor, а для взаимодействия с внешним миром и другими пакетами — подключаемые интерфейсы. Snap развивается под полным контролем компании Canonical и неподконтролен сообществу, в то время как проект Flatpak независим, обеспечивает более полную интеграцию с GNOME и не привязан к одному репозиторию.

Источник.