Le Dimanche 18 Septembre 2005 01:35, Véronique et Jean-Yves LE GOFF a écrit :
>
> Je suis intéressé par la méthode à suivre pour construire le service.
>
> Pour le moment j'ai mis un ligne dans rc.local, mais c'est pas très
> propre...comme tu le dis.
>
> cordialement
> jy
OK
Il suffit juste de mettre un petit script au bon endroit.
Le démarrage des services se fait en fonction du 'runlevel' que tu utilise à
savoir les plus courants runlevel 5 pour un démarrage en mode graphique ou
runlevel 3 en mode console.
Les scripts de démarrages sont donc exécutés soit dans
/etc/rc.d/rc5.d/ (mode graphique) ou
/etc/rc.d/rc3.d/ (mode console).
Tout ces scripts sont mis dans /etc/rc.d/init.d/ et ensuite un lien symbolique
est fait dans le répertoire du runlevel utilisé.
Voila pour la théorie.
Voici le shell pour démarrer noip2
-------------------------------------
#!/bin/sh
#
# Startup script for the noip service
#
# description: This script starts your noip service
# processname: noip2
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# See how we were called.
case "$1" in
start)
echo -n "Starting noip2: "
/usr/sbin/noip2
;;
stop)
if test "x`pidof noip2`" != x; then
echo -n "Shutting down noip2: "
killproc noip2
fi
;;
restart|reload)
$0 stop
$0 start
RETVAL=$?
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
-------------------------------------
Il est à mettre /etc/rc.d/init.d avec les droits suivants
#ls -al /etc/rc.d/init.d | grep noip
#-rwxr--r-- 1 root root 650 sep 17 16:14 noip
J' ai appelé ce shell noip.
Ensuite on fait un lien symbolique vers ce shell à partir du répertoire
/etc/rc.d/rc5.d/
La commande est la suivante(sous root):
#cd /etc/rc.d/rc5.d/
#ln -s ../init.d/noip S99noip
Voici ce que cela donne chez moi
#ls -al /etc/rc.d/rc5.d/ | grep noip
#lrwxrwxrwx 1 root root 14 fév 15 2005 S99noip -> ../init.d/noip
Pouquoi S99noip ?
De nombreuses version auparavant (cela vient la RedHat) les fichiers dans les
rcX.d portaient des noms commençant par S pour start ou K pour kill; il ne
reste plus maintenant que des S, ensuite le nombre donne l' ordre dans lequel
les services vont être lancés.
Donc le S99noip sera lancé en dernier.
Si je n' ai rien oublié tu doit ensuite pouvoir faire un service noip start ou
stop ou restart et de plus le service doit se lancer au démarrage.
Cela permet aussi de se servir de chkconfig (voir man).
JPB
____________________________________________________
Want to buy your Pack or Services from Mandriva?
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________