Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Installation d'un service sous debian
Envoyé par: moute

Bonjour à tous,

J'ai quelques problème pour installer un service sous DEBIAN. Je m'explique :

J'ai installer il y a quelques temps XEBIAN sur ma XBOX (version DEBIAN pour XBOX). Après pas mal de déboire, je suis arrivé à installer et à faire fonctionner fuse et owfs pour pouvoir gérer des composants électronique 1-wire. Ensuite, j'ai récupéré un script de lancement de l'application que j'ai un peu modifié et copié sous "/etc/init.d/". J'ai renommé ce script service-1wire et je l'ai testé ("./service-1wire start" puis "./service-1wire stop"). Tout fonctionne parfaitement !

Sauf que maintenant j'aimerais qu'il se lance automatiquement au démarrage. J'ai essayé avec "update-rc.d service-1wire defaults", mais quand je redémarre rien n'est lancé !!

Est-ce que je m'y prends correctement ? Ai-je fait des erreurs dans mon script de lancement ?
Y a t il des logs de ce qui est lancé par update-rc.d ?

Merci pour votre aide

Voici mon script :

#!/bin/bash
#
# 1Wire         Démarre et arrète l'applications gérant votre bus 1Wire\
#
# description: 1Wire permet de lancer l'application gérant votre bus 1Wire.\
#              Vous choisirez le point de montage dans le script\
#
# processname: 1Wire
# pidfile: /var/run/1Wire.pid

# Lancement de l'application.

RETVAL=0
module="fuse"
module_on="modprobe $module"
module_off="rmmod $module"
mount_path="/mnt/1wire"
pidfile='/var/run/1Wire.pid'
prog_opt="-u -P $pidfile"
prog="owfs"
run_command="/opt/owfs/bin/owfs $prog_opt $mount_path"


start() {
        echo -n "Chargement du module $module "
        $module_on
        sleep 5
        echo
        echo -n "Lancement de $prog : "
        $run_command
        RETVAL=$?
        if [ RETVAL==0 ]; then
                echo "owfs s'est lancé correctement"
        else
                return $RETVAL
        fi
}

stop() {
        echo -n $"Arret de $prog: killing process "
        my_pid=$(cat $pidfile)
        echo $my_pid
        kill $my_pid
        sleep 5
#       umount $mount_path
        RETVAL=$?
        echo
        echo -n $"Dechargement du module $module"
        $module_off
        sleep 5
        echo
        [ $RETVAL -eq 0 ] && rm -f $pidfile
        return $RETVAL
}

#rhstatus() {
#       status owfs
#}

restart() {
        stop
        start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
#  status)
#       rhstatus
#       ;;

  *)
        echo $"Usage: $0 {start|stop|status|restart}"
        exit 1
esac

exit $?

Moute

Poste le Tuesday 25 July 2006 20:08:30
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: pingus

Salut,
est-ce que ton script a les bon droits (775)?

Si oui et que ca ne marche pas, que donne

ls -l /etc/rc2.d

Poste le Tuesday 25 July 2006 20:30:53
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: moute

Comment puis-je faire pour connaitre le droit de mon script ?

Sinon ls -l donne :

xebian:/etc/init.d# ls -l /etc/rc2.d/
total 0
lrwxrwxrwx  1 root root 25 May  5 22:28 K00isdnactivecards -> ../init.d/isdnactivecards
lrwxrwxrwx  1 root root 17 May  5 22:28 K00makedev -> ../init.d/makedev
lrwxrwxrwx  1 root root 20 May  5 22:28 K00nfs-common -> ../init.d/nfs-common
lrwxrwxrwx  1 root root 13 May  5 22:28 K00ppp -> ../init.d/ppp
lrwxrwxrwx  1 root root 23 May  5 22:28 K00wpasupplicant -> ../init.d/wpasupplicant
lrwxrwxrwx  1 root root 13 May  5 22:28 K00xdm -> ../init.d/xdm
lrwxrwxrwx  1 root root 16 May  5 22:28 K00xprint -> ../init.d/xprint
lrwxrwxrwx  1 root root 17 May  5 22:28 S18portmap -> ../init.d/portmap
lrwxrwxrwx  1 root root 14 May  5 22:28 S19lirc -> ../init.d/lirc
lrwxrwxrwx  1 root root 14 May  5 22:28 S20alsa -> ../init.d/alsa
lrwxrwxrwx  1 root root 13 May  4 20:46 S20atd -> ../init.d/atd
lrwxrwxrwx  1 root root 14 May  4 20:46 S20cron -> ../init.d/cron
lrwxrwxrwx  1 root root 15 May  4 20:46 S20inetd -> ../init.d/inetd
lrwxrwxrwx  1 root root 15 May  4 20:46 S20klogd -> ../init.d/klogd
lrwxrwxrwx  1 root root 13 May  4 20:46 S20lpd -> ../init.d/lpd
lrwxrwxrwx  1 root root 15 Jul 23 19:59 S20mysql -> ../init.d/mysql
lrwxrwxrwx  1 root root 23 Jul 24 22:57 S20service-1wire -> ../init.d/service-1wire
lrwxrwxrwx  1 root root 13 May  5 22:28 S20ssh -> ../init.d/ssh
lrwxrwxrwx  1 root root 20 May  5 22:28 S20sysfsutils -> ../init.d/sysfsutils
lrwxrwxrwx  1 root root 18 May  4 20:46 S20sysklogd -> ../init.d/sysklogd
lrwxrwxrwx  1 root root 13 May  4 20:46 S20xfs -> ../init.d/xfs
lrwxrwxrwx  1 root root 23 May  5 22:28 S21alsa_extra -> ../init.d/alsa_extra.sh
lrwxrwxrwx  1 root root 16 Jul 23 19:23 S91apache -> ../init.d/apache
lrwxrwxrwx  1 root root 17 Jul 23 19:51 S91apache2 -> ../init.d/apache2
lrwxrwxrwx  1 root root 19 May  5 22:28 S99rmnologin -> ../init.d/rmnologin
lrwxrwxrwx  1 root root 23 May  5 22:28 S99stop-bootlogd -> ../init.d/stop-bootlogd
xebian:/etc/init.d#

Poste le Tuesday 25 July 2006 20:38:56
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: pingus

Citation
moute
Comment puis-je faire pour connaitre le droit de mon script ?

ls -l /etc/init.d/service-1wire

ca doit donner -rwxr-xr-x

Si ce n'est pas un probleme de droit, peut-etre a-t-il besoin d'etre lance plus tard (necessitant par exemple qu'un autre service soit lance avant).
Tu peux essayer par exemple

mv /etc/rc2.d/S20service-1wire /etc/rc2.d/S98service-1wire

Poste le Tuesday 25 July 2006 20:46:36
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: moute

Alors, le script a bien les bons droits :

-rwxr-xr-x  1 root root  1321 Jul 25 10:14 service-1wire

J'ai fait le changement que tu m'as conseillé, mais sans résultat ...

Y a t il des logs des services lancé au démarrage ?

Moute

Poste le Tuesday 25 July 2006 21:47:24
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: pingus

Citation
moute
Y a t il des logs des services lancé au démarrage ?

Je sais pas...

Est-ce que dans la fenetre au demarrage, il ecrit a un moment:

"Chargement du module fuse"

En gros, est-ce qu'il lit le script mais que quelque chose l'empeche de l'executer correctement, ou bien le script n'est pas du tout initie?

Tu peux aussi verifier que

grep -i id /etc/inittab

retourne bien id:2:initdefault:


Poste le Tuesday 25 July 2006 22:05:16
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: moute

Ces logs ne sont-ils pas dans /var/log/dmesg ?
Je suis tombé par hasard sur ce fichier et ca y ressemble beaucoup.
En tout cas, dedans il n'y a pas une trace de mon script ...
Mais, il faut tout de même que je vérifie sur une TV de visu.

J'ai essayé grep -i id /etc/inittab et ca me donne effectivement :

xebian:/var/log# grep -i id /etc/inittab
# $Id: inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $
id:2:initdefault:
# The "id" field MUST be the same as the last
#  <id>:<runlevels>:<action>:<process>
xebian:/var/log#

Moute

Poste le Tuesday 25 July 2006 23:14:10
Répondre     Citer    
Re: Installation d'un service sous debian
Envoyé par: pingus

Salut...
A la limite, ce que tu peux essayer, c'est de "laisser passer du temps" dans la section start de ton script. Comme ca tu verras si debian le lit.
Par exemple, tu peux provisoirement remplacer le contenu du fichier par

#!/bin/sh
case $1 in
start)
sleep 120
;;
stop)

;;
esac

Poste le Wednesday 26 July 2006 21:22:57
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Installation d'un service sous debian
Aide sur les distributions Debian, Ubuntu et leurs dérivées : Mepis, Mint, Knoppix, Kubuntu, Lubuntu, Xandros

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons