[gull] Disfonction de la commande init sous Debian stable

Félix Hauri felix at f-hauri.ch
Wed Mar 3 13:54:02 CET 2004


On 3 Mar 2004, Sebastien Chassot wrote:

> Les commandes init S01 456 (idem pour telinit) marche très bien tous les
> scripts sont executés, tout marche comme il faut.
> 
> par contre la commande init 3 n'execute aucun script (mais la commande
> runlevel renvoi 3), et la commande init 2 execute tous les scripts de
> rc2.d puis ceux de rc3.d.

Alors ça c'est drôle! (étonnant, pas normal, quoi;)

> 
> C'est bien sure suite aux conseils de mettre des "marqueurs" dans les
> scripts que je me permet de l'affirmer, j'ai egalement marqué le script
> /etc/init.d/rc qui est utilisé par la commande init afin de lancer les
> scripts des dossiers rc?.d.
Bien, mais encore...
C'est lui qui lance les fichiers présents dans /etc/rc?.d

> 
> Donc le script rc est executé :
> 
> 	- une fois à chaque appel de init S01456
??

> 	- n'est pas executé à l'appel de init 3
Que se passe-t-il si au boot:
linux 3
?

> 	- est executé 2 fois à l'appel de init 2
Très étrange.

> 
> pour ce qui est de l'execution du script avec init 2 la variable $1
> (valeur pour choisir le dir rc"X".d) passée à rc vaut 2 à la première
> execution et 3 à la deuxième.
Veux-tu bien me
$ tar -c /etc/{inittab,init.d/rc} | uuencode - |\
     mail -s probleme-init felix at f-hauri.ch
C'est totalement incompréhensible!

> Il ne reste plus qu'a trouver qui lance le script /etc/init.d/rc, mais
> je ne sais pas comment faire.
C'est inittab:

( Note!
  Les commandes qui suivent sont des commandes de consultation, elles
  sont lancer en ``user'' mode càd sans privilège root.
  C'est pourquoi elles sont précédées du sybole ``$'')
 
$ find /etc/ -type f -exec grep -l /etc/rc\\$ {} \;  2>/dev/null 
/etc/init.d/rc
$ find /etc/ -type f -exec grep -H /etc/init.d/rc\\b {} \;  2>/dev/null 
/etc/init.d/rc:# eof /etc/init.d/rc
/etc/inittab:l0:0:wait:/etc/init.d/rc 0
/etc/inittab:l1:1:wait:/etc/init.d/rc 1
/etc/inittab:l2:2:wait:/etc/init.d/rc 2
/etc/inittab:l3:3:wait:/etc/init.d/rc 3
/etc/inittab:l4:4:wait:/etc/init.d/rc 4
/etc/inittab:l5:5:wait:/etc/init.d/rc 5
/etc/inittab:l6:6:wait:/etc/init.d/rc 6

Maintenant si tu ne trouves pas ces lignes dans ton inittab,
il y a problème:

$ grep /etc/init.d/rc /etc/inittab
si::sysinit:/etc/init.d/rcS
l0:0:wait:/etc/init.d/rc 0
l1:1:wait:/etc/init.d/rc 1
l2:2:wait:/etc/init.d/rc 2
l3:3:wait:/etc/init.d/rc 3
l4:4:wait:/etc/init.d/rc 4
l5:5:wait:/etc/init.d/rc 5
l6:6:wait:/etc/init.d/rc 6

Attention à bien lire 0...0...0, 1...1...1, 2...2...2, etc ligne par ligne
 
Sinon, en ``user'' mode toujours:
$ tar -c /etc/{inittab,init.d/rc} | mail -s probleme-init felix at f-hauri.ch
Je suis assez curieux...

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch






More information about the gull mailing list