Systemd kommer till postmarketOS för att garantera funktionaliteten hos GNOME och KDE

systemd i postmarketOS

systemd i postmarketOS

Nyligen utvecklare av postmarketOS-projektet, meddelade genom ett blogginlägg nyheterna om införandet av systemd till systembyggen. De primära orsaken att implementera systemstöd är svårigheten att underhålla en initieringsstack baserad på OpenRC står inför det växande beroendet av GNOME och KDE av systemkomponenter.

Tillgängligheten att använda systemd som systemadministratör kommer efter ett års arbete och en prototypinstallation med systemd istället för OpenRC-initieringssystemet har förberetts och gjorts tillgänglig för testning.

Det nämns det Trots tillägget av systemd kommer supporten att fortsätta att tillhandahållas skapa builds baserat på OpenRC i postmarketOS, åtminstone så länge som detta system fortsätter att användas i Alpine Linux. Alternativet att välja OpenRC kommer att vara tillgängligt när du skapar postmarketOS-bilder med pmbootstrap. Dessutom kommer OpenRC att fortsätta att användas av assembly-utvecklare som arbetar med det grafiska skalet Sxmo (Simple X Mobile), baserat på Sway-komposithanteraren.

Å andra sidan, bygger med systemd kommer fortfarande att baseras på baspaketet Alpine Linux, trots att denna distribution inte har officiellt stöd för systemd och använder Musl C-biblioteket istället för Glibc C, som är kompatibelt med systemd. PostmarketOS-utvecklarna implementerar ytterligare patchar för att integrera systemd med Musl C och planerar att samarbeta med systemd-utvecklare för att förenkla denna integration i framtiden.

Naturligtvis är detta ingen lätt uppgift, ett av de största hindren vi möter när vi samarbetar närmare med KDE- och GNOME-utvecklare är att de har svårigheter med vår OpenRC-baserade stack. För att få KDE och GNOME att fungera använder vi många systemd polyfills förutom OpenRC. Så även om vi tekniskt sett "inte använder systemd", använder vi i praktiken redan en stor del av dess komponenter för att köra KDE och GNOME, bara olika versioner av dessa komponenter

För att säkerställa funktionaliteten hos GNOME och KDE baserat på systemd krävdes flera ytterligare lager för att underhållas, och att arbeta utan systemd innebar att dessa lager skulle underhållas korrekt och synkroniseras med GNOME- och KDE-utvecklingen, vilket innebar betydande utmaningar och viss osäkerhet i pågående underhåll av utvecklarna.

Utöver detta nämner utvecklarna det Olika lager och paket implementerades för att säkerställa stöd för tjänster för värdnamn, lokaliserade och tidsstämplar i postmarketOS. Det är teller inkluderade användningen av openrc-settingsd för stöd för värdnamnstjänster, eudev istället för udev för enhetshantering, elogind istället för logind för användarsessionshantering och loggbokad istället för journalförd för logghantering och superd-paketet användes för att tillhandahålla funktionalitet som liknar «systemd –användare» och byt ut systemd.timer med vaknade.

Men, korrekt underhåll och support garanteras endast för openrc-settingsd och eudev. Projekt som elogind, logbookd och superd kräver fortfarande förbättringar, eftersom de saknar några nödvändiga funktioner, och vaknade Den har inte varit servad på ungefär ett år. Dessutom uttryckte KDE Plasma Mobile-utvecklare intresse för att använda systemd-coredumpd för att förenkla felsökningen, men ersätta den, kärnsamlare, Den har inte fått underhåll sedan 2020.

Dessa tjänster krävs för olika funktioner i GNOME och andra applikationer. Till exempel D-Bus API som tillhandahålls av värdnamn, lokaliserad och tidsdaterad Den används i GNOME för att ändra regionala och tidszonsinställningar. Udev krävs för att hantera anslutna enheter, medan du loggar in, "systemd –användare» och journald används för att hantera användarsessioner i gnome-session. GNOME Clock använder systemd.timer för dess funktioner.

En termer av nya funktioner som kan implementeras med systembaserade builds, inklusive granulär behörighetshantering, användning av avancerade funktioner för att säkerställa säkerhet och hantera beroenden mellan tjänster, full integration med cgroups, socketaktivering för att starta tjänster efter behov (t.ex. kan CUPS endast startas av åtkomst till nätverksporten) och tillgången till inbyggda verktyg för att analysera startprocessen.

äntligen om du är det intresserad av att veta mer om detkan du kolla in detaljerna följande länk.