next up previous contents index
Suivant: Les niveaux d'exécution Parent: Le processus de démarrage, Précédant: Fichiers dans /etc/sysconfig/network-scripts/   Table des Matières   Index


Init System V

Cette section présente brièvement le processus de démarrage. Elle décrit l'utilisation d'Init System V, et les différences par rapport à sa version d'origine (celle utilisée dans les anciennes versions de Linux).

Init est le programme exécuté par le noyau au démarrage du système. Il est chargé d'exécuter les différents processus nécessaires au démarrage (gettys, démons NFS, démons FTP, et tout ce qu'on veut lancer au démarrage de la machine).

Init System V est en train de devenir un standard dans le monde Linux. Il est en effet beaucoup plus efficace et beaucoup plus facile à utiliser que la version BSD d'Init.

Contrairement aux fichiers de configuration de la version BSD qui se trouvent dans le répertoire /etc, ceux d'Init System V se trouvent dans un sous-répertoire de /etc. Ce répertoire s'appelle rc.d et contient le fichier rc.sysinit et les répertoires suivants :
105#105
Le répertoire init.d contient un certain nombre de scripts. Vous devez normalement avoir un script par service exécuté au démarrage du système ou lorsque vous changez de niveau d'exécution. Les services incluent le réseau, nfs, sendmail, httpd, etc. Ils n'incluent pas, par exemple, setserial qui est exécuté une seule fois. Utilisez dans ce cas rc.local ou rc.serial.

rc.local doit se trouver dans /etc/rc.d. La plupart des systèmes en possèdent un, même s'il ne fait pas grand chose. Vous pouvez aussi ajouter rc.serial dans /etc/rc.d, si vous avez besoin d'effectuer des modifications sur le port série au démarrage.

Voici le processus de démarrage :

Le niveau d'exécution par défaut est défini dans /etc/inittab. Vous y trouverez sûrement la ligne suivante :


106#106
Le niveau d'exécution se trouve dans la seconde colonne, sur la plupart des systèmes la valeur sera initialisée à 3. Vous pouvez éditer manuellement le fichier /etc/inittab pour modifier le niveau d'exécution (soyez très prudent). Si vous rencontrez un problème, redémarrez le système et exécutez la commande suivante :
107#107

Cela devrait vous permettre de redémarrer le système (en mode simple utilisateur) et de corriger le problème.

Comment sont exécutés les différents scripts ? Si vous exécutez la commande ls -l dans le répertoire rc3.d, vous verrez quelque chose comme ça :


108#108
Les fichiers de ce répertoire sont en fait des liens sur des scripts du répertoire init.d. Vous pouvez remarquer que le lien commence par la lettre S, suivie d'un nombre. Ce S précise que le script doit être démarré, la lettre Kprécise que le script doit être arrêté. Le nombre est utilisé pour préciser un ordre d'exécution. Init exécute les services dans l'ordre dans lesquels ils apparaissent. Vous pouvez dupliquer les nombres, mais cela risque d'être confus. Vous avez simplement besoin d'utiliser deux chiffres, ainsi que le caractère S ou K pour démarrer ou arrêter un service.

Comment sont démarrés et arrêtés les différents services ? Chacun des scripts peut recevoir un argument : start ou stop. Vous pouvez exécuter ces scripts de façon manuelle, pour arrêter ici le serveur httpd :


109#109
Lorsque la lettre S apparaît, le script est exécuté avec l'argument start. Lorsque la lettre K apparaît, le script est exécuté avec l'argument stop.

Pourquoi tous ces niveaux d'exécution ? Certaines personnes souhaitent utiliser le système pour plusieurs applications : un niveau d'exécution serveur pour httpd, sendmail, et utilisateur pour xdm, etc.


next up previous contents index
Suivant: Les niveaux d'exécution Parent: Le processus de démarrage, Précédant: Fichiers dans /etc/sysconfig/network-scripts/   Table des Matières   Index
Les Logiciels du Soleil
1999-09-28