Sysvinit-2.85

Il pacchetto Sysvinit contiene programmi per controllare l'avviamento, l'esecuzione e lo spegnimento del vostro sistema.

Tempo approssimativo di costruzione:  0.1 SBU
Spazio necessario sul disco:     0.9 MB

L'installazione di Sysvinit dipende da: Binutils, Coreutils, GCC, Glibc, Make.

Installazione di Sysvinit

Quando vengono cambiati i run-level (per esempio, quando quando il sistema viene arrestato), init invia segnali di terminazione ai processi che lo stesso init ha avviato e che non possono funzionare nel nuovo run-level. Mentre fa questo, init emette messaggi come “Sending processes the TERM signal” che sembra implicare che stia inviando questi segnali a tutti i processi in funzione. Per evitare questa errata interpretazione, potete modificare il sorgente in modo che il messaggio diventi invece “Sending processes started by init the TERM signal”:

cp src/init.c{,.backup}
sed 's/Sending processes/& started by init/g' \
    src/init.c.backup > src/init.c

Compilazione di Sysvinit:

make -C src

Quindi installatelo:

make -C src install

Configurazione di Sysvinit

Create un nuovo file /etc/inittab eseguendo il seguente:

cat > /etc/inittab << "EOF"
# Begin /etc/inittab

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc sysinit

l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6

ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now

su:S016:once:/sbin/sulogin

1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600

# End /etc/inittab
EOF

Contenuti di Sysvinit

Programmi installati: halt, init, killall5, last, lastb (collegamento a last), mesg, pidof (collegamento a killall5), poweroff (collegamento a halt), reboot (collegamento a halt), runlevel, shutdown, sulogin, telinit (collegamento a init), utmpdump e wall

Brevi descrizioni

halt normalmente invoca shutdown con il flag -h, tranne se è già nel run-level 0, quindi dice al kernel di fermare il sistema. Prima di questo annota nel file /var/log/wtmp che il sistema è stato arrestato.

init è la madre di tutti i processi. Legge i suoi comandi da /etc/inittab, che normalmente gli dice quali script eseguire per quali run-level e quanti gettys attivare.

killall5 invia un segnale a tutti i processi, eccetto quelli nella sua stessa sessione, in modo da non uccidere la shell che esegue lo script che lo ha chiamato.

last mostra gli ultimi utenti che sono entrati nel sistema (e usciti), cercando attraverso il file /var/log/wtmp. Può anche mostrare le accensioni e spegnimenti del sistema e i cambiamenti di run-level.

lastb mostra i tentativi di login falliti, scritti in /var/log/btmp.

mesg controlla se altri utenti possono inviare messaggi al terminale dell'utente corrente.

pidof riporta i PID dei dati programmi.

poweroff dice al kernel di fermare il sistema e segnere il computer. Vedere halt.

reboot dice al kernel di riavviare il sistema. Vedere halt.

runlevel riporta il precedente e attuale run-level, come annotato nell'ultima registrazione del run-level /var/run/utmp.

shutdown spegne il sistema in modo sicuro, segnalandolo a tutti i processi e notificandolo a tutti gli utenti nel sistema.

sulogin permette il login del superuser. Normalmente viene invocato da init quando il sistema va in modalità singolo utente.

telinit dice a init in quale run-level entrare.

utmpdump visualizza il contenuto del dato file login in un formato leggibile.

wall scrive un messaggio a tutti gli utenti loggati nel sistema.