Dominique Meeùs
Dernière modification le
retour à la page principale du
dossier
Table of contents
Pour démarrer un service, il faut dans /etc/init.d
un script, disons /etc/init.d/mydaemon
qui commande le service. Le script doit accepter en paramètre sur la ligne de commande
les commandes start
, stop
, restart
, reload
(optionnel — recharger le fichier de configuration), force-reload
(recharger le fichier de configuration si c’est possible, redémarrer sinon). On peut
alors lancer le service par la commande
$ sudo /etc/init.d/mydaemon start
La commande service
sert à démarrer les services par leur script dans /etc/init.d
; on peut donc faire aussi
$ sudo service mydaemon start
Je constate que service
existe dans un Ubuntu 10.4 Desktop, mais pas dans un serveur Lenny, lequel offre
par contre invoke-rc.d
comme Ubuntu.
Pour un démarrage automatique (System V) lors du boot, il faut des liens symboliques
à ce script dans les /etc/rc?.d
des runlevel appropriés. Supposons que le script soit /etc/init.d/mydaemon
. On aurait normalement besoin de quelque chose comme
$ sudo ln -s /etc/init.d/mydeamon /etc/rc6.d/K15mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc0.d/K15mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc1.d/K15mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc2.d/S84mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc3.d/S84mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc4.d/S84mydeamon $ sudo ln -s /etc/init.d/mydeamon /etc/rc5.d/S84mydeamon
où K veut dire kill et S start, les deux chiffres suivants donnant l’ordre des opérations. Voyez votre /etc/rc3.d par exemple. Attention, contrairement à d’autres Linux, Debian ne différencie pas a priori les niveaux 2 à 5.
Certains semblent dire que la commande update-rc.d
serait destinée aux scripts dans les packages, déconseillée en usage courant pour
lequel on recommande sysv-rc-conf
ou bum
(GTK2), qui ne sont pas présents par défaut dans Lenny. D’autres au contraire disent
que la commande
$ sudo update-rc.d mydaemon defaults
donnerait plus sûrement des liens symboliques comme ci-dessus. En y regardant d’un peu plus près, les défauts ne sont pas recommandés, parce qu’ils donnent 20 partout alors qu’on recommande que les numéros d’ordre de démarrage et d’arrêt aient une somme de 99 (comme ci-dessus) ou 100. La bonne commande serait alors
$ sudo update-rc.d mydaemon defaults 85 15
pour une application qui ne doit pas démarrer dans les premières. Les commandes
$ sudo update-rc.d mydaemon disable $ sudo update-rc.d mydaemon enable
permettent de suspendre ou de rétablir le démarrage automatique. Cela comporte cependant
le risque de se perdre dans une mise à jour. On recommande maintenant plutôt de contrôler
la désactivation d'un service par un fichier override
comme dans l'exemple echo "manual" > /etc/init/apport.override
pour désactiver le service apport de rapports de bugs s'il devient envahissant.