Généralités sur debian
Le lancement automatique au boot
Quand vous installez des serveurs sous debian, un fichier permettant de le lancer, de l'arrêter, et plus rarement de reloader sa configuration est créé dans /etc/init.d/ Lorsque vous lancez votre serveur, certains services devront être lancé automatiquement. Ce lancement est effectué grâce à des fichiers situés dans /etc/rc?.d/ Le point d'interrogation (?) représente un chiffre contenu entre 0 et 6. Ce chiffre représente l'init. L'init par défaut qui est exécuté au boot est défini dans le fichier /etc/inittab Chez moi par exemple, j'ai la ligne suivante dans mon /etc/inittab :
id:2:initdefault:
Celà signifie que lorsque je démarre mon serveur, il passe directement en init 2
. C'est donc les fichiers situés dans /etc/rc2.d/ qui seront utilisés pour lancer les services.
Il est bon de noter que les fichiers situés dans /etc/rc2.d/
sont en fait des liens virtuels pointant vers le lanceur situé dans /etc/init.d/
Si on supprime l'un de ces lignes virtuels, le service en question ne sera plus lancé automatiquement.
Si on ajoute un lien, le service correspondant sera alors automatiquement lancé au boot.
Vous avez peut-être remarqué que les liens ne sont pas nommé uniquement par le nom du service qu'ils lancent, mais qu'ils sont préfixés d'une lettre et de deux chiffres. Un lien commençant par un S sera lancé, alors qu'un lien commençant par un K sera stoppé (K comme Kill) Le nombre suivant la lettre S ou K définit la priorité de lancement ou d'arrêt.
Vous pouvez changer l'init actuel avec la commande telinit suivit du numéro de l'init voulu. L'init 0 correspont a l'arrêt du serveur. L'init 6 correspond au reboot. L'init 1 est généralement utilisé pour un système single-user, et les init 2 à 5 pour un système multi-user.
A titre d'information, voici comment créer un lien virtuel pour ajouter un service au lancement automatique :
ln -s /etc/init.d/exemple /etc/rc2.d/S20exemple
Notez tout de même que beaucoup de serveurs (apache, proftpd, ...) proposent dans leur fichier /etc/default/
de définir s'ils doivent se lancer ou non au boot. Cela permet de ne pas toucher aux fichiers de /etc/rc?.d/