Les scripts
et fichiers de configuration

© 1996-2001 Michel Luc
date de création : 06 Janvier 1997


Permission vous est accordée de faire des copies et de distribuer ces copies sous les termes de la licence GNU FDL.


Shell et shell-script Menu: le Shell et les commandes Index Linux Les commandes Linux


Les fichiers de configuration

Initialisation et configuration.


Les scripts d'initialisation

Vous allumez vôtre ordinateur :
 Après l'amorçage le noyau exécute le script /etc/init qui va aller chercher ses informations dans le fichier /etc/inittab, puis lance les différents scripts et programmes en fonction de ce qui est défini dans etc/inittab :

Pour une Slackware :
execution de /etc/init ­ » lecture de /etc/inittab 
­ » getty (s'il n'est pas lancé sur une console, celle-ci sera inaccessible ). ­ » /etc/rc.d/rc.S » swapon, Kerneld,fsck,login,rc.modules,rc.serial ... ­ » /etc/rc.d/rc.M » ldconfig,rc.font,rc.keymap,rc.httpd,rc.inet ... ­ » /etc/rc.d/rc.local » les applications locales comme gpm ...


Un petit tableau récapitulatif mais pas exhaustif.

nom fonction répertoire   nom fonction répertoire
rc.0 shutdown appelé par halt /etc/ ou /etc/rc.d/   inittab Infos pour /etc/init /etc/
rc.4 Lance Xwin par startx /etc/ ou /etc/rc.d/   profile PATH shell ..... /etc/
rc.6 shutdown appelé par reboot /etc/ ou /etc/rc.d/   fstab monte les partitions /etc/
rc.K Lancement en mode 'Single User' /etc/ ou /etc/rc.d/   ld.so.conf chemin des librairies /etc/
rc.M Lancement en mode 'Multi Users' /etc/ ou /etc/rc.d/   printcap Configure l'impression /etc/
rc.S 'boot' le système /etc/ ou /etc/rc.d/        
rc.font charge les fontes /etc/ ou /etc/rc.d/        
rc.modules lance les modules /etc/ ou /etc/rc.d/        
rc.serial Initialise les ports série /etc/ ou /etc/rc.d/        
rc.httpd lance le serveur /etc/ ou /etc/rc.d/        
rc.inet1 et 2 configure le réseau /etc/ ou /etc/rc.d/        
rc.local applications locales /etc/ ou /etc/rc.d/        

Attention ce n'est qu'à titre indicatif, suivant la distribution que vous avez installée, certains de ces scripts peuvent ne pas exister ou avoir des fonctions différentes.
Par exemple sur une Slackware, le démon d'impression lpd peut-être lancé par rc.M mais aussi par... rc.inet2...?

Regardez donc dans ces fichiers pour savoir ce qu'ils lancent : surtout /etc/inittab qui vous indiquera ce que font rc.0 à rc.6 (runlevel).

runlevel Slackware RedHat Debian
rc.0HaltHaltHalt
rc.1Single userSingle userSingle user
rc.2MultiUser sans NFSMultiUser sans NFSMultiUser
rc.3Multi UserMulti User?
rc.4X11inutilisé?
rc.5inutiliséX11MultiUser
rc.6RebootRebootReboot

Pour une RedHat :

   Les "RunLevel" sont gérés différemment.

_ Dans le répertoire /etc/rc.d/ , vous trouverez un répertoire init.d contenant tous les scripts d'initialisation qui vont lancer les différents démons par un lien symbolique vers les répertoires rc0.d  rc1.d   rc2.d  rc3.d  rc4.d  rc5.d  rc6.d
_ Par exemple le script /etc/rc.d/rc.local aura un lien vers /etc/rc.d/rc3.d/S99local pour lancer le script rc.local au démarrage du système :
S signifie start et 99 indique que ce script sera lancé en dernier, vous trouverez un autre script /etc/rc.d/rc0.d/S00halt qui est le premier script lancé à l'arrèt de la machine.
D'autres scripts dans les répertoires rc0.d et rc6.d commence par un K qui signifie kill et permet de tuer les démons à l'arrèt du système.
Sauf rc.local, chaque script peut-être lancé ou stopé manuellement en ligne de commande en lui passant l'une des options start  stop  restart .


Cela vous permet, après modification de fichiers de configuration, de relancer le démon pour que ces modifications soient prises en compte, simplement avec la commande restart.
Par exemple pour le démon httpd : /etc/rc.d/init.d/httpd  restart
ou pour le "tuer" : /etc/rc.d/init.d/httpd  stop
et pour le lancer :/etc/rc.d/init.d/httpd  start


Si après une installation, vous avez besoin de créer les liens symboliques pour le lancement du démon au démarrage du système, utilisez les commandes:

chkconfig --level 345 httpd on

chkconfig --level 0126 httpd off


Vous pouvez lancer vos scripts personnels, au boot, en les plaçant dans rc.local :
_si vous voulez personnaliser la configuration de vôtre imprimante : Editer /etc/printcap, modifiez en fonction...
...le nom par défaut est lpr, mais vous pouvez appelez vôtre imprimante 'droopy' (dans /etc/printcap).
...puis vous l'initialisez dans rc.local avec une ligne du genre :
echo 'Initialisation de Droopy lp...... :'
/usr/bin/lpc up droopy
...pour un noyau 2.2.x cela ressemblerai plutot à :
echo 'Initialisation de Droopy lp...... :'
modprobe lp

La configuration d'impression (parametres, filtres....) pourra peut-être faire l'objet d'un prochain chapitre ?
En attendant consultez les docs.

Ah oui ! C'est bref..!


Quelle doc utiliser ?

Pour avoir plus d'information, voici quelques documents à consulter :

Administration sous Linux = GUIDE-DU-ROOTARD
Astuces Linux = HOWTO
Pour avoir la liste de vos pilotes de périphérique (/dev), consultez :
Les fichiers spéciaux = GUIDE-DU-ROOTARD
Et aussi, "A la découverte des drivers et modules sous Linux", par Eric Sellin, qui se trouve à la rubrique articles de l'echo de Linux.

Vous pouvez trouver la liste des HOWTOs en Français (Les HOWTOs et mini-HOWTOs Linux et Guide-du-Rootard) sur le site de Linux-France
Et récupérer les archives des HOWTO dans différents formats (ps, html, ASCII) sur Freenix Fr
Une page de liens vers les docs Howtos et Guide du Rootard, vous attend !

Et pour faire un peu mieux connaissance avec vôtre système, vous pouvez essayer de relever l'arborescence de ses répertoires, et éventuellement notez les différents liens : image GIF au format ½ de A4(9Ko95).


Shell et shell-script Haut de Page Les commandes Linux
Copyleft  Michel Luc cern91@tuxfamily.org Document sous licence FDL