Обновление системы
Обновления Selenite устроены по схеме A/B: на диске хранятся два развертывания образа — активное, с которого загружена система, и резервное. Обновление не изменяет работающую систему: новый образ записывается в резервное развертывание, а переключение на него происходит при перезагрузке. Обновление либо применяется целиком, либо не применяется вовсе, а предыдущее развертывание остаётся на диске — к нему можно вернуться в любой момент.
Как проходит обновление
Обновление выполняется командой machine upgrade. Под капотом используется bootc:
machine upgradeскачивает новый образ из registry- Образ записывается в неактивный раздел
- После перезагрузки машина загружается с нового образа
Скачивание нового образа ничего не меняет в текущей системе — он активируется только при перезагрузке.
Откат
Если после обновления что-то сломалось, machine rollback вернёт машину на предыдущую версию образа. Хранится ровно одна предыдущая версия, поэтому откат возможен на один шаг назад — дальше поможет только machine switch.
Смена образа
machine switch переключает машину на другой образ целиком: другой тег или вообще другую сборку — например, собственную.
Типичные сценарии
Плановое обновление:
ssh server machine upgrade # скачать новый образ, сервисы не прерываются
ssh server machine reboot # в удобное время применить егоОткат после проблемного обновления:
ssh server machine rollback
ssh server machine rebootПолный синтаксис команд и флаги — в справочнике команд machine.