Разработчиците на проекта postmarketOS, който развива Linux дистрибуция за смартфони, базирана на пакетна база Alpine Linux, стандартната Си-библиотека Musl и набора утилити BusyBox, обявиха за предоставянето на възможността за използване на системен мениджър systemd. В резултат на работата по внедряване на поддръжка за systemd, която продължи около година, е подготвен и наличен за тестване прототип на сборка, в който вместо системата за инициализация OpenRC е използван systemd.
Поддръжката за създаване на сборки на база OpenRC ще бъде запазена, поне докато тази система се използва в Alpine Linux. При изграждане на образи postmarketOS е оставена възможността за избор на OpenRC в pmbootstrap. Сред другото, разработчиците на сборки с графична обвивка Sxmo (Simple X Mobile), базирана на композитен мениджър Sway, планират да продължат да използват OpenRC.
Сборките с systemd както и преди ще се формират на пакетна база Alpine Linux, въпреки че този дистрибуция не поддържа systemd и използва Си-библиотеката Musl. Systemd официално поддържа само Си-библиотеката Glibc и разработчиците на postmarketOS трябва да използват допълнителни пачове, които с времето планират да интегрират в основния състав на systemd (в сътрудничество с разработчиците на systemd се работи за опростяване на интеграцията).
Като причина за внедряване на поддръжка за systemd се посочва сложността на поддръжката на стек за инициализация на база OpenRC в условията на постоянно нарастваща зависимост на GNOME и KDE от компоненти на systemd. За осигуряване на работоспособността на възможностите на GNOME и KDE, свързани със systemd, е било необходимо да се използват различни прослойки, а цената на работата без systemd е била необходимостта да се поддържат в добро състояние тези прослойки и синхронизация с разработки на GNOME и KDE, при отсъствието на необходимите функции в прослойките и непредсказуемостта на продължаване на поддръжката от разработчиците.
Например, за съвместимост с услугите hostnamed, localed и timedated е използвана прослойка openrc-settingsd, вместо udev е бил използван пакет eudev, вместо logind — elogind, вместо journald — logbookd, за да се осигури функционирането на „systemd —user“ е бил използван пакет superd, а като заместител на systemd.timer е бил използван waked.

От използваните слоеве адекватната поддръжка и необходимото ниво на поддръжка на исканата функционалност са осигурени само в openrc-settingsd и eudev. Проектите elogind, logbookd и superd продължават да се поддържат, но изискват доработка, тъй като им липсват някои необходими възможности, а waked остава без поддръжка около година. Освен това, разработчиците на KDE Plasma Mobile биха искали да използват за опростяване на отстраняването на проблеми услугата systemd-coredumpd, но нейният заместител corecollector остава без поддръжка от 2020 година.
Що се отнася до необходимостта от използването на тези услуги, то D-Bus API, предоставяни от hostnamed, localed и timedated, се използват в GNOME за промяна на локализацията, системните настройки и часовите зони; udev е необходим за управление на свързаните устройства; logind, „systemd --user“ и journald са активирани при управлението на потребителските сесии в gnome-session; systemd.timer се използва в GNOME Clock.
От новите възможности, които ще могат да се реализират в билдовете на базата на systemd, се отбелязва детайлно управление на привилегиите, активиране на разширени функции за осигуряване на сигурност и управление на зависимостите между услугите, пълна интеграция с cgroups, използване на активация по сокет (например, CUPS може да се стартира само при достъп до мрежовия порт), наличие на вградени инструменти за анализ на процеса на зареждане.
Източник: opennet.ru
