systemd в postmarketOS
Нещодавно оголосили розробники проекту postmarketOS через допис у блозі новини про впровадження systemd до збірок системи. The первинна причина реалізувати підтримку systemd полягає в складності підтримки стек ініціалізації на основі OpenRC стикається зі зростаючою залежністю від GNOME та KDE компонентів systemd.
Доступність використання systemd як системного адміністратора з’являється після року роботи, а прототип налаштування з використанням systemd замість системи ініціалізації OpenRC було підготовлено та доступно для тестування.
Згадується, що Незважаючи на додавання systemd, підтримка надаватиметься й надалі створення збірок на основі OpenRC у postmarketOS, принаймні до тих пір, поки ця система продовжує використовуватися в Alpine Linux. Опція вибору OpenRC буде доступна під час створення зображень postmarketOS за допомогою pmbootstrap. Крім того, OpenRC продовжуватимуть використовувати розробники збірок, які працюють із графічною оболонкою Sxmo (Simple X Mobile) на основі композитного менеджера Sway.
З іншого боку, збірки з systemd все ще базуватимуться на базовому пакеті Alpine Linux, незважаючи на те, що цей дистрибутив не має офіційної підтримки systemd і використовує бібліотеку Musl C замість Glibc C, яка сумісна з systemd. Розробники postmarketOS впроваджують додаткові патчі для інтеграції systemd із Musl C і планують співпрацювати з розробниками systemd, щоб спростити цю інтеграцію в майбутньому.
Звичайно, це непросте завдання. Однією з головних перешкод, з якими ми стикаємося під час тіснішої співпраці з розробниками KDE та GNOME, є те, що вони мають труднощі з нашим стеком на основі OpenRC. Щоб забезпечити роботу KDE та GNOME, ми використовуємо багато полізаповнень systemd на додаток до OpenRC. Отже, хоча технічно «ми не використовуємо systemd», на практиці ми вже використовуємо значну частину його компонентів для запуску KDE та GNOME, лише різні версії цих компонентів
Для забезпечення функціональності GNOME та KDE на основі systemd потрібно було підтримувати кілька додаткових рівнів, і робота без systemd означала належну підтримку цих рівнів і їх синхронізацію з розробкою GNOME і KDE, що створювало значні проблеми та певну невизначеність у поточному обслуговуванні розробниками.
Крім цього, розробники зазначають, що Були реалізовані різні шари та пакети щоб забезпечити підтримку імен хостів, локалізованих служб і служб позначок часу в postmarketOS. Його Табо включав використання openrc-settingsd для підтримки служб імен хостів, eudev замість udev для керування пристроями, elogind замість logind для керування сеансами користувачів і logbookd замість журналд для керування журналами, а пакет superd використовувався для забезпечення функціональності, подібної до «systemd – користувач» і замінити systemd.timer з прокинувся.
Однак, належне обслуговування та підтримка гарантуються лише для openrc-settingsd та eudev. Такі проекти, як elogind, logbookd і superd все ще потребують вдосконалення, оскільки їм бракує деяких необхідних функцій, і прокинувся Не обслуговувався близько року. Крім того, розробники KDE Plasma Mobile висловили зацікавленість у використанні systemd-coredumpd щоб спростити налагодження, але замінивши його, corecollector, Не обслуговувався з 2020 року.
Ці служби потрібні для різних функцій у GNOME та інших програмах. Наприклад, D-Bus API, наданий з іменем хоста, локалізованим і датованим Він використовується в GNOME для зміни налаштувань регіону та часового поясу. Udev потрібен для керування підключеними пристроями під час входу в систему, “systemd – користувач» і journald використовуються для керування сеансами користувачів у gnome-session. GNOME Clock використовує systemd.timer для його функціональних можливостей.
En умови нових можливостей які можна реалізувати за допомогою збірок на основі systemd, включаючи детальне керування привілеями, використання розширених функцій для забезпечення безпеки та керування залежностями між службами, повну інтеграцію з контрольними групами, активацію сокетів для запуску служб за потреби (наприклад, CUPS можна запустити лише за допомогою доступ до мережевого порту) і наявність вбудованих інструментів для аналізу процесу завантаження.
нарешті, якщо ти є цікаво дізнатися про це більше, Ви можете перевірити деталі в за наступним посиланням.