Il progetto postmarketOS ha introdotto assembly basati su systemd

Gli sviluppatori del progetto postmarketOS, che sviluppa una distribuzione Linux per smartphone basata sul pacchetto base Alpine Linux, sulla libreria standard Musl C e sul set di utilità BusyBox, hanno annunciato la possibilità di utilizzare il gestore di sistema systemd. Come risultato del lavoro di circa un anno sull'implementazione del supporto systemd, è stato preparato ed è disponibile per il test un prototipo in cui viene utilizzato systemd al posto del sistema di inizializzazione OpenRC.

Il supporto per la creazione di build basate su OpenRC rimarrà, almeno finché questo sistema verrà utilizzato in Alpine Linux. Quando si creano immagini postmarketOS, viene lasciata l'opzione per selezionare OpenRC in pmbootstrap. OpenRC prevede, tra l'altro, di continuare ad essere utilizzato dagli sviluppatori di assiemi con la shell grafica Sxmo (Simple X Mobile), basata sul gestore composito Sway.

Le build con systemd continueranno a essere basate sul pacchetto Alpine Linux, nonostante il fatto che questa distribuzione non supporti systemd e utilizzi la libreria Musl C. Systemd supporta ufficialmente solo la libreria Glibc C e gli sviluppatori di postmarketOS devono utilizzare patch aggiuntive, che intendono integrare nel tempo nel systemd principale (è in corso il lavoro insieme agli sviluppatori di systemd per semplificare l'integrazione).

La ragione per implementare il supporto systemd è la difficoltà di mantenere uno stack di inizializzazione basato su OpenRC a fronte della dipendenza sempre crescente di GNOME e KDE dai componenti systemd. Per garantire la funzionalità di GNOME e KDE basati su systemd, era necessario utilizzare vari livelli, e il costo di lavorare senza systemd era la necessità di mantenere questi livelli nella forma corretta e sincronizzarli con lo sviluppo di GNOME e KDE, in assenza di alcune funzioni necessarie nei livelli e l'imprevedibilità della continua manutenzione da parte degli sviluppatori.

Ad esempio, per compatibilità con i servizi hostnamed, localed e timedated, è stato utilizzato il livello openrc-settingsd, è stato utilizzato il pacchetto eudev al posto di udev, è stato utilizzato elogind al posto di logind, logbookd è stato utilizzato al posto di journald, è stato utilizzato il pacchetto superd per fornire la funzionalità "systemd -user" e in sostituzione systemd.timer è stato utilizzato da waked.

Il progetto postmarketOS ha introdotto assembly basati su systemd

Dei livelli utilizzati, la corretta manutenzione e il livello di supporto per le funzionalità richieste sono forniti solo in openrc-settingsd ed eudev. I progetti elogind, logbookd e superd continuano ad essere mantenuti, ma richiedono miglioramenti, poiché mancano di alcune funzionalità necessarie, e risvegliato rimane senza manutenzione per circa un anno. Inoltre, gli sviluppatori di KDE Plasma Mobile vorrebbero utilizzare il servizio systemd-coredumpd per semplificare il debug, ma il suo corecollector sostitutivo non verrà mantenuto a partire dal 2020.

Per quanto riguarda la necessità di utilizzare questi servizi, le API D-Bus fornite da hostnamed, localed e timedated vengono utilizzate in GNOME per modificare locale, impostazioni di sistema e fusi orari; udev è necessario per gestire i dispositivi connessi; logind, "systemd --user" e journald sono coinvolti nella gestione delle sessioni utente in gnome-session; systemd.timer è utilizzato da GNOME Clock.

Tra le nuove funzionalità che possono essere implementate negli assembly basati su systemd, c'è la gestione granulare dei privilegi, l'uso di funzionalità avanzate per garantire la sicurezza e gestire le dipendenze tra i servizi, la piena integrazione con cgroups, l'uso dell'attivazione dei socket (ad esempio, CUPS può essere avviato solo quando si accede alla porta di rete), la presenza di strumenti integrati per l'analisi del processo di avvio.

Fonte: opennet.ru

Aggiungi un commento