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