Pubblicato il gestore di sistema GNU Shepherd 1.0.0

È stato presentato il gestore di sistema GNU Shepherd 1.0.0 (ex dmd), che combina le funzionalità di un sistema di inizializzazione e di uno strumento per la gestione dei servizi di sistema. Si nota che l'assegnazione del numero 1.0 dopo 21 anni di sviluppo segna il riconoscimento della prontezza del progetto e la sua conformità ai requisiti funzionali dei moderni sistemi di inizializzazione e dei gestori di servizi.

Il progetto è sviluppato dagli sviluppatori della distribuzione GNU Guix System come alternativa al sistema di inizializzazione SysV-init, che supporta le dipendenze. Il demone di gestione e le utilità di Shepherd sono scritti nel linguaggio Guile (una delle implementazioni del linguaggio Scheme), che viene utilizzato anche per definire le impostazioni e i parametri di avvio dei servizi. Shepherd è già utilizzato nella distribuzione GNU Guix System ed è destinato anche all'uso in GNU/Hurd, ma può funzionare in qualsiasi sistema operativo compatibile con POSIX, per il quale è disponibile il linguaggio Guile.

Shepherd si occupa dell'avvio e dell'arresto dei servizi, tenendo conto delle interconnessioni tra i servizi, determinando dinamicamente e avviando i servizi da cui dipende il servizio selezionato. Shepherd supporta anche la definizione di conflitti tra servizi e previene la loro esecuzione simultanea. Il progetto può essere utilizzato sia come sistema di init principale (init con PID 1), sia in modo isolato per gestire i processi in background di singoli utenti (ad esempio, per avviare tor, privoxy, mcron, ecc.) con esecuzione con i diritti di tali utenti.

Novità principali in GNU Shepherd 1.0.0:

  • È stato aggiunto il supporto per i servizi che eseguono periodicamente comandi o codice nel linguaggio Scheme secondo un certo calendario.
  • Nel comando «herd status SERVICE» è stata implementata la visualizzazione di informazioni di alto livello sui servizi, come PID, comando e indirizzi su cui vengono ricevute richieste di rete, oltre a un riepilogo dei messaggi recenti aggiunti al log. Inoltre, questo comando ora mostra le azioni utente applicabili al servizio e informa della presenza di un servizio sostitutivo che verrà applicato dopo il riavvio del servizio attuale.
  • Il comando «herd status root» non è più sinonimo di «herd status» e visualizza informazioni sul processo principale shepherd.
  • Per la piattaforma Linux è stata fornita la possibilità di riavviare utilizzando il meccanismo kexec («reboot —kexec») per sostituire il kernel Linux senza un riavvio fisico.
  • È stato aggiunto il servizio di log-rotation, responsabile della rotazione periodica dei log e della rimozione dei log obsoleti.
  • È stato aggiunto il servizio system-log, che può essere utilizzato come sostituto del tradizionale sistema syslogd.
  • È stato aggiunto il servizio timer per l'esecuzione di comandi a un orario specificato, in analogia con l'utility «at». Ad esempio, «herd schedule timer at 07:00 — mpg123 alarm.mp3».
  • È stato aggiunto il servizio transient per l'esecuzione di comandi in background, in analogia con l'utility systemd-run. Ad esempio, «herd spawn transient -d $PWD — make -j4».

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster