systemd i postmarketOS
For nylig udviklere af postmarketOS-projektet, annonceret gennem et blogindlæg nyheden om indførelsen af systemd til systembygninger. Det primære årsag at implementere systemstøtte er vanskeligheden ved at opretholde en initialiseringsstak baseret på OpenRC står over for den voksende afhængighed af GNOME og KDE af systemkomponenter.
Tilgængeligheden af at bruge systemd som systemadministrator kommer efter et års arbejde, og en prototypeopsætning med systemd i stedet for OpenRC initialiseringssystemet er blevet forberedt og gjort tilgængelig for test.
Det nævnes det På trods af tilføjelsen af systemd, vil der fortsat blive ydet support skabe builds baseret på OpenRC i postmarketOS, i det mindste så længe dette system fortsætter med at blive brugt i Alpine Linux. Muligheden for at vælge OpenRC vil være tilgængelig, når du opretter postmarketOS-billeder ved hjælp af pmbootstrap. Derudover vil OpenRC fortsat blive brugt af assembly-udviklere, der arbejder med Sxmo (Simple X Mobile) grafiske shell, baseret på Sway Composite Manager.
På den anden side builds med systemd vil stadig være baseret på basispakken Alpine Linux, på trods af at denne distribution ikke har officiel understøttelse af systemd og bruger Musl C-biblioteket i stedet for Glibc C, som er kompatibelt med systemd. PostmarketOS-udviklerne implementerer yderligere patches for at integrere systemd med Musl C og planlægger at samarbejde med systemd-udviklere for at forenkle denne integration i fremtiden.
Selvfølgelig er dette ikke en nem opgave, en af de vigtigste forhindringer, vi støder på, når vi samarbejder tættere med KDE- og GNOME-udviklere, er, at de har vanskeligheder med vores OpenRC-baserede stak. For at få KDE og GNOME til at fungere, bruger vi mange systemd polyfills ud over OpenRC. Så selvom vi teknisk set "ikke bruger systemd", bruger vi i praksis allerede en stor del af dets komponenter til at køre KDE og GNOME, bare forskellige versioner af disse komponenter
For at sikre funktionaliteten af GNOME og KDE baseret på systemd var der behov for at vedligeholde flere yderligere lag, og at arbejde uden systemd betød at vedligeholde disse lag ordentligt og synkronisere dem med GNOME- og KDE-udvikling, hvilket gav betydelige udfordringer og en vis usikkerhed i den løbende vedligeholdelse af udviklerne.
Ud over dette nævner udviklerne det Forskellige lag og pakker blev implementeret for at sikre understøttelse af værtsnavne, lokaliserede og tidsstempeltjenester i postmarketOS. Det er Teller inkluderet brugen af openrc-settingsd for support til værtsnavnetjenester, eudev i stedet for udev til enhedsadministration, elogind i stedet for logind til brugersessionsadministration og logbog i stedet for journalført til logstyring og superd-pakken blev brugt til at levere funktionalitet svarende til «systemd –bruger» og udskift systemd.timer med vågnede.
Dog, korrekt vedligeholdelse og support er kun garanteret for openrc-settingsd og eudev. Projekter som elogind, logbog og superd kræver stadig forbedringer, da de mangler nogle nødvendige funktioner, og vågnede Den har ikke været serviceret i omkring et år. Derudover udtrykte KDE Plasma Mobile-udviklere interesse for at bruge systemd-coredumpd for at forenkle fejlfinding, men erstatte det, kernesamler, Det har ikke modtaget vedligeholdelse siden 2020.
Disse tjenester er nødvendige for forskellige funktioner i GNOME og andre programmer. For eksempel D-Bus API leveret af værtsnavnet, lokaliseret og tidsdateret Det bruges i GNOME til at ændre regionale og tidszoneindstillinger. Udev er påkrævet for at administrere tilsluttede enheder, mens logind, "systemd –bruger» og journald bruges til at administrere brugersessioner i gnome-session. GNOME Clock bruger systemd.timer for dets funktionaliteter.
En med hensyn til nye funktioner der kan implementeres med systembaserede builds, herunder granulær rettighedsstyring, brug af avancerede funktioner til at sikre sikkerhed og administrere afhængigheder mellem tjenester, fuld integration med cgroups, socket-aktivering for at starte tjenester efter behov (f.eks. kan CUPS kun startes af adgang til netværksporten), og tilgængeligheden af indbyggede værktøjer til at analysere opstartsprocessen.
endelig hvis du er det interesseret i at vide mere om det, kan du tjekke detaljerne i følgende link.