[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: problème de séquencement au boot sur squeeze



Le mercredi 5 janvier 2011 à 12:23:13, Eric Belhomme a écrit :
> Bonjour,

’jour,

> Soit une machine fraichement installée en Debian Squeeze
> (amd64) :
> - la machine est en DHCP
> - l'authentification se fait via un annnuaire LDAP distant,
> via les paquets libnss-ldapd, libpam-ldapd, nslcd, et nscd
> - des montages NFS sont montés par autofs5, via une
> configuration LDAP
> 
> La configuration est fonctionnelle, à ceci près que lors du
> boot de la machine, nslcd ne démarre pas en se plaignant de
> ne pouvoir joindre le serveur LDAP, et autofs ne monte pas
> mes auto-montages.
> 
> Une fois ces deux daemons redémarrés manuellement, le tout
> fonctionne.
> 
> J'en conclus que le réseau est trop long à démarrer ou du
> moins que insserv n'attend pas que mes interfaces soient
> effectivement up avant de passer au démarrage de ces deux
> démons... ce qui est ennuyeux !
> 
> J'avoue que le fonctionnement de sysv-rc et insserv est assez
> mystérieux pour moi, malgré la lecture de
> http://wiki.debian.org/LSBInitScripts/ DependencyBasedBoot

http://wiki.debian.org/LSBInitScripts/DependencyBasedBoot ne 
contient effectivement pas grand-chose d’utile pour la 
modification. En revanche http://wiki.debian.org/LSBInitScripts 
est assez clair, non ?

> Je prends donc toute explication claire sur la façon *propre*
> de customiser l'ordre de démarrage des daemons avec ce
> nouveau système...

  La façon propre me semble être de modifier les entêtes LSB. 
Puis de lancer update-rc.d sur le script pour recalculer les 
dépendances.


  Pour ton problème, et comme proposé sur le wiki, tu peux déjà 
vérifier le graphe de dépendances :

aptitude install insserv graphviz
/usr/share/insserv/check-initd-order -g > boot.dot
dotty boot.dot

  Les nœuds ronds, les flèches vertes et les flèches jaunes 
représentent des dépendances pour des services qui ne sont pas 
installés sur ta machine. Les services précédés d’un $ sont 
virtuels : il n’y a pas de script correspondant ; ils sont 
explicités dans /etc/insserv.conf et dans la page de man de 
insserv.

  Tu dois voir que tout est lancé dans le bonne ordre (nslcd 
après $network). Et pour nslcd et autofs, les dépendances m’ont 
l’air correctes.

  Et donc, reste ta seconde idée : « le réseau est trop long à 
démarrer »…
  Sauf que, si je ne me trompe pas, /etc/init.d/neworking lance 
et attend ifup -a qui lance et attend dhclient qui ne part en 
tâche de fond que lorsque l’interface est configurée. Donc, à 
moins que ton interface soit configurée différemment, le réseau 
doit être fonctionnel quand nslcd est lancé.

  Si je n’ai pas été clair ou convaincant, tu peux vérifier la 
séquence de boot à partir des n° de liens S* dans /etc/rc?.d/ 
(en fait, tu dois même avoir networking en rcS et nslcd en rc2, 
non ?  donc networking forcément avant nslcd). Et tu peux aussi 
ajouter un test au début de /etc/init.d/nslcd pour vérifier que 
l’interface est bien configurée (un simple envoi de ifconfig -a 
vers un fichier te permettra de le vérifier a posteriori).

-- 
 Sylvain Sauvage


Reply to: