Translation(s): English - Français - Italiano - Русский
BootProcess > init
Init è il primo programma eseguito dopo che il sistema è avviato e continua a funzionare come processo numero 1 fino a quando il sistema verrà fermato. Il compito di init è di avviare altri programmi che sono essenziali per il funzionamento del sistema, tutti gli altri processi discendono da init.
Panoramica
Il processo di inizializzazione del sistema è gestito dal demone di init. In squeeze e rilasci precedenti tale demone è fornito dal pacchetto sysvinit e non sono supportate alternative. In wheezy il demone init predefinito è ancora sysvinit, ma è disponibile un'"anteprima tecnologica" di systemd. In jessie e stretch il sistema init predefinito è systemd, ma è supportato il passaggio a sysvinit.
A partire da jessie solo systemd è pienamente supportato; sysvinit è supportato per la maggior parte ma ai pacchetti Debian non viene richiesto di fornire script di avvio per sysvinit. Anche runit è pacchettizzato, ma non ha ricevuto lo stesso livello di test e supporto degli altri e attualmente non è supportato come PID 1.
Determinare il sistema init
In generale si può determinare quale sistema init è installato controllando se il file /sbin/init è un collegamento simbolico. Se non è un collegamento simbolico, allora probabilmente è in uso sysvinit. Se è un collegamento simbolico che punta a /lib/systemd/systemd, allora è in uso systemd. Se è un collegamento simbolico che punta a /lib/sysvinit/init, allora è in unso sysvinit.
Se si sospetta che il sistema init possa essere cambiato senza un riavvio, si può anche usare cat /proc/1/comm per vedere quale nome di comando è stato usato per il demone init durante l'avvio più recente.
Cambiare il sistema init
In stretch si può passare da systemd a sysvinit seguendo questi passi:
apt-get install sysvinit-core
- riavviare
Per la maggior parte del tempo in cui stretch era testing si poteva passare da systemd a runit seguendo questi passi:
apt-get install runit-systemd
- riavviare
apt-get install runit-init
- riavviare nuovamente
Tuttavia il pacchetto runit-init è stato rimosso da Debian poco tempo prima del rilascio di stretch. Attualmente runit non è supportato come sistema init in Debian, anche se ciò può cambiare in future e potrebbe funzionare in testing o unstable; tuttavia ogni tentativo di utilizzarlo viene fatto a proprio rischio e pericolo. (Vedere il bug 861536 per la discussione sulla rimozione.)
Configurazione di sysvinit
Il file di configurazione inittab dice ad init cosa fare, in particolare contiene le righe:
id:2:initdefault: si::sysinit:/etc/init.d/rcS l2:2:wait:/etc/init.d/rc 2
Che indica al file /etc/init.d/rcS di eseguire l'inizializzazione degli script (in /etc/rcS.d/*), poi gli script per il runlevel richiesto (in /etc/rcS.[0-9]/*).
Si veda anche
- update-rc.d, l'equivalente di chkconfig