La directory init.d e gli
script si startup
Le specifiche System V prevedono alcune regole per l'organizzazione
degli script che gestiscono i passaggi di runlevel.
-
Gli script rilevanti sono contenuti in directory standard:
- init.d (/etc/init.d oppure
/etc/rc.d/init.d a seconda delle distribuzioni);
- rcN.d (/etc/rcN.d oppure
/etc/rc.d/rcN.d a seconda delle distribuzioni) dove
N è il numero di runlevel.
- La directory init.d contiene gli script di
partenza della maggior parte di servizi (principalmente demoni);
per convenzione tali script accettano da linea di comando
alcuni argomenti standard:
- start per far partire il servizio;
- stop per fermare il servizio;
- restart per fermare e poi riavviare il servizio;
- reload per ricaricare il file di configurazione del servizio.
- Nella directory init.d è inoltre
presente lo script rc che viene indicato in inittab
come il programma da lanciare quando si entra in un runlevel;
- inittab indica anche di passare a rc,
come argomento, proprio il numero del runlevel stesso.
- Quando, a partire dal runlevel M
viene richiesto di passare al runlevel
N
(per esempio
mediante l'esecuzione dl comando telinit N)
rc lancia a sua volta:
- tutti gli script, il cui nome comincia per K
(come kill), contenuti
nella directory rcM.d, passando a ciascuno stop
come primo argomento;
- tutti gli script, il cui nome comincia per S
(come start), contenuti
nella directory rcN.d, passando a ciascuno start
come primo argomento.
- Gli script contenuti nelle directory
rcX.d sono in realtà link simbolici ai veri script
per la gestione dei servizi contenuti nella directory init.d
e hanno tutti un nome nella forma
oNNservizio (S20dhcp, K10xsession
ecc.), ove
- o vale S o K con lo scopo visto
sopra;
- NN è una coppia di caratteri numerici di cui lo
script rc tiene conto per determinare l'ordine in cui lanciare gli
script conenuti in una stessa directory;
- servizio è una qualunque stringa alfanumerica
(nel rispetto delle regole per i nomi dei file), che di solito corrisponde
al nome del demone o del servizio lanciato da quello script.