<-
Nasgaïa > Forums > Documentation > Doc HTML

Système init et services

Auteurs: Martial

Date: 2003-06-10

Modif:

Explications sur le fonctionnement et l'utilisation du système d'initialisation basé sur simpleinit et des services.

Voir aussi

top

Utilisation basique

Structure et principes

fig 1

Rappel sur le rôle des niveaux

  1. Opérations de base (montage de partitions, chargement de la disposition du clavier, réglage de l'horloge). Mono-utilisateur, uniquement l'interface loopback (lo).
  2. Multi-utilisateurs, sert par exemple à lancer des démons (metalog, xinetd) ou autres opérations non-vitales.
  3. Activation du résau (si requis) - correspondant au niveau de démarrage classique sous Linux, souvent appelé "login en mode texte".
  4. Niveau intermédiaire laissé libre par la distribution, destiné à recevoir vos propres services ou customisations.
  5. Exécution d'un display manager (xdm, gdm, kdm), et par extension tous les autres services basés sur un serveur X, souvent appelé "login en mode graphique".

Le niveau 0 qui n'est plus physiquement présent correspond à l'arrêt de la machine (utilisez: halt); et le niveau 6 au redémarrage du système (utilisez: reboot)

Choix du niveau de démarrage.

Vous pouvez définir le niveau par défaut au démarrage du système dans le fichier /etc/inittab; exemple :

bootprog = rc 3

Pour démarrer en mode graphique, il suffirait de remplacer 3 par 5.

Lister les services

display-services

Vous indique les services disponibles (actifs ou non), et leur niveau d'exécution.

Un service est actif si le script est exécutable. Notre version de /etc/init.d/rc ignore simplement les services non exécutables (au lieu d'échouer avec un message d'erreur), pour permettre d'activer ou désactiver facilement un service sans devoir le renommer ou le déplacer (par exemple pour un test temporaire).

Note: Pensez à ne pas désactiver un service en cours de fonctionnement, procédez plutôt dans cet ordre:

telinit foobar stop && chmod -x /etc/init.d/runlevel.X/foobar

Activer un service

chmod +x /etc/init.d/runlevel.X/foobar

Désactiver un service

chmod -x /etc/init.d/runlevel.X/foobar

Lancer un service

telinit foobar start

Trouve le service foobar parmi les services disponibles, et le démarre

Stopper un service

telinit foobar stop

Trouve le service foobar parmi les services disponibles, et l'arrête.

Note: Le lancement ou l'arrêt manuel d'un service avec ces commandes est totalement indépendant du niveau d'exécution courant; le service est donc cherché parmi l'ensemble des services, de tous niveaux. De plus, si un service est déjà lancé ou stoppé, cela vous sera indiqué (Already running).

Autres actions sur un service

Selon les actions fournies par le script d'un service donné, il est parfois possible d'utiliser restart, reload, status, éventuellement d'autres.

Changer de niveau d'exécution

telinit niveau

Par exemple, vous êtes au niveau d'exécution 3 et voulez passer au niveau d'exécution 5, faites:

telinit 5

Le niveau 4 est exécuté, puis le 5. La chose inverse se produit lorsque vous abaissez le niveau.

top

Utilisation avancée

Choisir une alternative pour un service

Créer un service

Modifier l'ordonnancement