Релиз дистрибутива Vanilla OS 2, использующего контейнеры и атомарные обновления

После полутора лет разработки опубликован выпуск пользовательского дистрибутива Vanilla OS 2, основанного на пакетной базе Debian, но выходящего за рамки обычной пересборки. Системное окружение в Vanilla OS монтируется в режиме только для чтения и обновляется атомарно, а приложения запускаются в отдельных контейнерах, используя прослойку на базе инструментария Distrobox. В качестве пользовательского окружения предлагается немодифицированный GNOME, поставляемый в то виде, в каком он изначально выпускается разработчиками. Собственные графические конфигураторы написаны на GTK4 с использованием Libadwaita. Размер iso-образа — 1.62 ГБ.

Для атомарного обновления системы проектом развивается инструментарий ABRoot, создающий на накопителе два идентичных корневых раздела — активный и пассивный. Обновление системы загружается целиком и устанавливается в пассивный раздел, а после перезагрузки разделы меняются местами — раздел с установленным обновлением становится активным, а прошлый активный раздел переводится в пассивный режим и ожидает установки следующего обновления. Обновления проверяются и устанавливаются автоматически в фоновом режиме во время минимальной нагрузки на систему и при наличии необходимого заряда аккумулятора. Частота проверки обновлений настраивается. Активация установленного обновления осуществляется при следующей перезагрузке. Если после обновления что-то пошло не так, выполняется откат на прошлую версию.

CFD0C5CECEC5D4_1722236686.png

Дополнительные приложения устанавливаются в отдельных контейнерах при помощи собственного пакетного менеджера apx, который позволяет устанавливать пакеты из разных дистрибутивов в изолированных sandbox-окружениях (например, можно ставить пакеты из Debian, Ubuntu, Arch Linux и Fedora). Пакетный менеджер реализован в форме обвязки над инструментарием Distrobox, дающим возможность быстро установить и запустить в контейнере любой дистрибутив Linux и обеспечить его интеграцию с основной системой. Формат пакетов на базе контейнеров (Flatpak, Snap или Appimage) выбирается при первом запуске.

Для администрирования системы развивается инструментарий VSO (Vanilla System Operator), позволяющий решать такие задачи, как обновление системы, изменения настроек и создание задач, привязанных к каким-то действиям (например, можно запустить задачу вывода уведомления после завершения заряда аккумулятора). Предоставляется встроенная возможность запуска Android-приложений при помощи инструментария Waydroid.

В новой версии:

  • Для формирования базовой системы вместо Ubuntu задействована гибридная пакетная база на основе Debian GNU/Linux и собственных модулей Vib (Vanilla Image Builder).

  • Для обновления системы задействована полностью переписанная вторая версия инструментария ABRoot, который переведён на использование образов в формате OCI (Open Container Initiative). Добавлены возможности для создания дампа состояния системы, изменения параметров ядра Linux, редактирования конфигурации, генерации локальных образов с дополнительными пакетами (например, драйверами, библиотеками и кодеками), отката изменений и перегенерации initramfs.

  • Добавлена поддержка динамического выделения места в хранилище (thin provisioning) с использованием LVM (Logical Volume Manager), позволяющая создавать логические дисковые разделы, размером больше, чем размер имеющихся накопителей.

  • Вместо sudo для привилегированного выполнения операций задействован PolKit.

  • Представлена вторая редакция инструментария VSO (Vanilla System Operator), который выступает в роли системной оболочки и пакетного менеджера, а также автоматизирует выполнение системных задач и позволяет устанавливать из каталога F-Droid Android-приложения, запускаемые при помощи Waydroid

  • Добавлена утилита Sideload, позволяющая устанавливать отдельно загруженные пакеты в формате DEB и APK.

  • Предложена вторая версия пакетного менеджера Apx, поддерживающая создание собственных окружений, позволяющая создавать стеки для реплицирования настроек окружений и интегрированная с различными пакетными менеджерами. Собственные окружения можно использовать, например, для создания отдельных сред для разработки на разных языках программирования. Инструментарий Distrobox обновлён до версии 1.7.2.1.

  • Добавлен графический интерфейс для упрощения работы с пакетным менеджером Apx.

    CFD0C5CECEC5D4_1722236831.png

  • Добавлены компоненты FsGuard и FsWarn, обеспечивающие проверку целостности системы во время загрузки.

  • В инсталляторе (Vanilla Installer) задействован урезанный сеанс GNOME, добавлена возможность специализированных OEM-установок, предложен новый бэкенд инсталлятора Albius, обеспечена возможность шифрования раздела /var с использованием формата LUKS2, добавлена поддержка ручной разбивки разделов и настройки сети. CFD0C5CECEC5D4_1722238013.png

  • В инсталлятор встроен режим восстановления после сбоя (Recovery), предоставляющий возможность выполнения утилит из командной строки и использования таких приложений, как GParted.

  • В инсталляторе обеспечен вывод рекомендаций по установке образов VM и NVIDIA при определении запуска в виртуальной машине или при наличии GPU NVIDIA.

  • В интерфейсе, показываемом при первом запуске после установки, задействован урезанный сеанс GNOME, добавлены возможности для настройки сети, создания пользователей и выбора web-браузера.

  • Добавлен новый графический интерфейс для переключения между несколькими видеокартами (например, встроенным GPU и дискретной картой). В инструментарий Vanilla Tools добавлены команды для управления используемым GPU, запуска программ с GPU NVIDIA и переключения между профилями для выбора используемого GPU. CFD0C5CECEC5D4_1722236766.png

  • Реализована новая утилита для сборки образов Vib (Vanilla Image Builder), позволяющая создавать собственные редакции Vanilla, используя типовые шаблоны.

  • Добавлена платформа Eratosthenes для навигации по пакетам, доступным в репозиториях проекта.
  • Добавлена платформа Atlas для навигации по доступным системным образам в формате OCI.
  • Добавлена утилита Differ для анализа различный между двумя образами в формате OCI.

  • Прекращено использование собственного конфигуратора Vanilla Control Center, вместо которого задействован штатный интерфейс GNOME Settings.

  • Обновлены версии компонентов, например, ядро Linux обновлено до версии 6.9.8, а GNOME до ветки 46.

    CFD0C5CECEC5D4_1722237451.png



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

© OpenNet