ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025) — различия между версиями

Материал из 0x1.tv

(гит ссылки)
 
;{{SpeakerInfo}}: {{Speaker|Владимир Васьков}}
<blockquote>
Атомарная архитектура на базе bootc эффективно решает основные проблемы администрирования традиционных систем, такие как
«dependency hell», сложности отката обновлений и неконтролируемые изменения состояния системы. В докладе подробно
рассматриваются практические аспекты внедрения данной архитектуры в семейство Альт. 

Особое внимание уделяется представлению Atomic Package Manager (APM)  — универсального инструмента с единым API для управления как системными
пакетами, так и пакетами из distrobox-контейнеров, который обеспечивает взаимодействие через DBus-интерфейс и полную
поддержку атомарных образов.
</blockquote>

{{VideoSection}}
{{vimeoembed|1159717297|800|450}}
{{youtubelink|5RN1PTItt1U}}
{{SlidesSection}}
[[File:ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf|left|page=-|300px]]

{{----}}

== Thesis ==
'''Ключевые слова:''' Неизменяемость, атомарность, bootc, контейнеризация.

=== Что такое неизменяемая и атомарная ОС ===

Неизменяемая ОС  — система, в которой изменения запрещены. Неизменяемость не означает отсутствие гибкости или возможности
настройки  — она означает контролируемый, предсказуемый и обратимый характер изменений. <code>/usr</code> является в таком случае
неизменяемой директорией, которая определяет поведение остальной системы, <code>/var</code> и <code>/etc</code> восстанавливаются из
конфигурационных файлов <code>systemd-sysusers</code> и <code>systemd-tmpfiles</code> и являются изменяемыми.

Обновления в такой системе, как правило, происходят атомарно: либо система обновилась, либо нет.

=== Преимущества и недостатки перед классическими системами ===

Преимущества:

* декларативная и воспроизводимая сборка;
* предсказуемое поведение системы;
* сопровождение атомарной системы проще;
* гарантия успешного запуска после обновления.

Недостатки:

* система лишается «пользовательского авантюризма».

=== Что такое ALT Atomic ===

ALT Atomic  — представитель подобного рода систем. В нём используется A/B подход, где, если текущий слот  — A, обновление
сначала загружается в слот B, после чего производится попытка переключения на него. В случае успеха будет загружена
система из слота B, в худшем случае  — из слота A.

В системе используются:

* <code>bootc</code> для запуска и управления системой, используя в качестве транспорта системных образов OCI хранилища. <code>Bootc</code>
 использует файловую систему ostree с расширениями для интеграции контейнеров;
* <code>bootupd</code> для обновления загрузчика.

=== Сборка образов ===

Образ должен в себя включать необходимый набор пакетов, так как модификация образа на машине пользователя нежелательна.
Поэтому на текущий момент существует образ с окружением рабочего стола GNOME, Onyx, и такой же, но с драйверами Nvidia,
 onyx-nvidia.

Образы ALT Atomic создаются в CI в репозитории на altlinux.space Создание образа включает в себя:

* установка необходимых пакетов;
* включение необходимых сервисов;
* создание конфигурационных файлов;
* объединение слоёв для оптимизации загрузки оных;
* выполнение специфичных скриптов для Nvidia образа.

=== Установка ===

Для установки систем на базе <code>bootc</code> была создана универсальная программа установки, которая имеет, по умолчанию,
stable образы и возможность ввода ссылки на сторонний образ. Программа установки выполняет проверку устройства на
готовность к установке, позволяет выбрать загрузчик, диск. Также, пока не добавлена поддержка ReadySet, есть возможность
создания пользователя с паролем.

=== Atomic Package Manager ===

APM  — это универсальное приложение для управления системными и <code>distrobox</code> пакетами. Оно объединяет все функции в
единое API, обеспечивает взаимодействие через DBUS-сервис и предоставляет опциональную поддержку атомарных образов на
базе ALT Linux.

Цели создания:

* единый интерфейс управления, ориентированный на API-взаимодействие между приложениями;
* поддержка и управление атомарной системой;
* работа в режиме демона и отправление уведомления D-Bus о ходе выполнения каждой операции как в сессионной шине,
 так и в системной;
* работа с AppStream метаданными для подробной информации о «приложениях»;
* собственная база данных для ускорения работы с пакетами.

С практической точки зрения APM фокусируется на API-взаимодействии между приложениями. Архитектура построена таким
образом, чтобы абстрагироваться от транспортного протокола  — бизнес-логика CLI и DBUS-методов единая и не отличается
существенным образом. Любой ответ является структурой, которая может быть десериализована в json/text формат, в том числе
поэтому консольные команды имеют опциональный флаг для возврата ответов в формате JSON.

=== Известные проблемы ===

* Мейнтейнеры репозитория ALT не во всех пакетах используют декларативы systemd, что не гарантирует восстановление
 каталогов <code>/etc</code> и <code>/var</code> при их удалении или при замене образа без явной установки/удаления пакетов;
* не работает запуск с SecureBoot, так как не до конца изучена работа grub;
* нет графического средства управления системой;
* отсутствует документация по системе.

{{----}}
[[File:{{#setmainimage:ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025)!.jpg}}|center|640px]]
{{LinksSection}}
<!-- <blockquote>[©]</blockquote> -->

<references/>
* https://atomic.alt-gnome.ru
* [https://altlinux.space/alt-atomic/apm alt-atomic apm] 
* [https://altlinux.space/alt-atomic/atomic-control-center alt-atomic atomic-control-center]
* [https://altlinux.space/alt-atomic/atomic-distro-builder alt-atomic atomic-distro-builder]
* [https://altlinux.space/alt-atomic/atomic-installer alt-atomic atomic-installer]
* [https://altlinux.space/alt-atomic/core alt-atomic core]
* [https://altlinux.space/alt-atomic/onyx alt-atomic onyx]
* [https://altlinux.space/alt-atomic/onyx-branding alt-atomic onyx-branding]
* [https://altlinux.space/alt-gnome/ReadySet alt-gnome ReadySet]
* [https://bootc-dev.github.io/bootc/ Introduction  — bootc]

[[Категория:OSSDEVCONF-2025]]
[[Категория:Open-source projects]]
[[Категория:Draft]]

Текущая версия на 16:15, 28 февраля 2026

Докладчик
Владимир Васьков.jpg
Владимир Васьков

Атомарная архитектура на базе bootc эффективно решает основные проблемы администрирования традиционных систем, такие как «dependency hell», сложности отката обновлений и неконтролируемые изменения состояния системы. В докладе подробно рассматриваются практические аспекты внедрения данной архитектуры в семейство Альт.

Особое внимание уделяется представлению Atomic Package Manager (APM) — универсального инструмента с единым API для управления как системными пакетами, так и пакетами из distrobox-контейнеров, который обеспечивает взаимодействие через DBus-интерфейс и полную поддержку атомарных образов.

Видео[править вики-текст]

on youtube

Презентация[править вики-текст]

ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025).pdf

Thesis[править | править вики-текст]

Ключевые слова: Неизменяемость, атомарность, bootc, контейнеризация.

Что такое неизменяемая и атомарная ОС[править | править вики-текст]

Неизменяемая ОС — система, в которой изменения запрещены. Неизменяемость не означает отсутствие гибкости или возможности настройки — она означает контролируемый, предсказуемый и обратимый характер изменений. /usr является в таком случае неизменяемой директорией, которая определяет поведение остальной системы, /var и /etc восстанавливаются из конфигурационных файлов systemd-sysusers и systemd-tmpfiles и являются изменяемыми.

Обновления в такой системе, как правило, происходят атомарно: либо система обновилась, либо нет.

Преимущества и недостатки перед классическими системами[править | править вики-текст]

Преимущества:

  • декларативная и воспроизводимая сборка;
  • предсказуемое поведение системы;
  • сопровождение атомарной системы проще;
  • гарантия успешного запуска после обновления.

Недостатки:

  • система лишается «пользовательского авантюризма».

Что такое ALT Atomic[править | править вики-текст]

ALT Atomic — представитель подобного рода систем. В нём используется A/B подход, где, если текущий слот — A, обновление сначала загружается в слот B, после чего производится попытка переключения на него. В случае успеха будет загружена система из слота B, в худшем случае — из слота A.

В системе используются:

  • bootc для запуска и управления системой, используя в качестве транспорта системных образов OCI хранилища. Bootc использует файловую систему ostree с расширениями для интеграции контейнеров;
  • bootupd для обновления загрузчика.

Сборка образов[править | править вики-текст]

Образ должен в себя включать необходимый набор пакетов, так как модификация образа на машине пользователя нежелательна. Поэтому на текущий момент существует образ с окружением рабочего стола GNOME, Onyx, и такой же, но с драйверами Nvidia, onyx-nvidia.

Образы ALT Atomic создаются в CI в репозитории на altlinux.space Создание образа включает в себя:

  • установка необходимых пакетов;
  • включение необходимых сервисов;
  • создание конфигурационных файлов;
  • объединение слоёв для оптимизации загрузки оных;
  • выполнение специфичных скриптов для Nvidia образа.

Установка[править | править вики-текст]

Для установки систем на базе bootc была создана универсальная программа установки, которая имеет, по умолчанию, stable образы и возможность ввода ссылки на сторонний образ. Программа установки выполняет проверку устройства на готовность к установке, позволяет выбрать загрузчик, диск. Также, пока не добавлена поддержка ReadySet, есть возможность создания пользователя с паролем.

Atomic Package Manager[править | править вики-текст]

APM — это универсальное приложение для управления системными и distrobox пакетами. Оно объединяет все функции в единое API, обеспечивает взаимодействие через DBUS-сервис и предоставляет опциональную поддержку атомарных образов на базе ALT Linux.

Цели создания:

  • единый интерфейс управления, ориентированный на API-взаимодействие между приложениями;
  • поддержка и управление атомарной системой;
  • работа в режиме демона и отправление уведомления D-Bus о ходе выполнения каждой операции как в сессионной шине, так и в системной;
  • работа с AppStream метаданными для подробной информации о «приложениях»;
  • собственная база данных для ускорения работы с пакетами.

С практической точки зрения APM фокусируется на API-взаимодействии между приложениями. Архитектура построена таким образом, чтобы абстрагироваться от транспортного протокола — бизнес-логика CLI и DBUS-методов единая и не отличается существенным образом. Любой ответ является структурой, которая может быть десериализована в json/text формат, в том числе поэтому консольные команды имеют опциональный флаг для возврата ответов в формате JSON.

Известные проблемы[править | править вики-текст]

  • Мейнтейнеры репозитория ALT не во всех пакетах используют декларативы systemd, что не гарантирует восстановление каталогов /etc и /var при их удалении или при замене образа без явной установки/удаления пакетов;
  • не работает запуск с SecureBoot, так как не до конца изучена работа grub;
  • нет графического средства управления системой;
  • отсутствует документация по системе.
ALT Atomic — неизменяемая система с атомарными обновлениями на базе репозитория Сизиф (Владимир Васьков, OSSDEVCONF-2025)!.jpg

Примечания и ссылки[править вики-текст]