Sous Debian, les scripts de démarrage sont gérés différement à partir de Debian 6. La commande update-rc.d
a été abandonnée au profit de insserv
pour ajouter une gestion des dépendances de service.
Cette nouvelle méthode est inscrite dans les scripts de lancement Linux Standard Base (LSB).
Concrètement tous les scripts de lancement de services dans /etc/init.d
doivent impérativement contenir l'entête insserv. La gestion des liens symboliques dans les dossiers /etc/rcX.d/ est la même. S = Start et K = Kill pour arrêter avec un numéro pour spécifier l'ordre. Mais maintenant en plus intervient Required-Start et Required-Stop qui sont les services dépendants à lancer ou arrêter avant le service dont on parle.
Fichier de configuration de insserv qui contient la définition des variables des services ($local_fs, $remote_fs…).
/etc/insserv.conf
Entête en exemple d'un script /etc/init.d/service
.
#/bin/sh ### BEGIN INIT INFO # Provides: scriptname # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO
Tester l'ajout du script service
(-n = dry run).
insserv -n service
Ajoute réellement le service au démarrage (-v pour voir ce qui est fait).
insserv service
Supprimer le service de tous les runlevels.
insserv -r service
insserv créé et met à jour les trois fichiers suivants qui contiennent la sémantique du boot.
/etc/init.d/.depend.boot /etc/init.d/.depend.start /etc/init.d/.depend.stop