Script rc debian

De Cliss XXI
Révision datée du 1 mars 2012 à 19:38 par imported>VincentAdolphe
Sauter à la navigation Sauter à la recherche
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Introduction aux runlevel et a ses variantes debian:

Si:

  • /etc/default/rcS contient CONCURRENCY=none -> démarrage sysV classique
  • sinon si les fichiers /etc/init.d/.depend.{boot,start,stop} existent et sont non vide -> démarrage "startpar -M"
  • tout les autres cas, -> démarrage sysV classique

Quelque soit le système de démarrage le cas particulier du runlevel 1 est source de confusion:

  • Appeler le runlevel 1 (avec init 1 par exemple) passe le système en mono utilisateur dans le runlevel S.
  • Appeler le runlevel S (avec init S par exemple) est une erreur, certains scripts vont être lancés en double.

Voila comment je m'explique les choses pour tenter d'y voir clair:

  • Pour passer en mode mono utilisateur, la porte d'entrée est le runlevel 1.
  • Pour montrer qu'on est bien en mode mono utilisateur (single mode) le système passe en runlevel S (S pour "single")

Les scripts de démarrages ont pour moi une autre signification:

  • rc1.d contient les script start/stop permettant d'aller vers le runlevel 1 ou d'en sortir
  • rcS.d contient les script de démarrage de la machine elle même. Ces scripts ne sont censé être lancés qu'une seule fois par démarrage.

Bref le S de "runlevel S" et "rcS.d" n'a rien a voir:

  • runlevel S -> on est en mode mono utilisateur (single)
  • rcS.d -> les scripts "start" (ou "boot" dans le cas du démarrage startpar) lancés une seule fois par démarrage.

SystèmeV

startpar -M

Fichiers utilisés

  • /etc/inittab
  • /etc/default/rcS
  • /etc/init.d/rc
  • /etc/rc?.d/*
  • /etc/init.d/.depend.{boot,start,stop}

Init-sysV.png

Init-startpar.png