Se connecter
Se connecter
Inscription
Mot de passe perdu
Connexion:
[Actualités]
Test Morsels (PS5) - Un mélange étrange de rogue-like, de collecte de créa...
[Actualités]
Suite à l'augmentation du prix du Game Pass, Microsoft offre de l'argent aux jo...
[Actualités]
Le NVIDIA chinois, fait son entrée en bourse. Les cartes graphiques à plus de ...
[Actualités]
La PS5 Pro recevra une mise à jour majeure « PSSR 2 » avec une super-résolut...
[Actualités]
Netflix va racheter Warner Bros. et HBO Max pour 82,7 milliards de dollars
[Actualités]
Intel suspend la vente d'une division clé à la dernière minute
[Actualités]
Nouvelle panne de Cloudflare. La moitié d'Internet est à nouveau hors service.
[Actualités]
L'iPhone Air a perdu la moitié de son prix en dix semaines.
[Actualités]
007 First Light - Découvrez le premier épisode de "Beyond the Light"
[Actualités]
Test Bus World (Xbox Series X) - Conduisez un bus dans des situations périlleuses
[Articles]
Morsels
[Articles]
Bus World
[Articles]
Trillion Game tome 10
[Articles]
Sonic Wings Reunion
[Articles]
Eclipse humaine tome 5
[Articles]
Plus de la moitié des informaticiens belges subissent une charge de travail sup...
[Articles]
L’iranien MuddyWater se fait passer pour Snake et vise des infrastructures en ...
[Articles]
Les nouvelles aventures de Barbe-Rouge tome 5 : L'Île aux Chimères
[Articles]
Marry My Husband tome 1 édition collector
[Articles]
Neon Inferno
Actualités
Lettre d'information
Proposer une actualité
Archives
Actualités
Articles
Programmation
Press Release
Matériel
Logiciels
Livres
Interviews
Derniers commentaires
Jeux Vidéos
XBox One
XBox 360
Wii U
PSP
PS4
PS3
PC
DS
GameCube
3DS
Forum
Derniers messages
Informatique
Fun
Divers
Logithèque
Blogs
Divers
A Propos
Annonceurs
Contact
Recherche
RSS
Editer un article
Titre
Mots Clés
Texte
[size=18] [b]Nom[/b] [/size] boot-scripts - Description générale du démarrage du système. [size=18] [b]Description[/b] [/size] La séquence de démarrage est variable en fonction du système mais peut globalement être découpée selon les étapes suivantes : (i) amorçage matériel, (ii) chargeur de démarrage, (iii) démarrage du noyau, (iv) [b]init[/b] et [b]inittab[/b], (v) scripts de démarrage. Nous allons décrire chacune d'entre-elles plus en détail ci-dessous. [b]Amorçage matériel[/b] Après la mise sous tension ou un reset matériel, un programme stocké en mémoire morte (souvent une PROM) prend le contrôle. Sur les PC, on appelle généralement ce programme le [b]BIOS[/b]. Ce programme effectue normalement un auto-test de la machine et accède à la mémoire non volatile pour y lire quelques paramètres. Dans les PC, cette mémoire est maintenue par une batterie de type CMOS. Ainsi la plupart des gens l'appellent [b]CMOS[/b], alors qu'en dehors du monde des PC, elle est généralement appelée [b]nvram[/b] (non-volatile ram). Les paramètres stockés dans la [b]nvram[/b] varient d'un système à l'autre, mais au minimum, le programme d'amorçage matériel devrait savoir quel est le périphérique d'amorçage, où à défaut quels périphériques il faut essayer pour amorcer le système. Ensuite, la phase de démarrage matériel accède au périphérique d'amorçage, charge le chargeur de démarrage, qui est situé à une position fixe sur le périphérique d'amorçage, et lui passe contrôle. [table][row][col] [/col][col]Note : Nous n'abordons pas ici le démarrage à partir du réseau. Ceux qui s'intéressent à ce sujet devraient rechercher du côté de DHCP, TFTP, PXE, Etherboot, et nous rejoindre au [b]démarrage[/b] du noyau. [/col][/row][/table] [b]Chargeur de démarrage[/b] Sur les PC, le chargeur de démarrage est situé sur le premier secteur du périphérique d'amorçage - c'est le [b]MBR[/b] (Master Boot Record). Sur la plupart des systèmes, ce chargeur initial est très limité du fait de diverses contraintes. Même sur des systèmes autres que le PC, il existe des limitations concernant la taille et la complexité de ce chargeur, mais la taille du MBR des PC est limitée - 512 octets y compris 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 démarrage complet. Ainsi, sur la plupart des systèmes d'exploitation, le chargeur initial appelle un chargeur de démarrage secondaire situé sur une partition du disque. Sous Linux, le chargeur de démarrage est normalement [b]lilo (8)[/b] ou [b]grub (8).[/b] Chacun peut être installé soit en tant que chargeur secondaire (si le MBR installé par DOS pointe vers eux), soit en tant que chargeur en deux parties, car ils fournissent un MBR spécial contenant un code d'amorçage pour charger la seconde partie du chargeur à partir de la partition principale. Le rôle principal du chargeur de démarrage est de localiser le noyau sur le disque, le charger et l'exécuter. La plupart des chargeurs de démarrage sont interactifs, pour permettre la spécification d'un noyau alternatif (par exemple un noyau de sauvegarde dans le cas où la dernière version compilée ne fonctionne pas) et le passage de paramètres optionnels au noyau. [b]Démarrage du noyau[/b] Quand le noyau est chargé, il initialise les périphériques (via leurs pilotes), démarre le gestionnaire de swap (c'est un "processus noyau", appelé [b]kswapd[/b] sur les noyaux Linux modernes), et monte le système de fichiers racine - appelé [b]root[/b] filesystem - (/). Quelques paramètres relatifs à cela peuvent être passés au noyau (par exemple : on peut spécifier un autre système de fichiers racine que celui par défaut). Pour plus d'informations sur les paramètres du noyau Linux, voir [b]bootparam (7).[/b] C'est uniquement à cet instant que le noyau crée un premier (en espace utilisateur) processus, qui porte le numéro 1. Ce processus exécute le programme [b]/sbin/init ,[/b] en lui passant tout paramètre qui n'est pas déjà géré par le noyau. [b]Init et inittab[/b] Quand init démarre, il lit [i]/etc/inittab[/i] pour y trouver ses instructions. Ce fichier définit ce qui doit s'exécuter dans les différents modes de fonctionnement ([i]run[/i]-levels). Cela donne à l'administrateur système une méthode simple de gestion dans laquelle chaque run-level est associé à un ensemble de services (par exemple : [b]S[/b] correspond à un mode maintenance ([i]single[/i]-user), en run-level [b]2[/b], la plupart des services réseaux sont actifs, etc.). L'administrateur peut changer le run-level courant par [b]init (8)[/b] et connaitre le run-level courant par [b]runlevel (8).[/b] Toutefois, comme il n'est pas pratique de gérer les services individuellement en éditant ce fichier, inittab se limite à l'appel d'un ensemble de scripts qui démarrent/arrêtent les services. [b]Scripts de démarrage[/b] [table][row][col] [/col][col]Note : La description suivante s'applique aux systèmes basés sur SYSV-R4, qui couvre actuellement la plupart des Unices commerciaux (Solaris, HPUX, Irix, Tru64) ainsi que les distributions majeures de Linux (RedHat, Debian, Mandrake, Suse, Caldera). Quelques systèmes (Slackware Linux, Gentoo Linux, FreeBSD, OpenBSD) utilisent un procédé quelque peu différent pour les scripts de démarrage.[/col][/row][/table] Pour chaque service géré (messagerie, nfs, cron, etc.) il y a un script de démarrage simple stocké dans un répertoire spécifique [i]( /etc/init.d[/i] dans la majorité 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 arrêter le service. Le script peut éventuellement accepter d'autres paramètres pratiques (par exemple : 'restart', enchaine un 'stop' suivi d'un 'start', 'status' donne l'état du service). Un appel du script sans argument permet d'afficher tous ceux possibles. [b]Répertoires dordonnancement[/b] Pour permettre aux scripts spécifiques de démarrer/arrêter un run-level spécifique et dans un ordre particulier, il y a des [b]répertoires[/b] d'ordonnancement. Ce sont généralement [b]/etc/rc[0[/b]-6S].d. Dans chacun de ces répertoires, il y a des liens (généralement symboliques) vers les scripts du répertoire [b]/etc/init.d[/b]. Un premier script (souvent [i]/etc/rc[/i]) est appelé par inittab(5) et appelle lui-même les scripts des services grâce aux liens des répertoires d'ordonnancement. Tous les liens dont le nom commence par 'S' sont appelé avec l'argument 'start' (et démarrent le service concerné). Tous les liens dont le nom commence par 'K' sont appelés avec l'argument 'stop' (et arrêtent le service concerné). Pour introduire un ordonnancement au sein d'un run-level, les noms des liens contiennent des numéros d'ordre. Aussi, pour plus de clarté, ils se terminent par le nom du service qu'ils concernent. Exemple : Le lien [i]/etc/rc2.d/S80sendmail[/i] démarre le service sendmail dans le run-level 2. Cela est fait après l'exécution de [i]/etc/rc2.d/S12syslog[/i] mais avant celle de [i]/etc/rc2.d/S90xfs[/i]. [table][row][col] [/col][col]Si l'on lit le script [i]/etc/rc[/i], on constate ce qui suit : En premier lieu, les scripts K* sont exécutés pour arrêter les services non concernés par le run-level, suivis des scripts S* pour démarrer ceux qui le deviennent. L'ordre est exactement celui du caractère d'expansion '*', car l'appel successif des différents scripts se fait par une boucle 'for'. Pour schématiser, [b]rc[/b] exécute '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'.[/col][/row][/table] Pour gérer l'ordre de démarrage et les run-levels, on doit gérer ces liens. Toutefois, sur beaucoup de versions de Linux, il existe des outils qui facilitent cela. (exemple : [b]chkconfig (8)).[/b] [b]Configuration de démarrage[/b] Habituellement, les daemons démarrés peuvent éventuellement recevoir des options et arguments sur leur ligne de commande. Pour permettre aux administrateurs systèmes de changer ces paramètres sans éditer le script, des fichiers de configuration sont utilisés. Ils sont stockés dans un répertoire spécifique ([i]/etc/sysconfig[/i] sur les systèmes RedHat et Mandrake), et sont utilisés par les scripts de démarrage. Sur les anciens Unices, ces fichiers contenaient les options de ligne de commande pour les daemons, mais sur les systèmes Linux modernes (et aussi sur HPUX), ces fichiers contiennent uniquement des variables shell. Les scripts de démarrage du répertoire [i]/etc/init.d[/i] [b]sourcent[/b] (par la commande interne '[b].[/b]' du shell) les fichiers de configuration et utilisent ensuite les variables. [size=18] [b]Fichiers[/b] [/size] [b]/etc/init.d/ ,[/b] [b]/etc/rc[S0-6].d/ .[/b] [i]/etc/sysconfig/[/i] [size=18] [b]Voir aussi[/b] [/size] [b]inittab (5),[/b] [b]bootparam (7),[/b] [b]init (8),[/b] [b]runlevel (8),[/b] [b]shutdown (8)[/b] [size=18] [b]Traduction[/b] [/size] François Micaux, 2003.
Fichier
Forum
-
Derniers messages
Bavardages
Aujourd'hui, je rénove ou je construis ^^
Informations
Besoin d’avis sur l’UX de mon mini-projet web (et plus globalement sur ce qui vous rebute sur un site) ?
Software
problème sur windows 10
Réseaux et Télécom
Problème wifi (POE)
Software
Postfix - Need help
Bavardages
Oh râge oh désespoir !
Programmation
Enregistrement client et envoi mail
Software
SÉCURITÉ MACBOOK
Hardware
conseil matos réseau?
Hardware
nVidia Shield Android TV
Actualités
-
Archives
Jeux Vidéos
Test Morsels (PS5) - Un mélange étrange de rogue-like, de collecte de créatures et de twin-stick shooter
Microsoft
Suite à l'augmentation du prix du Game Pass, Microsoft offre de l'argent aux joueurs.
Matériel
Le NVIDIA chinois, fait son entrée en bourse. Les cartes graphiques à plus de 30 cœurs pourraient bientôt alimenter le monde entier.
Consoles
La PS5 Pro recevra une mise à jour majeure « PSSR 2 » avec une super-résolution multi-images en 2026
Vidéo
Netflix va racheter Warner Bros. et HBO Max pour 82,7 milliards de dollars
Ada
CSS
Cobol
CPP
HTML
Fortran
Java
JavaScript
Pascal
Perl
PHP
Python
SQL
VB
XML
Anon URL
DailyMotion
eBay
Flickr
FLV
Google Video
Google Maps
Metacafe
MP3
SeeqPod
Veoh
Yahoo Video
YouTube
6px
8px
10px
12px
14px
16px
18px
Informaticien.be
- © 2002-2025
Akretio
SPRL - Generated via
Kelare
The Akretio Network:
Akretio
-
Freedelity
-
KelCommerce
-
Votre publicité sur informaticien.be ?