З запуск systemd 251, який відбувся у травні 2022 р. відзначено впровадження systemd-sysupdate, нова система оновлення, яка обіцяє глибшу інтеграцію з systemd, підтримку макетів на основі зображень і повний ланцюжок довіри від початку системи, як онлайн, так і офлайн.
Цей підхід systemd-sysupdate Я привернув увагу розробників ОС GNOME (експериментальний дистрибутив, який представляє найновіші розробки для настільних ПК), який оголосили про перехід на використання Компонент systemd-sysupdate для організації атомарних оновлень систем.
Розробники зазначають, що це зміна має на меті портувати нічні збірки ОС GNOME виконувати щоденний контроль якості розробки GNOME. У рамках проекту міграція включає процес завантаження та файлову систему, а також інтеграцію systemd-sysupdate з GNOME через службу D-Bus і polkit, щоб увімкнути керування оновленнями непривілейованим програмним забезпеченням.
Згадується, що Зараз для створення та оновлення використовується система OSTree вміст кореневого розділу ОС GNOME, оновлюючи образ системи атомарно з Git-подібного сховища.
Системний розділ монтується в режимі лише для читання, а оновлення доставляються у формі невеликих фрагментів, що містять зміни, пов’язані з попереднім станом (дельта-оновлення). Це дозволяє, наприклад, у процесі тестування GNOME легко повернути систему до попередніх версій і перевірити, чи не з’являється в них виявлена помилка.
Одна з переваг зміна ОС GNOME з OSTree на systemd-sysupdate це можливість використовувати перевірений процес запуску, де ланцюжок довіри простягається від завантажувача до системних компонентів дистрибутива. Крім того, використання systemd-sysupdate забезпечить більш повну інтеграцію з systemd та архітектурою, яка маніпулює попередньо зібраними образами системи як неподільними компонентами.
Тепер, щоб завершити цю міграцію, потрібно виконати дві основні роботи.
Перша — це міграція процесу завантаження та кореневої файлової системи… Друга частина — це інтеграція системного оновлення з GNOME. Наразі оновленнями системи можна керувати лише за допомогою інструмента командного рядка, який потрібно запускати від імені користувача root.
В В останньому кварталі минулого року були проведені експерименти зі створення образів системного оновлення з підтримкою UEFI Secure Boot. Наразі доступні дві версії збірок ОС GNOME: одна на основі OSTree, а друга — на systemd-sysupdate. Залишається переконатися, що sysupdate повністю інтегрується з GNOME і надає графічний інтерфейс для оновлення системи.
На даний момент, Оновленнями на основі sysupdate можна керувати лише з командного рядка і вимагають привілеїв root. Для інтеграції з GNOME вже розроблено службу D-Bus, яка в поєднанні з Polkit дозволяє керувати оновленнями за допомогою непривілейованого користувача. Розроблена служба D-Bus і пов’язана з нею утиліта updatectl мають бути включені до основного випуску systemd.
Серед проблем, які досі не вирішені, є необхідність додати підтримку дельта-оновлень до systemd-sysupdate (наразі зображення завантажуються цілком) і створення інструментів для одночасного обслуговування кількох версій операційної системи на основі стабільних гілок і GNOME. розвитку. Крім того, розпочато роботу над новим інсталятором для ОС GNOME, який все ще перебуває на ранній стадії та репозиторій якого ще не створено.
Нарешті, згадується, що в майбутньому планується додати функцію керування оновленнями на основі системного оновлення до програми GNOME. Для цього був підготовлений експериментальний плагін під назвою gs-plugin-systemd-sysupdate, який реалізує можливість оновлення операційної системи через сервіс D-Bus для оновлення системи.
Згідно з офіційним оголошенням, Gnome OS також матиме більш тісну інтеграцію з systemd і розширену підтримку компонування на основі зображень, забезпечуючи незмінність, автоматичні оновлення, скидання заводських налаштувань тощо.
Якщо вам цікаво дізнатися більше про це, ви можете переглянути подробиці в наступне посилання.