Ricerca nel sito web

I 6 migliori sistemi Linux 'init' moderni (1992-2023)


In Linux e in altri sistemi operativi simili a Unix, il processo init (inizializzazione) è il primo processo eseguito dal kernel all'avvio, che ha un ID di processo (PID) di 1, che viene eseguito in background fino allo spegnimento del sistema.

Il processo init avvia tutti gli altri processi Linux, ovvero demoni, servizi e altri processi in background, pertanto è la madre di tutti gli altri processi sul sistema.

Un processo può avviare molti altri processi figli nel sistema, ma se un processo genitore muore, init diventa il genitore del processo orfano.

Nel corso degli anni, molti sistemi init sono emersi nelle principali distribuzioni Linux e in questa guida daremo un'occhiata ad alcuni dei migliori sistemi init con cui puoi lavorare sul sistema operativo Linux.

1. Inizializzazione del sistema V

System V (SysV) è uno schema init maturo e popolare su sistemi operativi simili a Unix, è il genitore di tutti i processi su un sistema Unix/Linux. SysV è il primo sistema operativo Unix commerciale progettato.

Quasi tutte le distribuzioni Linux utilizzavano inizialmente lo schema init SysV tranne Gentoo che ha uno schema init personalizzato e Slackware che utilizza lo schema init in stile BSD.

Con il passare degli anni, a causa di alcune imperfezioni, sono stati sviluppati diversi sostituti di SysV init nel tentativo di creare sistemi init più efficienti e perfetti per Linux.

Anche se queste alternative cercano di migliorare SysV e probabilmente offrono nuove funzionalità, sono comunque compatibili con gli script SysV init originali.

2. SistemaD

SystemD è uno schema di inizializzazione relativamente nuovo sulla piattaforma Linux. Introdotto in Fedora 15, è un assortimento di strumenti per una facile gestione del sistema. Lo scopo principale è inizializzare, gestire e tenere traccia di tutti i processi di sistema durante il processo di avvio e mentre il sistema è in esecuzione.

Systemd init è completamente distinto dagli altri tradizionali sistemi init Unix, nel modo in cui si avvicina praticamente alla gestione del sistema e dei servizi. È anche compatibile con gli script di inizializzazione SysV e LBS.

Ha alcune delle seguenti caratteristiche importanti:

  • Design pulito, semplice ed efficiente
  • Elaborazione simultanea e parallela all'avvio
  • APIv migliore
  • Consente la rimozione di processi opzionali
  • Supporta la registrazione degli eventi utilizzando journald
  • Supporta la pianificazione dei lavori utilizzando i timer del calendario systemd
  • Archiviazione dei log in file binari
  • Conservazione dello stato del sistema per riferimento futuro
  • Migliore integrazione con GNOME e molto altro ancora

3. Iniziare

Upstart è un sistema init basato su eventi sviluppato dai creatori di Ubuntu in sostituzione del sistema init SysV. Avvia diverse attività e processi di sistema, li ispeziona mentre il sistema è in esecuzione e li arresta durante l'arresto del sistema.

È un sistema init ibrido che utilizza sia script di avvio SysV che script Systemd, alcune delle caratteristiche degne di nota del sistema init Upstart includono:

  • Sviluppato originariamente per Ubuntu Linux ma può essere eseguito su tutte le altre distribuzioni
  • Avvio e arresto di attività e servizi basati sugli eventi
  • Gli eventi vengono generati durante l'avvio e l'arresto di attività e servizi
  • Gli eventi possono essere inviati da altri processi di sistema
  • Comunicazione con il processo init tramite D-Bus
  • Gli utenti possono avviare e interrompere i propri processi
  • Rigenerazione di servizi che muoiono improvvisamente e molti altri

4. OpenRC

OpenRC è uno schema init basato sulle dipendenze per sistemi operativi simili a Unix, è compatibile con SysV init. Per quanto apporti alcuni miglioramenti a Sys V, devi tenere presente che OpenRC non è un sostituto assoluto del file /sbin/init.

Offre alcune caratteristiche illustri tra cui:

  • Può funzionare su altre numerose distribuzioni Linux incluso Gentoo e anche su BSD
  • Supporta script di inizializzazione avviati dall'hardware
  • Supporta un singolo file di configurazione
  • Nessuna configurazione per servizio supportata
  • Funziona come un demone
  • Avvio di servizi paralleli e molti altri

5. eseguilo

runit è anche un sistema init multipiattaforma che può essere eseguito su GNU/Linux, Solaris, *BSD e Mac OS X ed è un'alternativa a SysV init, che offre la supervisione del servizio.

Viene fornito con alcuni vantaggi e componenti notevoli non presenti in SysV init e possibilmente in altri sistemi init in Linux e questi includono:

  • Supervisione del servizio, in cui ogni servizio è associato a una directory di servizi
  • Uno stato di processo pulito garantisce a ogni processo uno stato pulito
  • Ha una struttura di registrazione affidabile
  • Avvio e spegnimento rapidi del sistema
  • È anche portatile
  • Imballaggio amichevole
  • Piccole dimensioni del codice e molto altro ancora

6.s6

s6 offre un set compatto di strumenti per UNIX, su misura per la supervisione dei processi, simili a daemontools e runit. Facilita le operazioni su processi e demoni.

Progettato come un toolkit di amministrazione dei servizi di basso livello, s6 fornisce diversi strumenti che possono funzionare in modo indipendente o all'interno della sua struttura. Questi strumenti, se combinati, offrono funzionalità robuste con un codice minimo.

Come ho già detto in precedenza, il sistema init avvia e gestisce tutti gli altri processi su un sistema Linux. Inoltre, SysV è lo schema init principale sui sistemi operativi Linux, ma a causa di alcuni punti deboli in termini di prestazioni, i programmatori di sistema hanno sviluppato diversi sostituti.

Qui abbiamo esaminato alcune di queste sostituzioni, ma potrebbero esserci altri sistemi init che ritieni valgano la pena menzionare in questo elenco. Puoi farcelo sapere tramite la sezione commenti qui sotto.