Вы находитесь на странице: 1из 46

Administration de systmes Linux

Dmarrage et arrt du systme

Ecole Nationale des Sciences Appliques - Khouribga


Omar EL BANNAY

Plan

Dtail du dmarrage dune machine Linux

Processus Init et niveaux dexcution

Arrt dune machine Linux

Gestion dnergie

Plan

Dtail du dmarrage dune machine Linux

Processus Init et niveaux dexcution

Arrt dune machine Linux

Gestion dnergie

A- Dtail du dmarrage dune machine Linux

1. BIOS
2. Gestionnaire damorage
3. Chargement du noyau

A- Dtail du dmarrage dune machine Linux


1

BIOS

Le BIOS (Basic Input Output System) est le premier programme excut lallumage
de lordinateur. Son but est de fournir des routines standard pour les diffrents types de
matriels et de charger le systme dexploitation.
Sans le BIOS, la machine ne pourrait pas dmarrer car le microprocesseur ne sait
utiliser que les instructions stockes en mmoire vive.
Le BIOS aura donc pour fonction :
inspecter l tat matriel de la machine (cartes, disques, RAM)
initialiser le systme daffichage
permettre lutilisateur dinteragir si besoin pour divers rglage (ex: prcision du
disque de boot)
charger en mmoire vive le secteur de boot dun certain priphrique et excuter ce
programme

Administration Linux

A- Dtail du dmarrage dune machine Linux


2

Gestionnaire damorage
Gestionnaire damorage = chargeur = boot loader

est le petit programme lanc sur la machine aprs le BIOS. Sa tche est de lire et mettre
en mmoire limage du noyau dun systme dexploitation, puis de lui passer la main.
Pour tre accessible et excut par le BIOS, celui-ci se trouve dans le premier bloc
de donnes contenu sur le priphrique damorage, plus connu sous le nom de
"MBR" (Master Boot Record).

Administration Linux

MBR

A- Dtail du dmarrage dune machine Linux

hda1
(c:)

hda2
(swap)

hda5
(/)

hda7
(/usr)

hda6
(/var)
hda3

Gestionnaire
d'amorage

Table des
partitions
0xAA55

(446 octets)

Administration Linux

(4*16=64 octets)

Gestionnaire d'amorage

A- Dtail du dmarrage dune machine Linux

MBR

Habituellement, on placera le chargeur Linux dans le MBR, car il s'aura aussi


charger d'autres systmes d'exploitation cohabitant sur la mme machine comme
Windows XP par exemple:

Windows XP

Linux

Certains MPR ne savent booter que certains systmes (par exemple celui de
Windows XP ne sait pas booter un Linux)

Administration Linux

Gestionnaire d'amorage

A- Dtail du dmarrage dune machine Linux


Principe de chainage d'amorage (chainloading)

un MBR qui ne sait pas charger la partition 2 mais tout MBR sait
charger un autre MBR

Windows XP

Administration Linux

PBR

MBR

un autre MBR dans la partition 2 : PBR (Partition Boot Record)

Linux

Gestionnaire d'amorage

A- Dtail du dmarrage dune machine Linux


Sur Linux, deux programmes de MBR principalement :

LILO (Linux Loader) : moins utilis


GRUB (Grand Unified Boot Loader) : plus utilis

LILO et GRUB proposent une interface graphique de dmarrage du systme Linux.

Administration Linux

Gestionnaire d'amorage

10 10

A- Dtail du dmarrage dune machine Linux


a. LILO
LILO (LInux LOader) peut dmarrer diffrents systmes dont DOS, OS/2,
FreeBSD, et bien sr Linux. Il permet en outre de passer en paramtres au noyau
Linux lors de son chargement.

Utilisation
L'interface fournie par LILO soit une invite texte au dmarrage qui affiche
LILO: ou boot:, soit un menu graphique dans lequel on peut naviguer avec les
flches de de direction.

Pour intervenir sur un systme en panne de dmarrage, on peut utiliser le CDRom d'installation et saisir l'invite :
boot: expert

Administration Linux

Gestionnaire d'amorage

11 11

A- Dtail du dmarrage dune machine Linux


Configuration
La modification du MBR (ou du PBR) est ralise par la commande lilo qui suit
les instructions laisses dans le fichier /etc/lilo.conf.
Exemple de fichier de configuration:

Administration Linux

#section gnrale
boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=500
#section image
image=/boot/vmlinuz-2.0.36-0.7
label=linux52
root=/dev/sdb3
initrd=/boot/initrd-2.0.36-0.7.img
read-only
image=/boot/vmlinuz-2.0.35
label=linux51
root=/dev/sda5
initrd=/boot/initrd-2.0.35.img
read-only
#section other
other=/dev/sda1
label=windows98
table=/dev/sda

Gestionnaire d'amorage : LILO

12 12

A- Dtail du dmarrage dune machine Linux


On distingue trois sections :
 une section gnrale unique (global options)
 des sections pour linux (image)
 des sections pour dautres systmes dexploitation (other)

Les deux derniers types de sections servent donc distinguer les systmes dexploitation.
Section gnrale
Cest la premire section du fichier et peut contenir une srie de commandes prcises,
parmi lesquelles :

Administration Linux

Gestionnaire d'amorage : LILO

13 13

A- Dtail du dmarrage dune machine Linux


 boot=<fichier-de-priphrique>
Ce fichier indique o installer lilo :
sil sagit dune disquette, on trouvera /dev/fd0,
sil sagit du secteur damorage de la partition racine, on retrouvera le nom du
fichier de priphrique de la partition linux, par exemple /dev/hda1
sil sagit du MBR, on aura directement /dev/hda, cest -dire le nom du
disque mme
 root=<fichier-de-priphrique>
la partition qui contient le systme de fichiers racine.

 install=<fichier-de-boot>
chemin daccs du chargeur. La valeur par dfaut de cette option est
/boot/boot.b

Administration Linux

Gestionnaire d'amorage : LILO

14 14

A- Dtail du dmarrage dune machine Linux


 promt
si cette option est prsente, LILO affichera une invite et attendra une saisie de
lutilisateur
 timeout
utilis avec loption prompt, permet de dfinir un dlai dattente avant le
dmarrage automatique

section image
Elle intervient aprs la section globale, sachant que lordre des sections est important.
Le mot crucial de cette nouvelle section est image=.
Le but de cette section est dindiquer de quelle manire linux est lanc.
On peut trs bien avoir plusieurs images linux dans le fichier lilo.conf.
cette section regroupe les commandes suivantes :

Administration Linux

Gestionnaire d'amorage : LILO

15 15

A- Dtail du dmarrage dune machine Linux


 image=<nom de fichier>
indique le noyau du systme charger, gnralement /vmlinuz
 label=nom
nom de limage pouvant tre introduit par lutilisateur si loption prompt est
active
 read-only
pour monter la partition en lecture seule afin que le programme de vrification
de lintgrit du disque puisse sexcuter proprement

Administration Linux

Gestionnaire d'amorage : LILO

16 16

A- Dtail du dmarrage dune machine Linux


section other
Il est possible de proposer dautres systmes que linux. La diffrence stablit au travers
de la section other.

 label=nom
Idem que ci-avant

 other=<fichier de priphrique>
permet dindiquer la partition qui abrite un systme dexploitation
autre que Linux.

Administration Linux

Gestionnaire d'amorage : LILO

17 17

A- Dtail du dmarrage dune machine Linux


Enregistrement de la configuration LILO
Une fois ce fichier modifi, il ne faut pas oublier de lancer la commande lilo pour crire
le chargeur dans le MBR avec les directives dfinies prcdemment.

Dsinstallation
Enfin, pour dsinstaller LILO et replacer le MBR dans son tat initial, plusieurs
mthodes existent:
o Sous linux :
[root]# lilo -U
o Sous Windows XP:
fixmbr <nom du priphrique>

Administration Linux

Gestionnaire d'amorage : LILO

18 18

A- Dtail du dmarrage dune machine Linux


b. GRUB
GRUB (GRand Unified Bootloader) est capable de dmarrer peu prs tout, de Linux
Windows NT en passant par BeOS, FreeBSD, OpenBSD, Windows 9x, OS/2

Une autre caractristique intressante de GRUB est la mise disposition d'un mini
shell au dmarrage permettant d'excuter toutes les commandes internes.

Administration Linux

Gestionnaire d'amorage

19 19

A- Dtail du dmarrage dune machine Linux


Shell GRUB
Pour obtenir une mulation du shell GRUB sous Linux, il suffit de saisir la
commande grub. Le mini shell obtenu vous permettra de lancer les mmes
commandes GRUB qu'au dmarrage de la machine ainsi que les instructions
d'installation de GRUB dans le MBR.

Administration Linux

Gestionnaire d'amorage : GRUB

20 20

A- Dtail du dmarrage dune machine Linux


Configuration
Le fichier de configuration de GRUB est /boot/grub/menu.lst ; en voici un
exemple :
## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and the entry number 0 # is the
default if command is not used.
default=0
## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
timeout=10
### BEGIN AUTOMAGIC KERNELS LIST
title
Debian GNU/Linux, kernel 2.6.18-4-686
root
(hd1,0)
kernel
boot/vmlinuz-2.6.18-4-686 root=/dev/hdb1 ro
initrd
/boot/initrd.img-2.6.18-4-686
title
Debian GNU/Linux, kernel 2.6.18-4-686 (recovery mode)
root
(hd1,0)
kernel
boot/vmlinuz-2.6.18-4-686 root=/dev/hdb1 ro single
initrd
/boot/initrd.img-2.6.18-4-686
### END DEBIAN AUTOMAGIC KERNELS LIST
# This entry automatically added by the Debian installer for a non-linux OS on /dev/hda1
title
Windows XP
root
(hd0,0)
chainloader
+1

Administration Linux

Gestionnaire d'amorage : GRUB

21 21

A- Dtail du dmarrage dune machine Linux


Paramtre GRUB

Signification

timeout

Nombre de secondes avant le dmarrage par dfaut .

default n

Dmarrage par dfaut (0=1er titre, 1=2me titre, etc.).

title xxxx

Dbut dune section, entre du menu de GRUB.

root(hdx,y)

Tous les accs fichiers spcifis dessous le seront partir de


cette partition. Ici (hd1,0) reprsente la premire partition du
deuxime disque dtect par le BIOS. Cest la partition /boot .

kernel

Le nom de limage du noyau Linux, suivi de ses paramtres. Le /


nindique pas la racine du systme de fichiers mais celle de
(hd1,0), donc /boot/vmlinuz.. .

initrd

Initial ramdisk. Le noyau va charger ce fichier comme disque en


mmoire pour y trouver une configuration et des pilotes
initiaux.

chainloader +1

Dmarrer le premier secteur de la racine spcifie ci-dessus.

Administration Linux

Gestionnaire d'amorage : GRUB

22 22

A- Dtail du dmarrage dune machine Linux


Si GRUB n'a pas t retenu lors de l'installation de la distribution, il sera ncessaire
d'installer les fichiers de base; cela est facilement ralisable avec la commande grubinstall, suivie du nom du priphrique o le MBR doit tre inscrit :
[root]# grub-install /dev/hda

Dsinstallation
Pour supprimer GRUB du MBR, il suffit d'installer un autre chargeur Linux ou d'utiliser
les commandes DOS/Windows adquates afin de restaurer le bootloader Microsoft.

Administration Linux

Gestionnaire d'amorage : GRUB

23 23

A- Dtail du dmarrage dune machine Linux


3

Chargement du noyau

Une fois charg par le gestionnaire de dmarrage, le noyau Linux effectue


plusieurs oprations :
Dtection du matriel. Cette opration a dj t ralis par le BIOS mais les
systmes d'exploitation rcents prfrent se passer des routines fournies par
celui-ci pour des raisons d'optimisation et de support des dernires technologies.
Montage du systme de fichiers principale contenant la racine / pour accder
certains fichiers comme le binaire du premier programme du systme.
Lancement du premier processus du systme : Init.

Administration Linux

24 24

Plan

Dtail du dmarrage dune machine Linux

Processus Init et niveaux dexcution

Arrt dune machine Linux

Gestion dnergie

Administration Linux

25 25

B- Processus Init et niveaux dexcution


Processus Init
Il a le numro de processus 1 et constitue la racine de tous les autres processus,
directement ou indirectement.
Init est gnralement stock en /sbin.
de quoi est charg le processus init
Il est charg de procder diverses initialisations et configurations, ainsi que de lancer un
certain nombre de dmons, qui sont en fait des services systmes que lon active.
Parmi les initialisations et configurations, nous citerons :
o le contrle des partitions,
o le contrle de lintgrit des systmes de fichiers,
o le montage de ces systmes,
o la configuration de la ou des cartes rseau
o l'affectation des valeurs de base certaines variables d'environnement comme
PATH ou RUNLEVEL

Administration Linux

26 26

B- Processus Init et niveaux dexcution


Pour ce qui concerne lactivation des dmons, il peut sagir :
o du dmon dimpression, lpd,
o des dmons de journalisation, syslogd,
o du dmon de supervision du rseau, inetd,
o du dmon NFS (Network File System),
o des dmons permettant la gestion des console, getty,
o du dmon cron charg de lexcution des tches en diffr
o dun certain nombre de dmons dfinis par ladministrateur, tels que celui
permettant de grer samba, ceux dfinis pour un firewall
o etc

Les services dmarres dpendront du niveau d'excution spcifi au processus Init.

Administration Linux

27 27

B- Processus Init et niveaux dexcution


Il existe huit runlevels dfinis sous Linux, dont quatre rservs :
0 : arrt de la machine ("halt")
 1 : mode mono-utilisateur ou maintenance
 6 : redmarrage de la machine ("reboot")
 S ou s : mode mono-utilisateur dans lequel seule la partition racine est monte;
utile pour vrifier et rparer les autres systmes de fichiers.


Les autres niveaux d'excution sont dfinissables souhait et permettent de


distinguer diffrents modes d'utilisation du systme. Pour Debian :
 2 : mode multiutilisateur et connexion graphique si prsent (Niveau de
dmarrage par dfaut sous Debian)
 3 : libre
 4 : libre
 5 : libre

Administration Linux

28 28

B- Processus Init et niveaux dexcution


Le mode mono-utlisateur
Dans ce cas seul un utilisateur peut se connecter et gnralement cest ladministrateur
qui sassure ainsi quaucun utilisateur ne perturbera le systme.

On utilise gnralement ce niveau pour :


o rsoudre un problme technique,
o installer un nouveau priphrique,
o construire un nouveau noyau.
Cest donc un mode maintenance.

Administration Linux

29 29

B- Processus Init et niveaux dexcution


1

Fichier de configuration /etc/inittab

Pour dfinir le comportement du systme et les services dmarrer en fonction du


niveau d'excution, Init se rfre au fichier de configuration /etc/inittab.
Voici un extrait de ce fichier sur Debian :
# /etc/inittab: init configuration
# The default runlevel.
id:2:initdefault:
# This is run first except when booting in emergency mode.
si::sysinit:/etc/init.d/rcS
# What to do in single-user mode.
~~:S:wait:/sbin/sulogin
# /etc/init.d executes the S and K scripts up on change of
runlevel.
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
# What to do when CTRL-ALT-DEL is pressed
Ca:123456:crlaltdel:/sbin/shitdown t1 a r now

Administration Linux

/
# What to do when the power fails/returns.
pf::powerwait:/etc/init.d/powerfail start
pn::powerfailnow:/etc/init.d/powerfail now
po::powerokwait:/etc/init.d/pwoerfail stop

# Run gettys in standard runlevels


1:2345:respawn:/sbin/getty tty1
2:23:respawn:/sbin/getty tty2
3:23:respawn:/sbin/getty tty3
4:23:respawn:/sbin/getty tty4
5:23:respawn:/sbin/getty tty5
6:23:respawn:/sbin/getty tty6

30 30

B- Processus Init et niveaux dexcution


les entres du fichiers /etc/inittab
Outre les commentaires, ce fichier comporte des lignes du type :

<id>:<levels>:<action>:<process>
id
levels
action
process

: identifiant unique et comprendre de 1 4 caractres alphanumrique.


: les runlevels pour lesquels cette action s'applique
: mthode ou manire d'excuter la commande spcifie dans le champ suivant
: chemin de la commande lancer avec ses paramtres pour les niveaux
d'excution dfinis prcdemment.

Les diffrentes directives pour le troisime champ "action" sont :


respawn : le processus sera relanc s'il se termine. Utilis principalement mingetty
pour assurer la gestion d'un certain nombre de terminaux texte.
once : le processus n'est excut qu'une seule fois.
wait : identique la directive prcdente mais ici, Init attend que le processus soit
termin avant de passer la ligne suivante.
off : ne fait rien; cela revient commenter la ligne.
Administration Linux

31 31

B- Processus Init et niveaux dexcution


boot : le processus est excut au dmarrage du systme, le champ "levels" est ignor.
bootwait : idem, mais ici Init attend que le processus soit termin avant de passer la
ligne suivante.
initdefault : dfinit le niveau d'excution par dfaut au dmarrage du systme. Si cette
directive est absente, Init le demandera sur le console. Le champ
"process" est ignor.
sysinit : la commande sera excut au dmarrage, avant mme les lignes contenant les
directives boot et bootwait.
powerfail : la commande est excut lorsque Init reoit le signal SIGPWR qui signifie
que l'alimentation est sur le point d'tre interrompue.
powerwait : idem, mais ici Init attend que le processus soit termin.
powerokwait : le processus est excut si Init est inform du rtablissement de l'alimentation.
ctrlaltdel : la commande est lance quand Init reoit le signal SIGINT. Ceci se produit
lorsqu'on appuie sur les touches [Ctrl][Alt][Suppr] simultanment partir de la
console. Le processus est gnralement shutdown pour passer en mode
monoutilisateur ou redmarrer le systme.
Administration Linux

32 32

B- Processus Init et niveaux dexcution


L'analyse du fichier de configuration prcdent vous apprend donc que :
o

le niveau d'excution par dfaut est le numro 2.

la commande /etc/init.d/rcS est lance en premier lieu.

la commande /etc/init.d/rc est lance pour chaque niveau d'excution avec son numro
en argument.

la commande /sbin/shutdown est excut avec diffrents arguments lors de l'appui sur
la touche [Ctrl][Alt][Suppr] et lors d'un vnement concernant l'alimentation.
o

six terminaux virtuels "tty" sont initialiss avec la commande /sbin/getty pour les
niveaux d'excution 2 et 3 et un seul pour les niveaux 4 et 5.

Administration Linux

33 33

B- Processus Init et niveaux dexcution


2

Contrle du processus Init

Ce mcanisme permet de changer de niveau d'excution tout moment. L'administrateur


pourra donc modifier l'tat du systme en contrlant le processus Init.
Niveau d'excution courant
On pourra connaitre le niveau d'excution actuel grce la commande runlevel.
Changement de niveau d'excution
Pour controler le processus Init et changer de runlevel, il suffit d'appeler la commande
init ou telinit avec le niveau d'excution (0, 1, 2, 3, 4, 5, 6, S ou s).
Dmarrage en mode mono-utilisateur
Il est possible de forcer le niveau d'excution du systme au dmarrage de la machine en
spcifiant son numro au noyau chatger (ou le mot "single" pour le runlevel S). Ainsi
avec LILO, il faudra saisir au dmarrage : boot : linux single
Sous GRUB, il faudra diter les arguments de l'une des entres en appuyant sur la touche
[e], puis valider aprs l'ajout de single en fin de ligne.
Administration Linux

34 34

B- Processus Init et niveaux dexcution


3

Scripts de dmarrage

Un certain nombre de commandes excutes par init se trouvent dans les rpertoires
/etc/init.d et /etc/rc?.d (? peut tre remplac par 0, 1, 2, 3, 4, 5, 6, S).
root# ls l /etc/init.d
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root
-rwxr-xr-x 1 root

-rwxr-xr-x 1 root
-rwxr-xr-x 1 root

root 1128
root 834
root 1429
root 1176
root 2781
root 17058
root 1368
root 1355
root 1904

aou 9
sep 28
jun 22
avr 14
mar 5
sep 5
fev 2
mai 2
jui 16

2004
2004
2004
2006
2007
2007
2007
2006
2007

alsa
atd
bootclean.sh
bootlogd
checkfs.sh
checkroot.sh
bluetooth
console-screen.sh
crond

root 2235 jui 16 2007 rc


root 1190 jui 16 2007 rcS

/etc/init.d/rcS : nous avons vu que cette commande est excute en premier lieu par Init;
en fait c'est un script shell qui contient toutes les commandes pralables d'initialisation
du systme. Ce script lance tous les scripts de /etc/rcS.d/.

Administration Linux

35 35

B- Processus Init et niveaux dexcution


toujours dans /etc/init.d : les scripts shell permettant de lancer tous les services sur le
systmes. Les scripts prsents ici doivent obligatoirement supporter l'argument start pour
lancer le service et l'argument stop pour l'arrter.

root# /etc/init.d/cron
Usage: /etc/init.d/cron start | stop | restart | reload | force-reload
/etc/rc?.d : ces rpertoires contiennent des liens vers les scripts du rpertoire init.d
lancer lorsque Init entre dans le niveau d'excution correspondant au numro du
rpertoire. Le script rc lancera les scripts contenus dans le rpertoire correspondant au
niveau d'excution pass en argument.


root# ls l /etc/rc3.d
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root
lrwxr-xr-x 1 root

Administration Linux

root
root
root
root
root
root
root
root

13
14
20
11
15
17
14
13

mar
mar
mar
mar
mar
mar
mar
mar

27
28
28
27
27
27
27
28

2006
2006
2006
2006
2006
2006
2006
2006

K201lpd -> ../init.d/lpd


K40alsa -> ../init.d/alsa
K79nfs-common -> ../init.d/nfs-common
S11klogd -> ../init.d/klogd
S20inetd -> ../init.d/inetd
S20postfix -> ../init.d/postfix
S89cron -> ../init.d/cron
S99gdm -> ../init.d/gdm

36 36

B- Processus Init et niveaux dexcution


rc : cette commande parcourt le rpertoire correspondant au runlevel pass en argument
et excute chaque script qui y figure en lanant d'abord ceux commenant par la lettre K
(Kill) avec l'argument stop, puis ceux dbutant par la lettre S (Start) avec l'argument
start; le numro suivent la lettre indiquant l'ordre d'excution.


Tous ces scripts peuvent tre lancs manuellement par l'administrateur sur la ligne de
commandes; il n'est donc pas ncessaire de redmarrer un systme (Debian) aprs l'ajout
d'un service ou la modification de sa configuration.
Par exemple, pour relancer le serveur de messagerie directement partir de la ligne de
commandes :
root# /etc/init.d/postfix restart
Stopping mail transport agent : Postfix.
Starting mail transport agent : Postfix.

Administration Linux

37 37

B- Processus Init et niveaux dexcution


4

Ajout et suppression de services au dmarrage

Le programme /etc/init.d/rc excutant tous les scripts prsents dans le rpertoire du


runlevel, il suffira d'ajouter un lien dans ce rpertoire vers le script adquat pour lancer
(ou arrter ) un service lorsque le systme entre dans ce niveau d'excution.
Par exemple, pour que le serveur Web soit lanc automatiquement au dmarrage (nous
supposons ici que initdefault est positionn 3 dans /etc/inittab), sachant que le script
contrlant ce service est /etc/init.d/apache2, il faudra crer un lien ce script en respectant
certains points :


ce lien doit se trouver dans /etc/rc3.d puisque c'est le rpertoire du runlevel par dfaut.

le nom de ce lien doit commencer par la lettre S puisque l'on veut dmarrer le service.

le numro suivant la premire lettre doit tenir des autres services devant tre lancs au
pralable.




la fin de ce nom de fichier devrait tre significative : apache2 est un bon choix ici.

Administration Linux

38 38

B- Processus Init et niveaux dexcution


5

Rpertoire /etc/rcS.d

Le premier script appel par init est /etc/init.d/rcS et ce dernier appelle tous les scripts se
trouvant dans /etc/rcS.d. les scripts qui s'y trouvent permettent de dfinir les paramtres
du systme, d'effectuer des initialisations comme le chargement des modules, le
dmarrage des services rseau, le rglage de l'horloge.

Administration Linux

39 39

Plan

Dtail du dmarrage dune machine Linux

Processus Init et niveaux dexcution

Arrt dune machine Linux

Gestion dnergie

Administration Linux

40 40

C- Arrt dune machine Linux


 Pourquoi faut-il arrter un systme Linux proprement ?
 Pour 2 raisons principales :
 Pour arrter les processus qui fonctionnent et librer les diffrentes
ressources utilises
 mmoire
 connexions rseau
 fichiers disque ouverts
 Pour arrter les processus qui fonctionnent et librer les diffrentes
ressources utilises
 Linux utilise la mthode asynchrone d'criture sur disque
 Donc, lorsqu'un fichier est modifi, cette modification ne sera effective sur
le disque qu'au bout d'un certain temps
 Si le systme de fichiers n'est pas synchronis (sync) avant l'arrt, le
systme de fichiers peut tre corrompu
 Il devra tre vrifi et rpar (fsck) au redmarrage, lors du montage du
systme de fichiers, ce qui peut prendre beaucoup de temps
 Sans compter la perte possible d'informations !!!
Administration Linux

41 41

C- Arrt dune machine Linux


 Comment arrter un systme Linux ?
Plusieurs mthodes permettent darrter proprement une machine sous Linux. Tout
dabord les arrts sont aussi grs par Init avec les niveaux 0 et 6.
Cest ainsi que la commande suivante teint lordinateur : # init 0
Et que celle-ci le reboote :
# init 6

Commande: shutdown

Cependant la commande la plus correcte, la plus propre et la plus scuritaire pour arrter
le systme est shutdown. Shutdown appelle Init, mais accepte des paramtres
supplmentaires. Sa syntaxe de base est :
shutdown <param> <dlai> <message>

Administration Linux

42 42

C- Arrt dune machine Linux


Les paramtres sont :
Paramtre

Action

-k

Neffectue pas le shutdown mais envoie le message tout le monde

-r

Cest un reboot

-h

(halt) cest un arrt.

-f

Empche lexcution de fsck au boot

-F

Force lexcution de fsck au boot

-c

Annule le shutdown sans dlai, mais un message est possible

Le dlai peut tre spcifi de diffrentes manires :


o hh:mm : une heure prcise.
o +m : dans m minutes.
o now : un alias pour +0, cest--dire tout de suite.

Administration Linux

43 43

C- Arrt dune machine Linux


 Lexemple suivant programme un reboot pour dans 10 minutes avec un message
davertissement.
# shutdown -r +10 "Reboot pour maintenance dans 10 minutes"
 Lexemple suivant annule le reboot.
# shutdown -c "Maintenance annule"

Commande: halt, reboot

Les commandes d'arrt halt et reboot sont utilises dans le dernier script lanc des
niveaux d'excution 0 et 6 :
 halt : synchnorise les disques avec les tampons, met jour le fichier /var/log/wtmp
(qui contient un historique des utilisateurs connects) et arrte le systme.
 reboot : identique halt sauf pour le dernier point o la commande redmarre le
systme au lieu de l'arrter.

Administration Linux

44 44

Plan

Dtail du dmarrage dune machine Linux

Processus Init et niveaux dexcution

Arrt dune machine Linux

Gestion dnergie

Administration Linux

45 45

D- Gestion dnergie
Onduleurs
Nous avons vu que le fichier /etc/inittab tait dot de quatre directives permettant la
gestion d'nergie: powerfail, powerwait, powerokwait et pawerfailnow.
C'est au programme grant l'onduleur d'envoyer le signal SIGPWR Init et de
renseigner le fichier /etc/powerstatus sur l'tat de l'alimentation lectrique.
Lorsque Init reoit un signal SIGPWR, il regarde dans /etc/powerstatus.
Si celui-ci contient FAIL, il excute les entres powerfail et powerwait du fichier
/etc/inittab. S'il contient OK, il excute l'entre powerokwait. Enfin, si la chaine de
caractre est LOW, il excute l'entre powerfailnow.

Administration Linux

46 46

Вам также может понравиться