6.52. Sysvinit-2.86

Il pacchetto Sysvinit contiene programmi per controllare l'avvio, il funzionamento e l'arresto del sistema.

Tempo di costruzione approssimativo: meno di 0.1 SBU
Spazio necessario su disco: 1 MB

6.52.1. Installazione di Sysvinit

Quando i run-level vengono modificati (per esempio quando viene arrestato il sistema), init invia segnali di terminazione a quei processi che sono stati lanciati da init medesimo e che non devono rimanere in esecuzione nel nuovo run-level. Nel fare questo, init emette messaggi quali «Sending processes the TERM signal» che sembra implicare che vengano inviati questi segnali a tutti i processi che sono in esecuzione al momento. Per evitare questo errore di interpretazione, è possibile modificare i sorgenti in modo che questo messaggio invece diventi «Sending processes started by init the TERM signal»

sed -i 's@Sending processes@& started by init@g' \
    src/init.c

Compilare Sysvinit:

make -C src

Questo pacchetto non è provvisto di una suite di test.

Installare il pacchetto:

make -C src install

6.52.2. Configurazione di Sysvinit

Creare 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

6.52.3. Contenuti di Sysvinit

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

Brevi descrizioni

bootlogd

Registra i messaggi di avvio in un file di log

halt

Normalmente invoca shutdown con il flag -h, tranne quando si trova già nel run-level 0, quindi dice al kernel di arrestare il sistema; annota nel file /var/log/wtmp che il sistema si sta per arrestare

init

È il primo processo ad essere avviato quando il kernel ha inizializzato l'hardware dal quale rileva il processo di boot e avvia tutti i processi ai quali è istruito

killall5

Invia un segnale a tutti i processi, esclusi quei processi presenti nella sua stessa sessione, evitando in tal modo di uccidere la shell che sta eseguendo lo script che lo ha chiamato

last

Mostra quali utenti hanno fatto gli ultimi login (e logout), ricercando all'indietro nel file /var/log/wtmp; mostra anche gli avvi e gli arresti del sistema, e i cambi di run-level

lastb

Mostra i tentativi di login falliti, come registrati in /var/log/btmp

mesg

Controlla quali altri utenti possono inviare messaggi al terminale dell'utente corrente

mountpoint

Verifica se la directory è un punto di mount

pidof

Riporta i PID dei programmi specificati

poweroff

Dice al kernel di arrestare il sistema e spegnere il computer (si veda anche halt)

reboot

Dice al kernel di riavviare il sistema (si veda anche halt)

runlevel

Riporta i precedenti e l'attuale run-level, come registrato nell'ultimo record di run-level in /var/run/utmp

shutdown

Spegne il sistema in modo sicuro, inviando segnali a tutti i processi e notificando lo spegnimento a tutti gli utenti connessi

sulogin

Consente a root di effettuare il login; normalmente è invocato da init quando il sistema va in modalità singolo utente

telinit

Dice a init in quale run-level entrare

utmpdump

Mostra il contenuto del file di login specificato in un formato più leggibile

wall

Invia messaggi a tutti gli utenti connessi