Init script con insserv
Con Debian Squeeze la gestione degli script /etc/init.d/*
(installazione, disinstallazione e ordinamento) si effettua con insserv
, il vecchio update-rc.d
non è più usabile.
La sequenza di boot si basa sulle dipendenze e il programma insserv
ordina automaticamente gli script /etc/init.d/
in base alle informazioni contenute negli script stessi. L'ordinamento consiste nel creare i link simbolici nelle directory /etc/rcN.d/
con gli opportuni numeri di sequenza.
Durante l'aggiornamento del pacchetto sysv-rc da Lenny a Squeeze può capitare che qualche script start/stop non includa le informazioni di dipendenza, in tal caso rimane in vigore il vecchio ordinamento e viene creato il file /etc/init.d/.legacy-bootordering
.
Dopo aver aggiornato gli script con le informazioni sulle dipendenze, si informa il gestore dei pacchetti che si è migrati definitivamente al sistema di boot basato sulle dipendenze con il comando:
dpkg-reconfigure sysv-rc
Il comando provvede anche ad eseguire insserv
che riordina la sequenza di boot/shutdown.
Altre modifiche rispetto al sistema precedente riguardano il cambio di nome di tutti gli script /etc/rc0.d/S*
e /etc/rc6.d/S*
in altrettanti K*
.
Quando il nuovo sistema di ordinamento è attivo, l'utilizzo di update-rc.d
diventa obsoleto e il programma stesso si rifiuta di operare.
Ecco come appaiono le informazioni di dipendenza nel file di esempio /etc/init.d/skeleton
:
### BEGIN INIT INFO # Provides: skeleton # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Example initscript # Description: This file should be used to construct scripts to be # placed in /etc/init.d. ### END INIT INFO