Bash-Linux.com : Le SHELL pour les nuls

  Actuellement 46 lignes de commande disponibles
login as: root
root@213.186.33.18's password:
Last login: Tue Mar 16 5:31:21 2010 from 38.107.191.119
[root@bash-linux ~] # echo "Bienvenue sur Bash-Linux.com"_
 Manuel des commandes UNIX (man) Version française

Indiquez la fonction :

Man Boot en français

BOOT(7) Manuel de l'administrateur Linux BOOT(7)
 
NOM


boot-scripts - Description generale du demarrage du systeme.
 
DESCRIPTION


La sequence de demarrage est variable en fonction du systeme mais peut globalement etre decoupee selon les etapes suivantes : (i) amorcage materiel, (ii) chargeur de demarrage, (iii) demarrage du noyau, (iv) init et inittab, (v) scripts de demarrage. Nous allons decrire chacune d'entre-elles plus en detail ci-dessous. Amorcage materiel Apres la mise sous tension ou un reset materiel, un programme stocke en memoire morte (souvent une PROM) prend le controle. Sur les PC, on appelle generalement ce programme le BIOS. Ce programme effectue normalement un auto-test de la machine et accede a la memoire non volatile pour y lire quelques parametres. Dans les PC, cette memoire est maintenue par une batterie de type CMOS. Ainsi la plupart des gens l'appellent CMOS, alors qu'en dehors du monde des PC, elle est generalement appelee nvram (non-volatile ram). Les parametres stockes dans la nvram varient d'un systeme a l'autre, mais au minimum, le programme d'amorcage materiel devrait savoir quel est le peripherique d'amorcage, ou a defaut quels peripheriques il faut essayer pour amorcer le systeme. Ensuite, la phase de demarrage materiel accede au peripherique d'amorcage, charge le chargeur de demarrage, qui est situe a une posi- tion fixe sur le peripherique d'amorcage, et lui passe le controle. Note : Nous n'abordons pas ici le demarrage a partir du reseau. Ceux qui s'interessent a ce sujet devraient rechercher du cote de DHCP, TFTP, PXE, Etherboot, et nous rejoindre au demarrage du noyau. Chargeur de demarrage Sur les PC, le chargeur de demarrage est situe sur le premier secteur du peripherique d'amorcage - c'est le MBR (Master Boot Record). Sur la plupart des systemes, ce chargeur initial est tres limite du fait de diverses contraintes. Meme sur des systemes autres que le PC, il existe des limitations concernant la taille et la complexite de ce chargeur, mais la taille du MBR des PC est limitee - 512 octets y com- pris la table de partition (64 octets) et un identifiant de disque (2 octets) ne laissent que 446 octets pour le code - et rend quasiment impossible le stockage d'un chargeur de demarrage complet. Ainsi, sur la plupart des systemes d'exploitation, le chargeur initial appelle un chargeur de demarrage secondaire situe sur une partition du disque. Sous Linux, le chargeur de demarrage est normalement lilo(8) ou grub(8). Chacun peut etre installe soit en tant que chargeur sec- ondaire (si le MBR installe par DOS pointe vers eux), soit en tant que chargeur en deux parties, car ils fournissent un MBR special contenant un code d'amorcage pour charger la seconde partie du chargeur a partir de la partition principale. Le role principal du chargeur de demarrage est de localiser le noyau sur le disque, le charger et l'executer. La plupart des chargeurs de demarrage sont interactifs, pour permettre la specification d'un noyau alternatif (par exemple un noyau de sauvegarde dans le cas ou la derniere version compilee ne fonctionne pas) et le passage de parame- tres optionnels au noyau. Demarrage du noyau Quand le noyau est charge, il initialise les peripheriques (via leurs pilotes), demarre le gestionnaire de swap (c'est un processus noyau , appele kswapd sur les noyaux Linux modernes), et monte le systeme de fichiers racine - appele root filesystem - (/). Quelques parametres relatifs a cela peuvent etre passes au noyau (par exemple : on peut specifier un autre systeme de fichiers racine que celui par defaut). Pour plus d'informations sur les parametres du noyau Linux, voir bootparam(7). C'est uniquement a cet instant que le noyau cree un premier (en espace utilisateur) processus, qui porte le numero 1. Ce processus execute le programme /sbin/init, en lui passant tout parametre qui n'est pas deja gere par le noyau. init et inittab Quand init demarre, il lit /etc/inittab pour y trouver ses instruc- tions. Ce fichier definit ce qui doit s'executer dans les differents modes de fonctionnement (run-levels). Cela donne a l'administrateur systeme une methode simple de gestion dans laquelle chaque run-level est associe a un ensemble de services (par exemple : S correspond a un mode maintenance (single-user), en run-level 2, la plupart des services reseaux sont actifs, etc.). L'administrateur peut changer le run-level courant par init(8) et con- naitre le run-level courant par runlevel(8). Toutefois, comme il n'est pas pratique de gerer les services individu- ellement en editant ce fichier, inittab se limite a l'appel d'un ensem- ble de scripts qui demarrent/arretent les services. Scripts de demarrage Note : La description suivante s'applique aux systemes bases sur Syteme V-R4, qui couvre actuellement la plupart des Unices commerciaux (Solaris, HP-UX, Irix, Tru64) ainsi que les distributions majeures de Linux (RedHat, Debian, Mandrake, Suse, Caldera). Quelques systemes (Slackware Linux, Gentoo Linux, FreeBSD, OpenBSD) utilisent un procede quelque peu different pour les scripts de demarrage. Pour chaque service gere (messagerie, nfs, cron, etc.) il y a un script de demarrage simple stocke dans un repertoire specifique (/etc/init.d dans la majorite des versions de Linux). Chacun de ces scripts accepte en unique argument le mot start -- dont l'effet est le lancement du service, ou le mot stop -- pour arreter le service. Le script peut eventuellement accepter d'autres parametres pratiques (par exemple : restart , enchaine un stop suivi d'un start , status donne l'etat du service). Un appel du script sans argument permet d'afficher tous ceux possibles. Repertoires d'ordonnancement Pour permettre aux scripts specifiques de demarrer/arreter un run-level specifique et dans un ordre particulier, il y a des repertoires d'ordonnancement. Ce sont generalement /etc/rc[0-6S].d. Dans chacun de ces repertoires, il y a des liens (generalement symboliques) vers les scripts du repertoire /etc/init.d. Un premier script (souvent /etc/rc) est appele par inittab(5) et appelle lui-meme les scripts des services grce aux liens des reper- toires d'ordonnancement. Tous les liens dont le nom commence par S sont appeles avec l'argument start (et demarrent le service con- cerne). Tous les liens dont le nom commence par K sont appeles avec l'argument stop (et arretent le service concerne). Pour definir l'odre de demarrage ou d'arret au sein d'un meme run- level, les noms des liens contiennent des numeros d'ordre. Aussi, pour plus de clarte, ils se terminent par le nom du service auquel il se refere. Exemple : Le lien /etc/rc2.d/S80sendmail demarre le service sendmail dans le run-level 2. Cela est fait apres l'execution de /etc/rc2.d/S12syslog mais avant celle de /etc/rc2.d/S90xfs. Si l'on lit le script /etc/rc, on constate ce qui suit : En premier lieu, les scripts K* sont executes pour arreter les services non concernes par le run-level, suivis des scripts S* pour demarrer ceux qui le deviennent. L'ordre est exactement celui du caractere d'expansion * , car l'appel successif des differents scripts se fait par une boucle for . Pour schema- tiser, rc execute for i in /etc/rc$runlevel.d/K*; do $i stop ; done puis ensuite for i in /etc/rc.$runlevel.d/S*; do $i start ; done . Pour gerer l'ordre de demarrage et les run-levels, on doit gerer ces liens. Toutefois, sur beaucoup de versions de Linux, il existe des outils qui facilitent cela. (exemple : chkconfig(8)). Configuration de demarrage Habituellement, les demons demarres peuvent eventuellement recevoir des options et arguments sur leur ligne de commande. Pour permettre aux administrateurs systemes de modifier ces parametres sans editer le script, des fichiers de configuration sont utilises. Ils sont stockes dans un repertoire specifique (/etc/sysconfig sur les systemes RedHat et Mandrake), et sont utilises par les scripts de demarrage. Sur les anciens Unices, ces fichiers contenaient les options de ligne de commande pour les demons, mais sur les systemes Linux modernes (et aussi sur HP-UX), ces fichiers contiennent uniquement des variables shell. Les scripts de demarrage du repertoire /etc/init.d sourcent (par la commande interne . du shell) les fichiers de configuration et utilisent ensuite les variables.
 
FICHIERS


/etc/init.d/, /etc/rc[S0-6].d/. /etc/sysconfig/
 
VOIR AUSSI


inittab(5), bootparam(7), init(8), runlevel(8), shutdown(8)
 
TRADUCTION


Ce document est une traduction realisee par Francois Micaux le 20 juin 2003, mise a jour par Alain Portal AT univ-montp2 DOT fr> le 23 decembre 2005 et revisee le 14 aot 2006. L'equipe de traduction a fait le maximum pour realiser une adaptation francaise de qualite. La version anglaise la plus a jour de ce document est toujours consultable via la commande : LANG=C man 7 boot . N'hes- itez pas a signaler a l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel. LDP 25 juillet 2003 BOOT(7)


 Dernières recherches
Man  en anglais Man boot en anglaisMan  en français Man boot en français
Man  en anglais Man date en anglaisMan  en français Man date en français
Man  en anglais Man ip en anglaisMan  en français Man ip en français
Man  en anglais Man fstab en anglaisMan  en français Man fstab en français
Man  en anglais Man poll en anglaisMan  en français Man poll en français
Man  en anglais Man swapon en anglaisMan  en français Man swapon en français
Man  en anglais Man man en anglaisMan  en français Man man en français
Man  en anglais Man hdparm en anglaisMan  en français Man hdparm en français
Man  en anglais Man wait en anglaisMan  en français Man wait en français
Man  en anglais Man fork en anglaisMan  en français Man fork en français
Man  en anglais Man flock en anglaisMan  en français Man flock en français
Man  en anglais Man fseek en anglaisMan  en français Man fseek en français
Man  en anglais Man execlp en anglaisMan  en français Man execlp en français
Man  en anglais Man capset en anglaisMan  en français Man capset en français
Man  en anglais Man sigqueue en anglaisMan  en français Man sigqueue en français

 Recherche

Dans ce moteur de recherche, vous pouvez taper directement votre besoin, en une phrase normale, humaine.
Exemple : vous cherchez comment remplacer un mot par un autre dans tous les fichiers d'un certain dossier. Vous pouvez écrire "Comment remplacer un mot par un autre dans tous les fichiers d'un dossier". Le moteur vous ramenera les résultats en fonction de leur pertinence.
Vous pouvez bien sûr ne chercher qu'un seul mot-clé, par exemple "find".
 Toutes les lignes de code
Par popularité
Par fonction
Recherche avancée
 Les logiciels SHELL/SSH
Putty
Astuces Bash
Faire du SHELL avec PHP!
 La doc officielle
Les man Linux en français
Les man Linux en anglais
 Proposer vos bash
Partagez vos lignes!
 Les requêtes
Déposer une requête
Voir/répondre à une requête
 Quelques sites interessants
Bons sites pour apprendre
 Rechercher