Cours GNU/Linux - Installation et Configuration d'une Distribution GNU/Linux

Page 1 sur 17Lecteur de document UniversityLib

Cours GNU/Linux - Installation et Configuration d'une Distribution GNU/Linux

Operating Systems and GNU/Linux Administration · notes

Voir tous les documents en systèmes d'exploitation et cloud

MP2L

Cours GNU/Linux

Chapitre 2 : Installation et

configuration d'une

distribution GNU/Linux

1. Introduction :

La mise en œuvre d’un système d’exploitation couvre généralement trois aspects :

a. L’installation, la configuration et la maintenance d’un système : cet aspect est

généralement abordé par des personnes expérimentées dans l’utilisation des

systèmes d’exploitation. Selon les systèmes d’exploitation, cet aspect peut être

plus ou moins complexes et nécessite parfois la présence d’un professionnel.

L’installation, la configuration et la maintenance d’un système constituent des

phases importantes dans le cycle de vie d’un système d’exploitation, car elles ont

un effet sur les performances du système lors de son exploitation par des

utilisateurs.

b. L’aspect externe d’un système : cet aspect concerne essentiellement l’exploitation

du système, du point de vue externe, à travers des interfaces graphiques et/ou à

travers des commandes. Une bonne initiation au langage de commande d’un

système est nécessaire pour permettre une exploitation à la fois rationnelle et aisée

d’un système. La maîtrise de cet aspect passe par une activité intense d’utilisation

du système.

c. L’aspect interne d’un système : cet aspect est généralement réservé aux

administrateurs d’un système ou à des professionnels qui peuvent à la fois analyser

le fonctionnement interne d’un système et y apporter les modifications nécessaires

en cas de besoin.

Dans le cadre du Mastère MP2L, il est important que les participants à ce Mastère puissent

acquérir, en plus de l’aspect exploitation d’un système GNU/Linux, les éléments essentiels

pour l’installation, la configuration et la maintenance d’un tel système. Cet aspect viendra

consolider la formation et donnera plus d’autonomie à chaque participant.

2. Classes d'installation

Les programmes d'installation RedHat, Mandrake et Slackware proposent

des classes d'installation qui influent sur le paramétrage automatique du système et sur la

Yahya SLIMANI/Habib SMEI

  • Page 1 -

MP2L

Cours GNU/Linux

suite logicielle installée. Les distributions Suse et Debian n'offrent, quant à elles, qu'un choix

entre diverses présélections de paquetages.

Les termes qui sont le plus couramment utilisés dans une procédure d’installation,

sont :

Station de travail : l'ordinateur cible disposera de l'interface graphique Xwindow,

des programmes liés au multimédia et au moins d'une suite bureautique.

Cette installation comprend également tous les logiciels client de communication

réseau (navigateur Web, client FTP, outil de messagerie, etc.).

Ordinateur personnel / Portable : mêmes hypothèses que pour l'option

précédente, avec en plus des logiciels de communication pour les assistants

personnels (PDA) et les services de gestion d'énergie pour les portables.

Serveur : cette option permet d’installer et de configurer une suite de

services réseau. Elle est notamment utile pour mettre en place rapidement un

serveur Web ou partager des fichiers sur un réseau local ; par contre, elle ne

devrait pas être utilisée pour déployer un serveur réseau sur Internet

• Personnalisée / Expert : c’est l’option choisie par tout administrateur Linux qui

veut sélectionner les

paquetages devant être installés et qui tient à optimiser le paramétrage de son

système.

• Recommandée : cette option masque un certain nombre d’éléments lors de la phase

d'installation, comme par exemple le partitionnement des disques. La complexité et

la maîtrise du processus d'installation seront alors fortement amoindries. C’est une

option qui est recommandée pour les non spécialistes.

• Mise à jour : cette option offre la possibilité de mettre à jour la distribution

actuellement installée, avec de nouveaux paquetages ou un changement de version

de distribution.

Dans le reste de ce chapitre, nous allons détailler la la procédure d'installation de la

distribution GNU/Linux Debian.

Yahya SLIMANI/Habib SMEI

  • Page 2 -

MP2L

3. Comment récupérer la distribution Debian

Cours GNU/Linux

La distribution Debian GNU/Linux est distribuée librement sur Internet et il est

possible de la télécharger entièrement depuis n'importe lequel des miroirs disponibles.

Si on veut simplement installer Debian, il est possible d’utiliser l’une des options

suivantes :

• Télécharger une petite image amorçable, l'enregistrer sur CD/DVD/clé USB, puis

l'installer en utilisant Internet.

Ces images CD netinst de taille réduite sont rapides à télécharger. Elles vous

permettent de télécharger uniquement les paquets Debian qui seront utilisés, mais

nécessite une connexion à Internet sur la machine à installer.

• Télécharger des images CD et DVD complètes, les enregistrer, sur un support

numérique, puis effectuer l'installation en utilisant exclusivement ce support.

Les images de CD et DVD peuvent être téléchargées en utilisant HTTP/FTP,

BitTorrent, ou Jigdo (conçu principalement pour le téléchargement de fichiers

volumineux de la distribution Debian).

Les images complètes de CD ou DVD donnent la possibilité de disposer d’un

ensemble important de paquets (ou paquetages), ce qui permet de faire une installation

sans recourir à un acccès Internet. Cependant, en téléchargeant un jeu complet de CD

ou DVD, on aura téléchargé un grand nombre de paquets qu'on n'utilisera sans doute

pas.

• Acheter un jeu de CD ou DVD auprès d'un des distributeurs de CD Debian et

installer à partir de ce heu.

4. Démarrage de l'installation

a. Les supports du système d'installation ?

La méthode la plus facile pour installer Debian GNU/Linux est sûrement celle utilisant

les CD officiels. On peut aussi télécharger les images ISO à partir d'un miroir de Debian et

fabriquer ses propres CD, si on dispose d'une connexion rapide et d’un graveur.

Si on dispose de CD alors que la machine ne sait pas amorcer à partir d'un CD, on peut

utiliser un autre support magnétique tel qu’un disque dur, une clé usb. Il est possible aussi de

faire un démarrage sur le réseau, ou bien encore, un chargement manuel du noyau et un

premier démarrage de l'installateur. Les fichiers requis pour ces différents amorçages sont

Yahya SLIMANI/Habib SMEI

  • Page 3 -

MP2L

Cours GNU/Linux

aussi sur le CD de la distribution, sachant que l'archive réseau de Debian et l'organisation des

répertoires du CD sont identiques. Ainsi, lorsqu'un chemin d'archive est demandé pour un

fichier particulier requis pour amorcer, il suffit de le chercher dans le même répertoire ou un

sous-répertoire du CD.

Une fois l'installateur amorcé, il est programmé de telle sorte à obtenir, sans

intervention explicite de l’utilisateur, tous les autres fichiers nécessaires à partir du CD.

b. L'invite d'amorçage

Quand l'installateur démarre, une invite d'amorçage, boot: apparaît dans un écran

montrant le logo de la distribution.

Press F1 for help, or ENTER to boot:

On peut maintenant appuyer sur la touche Enter pour lancer l'installateur avec les

options par défaut. On peut également indiquer une méthode spécifique d'installation avec

d'autres paramètres d'amorçage.

Des informations utiles sur les paramètres d'amorçage peuvent être consultées en

pressant les touches F3 à F8. Si on ajoute des paramètres à la ligne de commande, on doit

dans ce cas indiquer la méthode d'amorçage (la valeur par défaut est install) et un espace

Publicité

avant le premier paramètre (par exemple, install fb=false).

c. Étapes du processus d'installation

Voici les étapes qui composent le processus d'installation :

1. Sauvegarder toutes les données du disque dur sur lequel l'installation sera faite ;

2. Rassembler les informations concernant l'ordinateur, ainsi que la documentation

nécessaire ;

3. Préparer de l'espace libre sur le disque dur ;

4. Télécharger l'installateur et tous les pilotes nécessaires (uniquement quand on

n'utilise pas les CD Debian) ;

5. Préparer les bandes, les disquettes ou les clés USB pour l'amorçage ; c’est dans ces

supports que seront installés les fichiers d'amorçage. Il faut noter que les

utilisateurs des CD Debian peuvent amorcer à partir de l'un des CD qui sont à leur

disposition ;

6. Amorcer l'installateur ;

Yahya SLIMANI/Habib SMEI

  • Page 4 -

MP2L

7. Choisir une langue ;

Cours GNU/Linux

8. Si nécessaire, mettre en place la connexion réseau ;

9. Créer et monter les partitions sur lesquelles Debian sera installé ;

10. Attendre la fin du processus automatique de téléchargment / installation /

configuration du système de base ;

11. Installer un programme d'amorçage qui puisse démarrer Debian GNU/Linux ou un

autre système ;

12. Charger le nouveau système pour la première fois.

Dans les sections suivantes, nous allons détailler les étapes 9 et 11 qui demandent une

attention particulière.

c.1. Création et montage des partitions

Comme pour tout système d'exploitation, il faut allouer un espace de stockage à GNU/

Linux pour l’installer de façon durable. Aussi, il est nécessaire d'effectuer un partitionnement

des disques présents sur la machine.

a. Principes

Afin d'autoriser la cohabitation de plusieurs systèmes d'exploitation sur la même

machine, un mécanisme de division des disques physiques, en plusieurs zones, existe sur les

ordinateurs à base d'architecture Intel, depuis l'époque des 8086.

De plus, une table de partitions est stockée dans le secteur d'amorçage du disque. Elle autorise

la définition de quatre zones contiguës appelées partitions. Chaque partition peut être soit

primaire, soit étendue, avec la règle qu’il ne peut y avoir qu'une seule partition étendue sur le

même disque.

Une partition primaire est une zone continue de cylindres attribués à un système

d'exploitation.

Avec ce type de partitions, il n'est pas possible d'allouer plus de quatre zones par disque à

cause de la structure même de la table de partitions.

Dans le cas d'une partition étendue, il s'agit aussi d'une zone ininterrompue de

cylindres sur le disque mais cette fois-ci sécable (divisible) en partitions logiques. Ces

partitions logiques n'apparaissant pas dans la table de partitions. Chacune de ces partitions

pointe sur la suivante et leur nombre n'est potentiellement pas limité. En fait, Linux peut gérer

quinze partitions par disque pour un disque SCSI et soixante trois pour un disque IDE.

Ainsi, les partitions logiques, contenues dans la partition étendue, vont pallier au

manque de partitions primaires.

Yahya SLIMANI/Habib SMEI

  • Page 5 -

MP2L

Noms des partitions

Cours GNU/Linux

Les noms des partitions correspondent aux noms des fichiers utilisés dans le répertoire

/dev pour accéder aux systèmes de fichiers qu'elles contiennent. Ces noms sont du type : /dev/

xxyz où :

xx est le type de disque dur (hd pour IDE et sd pour SCSI)

y correspond à la position ou à l'identifiant du lecteur pour le contrôleur de disque.

Dans le cas d’un disque SCSI, une lettre (a, b, c, ...) est attribuée à chaque disque,

dans l'ordre d'apparition dans la chaîne SCSI. Dans le cas d'un disque dur

IDE, les lettres a, b, c et d correspondent au branchement du

périphérique sur les différents contrôleurs IDE de la machine (au nombre de deux

habituellement sur un PC) :

a : disque maître sur le premier contrôleur IDE

b : disque esclave sur le premier contrôleur IDE

c : disque maître sur le second contrôleur IDE

d : disque esclave sur le second contrôleur IDE

z : numéro de la partition créée sur le périphérique ; de 1 à 4 pour les

partitions primaires ou étendues, et au delà de 5 pour les partitions logiques.

Par exemple, une partition identifiée par /dev/hdb7 sera donc la troisième partition logique du

disque dur esclave sur le second contrôleur IDE de la machine.

L’exemple ci-dessous illustre le partitionnement d'un disque ayant une partition

DOS/Windows en première position et quatre partitions pour Linux (swap, /, /var, et /usr)

dont trois logiques. Ce disque dur est maître sur le premier contrôleur IDE de la machine :

hda1

(c:)

hda2

(swap)

hda5

( / )

hda6

(/var)

hda7

(/usr)

Ce disque ne possédant que deux partitions primaires et une partition étendue, il

n'y a pas de partition nommée hda4.

Convention de nommage :

La syntaxe des périphériques utilisée dans le chargeur GRUB est un tout petit peu

différente des autres systèmes d'exploitation, et on doit savoir que c'est de cette manière qu'on

peut désigner un disque ou une partition.

Voici quelques exemples de nommage:

(fd0)

Tout d'abord, GRUB exige que les noms de périphériques se trouvent entre

parenthèses. La partie fd signifie qu'il s'agit d'une disquette. Le chiffre 0

Yahya SLIMANI/Habib SMEI

  • Page 6 -

MP2L

Cours GNU/Linux

représente le numéro du lecteur, qui est compté à partir de zéro. Cette expression

veut dire que GRUB utilisera la disquette entière.

(hd0,1)

Ici, hd signifie qu'il s'agit d'un disque dur. Le chiffre 0 indique le numéro du

disque, qui est ici le premier disque, alors que l’entier 1 indique le numéro de

la

partition (ou le numéro de slice dans la terminologie BSD). Rappelons que les

numéros de partitions sont déterminés à partir de zéro, et non à partir de un. Cette

expression désigne la deuxième partition du premier disque dur. Dans ce cas, GRUB

n'utilise qu'une partition du disque à la place du disque entier.

(hd0,4)

Cette notation désigne la première partition étendue du premier disque dur. Notons

que les numéros des partitions étendues sont comptés à partir de 4, sans tenir

compte du nombre réel de partitions primaires sur le disque dur.

(hd1,a)

Cet exemple désigne la partition BSD a du second disque dur. Si on a besoin de

spécifier le numéro de slice PC, il faut utiliser une notation du type: (hd1,0,a). Si

le numéro de slice PC est omis, GRUB recherche le premier slice PC qui a la partition

BSD a.

Évidemment, pour accéder aux disques ou aux partitions avec GRUB, il faut utiliser

Publicité

ces notations dans une commande, comme root (fd0) ou unhide (hd0,2).

Pour s'aider à trouver quelle partition on souhaite, la ligne de commande de GRUB peut être

complétée automatiquement. Cela signifie que, par exemple, on a qu'à entrer root

(suivi de la touche <TAB>), pour que GRUB affiche la liste des disques, des

partitions et des noms de fichiers ; ainsi il devrait être assez facile de déterminer le nom de la

partition voulue.

Il faut noter que GRUB ne distingue pas l'IDE du SCSI. Il compte simplement les

disques depuis zéro, sans faire attention à leur type. Normalement, les numéros des

disques IDE sont inférieurs à ceux des disques SCSI, bien que cela ne soit pas exact si

on change la séquence de démarrage du BIOS en inversant IDE et SCSI.

Maintenant, voyons comment désigner un fichier à travers l’exemple simple suivant:

(hd0,0)/vmlinuz

Cette ligne désigne le fichier nommé vmlinuz qui se trouve sur la première partition

du premier disque dur. Les noms de fichiers peuvent également être complétés

automatiquement.

Yahya SLIMANI/Habib SMEI

  • Page 7 -

MP2L

Partitions nécessaires à l'installation

Cours GNU/Linux

Il faut au moins deux partitions pour installer un système Linux : une partition

contenant la racine du système de fichier Linux (appelée aussi partition root) et une partition

offrant un espace de pagination au système (partition swap). En réalité, cette dernière pourrait

être remplacée par un simple fichier d'échange mémoire mais cela est moins efficace.

Le type de partitions (primaire ou logique) sur laquelle sera installé Linux n'a pas

d'importance.

Toutefois, il est généralement conseillé de créer une partition supplémentaire située au

dessous du cylindre 1024 sur le disque et ayant pour point de montage /boot, à cause d'une

limitation du chargeur Linux et du BIOS sur d'anciennes machines. De la sorte, l'image du

noyau ainsi que d'autres fichiers nécessaires au démarrage du système seront accessibles à

l'initialisation de la machine. L'explication à ce problème est l'utilisation de routines

du BIOS, qui ne peuvent adresser des blocs de données, situés au delà du cylindre 1023,

par le programme d'amorce, car le fichier noyau du système n’est pas accessible à cet endroit

du disque.

La taille des fichiers copiés lors de l'installation Linux varie en fonction

des paquetages sélectionnés ainsi que de la distribution. Un espace de 1 à 3 Go suffit

généralement pour mener à bien l'installation du système.

Lors d'une installation conséquente, Linux est généralement réparti sur plusieurs

systèmes de fichiers. L'utilisation du système sera déterminante dans le choix des partitions à

créer ; pour faciliter le choix, voici un tableau récapitulant les répertoires faisant

l'objet d'une partition distincte :

Répertoire

Taille

Description

(estimation)

swap

Jusqu'au double

Il s'agit d'un espace permettant au système de simuler de la mémoire vive

de

la RAM

supplémentaire en cas de besoin. Les recommandations de certaines

présente sur la

distributions étant de donner une taille à cette partition égale au double de

machine

la RAM, on peut se demander si un système qui possède 512 Mo de RAM

doit mettre en œuvre tant de swap. En effet, considérer que 1 Go d'espace

de pagination peut être utilisé par le système implique que l'on accepte

d'avoir un système chargé à 300 % de sa capacité matérielle. Lorsque l'on

sait que la vitesse d'accès à l'information sur un disque dur est de

l'ordre de la milliseconde et que celle de la RAM est de

l'ordre de la nanoseconde, on se rend compte des baisses de performances

Yahya SLIMANI/Habib SMEI

  • Page 8 -

MP2L

Cours GNU/Linux

que peut rencontrer un système mal dimensionné en mémoire vive par

rapport au traitement qui lui est affecté. C'est pour cela qu'il est

recommandé généralement d'attribuer uniquement l'équivalent de la RAM

en swap, et ce dans une limite de 256 Mo. En cas d'insuffisance ponctuelle,

il sera toujours possible de créer l'espace manquant dans un fichier. Et dans

le cas d'un manque permanent de mémoire, l'architecture matérielle devra

alors être reconsidérée en fonction de la charge et de l'utilisation du

système.

/boot

5 à 50 Mo

Ce répertoire contient principalement le noyau du système accompagné

de quelques fichiers nécessaires à l'initialisation de GNU/Linux ; la taille du

fichier noyau avoisinant le mégaoctet et celle des autres fichiers quelques

centaines d'octets, on peut se contenter de 5 Mo. Mais il est judicieux de

prévoir plus, si l'on envisage de recompiler et d'installer plusieurs

noyaux sur le même système.

/var

100 Mo à

Ce répertoire contient les données “variables” telles que les fichiers

plusieurs Go

journaux (log), les boîtes aux lettres (mail), les bases de données

ou files (spool) d'impression. Pour les distributions récentes, ce répertoire

contient aussi les données locales servies par le site hébergé sur la machine

(comme les fichiers d'un serveur FTP ou les pages d'un site Web).

Par conséquent, en fonction des services mis en place sur le système, la

taille de ce répertoire peut croître considérablement et risque de saturer le

système de fichiers principal, si celui-ci n'est pas distinct.

La taille dépendra donc des informations traitées par les différents serveurs

configurés.

/tmp

50 à 200 Mo

Les applications ont besoin d'un endroit pour écrire leurs fichiers

temporaires et l'espace des utilisateurs peut être restreint ; c'est pourquoi il

faut attribuer une partition à ce répertoire commun pour assurer

une certaine rapidité d'accès à celui-ci. Cela évitera aussi

d'endommager le système de fichiers principal, en cas de corruption

des données sur ce répertoire.

/usr

500 Mo à 3 Go

C'est le plus gros répertoire du système car il contient les

fichiers des paquetages fournis par les distributions en supplément du

système GNU/Linux de base.

Ce système de fichiers peut être monté en lecture seule, ce qui

permettra d'accroître la sécurité au niveau des fichiers et de partager ces

Yahya SLIMANI/Habib SMEI

  • Page 9 -

MP2L

Cours GNU/Linux

données sur le réseau via le protocole NFS (Network File System) par

/home

En fonction du

C'est dans ce répertoire que sont stockés les répertoires personnels des

exemple.

nombre et des

utilisateurs.

besoins des

utilisateurs

/

Publicité

100 à 200 Mo

Tout ce qui n'est pas dans un des répertoires cités précédemment se

trouvera directement sous celui-ci.

Il y aura notamment les répertoires /bin (10 Mo), /dev (500 Ko), /etc (10

Mo), lib (70 Mo), /mnt (0 Mo), /proc (0 Mo) et /sbin (10 Mo). Ils sont

essentiels pour le système au démarrage et contiennent les outils

minimaux de restauration des autres partitions en cas d'incident.

Enfin, le partitionnement peut aussi être considéré comme un moyen de limiter la perte de

données en cas de matériel défaillant. En effet, en cas de panne d'un disque dur, les blocs

défaillants sont généralement contigus et appartiennent donc probablement à la même

partition. Ainsi, si le disque est divisé en plusieurs partitions, il sera toujours possible

d'accéder aux partitions non encore affectées et de sauvegarder les données qu'elles

contiennent sur un autre support.

c.2. Le chargeur de démarrage

Le chargeur (boot loader en Anglais) est le premier logiciel qui s'exécute quand un

ordinateur démarre. C'est lui qui charge et transfère le contrôle au logiciel noyau d'un système

d'exploitation (comme GNU/Linux ou GNU Mach). Le noyau, à son tour, initialise le reste du

système d'exploitation.

GNU GRUB est un chargeur très puissant, qui peut démarrer une grande variété de

systèmes d'exploitation libres, ainsi que des systèmes d'exploitation propriétaires avec la

technique du chain-loading.

GRUB reconnaît les systèmes de fichiers et les formats des noyaux. On peut donc

charger un système d'exploitation arbitraire, sans enregistrer la position physique du noyau

sur le disque.

Ainsi, on peut charger le noyau en spécifiant simplement le nom du fichier et le disque (ainsi

que la partition) où le noyau est enregistré.

Pour faire connaître à GRUB le disque et le nom du fichier, on peut soit les entrer

manuellement via l'interface en ligne de commande, soit utiliser le menu qui permet de

sélectionner facilement quel OS doit être démarré. Pour que l'on puisse personnaliser le menu,

Yahya SLIMANI/Habib SMEI

  • Page 10 -

MP2L

Cours GNU/Linux

GRUB lira un fichier de configuration. Il faut noter aussi qu'on peut non seulement utiliser

l'interface en ligne de commande à n'importe quel moment, mais aussi éditer des entrées

spécifiques du menu avant de les utiliser.

Nous allons maintenant présenter le rôle du chargeur :

Le texte qui suit est une citation de Gordon Matzigkeit, un fanatique de GRUB:

« Certaines personnes aiment féliciter le système d'exploitation et le noyau quand ils parlent

de leurs ordinateurs ; ainsi ils peuvent dire qu'ils utilisent "GNU/Linux" ou "GNU/Hurd".

D'autres personnes semblent penser que le noyau est la partie la plus importante du système,

ainsi ils aiment appeler "système Linux" leur système d'exploitation GNU ».

Cette citation, un peu brutale, ne donne pas d’importance au chargeur. Hors ce dernier est,

peut être,le logiciel le plus important de toute distribution.

Convention de nommage :

La syntaxe des périphériques utilisée dans GRUB est un tout petit peu différente de ce qu'on a

pu voir avant avec les systèmes d'exploitation, et on doit savoir que c'est de cette manière

qu'on peut désigner un disque ou une partition.

Examinez les exemples et explications suivants:

(fd0)

Tout d'abord, GRUB exige que les noms de périphériques se trouvent entre ( et ). La partie

fd signifie qu'il s'agit d'une disquette. Le nombre 0 représente le numéro du lecteur, qui est

compté à partir de zéro. Cette expression veut dire que GRUB utilisera la disquette entière.

(hd0,1)

Ici, hd signifie qu'il s'agit d'un disque dur. Le premier nombre 0 indique le numéro du disque,

qui est ici le premier disque, alors que le second entier 1 indique le numéro de la partition (ou

le numéro de slice dans la terminologie BSD). Rappelons que les numéros de partitions sont

déterminés à partir de zéro, et non depuis un. Cette expression désigne la deuxième partition

du premier disque dur. Dans ce cas, GRUB n'utilise qu'une partition du disque à la place du

disque entier.

(hd0,4)

Ceci désigne la première partition étendue du premier disque dur. Notons que les numéros des

partitions étendues sont comptés à partir de 4, sans tenir compte du nombre réel de partitions

primaires sur le disque dur.

(hd1,a)

Cet exemple désigne la partition BSD a du second disque dur. Si on a besoin de spécifier le

numéro de slice PC, il faut utiliser quelque chose comme ceci: (hd1,0,a). Si le numéro de

slice PC est omis, GRUB recherche le premier slice PC qui a la partition BSD a.

Yahya SLIMANI/Habib SMEI

  • Page 11 -

MP2L

Cours GNU/Linux

Évidemment, pour accéder aux disques ou aux partitions avec GRUB, il faut utiliser ces

notations dans une commande, comme root (fd0) ou unhide (hd0,2). Pour s'aider à

trouver quelle partition vous voulez, la ligne de commande de GRUB peut être complétée

automatiquement. Cela signifie que, par exemple, on a qu'à entrer root (suivi de la touche

<TAB>), pour que GRUB affiche la liste des disques, des partitions et des noms de fichiers,

ainsi il devrait être assez facile de déterminer le nom de la partition voulue, même avec

seulement une connaissance minimale de la syntaxe.

Il faut noter que que GRUB ne distingue pas l'IDE du SCSI, il compte simplement les disques

depuis zéro, sans faire attention à leur type. Normalement, les numéros des disques IDE sont

inférieurs à ceux des disques SCSI, bien que cela ne soit pas exact si on change la séquence de

démarrage du BIOS en inversant IDE et SCSI.

Maintenant, voyons comment désigner un fichier. voyons cet exemple:

(hd0,0)/vmlinuz

Cette ligne désigne le fichier nommé vmlinuz qui se trouve sur la première partition du

premier disque dur. Les noms de fichiers peuvent également être complétés automatiquement.

5. Processus de démarrage

Pour qu'un système GNU/Linux soit utilisable, il doit d'abord passer par un certain nombre

d'étapes d'initialisation et de lancement de divers programmes.

Pour la plupart, ces étapes dépendent fortement de la distribution GNU/Linux utilisée. Selon

les choix fait par les créateurs des distributions, quelques détails peuvent changer, mais les

principes restent les mêmes.

a. Le chargeur de noyau

Le tout premier programme à être lancé est en réalité le BIOS. Celui-ci va chercher au début

du 1er disque dur afin d'y trouver un chargeur (en réalité l'endroit où rechercher est configuré

dans les paramètres du BIOS). Il s'agit d'un petit programme dont le but sera de lancer le

système d'exploitation complet. Les chargeurs récents sont capables de laisser à l'utilisateur le

choix du système à lancer (on appelle cela un multiboot). Plusieurs peuvent alors cohabiter

sur une même machine.

Les plus utilisés pour lancer un noyau Linux sont LILO et GRUB. Ils partagent de nombreux

points communs comme le fait de pouvoir passer des options au noyau.

b. Le noyau

Son rôle lors du démarrage est principalement d'initialiser les différents composants matériels

présents en utilisant notamment les pilotes de périphérique présents dans le noyau. Ceux qui

ont été compilés sous forme de modules ne sont pas pris en compte à ce moment.

Ces initialisations concernent surtout les composants centraux de la machine comme le

processeur ou les contrôleurs de périphériques. Les périphériques externes ne seront eux

initialisés généralement qu'au moment de leur utilisation. L'écran est toutefois utilisé

rapidement après le lancement du noyau afin de donner des informations à l'utilisateur. Le

noyau configure donc la carte graphique dans un mode standard pouvant être reconnu par une

majorité de cartes. Il est de plus possible de changer cette valeur par une option du noyau

(vga=XXX).

Yahya SLIMANI/Habib SMEI

  • Page 12 -

MP2L

Cours GNU/Linux

Il y a deux manières d'influer sur ce que va faire le noyau. On peut le recompiler en changeant

les paramètres accessibles lors de la configuration ou alors lui passer des options.

L'avantage des options est que cela peut être changé d'un démarrage sur un autre. Et les

chargeurs de noyau vus précédemment permettent de faire cela très facilement, y compris de

façon temporaire. Mais on rencontrera certains cas (comme par exemple rajouter le support

d'un matériel particulier) où une recompilation du noyau sera indispensable.

Publicité

Voici quelques exemples d'options fréquentes et utiles. Leur liste complète est en réalité plus

longue mais ne sera pas détaillée ici.

Option

pour le

noyau

vga=XXX

no-scroll

noapic

mem=XXX

init=XXX

Description

Sert à changer la résolution d'écran utilisée pendant le démarrage. Utile si celle par défaut n'est pas

reconnue par la carte graphique.

Permet de désactiver le défilement du texte sur l'écran. A utiliser notamment avec des terminaux

braille pour lesquels le défilement peut poser problème.

L'APIC permet à plusieurs périphériques de partager des ressources communes (les IRQ). Avec cette

option, on peut désactiver ce mécanisme qui peut engendrer des problèmes avec certains matériels.

Permet d'indiquer la valeur de mémoire vive présente sur la machine pour le cas ou l'auto-detection

échouerait. On peut utiliser des lettres pour cette taille. Par exemple 512M désignera 512 Méga-octets

de mémoire.

Permet d'indiquer de manière explicite quel programme doit être lancé après l'initialisation du noyau

(plus de détails dans la section suivante).

c. Le processus init

Une fois que le noyau a fini tout son travail d'initialisation, il va monter le système de fichiers

racine (/) en lecture seule. A partir de ce moment, les programmes indispensables comme

ceux que l'on trouve dans /sbin et /bin sont disponibles.

Le noyeau est alors prêt à lancer le premier processus qui va devenir le père de tous les autres

processus et portera l'identifiant de processus (le PID) 1.

Ce programme s'appelle généralement init. Le noyau va en fait essayer de lancer

successivement les programmes suivants :

/sbin/init

/etc/init

/bin/init

/bin/sh

Dès qu'un de ceux-là est lancé avec succès, les autres ne sont même pas testés car le contrôle

est passé au programme.

On voit que le programme init est cherché dans différents répertoires (/sbin, /etc et finalement

/bin) . S'il ne se trouve dans aucun de ceux-là, le noyau tente de lancer un shell afin que

l'utilisateur ait accès au système. Si cela échoue également, le noyau affiche un message

d'erreur et s'arrête.

Pour pouvoir indiquer un autre programme que ceux-là, il faut utiliser l'option du noyau init=

vue précédemment. On lui passe en paramètre le chemin complet de l'exécutable à lancer.

Le comportement d'init se configure à l'aide du fichier /etc/inittab. En voici un exemple

d'extrait :

Yahya SLIMANI/Habib SMEI

  • Page 13 -

Cours GNU/Linux

MP2L

id:5:initdefault:

si::sysinit:/etc/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0

l1:1:wait:/etc/rc.d/rc 1

l2:2:wait:/etc/rc.d/rc 2

l3:3:wait:/etc/rc.d/rc 3

l4:4:wait:/etc/rc.d/rc 4

l5:5:wait:/etc/rc.d/rc 5

l6:6:wait:/etc/rc.d/rc 6

ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Chaque ligne est construite de la même manière avec les champs suivants :

Position

Nom

Description

1

2

3

4

Identifiant

Niveaux

d'exécution

Action

Programme

Une chaîne de caractère choisie par l'utilisateur et permettant d'identifier la

ligne.

Les niveaux d'exécution pour lesquels cette ligne doit être prise en compte.

Contient une des actions prédéfinies indiquant ce qui doit être fait. Le tableau

suivant les liste.

Le programme qui doit être exécuté lorsque l'on rentre dans les niveaux

indiqués.

Selon l'action choisie, le comportement sera différent et certains champs peuvent être ignorés.

Voici la description des actions le plus souvent utilisées.

Actions pour /etc/inittab

Action

Champs ignorés

Description

initdefault

Programme

sysinit

Niveaux

d'exécution

wait

Aucun

respawn

Aucun

ctrlaltdel

Niveaux

d'exécution

c. Les niveaux d'exécution

Permet d'indiquer le niveau d'exécution à utiliser par défaut. Le champs

Niveaux d'exécution contiendra alors une seule valeur qui sera ce niveau par

défaut.

Le champs Programme contient le chemin vers un exécutable qui sera lancé en

tout premier par init (donc juste après que le noyau ait terminé ses

initialisations).

Lorsque le système passera dans la niveau d'exécution spécifié, init exécutera la

commande indiquée puis attendra qu'elle se termine.

Semblable à wait si ce n'est qu'à chaque fois que le programme se termine, init

le relancera.

Permet d'indiquer une commande devant être exécutée lorsque l'utilisateur

presse la combinaison de touches Ctrl-Alt-Suppr.

Sur les systèmes GNU/Linux, on a plusieurs niveaux d'exécution possibles (appelés aussi

modes d'exécution). Il s'agit en fait de mode de démarrage différents qui différent les uns des

autres par les services qui y sont lancés.

La convention choisie est celle appelée System V init qui définit la manière dont doivent être

gérés les différents niveaux. Dans le fichier inittab donné en exemple dans le chapitre

précédent, on peut voir que c'est le programme /etc/rc.d/rc qui gère cela. Il est lancé avec en

Yahya SLIMANI/Habib SMEI

  • Page 14 -

MP2L

Cours GNU/Linux

Publicité

paramètre le num...