/etc/init.d/ est le répertoire contenant tous vos scripts exécutés au démarrage de votre machine linux.
Si vous désirez ajouter un nouveau service au lancement de votre machine, il faut créer un script /etc/init.d/ . Les nombreux scripts existants dans ce répertoire vous donnerons un exemple des choses que vous pourrez effectuer.
Voici un exemple de base, qui fonctionne, avec les options "start" et "stop".
#! /bin/sh # /etc/init.d/blah # # Some things that run always touch /var/lock/blah # Carry out specific functions when asked to by the system case "$1" in start) echo "Starting script blah " echo "Could do more here" ;; stop) echo "Stopping script blah" echo "Could do more here" ;; *) echo "Usage: /etc/init.d/blah {start|stop}" exit 1 ;; esac exit 0
Une fois que ce fichier est sauvegardé dans le bon endroit, rendez le exécutable par la commande :
chmod 755 /etc/init.d/blah
Ensuite, il faut créer les liens symboliques afin de permettre au script d'être exécuté quand le système s'éteint, ou s'allume.
La technique la plus simple est d'exécuter la commande Debian nommée update-rc.d :
root@box:~# update-rc.d blah defaults Adding system startup for /etc/init.d/blah ... /etc/rc0.d/K20blah -> ../init.d/blah /etc/rc1.d/K20blah -> ../init.d/blah /etc/rc6.d/K20blah -> ../init.d/blah /etc/rc2.d/S20blah -> ../init.d/blah /etc/rc3.d/S20blah -> ../init.d/blah /etc/rc4.d/S20blah -> ../init.d/blah /etc/rc5.d/S20blah -> ../init.d/blah
Si à l'inverse vous désirez par la suite supprimer ce script de la séquence de démarrage, tapez :
root@box:~# update-rc.d -f blah remove update-rc.d: /etc/init.d/blah exists during rc.d purge (continuing) Removing any system startup links for /etc/init.d/blah ... /etc/rc0.d/K20blah /etc/rc1.d/K20blah /etc/rc2.d/S20blah /etc/rc3.d/S20blah /etc/rc4.d/S20blah /etc/rc5.d/S20blah /etc/rc6.d/K20blah
Cette commande va laisser le script lui même en place, juste supprimer les liens qui lui permettent d'être exécutés.
Vous pouvez trouver plus de détails sur cette commande par le manuel :
man update-rc.d