ALT Atomic — операционная система на базе Линукс, построенная на принципах неизменяемости, атомарности и контейнеризации.

ALT Atomic — операционная система на базе Линукс, построенная на принципах неизменяемости, атомарности и контейнеризации. 

Её ключевая особенность — атомарный процесс обновления, при котором все системные изменения применяются одновременно.

ALT Atomic создан при участии сообщества ALT Gnome.

Что такое атомарность?

Атомарность — концепция, при которой операция выполняется как неделимое целое. Она либо выполняется, либо нет.

Пример

Денежный перевод другу. Процесс происходит в два этапа: у вас списались деньги со счета и перевелись на счет друга.

Это атомарный процесс. 

Деньги либо списались и перевелись, либо остались на вашем счете по причине ошибки при переводе. Иных исходов нет.

Если бы процесс был не атомарный, то случилась бы ситуация, что деньги с вас сняли, а другу не зачислили. 

Итог — атомарный процесс гарантирует, что система всегда остается в целостном состоянии, даже если во время работы случился сбой.

Принцип работы атомарной операционной системы

Атомарная ОС использует атомарный процесс обновления. Это означает, что система обновляется не «поверх» старой версии файл за файлом, а как единое целое. Либо система успешно обновилась до новой версии, либо она осталась на старой рабочей версии. Не происходит ситуации, при которой половина файлов новые, а половина старые.

Ключевые особенности атомарной операционной системы:
   • корневая файловая система, за некоторыми исключениями, только для чтения;
   • система распространяется как единый образ;
   • обновления происходят атомарно — либо целиком, либо никак;
   • откат к любой предыдущей версии по дате или тегу.

ALT Atomic: сборка, управление версиями и состоянием ОС

ALT Atomic распространяется как единый образ системы, который содержит:
   • ядро Линукс;
   • все системные библиотеки и утилиты;
   • настроенные сервисы;
   • базовый набор приложений.

Сборка и распространение образа происходит через OCI-контейнеры с помощью bootc

Bootc — инструмент, который позволяет загружать операционную систему из контейнера.

Установленному образу операционной системы присваивается порядковый номер. Самый свежий имеет номер «0». При обновлении системы формируется новый образ с новым порядковым номером.

Управлять версиями ОС позволяет система OSTree. Она сохраняет состояния файловой системы. Командой:

sudo ostree admin pin 0

можно закреплять образ, к которому планируется возврат.

Чтобы вернуться к предыдущей версии используется загрузчик GRUB. Для этого:
   • перезагрузите операционную систему;
   • в меню GRUB выберите предыдущую версию.

Что такое Atomic Package Manager?

Для управления приложениями и пакетами в ALT Atomic используется утилита Atomic Package Manager. В него входят следующие функции.

   1. Управление системными пакетами. 
Доступна установка и удаление пакетов, а также обновление списка доступных пакетов.

   2. Работа с образами системы. 
С помощью утилиты можно:
   • скачать и применить обновления образа. Система учтёт те программы, которые вы установили отдельно;
   • посмотреть, какой образ сейчас используется и какие версии были раньше. Это поможет при необходимости сделать откат;
   • добавить дополнительный пакет в конфигурацию, чтобы он автоматически включался в образ при каждой сборке;
   • пересобрать образ с внесёнными изменениями. Например, после добавления своих пакетов.

   3. Управление пакетами из Distrobox.
При работе с инструментом, позволяющим запускать другие дистрибутивы в контейнерах (Distrobox) можно получить список установленных пакетов внутри контейнера.

Какие образы ALT Atomic можно установить?

На выбор представлены следующие образы ALT Atomic:

   • ALT Atomic Core. Базовый образ, который служит основой для создания других операционных систем.
   • ALT Atomic Kyanite. Неизменяемый образ со средой рабочего стола KDE Plasma.
   • ALT Atomic Onyx. Неизменяемый образ операционной системы с рабочим окружением GNOME.

Также доступны ALT Atomic Kyanite и ALT Atomic Onyx с предустановленными драйверами NVIDIA.

Для создания собственного образа можно воспользоваться шаблоном по ссылке