Mandrake Linux 8.1: Manuale di riferimento | ||
---|---|---|
Indietro | Capitolo 11. I file di avvio del sistema: init sysv | Avanti |
Tutti i file che controllano la procedura di avvio del sistema sono situati nella directory /etc/rc.d . Quello che segue è l'elenco dei file:
$ ls /etc/rc.d init.d/ rc.local* rc0.d/ rc2.d/ rc4.d/ rc6.d/ rc* rc.sysinit* rc1.d/ rc3.d/ rc5.d/ |
Subito dopo viene eseguito lo script rc con un numero di runlevel come argomento. Come sappiamo, il runlevel è indicato da un numero intero: per ogni runlevel <x> deve esistere una directory rc<x>.d corrispondente. In un'installazione tipica di Mandrake Linux troverete 6 runlevel predefiniti, che sono:
0: arresto completo della macchina;
1: modalitàmonoutente;, va utilizzata in caso di gravi problemi del sistema o per operazioni di recupero in seguito a un crash.
2: modalità multiutente, senza accesso alla rete;
3: modalità multiutente, stavolta con accesso alla rete;
4: inutilizzato;
5: come il 3, ma con il lancio dell'interfaccia grafica;
6: riavvio del sistema.
Tanto per fare un esempio, diamo un'occhiata al contenuto della directory rc5.d:
$ ls rc5.d K15postgresql@ K60atd@ S15netfs@ S60lpd@ S90xfs@ K20nfs@ K96pcmcia@ S20random@ S60nfs@ S99linuxconf@ K20rstatd@ S05apmd@ S30syslog@ S66yppasswdd@ S99local@ K20rusersd@ S10network@ S40crond@ S75keytable@ K20rwhod@ S11portmap@ S50inet@ S85gpm@ K30sendmail@ S12ypserv@ S55named@ S85httpd@ K35smb@ S13ypbind@ S55routed@ S85sound@ |
<S|K><ordine><nome_servizio> |
Quando entra in un determinato runlevel, il sistema comincia a eseguire i link contrassegnati dalla lettera K secondo l'ordine predefinito: rc controlla dove punta il link, quindi esegue lo script relativo con stop come unico argomento. Subito dopo vengono eseguiti gli script di tipo S seguendo la stessa procedura, solo che stavolta vengono chiamati fornendogli l'argomento start.
Così, senza che sia necessario menzionare tutti gli script, quando il sistema entra nel runlevel 5 per prima cosa esegue K15postgresql, ovvero /etc/rc.d/init.d/postgresql stop, poi K20nfs, quindi K20rstatd, e così via, fino all'ultimo; subito dopo esegue tutti gli script di tipo S: per primo S05ampd, che chiama /etc/rc.d/init.d/apmd start, e via di seguito.
Con questi strumenti siete liberi di creare, con poca fatica, i vostri runlevel personalizzati, o di impedire a un servizio di partire o di fermarsi cancellando il corrispondente link simbolico (ci sono anche dei programmi dotati di interfaccia per fare questo, tra cui citiamo drakxservices e chkconfig; il primo è un programma grafico).