ОС GNOME обіцяє швидке та безпечне оновлення за допомогою systemd-sysupdate

ОС GNOME, експериментальний дистрибутив для розробників для оцінки стану розробки робочого середовища

З запуск systemd 251, який відбувся у травні 2022 р. відзначено впровадження systemd-sysupdate, нова система оновлення, яка обіцяє глибшу інтеграцію з systemd, підтримку макетів на основі зображень і повний ланцюжок довіри від початку системи, як онлайн, так і офлайн.

Цей підхід systemd-sysupdate Я привернув увагу розробників ОС GNOME (експериментальний дистрибутив, який представляє найновіші розробки для настільних ПК), який оголосили про перехід на використання Компонент systemd-sysupdate для організації атомарних оновлень систем.

systemd
Пов'язана стаття:
Systemd 251 вже випущено, і це його новини

Розробники зазначають, що це зміна має на меті портувати нічні збірки ОС 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 і розширену підтримку компонування на основі зображень, забезпечуючи незмінність, автоматичні оновлення, скидання заводських налаштувань тощо.

Якщо вам цікаво дізнатися більше про це, ви можете переглянути подробиці в наступне посилання.