Systemd arriba a postmarkets per garantir la funcionalitat del GNOME i el KDE

systemd a postmarketOS

systemd a postmarketOS

Fa poc els desenvolupadors del projecte postmarketOS, van donar a conèixer mitjançant una publicació de bloc la notícia la introducció de systemd a les compilacions del sistema. La raó principal per implementar el suport de systemd és la dificultat de mantenir una pila d'inicialització basada en OpenRC davant la creixent dependència del GNOME i el KDE dels components de systemd.

La disponibilitat de fer servir systemd com a administrador del sistema arriba després d'un any de treball i s'han preparat i posat a disposició de proves un muntatge prototip en què s'utilitza systemd en lloc del sistema d'inicialització OpenRC.

S'esmenta que malgrat la incorporació de systemd, se seguirà brindant suport per la creació de compilacions basades en OpenRC en postmarketOS, almenys mentre aquest sistema segueixi sent utilitzat a Alpine Linux. L'opció de seleccionar OpenRC estarà disponible quan creeu imatges de postmarketOS utilitzant pmbootstrap. A més, OpenRC continuarà sent utilitzat pels desenvolupadors d'assemblatges que treballen amb l'intèrpret d'ordres gràfic Sxmo (Simple X Mobile), basat en l'administrador compost Sway.

D'altra banda, les compilacions amb systemd continuaran basant-se en el paquet base d'Alpine Linux, malgrat que aquesta distribució no compta amb compatibilitat oficial amb systemd i utilitza la biblioteca Musl C en lloc de Glibc C, la qual és compatible amb systemd. Els desenvolupadors de postmarketOS estan implementant pegats addicionals per integrar systemd amb Musl C i tenen plans de col·laborar amb els desenvolupadors de systemd per simplificar aquesta integració en el futur.

Per descomptat, aquesta no és una tasca fàcil, un dels principals obstacles que trobem a mesura que col·laborem més estretament amb els desenvolupadors del KDE i el GNOME és que tenen dificultats amb la nostra pila basada en OpenRC. Perquè el KDE i el GNOME funcionin, utilitzem molts polyfills de systemd a més d'OpenRC. Aleshores, encara que tècnicament «no fem servir systemd», a la pràctica ja fem servir una gran part dels seus components per executar el KDE i el GNOME, només versions diferents d'aquests components

Per garantir la funcionalitat del GNOME i el KDE basats en systemd, es requeria mantenir diverses capes addicionals, a més que treballar sense systemd implicava mantenir aquestes capes de manera adequada i sincronitzar-les amb el desenvolupament de GNOME i KDE, cosa que plantejava desafiaments significatius i certa incertesa en el manteniment continu per part de els desenvolupadors.

A més d'això, els desenvolupadors esmenten que es van implementar diverses capes i paquets per garantir la compatibilitat amb serveis amb nom de host, localitzats i amb data i hora a postmarketOS. Aquesto va incloure l'ús d'openrc-settingsd per a la compatibilitat amb serveis amb nom de host, eudev en lloc d'udev per a la gestió de dispositius, elogind en lloc de logind per a la gestió de sessions d'usuari, i logbookd en lloc de diari per a la gestió de registres i es va emprar el paquet superd per proporcionar funcionalitat similar a «systemd –user» i reemplaçar systemd.timer amb waked.

No obstant això, el manteniment i suport adequat només es garanteixen per openrc-settingsd i eudev. Projectes com elogind, logbookd i superd encara requereixen millores, ja que no tenen algunes característiques necessàries, i despertat no ha rebut manteniment durant aproximadament un any. A més, els desenvolupadors de KDE Plasma Mobile van expressar el seu interès a utilitzar systemd-coredumpd per simplificar la depuració, però el seu reemplaçament, corecollector, no ha rebut manteniment des del 2020.

Aquests serveis són necessaris per a diverses funcions al GNOME i altres aplicacions. Per exemple, l'API D-Bus proporcionada per hostnamed, localed i timedated s'utilitza al GNOME per canviar configuracions regionals i de zona horària. Udev es requereix per administrar dispositius connectats, mentre que logind, «systemd –user» i journald s'utilitzen per gestionar sessions d'usuari a gnome-session. El GNOME Clock utilitza systemd.timer per a les seues funcionalitats.

En termes de noves característiques que es poden implementar amb compilacions basades en systemd, s'hi inclou l'administració granular de privilegis, l'ús de funcions avançades per garantir la seguretat i administrar dependències entre serveis, la integració completa amb cgroups, l'activació de socket per iniciar serveis segons calgui (per exemple, CUPS es pot iniciar només en accedir al port de xarxa), i la disponibilitat d'eines integrades per analitzar el procés d'arrencada.

Finalment si estàs interessat a poder conèixer més sobre això, Pots consultar els detalls a el següent enllaç.