GNU Shepard 0.5 scalda la sfida degli init system

GNU logo

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 Guiledescrive 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.

3 risposte a “GNU Shepard 0.5 scalda la sfida degli init system”

  1. Avatar Kim ALLAMANDOLA

    È MOLTO di più, in effetti al di la di hurd è parte del “gran disegno” di GuixSD, ovvero della soluzione GNU basata su NixOS per avere un OS funzionale a tutti i livelli.

    NixOS (ben più maturo, dalle statistiche di repology alla pari con Arch per numero di pkg e loro aggiornamento, MOLTO avanti a Ubuntu) è il pioniere ed oggi un po’ un unicum, GuixSD è il suo miglioramento perché usando Guile al posto di un DSL ostico e ignoto ai più rende molto più flessibile la gestione di un sistema.

    Il concetto di base è l’esatto OPPOSTO dei sistemi attuali: l’OS non dev’essere una “piattaforma” ma un unica “entità” “personale” dell’utente. Non si installa a mano o tramite contorte automazioni ma si descrive in testo (scheme per GuixSD, Nix per NixOS) e l’installer si limita a creare il sistema basandosi su questa descrizione, utenti, pacchetti, password, chiavi ssh, configurazioni ecc.

    Secondo me questa soluzione è il futuro di OGNI OS presente e futuro e certamente di GNU/Linux, al contrario dei trend attuali.

  2. Avatar JustATiredMan
    JustATiredMan

    speriamo sia come dici tu

  3. Avatar Kim ALLAMANDOLA

    Non sperare, provalo. È una distro “giovane”, manca ancora di molti pacchetti rispetto a NixOS (la sua base) o a distro come Arch/AUR, ma funziona egregiamente. Uno dei maggiori utilizzatori è l’INRIA per due loro cluster di supercalcolo.

    Lato desktop essendo una distro GNU (zero software proprietario) potresti dover rinunciare a qualcosa, come ad es. i driver nvidia, il supporto “completo” ad un po’ di ferro ecc ma funziona ed è tranquillamente usabile sulla maggior parte del ferro decente in circolazione. È in forte crescita, come lo è NixOS e come lo è stato Arch quindi per il futuro si può ben sperare: se interessa a noi facilmente interessa ad altri quindi… È così che funziona il software comunitario.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *