Telechargé par mahmoudbardi

1-Démarrage-et-arrêt-système-linux (1)

publicité
Démarrage et arrêt système linux
Le boot, init et les runlevel
Si nous partons de la base, voici les grandes lignes du démarrage : on appuie sur le bouton de
mise en marche. La machine s'allume et va lire le bios, qui va initialiser très basiquement
certains composants, dont le disque dur.
Le bios va ensuite lire les 512 premiers octets du disque dur, ce qu'on appelle le MBR,
pour Master Boot Record. Ce MBR contient la table des partitions, ainsi qu'un petit
programme appelé Boot Loader. Le Boot Loader va permettre de démarrer sur la partition où
se situe notre système d'exploitation.
Dans le cas de Windows, le Boot Loader utilisé se nomme NTLDR (NT Loader). Par défaut,
NTLDR considère toujours Windows comme le seul système d'exploitation présent. Ainsi, il
lance automatiquement la partition où se situe Windows, l'étape est donc invisible pour
l'utilisateur lambda. Lorsque l'on a installé une distribution GNU/Linux, nous avons installé
sur le MBR un Boot Loader, souvent GRUB, qui va nous demander de choisir de démarrer
sur un des systèmes présents. Une fois le système choisi, le Boot Loader va sélectionner la
partition où se situent ce système et le lancer.
La première chose à faire consiste à appeler le noyau Linux. Pour rappel, le noyau gère les
ressources de l'ordinateur, c'est pour cela qu'il est fondamental de l'initialiser dès le départ.
Celui-ci est présent sous forme compressée dans /boot. Il va s'auto-décompresser, démarrer,
utiliser un environnement ultra-minimal, l'initrd, pour charger les modules nécessaires au
montage du système de fichier, démonter l'initrd, et monter la partition système. Il ne reste
plus qu'à lancer le premier processus, init, qui sera le père de tous les autres processus. Notre
système est prêt, c'est désormais lui qui va prendre la relève du noyau pour le démarrage.
Le chargement du noyau Linux
Lorsque l'on allume son ordinateur, la carte mère effectue un test automatique qui se charge
de tester le bon fonctionnement des composants de la carte mère (processeur, mémoire, etc.).
Ce test s'appelle le POST (Power-On Self Test). Si tout est OK, ce test se termine par un (et
un seul) bip.
Ceci fait, le BIOS charge ensuite le programme stocké dans le boot secteur du disque dur.
Arrêt démarrage système Linux
1
Sur architecture PC, il existe deux programmes permettant de charger le noyau Linux, ou un
autre système d'exploitation.
LILO
LILO (LInuxLOader) a été le premier logiciel permettant d'effectuer cette opération.
Exemple de fichier de configuration de Lilo (/etc/lilo.conf) :
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
default=linux
prompt
timeout=50
message=/boot/message
# Premiere section : boot Windows
other=/dev/hda1
label=windows
table=/dev/hda
# Deuxieme section: boot Linux
image=/boot/vmlinuz
label=linux
root=/dev/hda4
append="acpi=off"
read-only
GRUB
Aujourd'hui, on utilise le programme GRUB (GRandUnifiedBootloader) car il offre des
possibilités supplémentaires.
Contrairement à Lilo, Grub sait lire une partition Linux (ext2/3, XFS, reiserFS ...) afin de
charger son fichier de configuration (/boot/grub/menu.lst) et le(s) noyau(x) Linux.
Exemple de fichier de configuration de Grub (/boot/grub/menu.lst)
default
0
timeout
30
color cyan/blue white/blue
# Premiere section : Linux
titleDebian GNU/Linux, kernel 2.6.18-5-686
root
(hd1,0)
kernel /vmlinuz-2.6.18-5-686 root=/dev/sdb2 roacpi=off
initrd /initrd.img-2.6.18-5-686
savedefault
Arrêt démarrage système Linux
2
# Deuxieme section : Linux mode mono-utilisateur
titleDebian GNU/Linux, kernel 2.6.18-5-686 (single-user mode)
root
(hd1,0)
kernel
/vmlinuz-2.6.18-5-686 root=/dev/sdb2 roacpi=off single
initrd
/initrd.img-2.6.18-5-686
savedefault
# Troisiemesection : Windows
title
Windows NT/2000/XP (loader)
root
(hd0,0)
savedefault
makeactive
chainloader +1
L'init de la RedHat.
Niveaux d'exécution System V
À tout moment, votre système Linux se trouve à un niveau d'exécution donné. La distribution
RedHat en définit 7 :

0 : Hors service : l'alimentation peut alors être coupée dans danger

1 : Mode mono-utilisateur (pour administration système)

2 : Mode multi-utilisateurs : fonctionnement normal sans NFS (identique au niveau 3
mais sans les fonctionnalités réseau).

3 : Mode multi-utilisateurs : fonctionnement normal pour systèmes en réseau,
partageant leurs ressources avec d'autres systèmes.

4 : Inutilisé

5 : X11

6 : Mise hors service et redémarrage : sert durant le redémarrage du système à partir
d'un niveau de fonctionnement (2, 3, 4, 5). Le système passera ensuite au niveau 0.
La commande telinit
On peut changer de niveau d'exécution grâce à la commande telinit (qui n'est qu'un lien
sur init) :
# telinit 2
placera le système en Mode multi-utilisateurs sans réseau. Bien entendu, seul l'administrateur
système (root) peut exécuter cette commande...
Arrêt démarrage système Linux
3
Mais telinit dispose de fonctionnalités supplémentaires : il permet de demander à init effectuer
une relecture de /etc/inittab, ce qui est pratique après une modification de ce fichier grâce à la
commande
# telinit q
Connaître le niveau d'exécution courant
En réalité, il existe plus que 7 niveaux d'exécution : la commande man init nous apprend en
effet qu'il existe aussi les niveaux 7, 8 et 9 (non documentés) et S (ou s) qui correspond au
mode mono-utilisateur.
La plupart des Unix utilisent une version de la commande who qui permet d'indiquer le
niveau d'exécution courant :
# who -r
. run level 3 Oct 17 18:00 3 0 S
Cette sortie indique que le 17 Octobre, le système est passé du niveau de fonctionnement S au
niveau 3. Le 0 indiquent que ce passage s'est effectué du premier coup.
Malheureusement, l'option -r n'est pas disponible sous linux... Aussi, il faut utiliser une autre
commande pour avoir cette information :
# runlevel
runlevel
N2
Indique que le système est au niveau 2 et qu'il n'y a pas de niveau précédent.
# telinit 3
# runlevel
23
Ici, on est passé au niveau 3, le niveau précédent était le niveau 2.
Arrêter ou redémarrer le système
Pour arréter le systeme :

Commun à tous les UNIX : shutdown

Spécifique Linux et systèmes récents : halt et reboot
# shutdown -h now "changement de noyau" &
NB : on rajoute un & pour garder la main
Il existe différentes options telles que :
Arrêt démarrage système Linux
4





-h (h pour halt) : arrêt immédiat
-r now (r pour reboot) : redémarrage immédiat
-h +10 : arrêt différé dans 10 minutes
-h 10:30 : arrêt à 10h30
-c : annule l'arrêt
Arrêt démarrage système Linux
5
Téléchargement