L’init è il processo principale del sistema, che si preoccupa di lanciare e monitorare tutti gli altri processi. Storicamente il più diffuso è SysV, derivato dall’init di Unix, ma da qualche anno systemd è diventato de facto lo standard, presente – e scelto come riferimento – da tutte le distribuzioni più comuni.
La limitazione maggiore dei sistemi basati su SysV è la gerarchia dei processi, ovvero la possibilità di poter definire delle dipendenze tra un servizio e l’altro per poter assicurare l’ordine corretto di avvio – o di stop. L’altra limitazione è sempre stata la difficoltà di gestione dei processi con utenze non privilegiate; in poche parole, per poter gestire anche solo una parte di sistema, è spesso necessario avere potere su tutto il sistema.
Systemd era nato per ovviare a questi problemi: è indubbio che ci sia riuscito, ma molti criticano che i problemi creati dalla soluzione siano peggiori.
Shepard, nato per la gestione dei servizi di GNU Hurd, cerca di ovviare agli stessi problemi, affrontando la questione in modo diverso: la configurazione non riguarda il servizio, ma il sistema. Di fatto, il file di configurazione (scritto in Guile) descrive il sistema voluto, con i relativi servizi, e Shepard si preoccupa del percorso necessario a raggiungere lo stato voluto. Come il buon pastore (per l’appunto shepard, in inglese) con il suo gregge (herd in inglese, che ha la stessa pronuncia di Hurd).
Con il rilascio della versione 0.5 di Shepard potremmo essere di fronte alla nascita di un'(altra) alternativa. Come è intuibile dalla numerazione, il sistema (pur avendo mosso i primi passi 5 anni fa) è ancora agli inizi: la versione appena rilasciata è la prima a permettere alcune azioni normali in altri init; in particolare il bloccare (o riavviare) la macchina alla pressione della combinazione ctrl-alt-canc. Altre migliorie riguardano:
- Il riavvio di un servizio, che riavvia tutti i servizi dipendenti;
- Le azioni, che possono essere applicate anche a servizi non attivi;
- Il supporto a Guile 3.0;
- La pulizia del codice per i runlevel non usati;
Con queste modifiche l’uso è pressoché pronto, tanto che esiste una distribuzione che ne fa uso: GuixSD (versione 0.15, anche lei un infante). In questa distribuzione non solo i servizi, ma tutto il sistema è gestito tramite dei file in Guile, con guix che si occupa dell’installazione e configurazione dei pacchetti e Shepard dell’avvio dei processi.
Insomma, un nuovo concorrente od una meteora? Il fatto di far parte degli strumenti ufficiali di GNU ci porta a pensare che sopravviverà a lungo, ma forse solo confinato a qualche cricca di entusiasti. Noi siamo felici che sia (quasi) pronta una nuova alternativa libera a systemd. 🙂
Ho coltivato la mia passione per l’informatica fin da bambino, coi primi programmi BASIC. In età adulta mi sono avvicinato a Linux ed alla programmazione C, per poi interessarmi di reti. Infine, il mio hobby è diventato anche il mio lavoro.
Per me il modo migliore di imparare è fare, e per questo devo utilizzare le tecnologie che ritengo interessanti; a questo scopo, il mondo opensource offre gli strumenti perfetti.
Lascia un commento