linux - editions eni est éditeur de livres informatique ... · historique de unix ... invite shell...

48
Editions ENI Linux Principes de base de l’utilisation du système (5 e édition) Collection Ressources Informatiques Table des matières

Upload: votuyen

Post on 14-Sep-2018

221 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

Editions ENI

LinuxPrincipes de base

de l’utilisation du système (5e édition)

CollectionRessources Informatiques

Table des matières

Page 2: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

1Table des matières

Avant-propos

Chapitre 1Introduction

1. Historique de Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.1 FSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2 CopyLeft et GPL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3. Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163.1 Caractéristiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183.2 Distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

4. Quelle distribution choisir ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214.1 Les distributions "grand public" . . . . . . . . . . . . . . . . . . . . . . . . . . 224.2 Les distributions "mobiles" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.3 Les distributions "professionnelles" . . . . . . . . . . . . . . . . . . . . . . . 254.4 Les distributions "spécialisées" . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

Chapitre 2Connexion et premières commandes

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2. Consoles et terminaux Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.1 Consoles virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2 Émulateurs de terminaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3 Terminaux distants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3. Connexion et authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4. Invite shell (prompt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

5. Syntaxe des commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6. Utilisation de la souris . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Page 3: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

2Principes de base de l’utilisation du système

Linux

7. Raccourcis-clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.1 En mode texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.2 En mode graphique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

8. Premières commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458.1 Identité des utilisateurs : who, whoami, finger . . . . . . . . . . . . . 458.2 Changement de mot de passe : passwd . . . . . . . . . . . . . . . . . . . 478.3 Comptage : wc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478.4 Affichage : clear, echo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488.5 Temps : date, cal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

9. Déconnexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

10. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Chapitre 3Documentation

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

2. Manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.1 Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532.2 Commande man . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.3 /etc/man.config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582.4 /etc/man_db.conf et /etc/manpath.config . . . . . . . . . . . . . . . . . 59

3. Documentation Info. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.1 Commande info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 603.2 Organisation de la documentation . . . . . . . . . . . . . . . . . . . . . . . 623.3 Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623.4 Considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

4. Option --help des commandes sous Linux . . . . . . . . . . . . . . . . . . . . . 66

5. Documentation HOWTO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

6. /usr/share/doc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Page 4: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

3Table des matières

7. Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.1 Sites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.2 Groupes de discussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

8. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Chapitre 4L'arborescence Linux

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

2. Principaux répertoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772.1 /bin, /sbin, /lib . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 772.2 /boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782.3 /dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 782.4 /home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.5 /root. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.6 /tmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802.7 /lost+found . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812.8 /mnt. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812.9 /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 812.10 /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822.11 /usr. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 822.12 /var . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 842.13 /run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 852.14 /etc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86

3. Montages et accès aux médias amovibles . . . . . . . . . . . . . . . . . . . . . . 863.1 Commande mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873.2 Commande umount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 893.3 Boîte à outils mtools. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

4. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Page 5: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

4Principes de base de l’utilisation du système

Linux

Chapitre 5Manipulation de fichiers

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

2. Noms des fichiers et des répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . 93

3. Types de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

4. Chemins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964.1 Chemins absolus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 974.2 Chemins relatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 984.3 Chemins personnels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

5. Exploration de l'arborescence. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.1 pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.2 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1005.3 ls. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015.4 file . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065.5 stat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

6. Répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.1 mkdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1086.2 rmdir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

7. Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107.1 touch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1107.2 cp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1117.3 rm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1147.4 mv . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

8. Organisation physique des fichiers sous Linux . . . . . . . . . . . . . . . . 1178.1 Inodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1178.2 Blocs de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

9. Gestionnaires de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209.1 Midnight Commander . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1209.2 Dolphin, Nautilus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

Page 6: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

5Table des matières

10. Consultation de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12310.1 cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12310.2 more, less. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12310.3 od, strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

11. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Chapitre 6Édition de fichiers texte - Vi

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

2. Présentation de Vi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1302.1 Lancement de Vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1312.2 Modes de fonctionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322.3 Commandes de déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . 1332.4 Commandes d'insertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1362.5 Commandes d'édition et de correction . . . . . . . . . . . . . . . . . . . 1372.6 Commandes globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1392.7 Fichier de configuration personnel . . . . . . . . . . . . . . . . . . . . . . 1442.8 Autres commandes utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145

3. Autres outils d'édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453.1 Autres éditeurs texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1463.2 Éditeurs hexadécimaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152

4. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

Page 7: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

6Principes de base de l’utilisation du système

Linux

Chapitre 7Droits d'accès aux fichiers

1. Concepts de comptes utilisateur et de groupes . . . . . . . . . . . . . . . . 1551.1 Hiérarchie des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1571.2 Commandes utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

2. Droits Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1592.1 Droits standards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602.2 SUID, SGID et Sticky Bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

3. Gestion des droits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1683.1 chgrp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1683.2 chmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1693.3 umask . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1733.4 Gestionnaires de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

4. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Chapitre 8Gestion des processus

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

2. Arborescence de processus et PID . . . . . . . . . . . . . . . . . . . . . . . . . . . 180

3. Visualisation des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803.1 ps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1803.2 top . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1863.3 pstree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188

4. Signaux et commande kill . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189

5. Gestionnaires de processus graphiques . . . . . . . . . . . . . . . . . . . . . . . 192

6. Manipulation des processus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936.1 Lancer un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1936.2 Arrêter un processus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1946.3 Contrôler les processus lancés en ligne de commande . . . . . . . 195

7. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197

Page 8: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

7Table des matières

Chapitre 9Shell Bash

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

2. Généralités et définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199

3. Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2013.1 Manipulation de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2023.2 Variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207

4. Caractères génériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

5. Caractères de citation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

6. Redirections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2196.1 Descripteurs de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2196.2 Redirection de l'entrée standard . . . . . . . . . . . . . . . . . . . . . . . . 2216.3 Redirection de la sortie standard . . . . . . . . . . . . . . . . . . . . . . . . 2226.4 Redirection de l'erreur standard. . . . . . . . . . . . . . . . . . . . . . . . . 2236.5 Redirections combinées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2246.6 Exemples de redirections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2256.7 Les tubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228

7. Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

8. Exécution de commandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2328.1 Commandes internes du shell . . . . . . . . . . . . . . . . . . . . . . . . . . 2328.2 Commandes externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2338.3 type, whereis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

9. Substitution de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

10. Options du shell Bash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235

11. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

Page 9: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

8Principes de base de l’utilisation du système

Linux

Chapitre 10Programmation et scripts Bash

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

2. Scripts shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2412.1 Appel et exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2422.2 Méthodes de travail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

3. Codes retour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

4. Enchaînement de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2504.1 Exécution séquentielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2504.2 Exécution conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

5. Variables spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2525.1 $$, $PPID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2525.2 $0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2525.3 $1, $2, $3, ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2535.4 $# . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2545.5 $*, $@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2545.6 $LINENO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255

6. Commande test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2566.1 Test de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2566.2 Test de chaînes de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . 2586.3 Test arithmétique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2596.4 Test de l'environnement utilisateur . . . . . . . . . . . . . . . . . . . . . 2606.5 Combinaison d'expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

7. Opérations arithmétiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2627.1 expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2627.2 let, (()) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265

8. Commande read . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267

9. Structures de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2709.1 L'instruction if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2709.2 L'instruction for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2719.3 L'instruction while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272

Page 10: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

9Table des matières

10. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273

Chapitre 11Gestion du compte utilisateur

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

2. Modification du compte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275

3. Données personnelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2783.1 /home . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2793.2 /tmp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2793.3 /var/spool/* . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280

4. Environnement shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2804.1 /etc/profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2804.2 ~/.bash_profile, ~/.bash_login, ~/.profile . . . . . . . . . . . . . . . 2814.3 ~/.bashrc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2814.4 /etc/bashrc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2824.5 ~/.bash_logout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

5. Environnement graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282

6. Sauvegarde des données utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . 284

7. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

Chapitre 12Outils Linux

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

2. find. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2922.1 Chemin de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2922.2 Expressions de sélection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2932.3 Opérateurs sur les expressions. . . . . . . . . . . . . . . . . . . . . . . . . . 2982.4 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301

Page 11: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

10Principes de base de l’utilisation du système

Linux

3. grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3033.1 Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3053.2 Expressions régulières. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308

4. cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309

5. sort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311

6. head, tail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

7. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

Chapitre 13Configuration basique du système

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317

2. Installation de logiciels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3172.1 Les paquetages RPM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3182.2 Les paquetages Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3192.3 Les archives compressées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321

3. Outils d'administration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327

Page 12: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

Editions ENI

LinuxAdministration avancée

Maintenance et exploitation de vos serveurs

(2e édition)

CollectionExpert IT

Table des matières

Page 13: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

1Table des matières

Chapitre 1Introduction

1. Que contient ce livre ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3. Obtenir les logiciels mis en œuvre. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1 Image ISO des distributions Linux . . . . . . . . . . . . . . . . . . . . . . . 203.2 Oracle VM VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Machines virtuelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Chapitre 2Architecture du système GNU/Linux

1. Vue d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.1 Projet GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.2 Distribution GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2. Anneaux de protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1 Architecture 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.1.1 Sans virtualisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1.2 Avec virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.2 Architecture 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.1 Sans virtualisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.2 Avec virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3. Plates-formes matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.1 Sur quelles plates-formes ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2 Identifier l'architecture matérielle . . . . . . . . . . . . . . . . . . . . . . . . 36

Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr 

Saisissez la référence ENI de l'ouvrage EI2LINAA dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 14: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

2Administration avancée

Linux

4. Noyau Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.1 Composants du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Code source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.3 Version du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3.1 Bref historique des versions . . . . . . . . . . . . . . . . . . . . . . . 394.3.2 Numéros de version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.3 Comment connaître la version du noyau ? . . . . . . . . . . . 41

4.4 Modules du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5. Pilotes de périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1 Fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 Pilotes réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6. Bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.1 Bibliothèques statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.2 Bibliothèques partagées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.3 Emplacement des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . . 51

7. Appels système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8. Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548.1 Différents shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.1.1 Bourne Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.1.2 Almquist Shell et Debian Almquist Shell . . . . . . . . . . . . 558.1.3 Korn Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.1.4 C-Shell et Tenex C-Shell . . . . . . . . . . . . . . . . . . . . . . . . . 598.1.5 Bourne Again Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.2 Quel est le shell de connexion ?. . . . . . . . . . . . . . . . . . . . . . . . . . 618.3 Pages de manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.3.1 Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628.3.2 Rechercher l'aide d'une commande . . . . . . . . . . . . . . . . . 64

9. Interface graphique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669.1 Couches graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

9.1.1 Transport réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679.1.2 Système de fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679.1.3 Gestionnaire d'affichage . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Page 15: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

3Table des matières

9.1.4 Gestionnaire de session. . . . . . . . . . . . . . . . . . . . . . . . . . . 699.1.5 Gestionnaire de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . 699.1.6 Gestionnaire de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

9.2 Désinstaller un environnement graphique . . . . . . . . . . . . . . . . . 71

10. Services et niveaux d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7310.1 Gestion des services avec Debian. . . . . . . . . . . . . . . . . . . . . . . . . 74

10.1.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 7410.1.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 7510.1.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 7610.1.4 Recharger la configuration d'un service . . . . . . . . . . . . . . 7610.1.5 Activer/désactiver des services au démarrage . . . . . . . . . 77

10.2 Gestion des services avec Ubuntu Server . . . . . . . . . . . . . . . . . . 7810.2.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 8110.2.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 8210.2.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 8310.2.4 Recharger la configuration d'un service . . . . . . . . . . . . . . 8410.2.5 Activer/désactiver des services au démarrage . . . . . . . . . 84

10.3 Gestion des services avec CentOS . . . . . . . . . . . . . . . . . . . . . . . . 8510.3.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 8510.3.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 8610.3.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 8610.3.4 Recharger la configuration d'un service . . . . . . . . . . . . . 8610.3.5 Activer/désactiver des services au démarrage . . . . . . . . . 87

11. Chargeurs d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.1 LILO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.2 GRUB legacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.3 GRUB-PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

12. Journaux système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.1 Journaux de Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.2 Journaux de Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9112.3 Journaux de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Page 16: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

4Administration avancée

Linux

12.4 Lire les journaux système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9512.4.1 Lire un journal texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9512.4.2 Lire un journal binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 9812.4.3 Logwatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

12.5 rsyslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10212.5.1 rsyslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10212.5.2 Les règles de rsyslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

12.6 Logrotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

13. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10713.1 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

13.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10813.1.2 Identifiant de processus . . . . . . . . . . . . . . . . . . . . . . . . . 10913.1.3 État d'un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10913.1.4 Fonction fork() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11013.1.5 Fonction exec() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

13.2 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

14. Distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.1 Identifier la distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.2 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

14.2.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11414.2.2 Différentes versions de Debian . . . . . . . . . . . . . . . . . . . 114

14.3 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.3.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.3.2 Différentes versions d’Ubuntu. . . . . . . . . . . . . . . . . . . . 115

14.4 Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11614.4.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11614.4.2 Différentes versions de Red Hat . . . . . . . . . . . . . . . . . . 116

14.5 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11714.6 Identifier la version de la distribution . . . . . . . . . . . . . . . . . . . . 117

14.6.1 Version de Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11714.6.2 Version d’Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11814.6.3 Version de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Page 17: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

5Table des matières

15. Modèle du système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

16. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Chapitre 3Noyau Linux

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211.1 Pourquoi compiler un noyau ? . . . . . . . . . . . . . . . . . . . . . . . . . . 1211.2 Fichiers composant le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

2. Compiler et installer un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222.1 Effectuer une compilation classique . . . . . . . . . . . . . . . . . . . . . 122

2.1.1 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232.1.2 Télécharger le code source du noyau . . . . . . . . . . . . . . . 1232.1.3 Outils pour configurer le noyau. . . . . . . . . . . . . . . . . . . 1262.1.4 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . 1322.1.5 Supprimer les fichiers d’une précédente compilation. . 1332.1.6 Construire le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342.1.7 Installer un module de noyau. . . . . . . . . . . . . . . . . . . . . 135

2.2 Compiler un noyau façon Debian . . . . . . . . . . . . . . . . . . . . . . . 1372.2.1 Paquets nécessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372.2.2 Privilèges utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382.2.3 Supprimer les fichiers d’une précédente compilation. . 1392.2.4 Construire un noyau. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402.2.5 Installer un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

3. Désinstaller un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1433.1 Debian et Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

3.1.1 Lister les noyaux installés. . . . . . . . . . . . . . . . . . . . . . . . 1433.1.2 Désinstaller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

3.2 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453.2.1 Lister les noyaux installés. . . . . . . . . . . . . . . . . . . . . . . . 1453.2.2 Désinstaller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453.2.3 Limiter le nombre de paquets. . . . . . . . . . . . . . . . . . . . . 147

Page 18: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

6Administration avancée

Linux

4. Choisir un noyau au démarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.1 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.2 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494.3 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504.4 Délai pour choisir le noyau à exécuter . . . . . . . . . . . . . . . . . . . 150

5. Kernel panic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.1 Caractérisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.2 Fréquence du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1535.3 Analyse de la source du problème . . . . . . . . . . . . . . . . . . . . . . . 1535.4 Analyse du matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545.5 Analyse des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.5.1 Chargeur d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565.5.2 Origine du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565.5.3 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.6 Recherche de solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575.7 Appliquer la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

6. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Chapitre 4Modules

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

2. Compiler et installer un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602.1 Prérequis à la compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

2.1.1 Debian et Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602.1.2 Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

2.2 Écrire un module « Hello world ». . . . . . . . . . . . . . . . . . . . . . . . 1602.2.1 Rédiger le code source . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.2.2 Créer le fichier Makefile . . . . . . . . . . . . . . . . . . . . . . . . . 1622.2.3 Compiler le code source hello.c . . . . . . . . . . . . . . . . . . . 163

Page 19: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

7Table des matières

3. Charger un module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.1 Installer le module hello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.2 insmod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643.3 Gérer les dépendances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643.4 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653.5 Charger un module au démarrage . . . . . . . . . . . . . . . . . . . . . . . 166

3.5.1 Debian et Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663.5.2 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

4. Décharger un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

5. Lister les modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1695.1 Lister tous les modules disponibles . . . . . . . . . . . . . . . . . . . . . . 1695.2 Lister les modules chargés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

6. Obtenir des informations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7. Bloquer un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8. Journaux système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

9. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Chapitre 5Pseudo-systèmes de fichiers

1. procfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771.2 Principaux fichiers de /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

1.2.1 /proc/acpi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781.2.2 /proc/apm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791.2.3 /proc/bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791.2.4 /proc/cmdline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1821.2.5 /proc/cpuinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1821.2.6 /proc/crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1831.2.7 /proc/devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1841.2.8 /proc/dma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1851.2.9 /proc/filesystems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Page 20: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

8Administration avancée

Linux

1.2.10 /proc/fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1861.2.11 /proc/ide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1861.2.12 /proc/interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871.2.13 /proc/iomem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1881.2.14 /proc/ioports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1881.2.15 /proc/irq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1891.2.16 /proc/kcore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911.2.17 /proc/loadavg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911.2.18 /proc/mdstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1921.2.19 /proc/meminfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1921.2.20 /proc/misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1951.2.21 /proc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1951.2.22 /proc/mounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1961.2.23 /proc/net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1971.2.24 /proc/partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1971.2.25 /proc/self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981.2.26 /proc/stat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981.2.27 /proc/swaps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.2.28 /proc/sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.2.29 /proc/scsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111.2.30 /proc/tty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2131.2.31 /proc/uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.32 /proc/version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.33 /proc/vmallocinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.34 /proc/vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2151.2.35 /proc/zoneinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

1.3 Dossiers d'un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.1 /proc/1/cmdline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.2 /proc/1/cwd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.3 /proc/1/environ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.4 /proc/1/exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.5 /proc/1/fd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.6 /proc/1/maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Page 21: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

9Table des matières

1.3.7 /proc/1/smaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181.3.8 /proc/1/mem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191.3.9 /proc/1/root. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191.3.10 /proc/1/stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201.3.11 /proc/1/statm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201.3.12 /proc/1/status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

1.4 Modification des paramètres du noyau. . . . . . . . . . . . . . . . . . . 2211.4.1 Modification volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . 2221.4.2 Modification permanente. . . . . . . . . . . . . . . . . . . . . . . . 223

2. sysfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2252.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2252.2 Principaux fichiers de /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

2.2.1 /sys/block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2262.2.2 /sys/bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2262.2.3 /sys/class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2272.2.4 /sys/dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2272.2.5 /sys/devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2282.2.6 /sys/firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2282.2.7 /sys/fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2292.2.8 /sys/hypervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2302.2.9 /sys/kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2302.2.10 /sys/module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322.2.11 /sys/power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

2.3 Utilitaire systool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342.3.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342.3.2 Utilisation de systool . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

2.4 Modification des paramètres du noyau. . . . . . . . . . . . . . . . . . . 240

3. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Page 22: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

10Administration avancée

Linux

Chapitre 6Dépannage matériel

1. Types de problèmes matériels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431.1 Pannes matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

1.1.1 Non-fonctionnement du matériel . . . . . . . . . . . . . . . . . 2431.1.2 Fonctionnement erratique du matériel . . . . . . . . . . . . . 2441.1.3 Problèmes de firmware et de pilote . . . . . . . . . . . . . . . . 2441.1.4 Autres considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

1.2 Matériel non détecté par le système . . . . . . . . . . . . . . . . . . . . . 245

2. Analyser le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2462.1 Lister le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

2.1.1 Installation de lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2462.1.2 Utilisation de lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

2.2 Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2532.3 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2532.4 Table DMI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2542.5 Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

2.5.1 lspci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2582.5.2 lsusb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612.5.3 lsscsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632.5.4 lspcmcia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

2.6 Mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2672.6.1 Informations sur la mémoire . . . . . . . . . . . . . . . . . . . . . 2672.6.2 Diagnostiquer la mémoire . . . . . . . . . . . . . . . . . . . . . . . 269

2.7 Carte graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2702.8 Disques durs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

2.8.1 Informations sur les contrôleurs . . . . . . . . . . . . . . . . . . 2712.8.2 Informations sur les disques. . . . . . . . . . . . . . . . . . . . . . 2722.8.3 Informations sur les volumes . . . . . . . . . . . . . . . . . . . . . 2732.8.4 Diagnostiquer un disque dur . . . . . . . . . . . . . . . . . . . . . 275

2.9 Carte réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

3. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Page 23: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

11Table des matières

Chapitre 7Maintenance des disques

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

2. Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2892.1 Table de partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

2.1.1 Type msdos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2912.1.2 Type GPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2922.1.3 Convertir du MBR vers GPT . . . . . . . . . . . . . . . . . . . . . 2932.1.4 Supprimer une table de partition. . . . . . . . . . . . . . . . . . 295

2.2 Outils de partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2962.2.1 fdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2962.2.2 cfdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3042.2.3 GNU parted. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3072.2.4 GParted et QtParted . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3102.2.5 Live CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

3. Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3143.1 Terminologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

3.1.1 Volume physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3143.1.2 Groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3153.1.3 Volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3153.1.4 Métadonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

3.2 Administration des volumes physiques . . . . . . . . . . . . . . . . . . 3173.2.1 Créer un volume physique . . . . . . . . . . . . . . . . . . . . . . . 3173.2.2 Afficher les volumes physiques . . . . . . . . . . . . . . . . . . . 3193.2.3 Modifier la taille d'un volume physique . . . . . . . . . . . . 3213.2.4 Supprimer un volume physique . . . . . . . . . . . . . . . . . . . 322

3.3 Administration des groupes de volumes . . . . . . . . . . . . . . . . . . 3233.3.1 Créer un groupe de volumes. . . . . . . . . . . . . . . . . . . . . . 3233.3.2 Afficher les groupes de volumes. . . . . . . . . . . . . . . . . . . 3243.3.3 Ajouter un volume physique au groupe de volumes . . 3273.3.4 Retirer un volume physique du groupe de volumes . . . 3293.3.5 Activer ou désactiver un groupe de volumes. . . . . . . . . 330

Page 24: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

12Administration avancée

Linux

3.3.6 Supprimer un groupe de volumes . . . . . . . . . . . . . . . . . 3303.3.7 Diviser un groupe de volumes . . . . . . . . . . . . . . . . . . . . 3313.3.8 Fusionner des groupes de volumes. . . . . . . . . . . . . . . . . 3333.3.9 Renommer un groupe de volumes . . . . . . . . . . . . . . . . . 334

3.4 Administration des volumes logiques . . . . . . . . . . . . . . . . . . . . 3353.4.1 Créer des volumes logiques en mode linéaire . . . . . . . . 3353.4.2 Créer des volumes logiques en mode stripe. . . . . . . . . . 3393.4.3 Créer des volumes logiques en miroir . . . . . . . . . . . . . . 3433.4.4 Créer des snapshots de volume logique . . . . . . . . . . . . . 3473.4.5 Afficher les volumes logiques . . . . . . . . . . . . . . . . . . . . . 3503.4.6 Augmenter la taille d'un volume logique. . . . . . . . . . . . 3523.4.7 Réduire la taille d'un volume logique. . . . . . . . . . . . . . . 3543.4.8 Renommer un volume logique. . . . . . . . . . . . . . . . . . . . 3563.4.9 Supprimer un volume logique . . . . . . . . . . . . . . . . . . . . 357

3.5 Déplacer des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

4. Systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3624.1 ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

4.1.1 Blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3634.1.2 Superbloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3644.1.3 Inodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3664.1.4 Créer un système de fichiers ext2 . . . . . . . . . . . . . . . . . 368

4.2 ext3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3684.2.1 La journalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3694.2.2 Convertir une partition ext2 en ext3. . . . . . . . . . . . . . . 3694.2.3 Créer un système de fichiers ext3 . . . . . . . . . . . . . . . . . 370

4.3 ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3714.3.1 Convertir une partition ext3 en ext4. . . . . . . . . . . . . . . 3724.3.2 Créer un système de fichiers ext4 . . . . . . . . . . . . . . . . . 373

5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3745.1 Partitionnement pendant l'installation. . . . . . . . . . . . . . . . . . . 3745.2 Partitionnement post-installation. . . . . . . . . . . . . . . . . . . . . . . 376

Page 25: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

13Table des matières

Chapitre 8Séquence d'amorçage

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

2. Processus d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

3. GRUB 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3793.1 Identifier la version de GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 3793.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

4. Sauver et restaurer le MBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

5. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Chapitre 9Maintenance des applications

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

2. Application ne s'exécutant pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3872.1 Description d'un paquet installé . . . . . . . . . . . . . . . . . . . . . . . . 3882.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3922.3 Consulter les journaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3932.4 Filtrages réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4012.5 Dépendances du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . 4032.6 Emplacement des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . 4042.7 Mode de débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

3. Application ne répondant pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4083.1 Mode débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4083.2 Terminer un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

3.2.1 Rechercher un PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4093.2.2 Outils pour terminer un processus . . . . . . . . . . . . . . . . 412

4. Fonctionnement dégradé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

5. Comportements inattendus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4185.1 Supprimer les zombies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4195.2 Fuite de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Page 26: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

14Administration avancée

Linux

6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4246.1 Tuer un programme zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . 4246.2 Identifier une fuite mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

Chapitre 10Maintenance de la configuration réseau

1. Modèles de communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4291.1 Rappel du modèle OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4291.2 Modèle TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.3 Modèle OSI contre modèle TCP/IP. . . . . . . . . . . . . . . . . . . . . . 432

2. Interface physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4332.1 Détection du matériel et du pilote . . . . . . . . . . . . . . . . . . . . . . 4332.2 Adressage physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

2.2.1 Identifier l'adresse MAC . . . . . . . . . . . . . . . . . . . . . . . . . 4362.2.2 Cache ARP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4382.2.3 ARPing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

3. Interface logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.1 CentOS 7 : changer le nom de l'interface . . . . . . . . . . . . . . . . . 4413.2 Activer/désactiver une interface . . . . . . . . . . . . . . . . . . . . . . . . 4443.3 Configurer une interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

3.3.1 Configuration des interfaces sous Debian et Ubuntu . 4463.3.2 Configuration des interfaces sous CentOS . . . . . . . . . . 4483.3.3 Utilitaire ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4503.3.4 Interface virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

3.4 Adressage IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4533.4.1 Adresse IPv4 statique . . . . . . . . . . . . . . . . . . . . . . . . . . . 4553.4.2 Adressage IPv4 dynamique. . . . . . . . . . . . . . . . . . . . . . . 4563.4.3 Supprimer l'adresse IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . 456

3.5 Passerelle par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4573.6 Résolution de noms d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

3.6.1 Tester la résolution de noms . . . . . . . . . . . . . . . . . . . . . 4593.6.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . 461

Page 27: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

15Table des matières

4. Outils d'analyse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4614.1 Problèmes de connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

4.1.1 Vérifier la configuration TCP/IP . . . . . . . . . . . . . . . . . . 4624.1.2 Vérifier l'ajout au réseau . . . . . . . . . . . . . . . . . . . . . . . . . 4634.1.3 Vérifier la communication locale . . . . . . . . . . . . . . . . . . 4634.1.4 Vérifier la communication distante . . . . . . . . . . . . . . . . 464

4.2 Bloquer/débloquer le ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4654.2.1 Bloquer ping avec /proc . . . . . . . . . . . . . . . . . . . . . . . . . 4654.2.2 Bloquer ping avec iptables . . . . . . . . . . . . . . . . . . . . . . . 466

4.3 Ports ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4704.4 Bande passante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4775.1 Collecter la configuration d'une carte réseau . . . . . . . . . . . . . . 4775.2 Renommer l'interface réseau en eth0 . . . . . . . . . . . . . . . . . . . . 478

Chapitre 11Analyse des performances

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

2. Goulet d'étranglement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4802.1 Identifier les ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4802.2 Capturer et stocker des données . . . . . . . . . . . . . . . . . . . . . . . . 481

3. Processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

4. Mémoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4874.1 Mémoire physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

4.1.1 Architecture x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4874.1.2 Architecture x86_64/amd64. . . . . . . . . . . . . . . . . . . . . . 488

4.2 Mémoire tampon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4884.3 Mémoire cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4894.4 L'espace d'échange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

4.4.1 Swap en tant que partition . . . . . . . . . . . . . . . . . . . . . . 4904.4.2 Swap en tant que fichier. . . . . . . . . . . . . . . . . . . . . . . . . 490

Page 28: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

16Administration avancée

Linux

4.5 Mémoire virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4924.6 Afficher la mémoire du système . . . . . . . . . . . . . . . . . . . . . . . . 4924.7 La carte mémoire d'un programme . . . . . . . . . . . . . . . . . . . . . . 4954.8 Mémoire insuffisante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497

5. Disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

6. Interfaces réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

7. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5057.1 Création d'un fichier swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5057.2 Stress de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

Chapitre 12Sécurité

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

2. Sécurité physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.1 Qui doit accéder à la machine ? . . . . . . . . . . . . . . . . . . . . . . . . . 5082.2 Alimentation électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.3 Interfaces de communication . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.4 BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

3. Sécurité logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.1 Version des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.2 Que faut-il installer ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.3 Mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5173.4 Gérer des paquets deb avec apt . . . . . . . . . . . . . . . . . . . . . . . . . 519

3.4.1 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5203.4.2 Rechercher des paquets. . . . . . . . . . . . . . . . . . . . . . . . . . 5203.4.3 Afficher la description d'un paquet . . . . . . . . . . . . . . . . 5213.4.4 Afficher les dépendances . . . . . . . . . . . . . . . . . . . . . . . . 5233.4.5 Installer les dépendances . . . . . . . . . . . . . . . . . . . . . . . . 5283.4.6 Afficher les informations d'un paquet . . . . . . . . . . . . . . 5303.4.7 Identifier le dépôt d'un paquet. . . . . . . . . . . . . . . . . . . . 5303.4.8 Provenance d'un fichier. . . . . . . . . . . . . . . . . . . . . . . . . . 530

Page 29: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

17Table des matières

3.4.9 Lister le contenu d'un paquet . . . . . . . . . . . . . . . . . . . . . 5343.4.10 Rechercher les versions des paquets disponibles . . . . . 5343.4.11 Mettre à jour les dépôts . . . . . . . . . . . . . . . . . . . . . . . . . 5363.4.12 Mettre à jour les paquets système . . . . . . . . . . . . . . . . . 5373.4.13 Désinstaller un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . 5383.4.14 Supprimer les paquets d'installation . . . . . . . . . . . . . . . 540

3.5 Gérer des paquets deb avec dpkg . . . . . . . . . . . . . . . . . . . . . . . . 5413.5.1 Lister les paquets installés . . . . . . . . . . . . . . . . . . . . . . . 5413.5.2 Reconfigurer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . 5443.5.3 Traiter les paquets cassés . . . . . . . . . . . . . . . . . . . . . . . . 544

3.6 Gérer les paquets RPM avec yum . . . . . . . . . . . . . . . . . . . . . . . 5443.6.1 Mise à jour du système . . . . . . . . . . . . . . . . . . . . . . . . . . 5443.6.2 Rechercher un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5473.6.3 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5493.6.4 Supprimer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5503.6.5 Afficher les informations du paquet . . . . . . . . . . . . . . . 5523.6.6 Mise à jour sélective . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5533.6.7 Gérer les groupes de programmes . . . . . . . . . . . . . . . . . 553

3.7 Gérer les paquets RPM avec rpm. . . . . . . . . . . . . . . . . . . . . . . . 5553.7.1 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5553.7.2 Lire les informations d'un paquet . . . . . . . . . . . . . . . . . 5563.7.3 Afficher tous les paquets installés . . . . . . . . . . . . . . . . . 5573.7.4 Modifier le format d'affichage . . . . . . . . . . . . . . . . . . . . 558

3.8 Identification et authentification . . . . . . . . . . . . . . . . . . . . . . . 5583.8.1 Types de compte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5583.8.2 Caractéristiques d’un compte . . . . . . . . . . . . . . . . . . . . 5593.8.3 Caractéristiques du compte root . . . . . . . . . . . . . . . . . . 5603.8.4 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.5 Profil utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.6 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.7 Vérifier les fichiers de comptes. . . . . . . . . . . . . . . . . . . . 562

Page 30: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

18Administration avancée

Linux

3.9 Configuration réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5633.9.1 Identifier les ports ouverts . . . . . . . . . . . . . . . . . . . . . . . 5633.9.2 Pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565

3.10 Faut-il un antivirus ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566

AnnexeCorrection des exercices

1. Exercice du chapitre Architecture du système GNU/Linux . . . . . . 567

2. Exercice du chapitre Noyau Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . 570

3. Exercice du chapitre Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572

4. Exercice du chapitre Pseudo-systèmes de fichiers . . . . . . . . . . . . . . 574

5. Exercice du chapitre Dépannage matériel . . . . . . . . . . . . . . . . . . . . . 575

6. Exercice du chapitre Maintenance des disques. . . . . . . . . . . . . . . . . 5786.1 Partitionnement pendant l'installation. . . . . . . . . . . . . . . . . . . 5786.2 Partitionnement post-installation. . . . . . . . . . . . . . . . . . . . . . . 588

7. Exercice du chapitre Séquence d’amorçage . . . . . . . . . . . . . . . . . . . . 592

8. Exercice du chapitre Maintenance des applications. . . . . . . . . . . . . 5938.1 Tuer un programme zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . 5948.2 Identifier une fuite mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

9. Exercice du chapitre Maintenance de la configuration réseau. . . . . 5989.1 Collecter la configuration d'une carte réseau . . . . . . . . . . . . . . 5989.2 Renommer l'interface réseau en eth0 . . . . . . . . . . . . . . . . . . . . 599

10. Exercice du chapitre Analyse des performances . . . . . . . . . . . . . . . . 60110.1 Création d'un fichier swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60110.2 Stress de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605

Page 31: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

1Table des matières

Chapitre 1Introduction

1. Que contient ce livre ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2. Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3. Obtenir les logiciels mis en œuvre. . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1 Image ISO des distributions Linux . . . . . . . . . . . . . . . . . . . . . . . 203.2 Oracle VM VirtualBox . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Machines virtuelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.4 Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Chapitre 2Architecture du système GNU/Linux

1. Vue d'ensemble . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.1 Projet GNU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291.2 Distribution GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2. Anneaux de protection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322.1 Architecture 32 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

2.1.1 Sans virtualisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332.1.2 Avec virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.2 Architecture 64 bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.1 Sans virtualisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.2.2 Avec virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

3. Plates-formes matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.1 Sur quelles plates-formes ?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363.2 Identifier l'architecture matérielle . . . . . . . . . . . . . . . . . . . . . . . . 36

Les éléments à télécharger sont disponibles à l'adresse suivante : http://www.editions-eni.fr 

Saisissez la référence ENI de l'ouvrage EI2LINAA dans la zone de recherche et validez. Cliquez sur le titre du livre puis sur le bouton de téléchargement.

Page 32: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

2Administration avancée

Linux

4. Noyau Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.1 Composants du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Code source. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384.3 Version du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

4.3.1 Bref historique des versions . . . . . . . . . . . . . . . . . . . . . . . 394.3.2 Numéros de version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.3.3 Comment connaître la version du noyau ? . . . . . . . . . . . 41

4.4 Modules du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

5. Pilotes de périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.1 Fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2 Pilotes réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

6. Bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.1 Bibliothèques statiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.2 Bibliothèques partagées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.3 Emplacement des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . . 51

7. Appels système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

8. Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548.1 Différents shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

8.1.1 Bourne Shell. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558.1.2 Almquist Shell et Debian Almquist Shell . . . . . . . . . . . . 558.1.3 Korn Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568.1.4 C-Shell et Tenex C-Shell . . . . . . . . . . . . . . . . . . . . . . . . . 598.1.5 Bourne Again Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

8.2 Quel est le shell de connexion ?. . . . . . . . . . . . . . . . . . . . . . . . . . 618.3 Pages de manuel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

8.3.1 Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628.3.2 Rechercher l'aide d'une commande . . . . . . . . . . . . . . . . . 64

9. Interface graphique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669.1 Couches graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

9.1.1 Transport réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679.1.2 Système de fenêtrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679.1.3 Gestionnaire d'affichage . . . . . . . . . . . . . . . . . . . . . . . . . . 68

Page 33: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

3Table des matières

9.1.4 Gestionnaire de session. . . . . . . . . . . . . . . . . . . . . . . . . . . 699.1.5 Gestionnaire de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . 699.1.6 Gestionnaire de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

9.2 Désinstaller un environnement graphique . . . . . . . . . . . . . . . . . 71

10. Services et niveaux d’exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7310.1 Gestion des services avec Debian. . . . . . . . . . . . . . . . . . . . . . . . . 74

10.1.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 7410.1.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 7510.1.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 7610.1.4 Recharger la configuration d'un service . . . . . . . . . . . . . . 7610.1.5 Activer/désactiver des services au démarrage . . . . . . . . . 77

10.2 Gestion des services avec Ubuntu Server . . . . . . . . . . . . . . . . . . 7810.2.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 8110.2.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 8210.2.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 8310.2.4 Recharger la configuration d'un service . . . . . . . . . . . . . . 8410.2.5 Activer/désactiver des services au démarrage . . . . . . . . . 84

10.3 Gestion des services avec CentOS . . . . . . . . . . . . . . . . . . . . . . . . 8510.3.1 Afficher le statut d'un service. . . . . . . . . . . . . . . . . . . . . . 8510.3.2 Afficher le statut de tous les services . . . . . . . . . . . . . . . . 8610.3.3 Démarrer/arrêter un service . . . . . . . . . . . . . . . . . . . . . . . 8610.3.4 Recharger la configuration d'un service . . . . . . . . . . . . . 8610.3.5 Activer/désactiver des services au démarrage . . . . . . . . . 87

11. Chargeurs d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.1 LILO. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.2 GRUB legacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8811.3 GRUB-PC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

12. Journaux système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.1 Journaux de Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8912.2 Journaux de Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9112.3 Journaux de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

Page 34: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

4Administration avancée

Linux

12.4 Lire les journaux système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9512.4.1 Lire un journal texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9512.4.2 Lire un journal binaire . . . . . . . . . . . . . . . . . . . . . . . . . . . 9812.4.3 Logwatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

12.5 rsyslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10212.5.1 rsyslog.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10212.5.2 Les règles de rsyslog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

12.6 Logrotate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105

13. Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10713.1 Processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

13.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10813.1.2 Identifiant de processus . . . . . . . . . . . . . . . . . . . . . . . . . 10913.1.3 État d'un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10913.1.4 Fonction fork() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11013.1.5 Fonction exec() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

13.2 Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

14. Distributions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.1 Identifier la distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11314.2 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

14.2.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11414.2.2 Différentes versions de Debian . . . . . . . . . . . . . . . . . . . 114

14.3 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.3.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11514.3.2 Différentes versions d’Ubuntu. . . . . . . . . . . . . . . . . . . . 115

14.4 Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11614.4.1 Présentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11614.4.2 Différentes versions de Red Hat . . . . . . . . . . . . . . . . . . 116

14.5 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11714.6 Identifier la version de la distribution . . . . . . . . . . . . . . . . . . . . 117

14.6.1 Version de Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11714.6.2 Version d’Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11814.6.3 Version de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

Page 35: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

5Table des matières

15. Modèle du système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

16. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Chapitre 3Noyau Linux

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1211.1 Pourquoi compiler un noyau ? . . . . . . . . . . . . . . . . . . . . . . . . . . 1211.2 Fichiers composant le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

2. Compiler et installer un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222.1 Effectuer une compilation classique . . . . . . . . . . . . . . . . . . . . . 122

2.1.1 Prérequis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1232.1.2 Télécharger le code source du noyau . . . . . . . . . . . . . . . 1232.1.3 Outils pour configurer le noyau. . . . . . . . . . . . . . . . . . . 1262.1.4 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . 1322.1.5 Supprimer les fichiers d’une précédente compilation. . 1332.1.6 Construire le noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1342.1.7 Installer un module de noyau. . . . . . . . . . . . . . . . . . . . . 135

2.2 Compiler un noyau façon Debian . . . . . . . . . . . . . . . . . . . . . . . 1372.2.1 Paquets nécessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1372.2.2 Privilèges utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1382.2.3 Supprimer les fichiers d’une précédente compilation. . 1392.2.4 Construire un noyau. . . . . . . . . . . . . . . . . . . . . . . . . . . . 1402.2.5 Installer un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

3. Désinstaller un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1433.1 Debian et Ubuntu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

3.1.1 Lister les noyaux installés. . . . . . . . . . . . . . . . . . . . . . . . 1433.1.2 Désinstaller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

3.2 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453.2.1 Lister les noyaux installés. . . . . . . . . . . . . . . . . . . . . . . . 1453.2.2 Désinstaller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1453.2.3 Limiter le nombre de paquets. . . . . . . . . . . . . . . . . . . . . 147

Page 36: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

6Administration avancée

Linux

4. Choisir un noyau au démarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.1 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1484.2 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1494.3 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1504.4 Délai pour choisir le noyau à exécuter . . . . . . . . . . . . . . . . . . . 150

5. Kernel panic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.1 Caractérisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1525.2 Fréquence du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1535.3 Analyse de la source du problème . . . . . . . . . . . . . . . . . . . . . . . 1535.4 Analyse du matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1545.5 Analyse des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

5.5.1 Chargeur d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565.5.2 Origine du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1565.5.3 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

5.6 Recherche de solutions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1575.7 Appliquer la solution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

6. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158

Chapitre 4Modules

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

2. Compiler et installer un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602.1 Prérequis à la compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

2.1.1 Debian et Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1602.1.2 Red Hat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160

2.2 Écrire un module « Hello world ». . . . . . . . . . . . . . . . . . . . . . . . 1602.2.1 Rédiger le code source . . . . . . . . . . . . . . . . . . . . . . . . . . . 1612.2.2 Créer le fichier Makefile . . . . . . . . . . . . . . . . . . . . . . . . . 1622.2.3 Compiler le code source hello.c . . . . . . . . . . . . . . . . . . . 163

Page 37: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

7Table des matières

3. Charger un module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.1 Installer le module hello . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1633.2 insmod. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643.3 Gérer les dépendances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1643.4 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1653.5 Charger un module au démarrage . . . . . . . . . . . . . . . . . . . . . . . 166

3.5.1 Debian et Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1663.5.2 CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

4. Décharger un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

5. Lister les modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1695.1 Lister tous les modules disponibles . . . . . . . . . . . . . . . . . . . . . . 1695.2 Lister les modules chargés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169

6. Obtenir des informations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170

7. Bloquer un module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

8. Journaux système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

9. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175

Chapitre 5Pseudo-systèmes de fichiers

1. procfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1771.2 Principaux fichiers de /proc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

1.2.1 /proc/acpi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1781.2.2 /proc/apm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791.2.3 /proc/bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1791.2.4 /proc/cmdline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1821.2.5 /proc/cpuinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1821.2.6 /proc/crypto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1831.2.7 /proc/devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1841.2.8 /proc/dma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1851.2.9 /proc/filesystems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

Page 38: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

8Administration avancée

Linux

1.2.10 /proc/fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1861.2.11 /proc/ide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1861.2.12 /proc/interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1871.2.13 /proc/iomem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1881.2.14 /proc/ioports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1881.2.15 /proc/irq. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1891.2.16 /proc/kcore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911.2.17 /proc/loadavg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1911.2.18 /proc/mdstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1921.2.19 /proc/meminfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1921.2.20 /proc/misc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1951.2.21 /proc/modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1951.2.22 /proc/mounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1961.2.23 /proc/net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1971.2.24 /proc/partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1971.2.25 /proc/self . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981.2.26 /proc/stat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1981.2.27 /proc/swaps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.2.28 /proc/sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1991.2.29 /proc/scsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2111.2.30 /proc/tty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2131.2.31 /proc/uptime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.32 /proc/version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.33 /proc/vmallocinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2141.2.34 /proc/vmstat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2151.2.35 /proc/zoneinfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

1.3 Dossiers d'un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.1 /proc/1/cmdline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.2 /proc/1/cwd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2161.3.3 /proc/1/environ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.4 /proc/1/exe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.5 /proc/1/fd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2171.3.6 /proc/1/maps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217

Page 39: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

9Table des matières

1.3.7 /proc/1/smaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2181.3.8 /proc/1/mem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191.3.9 /proc/1/root. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2191.3.10 /proc/1/stat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201.3.11 /proc/1/statm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2201.3.12 /proc/1/status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

1.4 Modification des paramètres du noyau. . . . . . . . . . . . . . . . . . . 2211.4.1 Modification volatile . . . . . . . . . . . . . . . . . . . . . . . . . . . 2221.4.2 Modification permanente. . . . . . . . . . . . . . . . . . . . . . . . 223

2. sysfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2252.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2252.2 Principaux fichiers de /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226

2.2.1 /sys/block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2262.2.2 /sys/bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2262.2.3 /sys/class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2272.2.4 /sys/dev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2272.2.5 /sys/devices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2282.2.6 /sys/firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2282.2.7 /sys/fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2292.2.8 /sys/hypervisor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2302.2.9 /sys/kernel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2302.2.10 /sys/module. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2322.2.11 /sys/power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

2.3 Utilitaire systool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342.3.1 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2342.3.2 Utilisation de systool . . . . . . . . . . . . . . . . . . . . . . . . . . . 236

2.4 Modification des paramètres du noyau. . . . . . . . . . . . . . . . . . . 240

3. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241

Page 40: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

10Administration avancée

Linux

Chapitre 6Dépannage matériel

1. Types de problèmes matériels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2431.1 Pannes matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243

1.1.1 Non-fonctionnement du matériel . . . . . . . . . . . . . . . . . 2431.1.2 Fonctionnement erratique du matériel . . . . . . . . . . . . . 2441.1.3 Problèmes de firmware et de pilote . . . . . . . . . . . . . . . . 2441.1.4 Autres considérations . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

1.2 Matériel non détecté par le système . . . . . . . . . . . . . . . . . . . . . 245

2. Analyser le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2462.1 Lister le matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

2.1.1 Installation de lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2462.1.2 Utilisation de lshw . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

2.2 Système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2532.3 CPU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2532.4 Table DMI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2542.5 Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258

2.5.1 lspci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2582.5.2 lsusb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2612.5.3 lsscsi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2632.5.4 lspcmcia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

2.6 Mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2672.6.1 Informations sur la mémoire . . . . . . . . . . . . . . . . . . . . . 2672.6.2 Diagnostiquer la mémoire . . . . . . . . . . . . . . . . . . . . . . . 269

2.7 Carte graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2702.8 Disques durs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

2.8.1 Informations sur les contrôleurs . . . . . . . . . . . . . . . . . . 2712.8.2 Informations sur les disques. . . . . . . . . . . . . . . . . . . . . . 2722.8.3 Informations sur les volumes . . . . . . . . . . . . . . . . . . . . . 2732.8.4 Diagnostiquer un disque dur . . . . . . . . . . . . . . . . . . . . . 275

2.9 Carte réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283

3. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287

Page 41: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

11Table des matières

Chapitre 7Maintenance des disques

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289

2. Partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2892.1 Table de partition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291

2.1.1 Type msdos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2912.1.2 Type GPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2922.1.3 Convertir du MBR vers GPT . . . . . . . . . . . . . . . . . . . . . 2932.1.4 Supprimer une table de partition. . . . . . . . . . . . . . . . . . 295

2.2 Outils de partitionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2962.2.1 fdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2962.2.2 cfdisk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3042.2.3 GNU parted. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3072.2.4 GParted et QtParted . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3102.2.5 Live CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313

3. Logical Volume Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3143.1 Terminologie. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314

3.1.1 Volume physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3143.1.2 Groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3153.1.3 Volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3153.1.4 Métadonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316

3.2 Administration des volumes physiques . . . . . . . . . . . . . . . . . . 3173.2.1 Créer un volume physique . . . . . . . . . . . . . . . . . . . . . . . 3173.2.2 Afficher les volumes physiques . . . . . . . . . . . . . . . . . . . 3193.2.3 Modifier la taille d'un volume physique . . . . . . . . . . . . 3213.2.4 Supprimer un volume physique . . . . . . . . . . . . . . . . . . . 322

3.3 Administration des groupes de volumes . . . . . . . . . . . . . . . . . . 3233.3.1 Créer un groupe de volumes. . . . . . . . . . . . . . . . . . . . . . 3233.3.2 Afficher les groupes de volumes. . . . . . . . . . . . . . . . . . . 3243.3.3 Ajouter un volume physique au groupe de volumes . . 3273.3.4 Retirer un volume physique du groupe de volumes . . . 3293.3.5 Activer ou désactiver un groupe de volumes. . . . . . . . . 330

Page 42: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

12Administration avancée

Linux

3.3.6 Supprimer un groupe de volumes . . . . . . . . . . . . . . . . . 3303.3.7 Diviser un groupe de volumes . . . . . . . . . . . . . . . . . . . . 3313.3.8 Fusionner des groupes de volumes. . . . . . . . . . . . . . . . . 3333.3.9 Renommer un groupe de volumes . . . . . . . . . . . . . . . . . 334

3.4 Administration des volumes logiques . . . . . . . . . . . . . . . . . . . . 3353.4.1 Créer des volumes logiques en mode linéaire . . . . . . . . 3353.4.2 Créer des volumes logiques en mode stripe. . . . . . . . . . 3393.4.3 Créer des volumes logiques en miroir . . . . . . . . . . . . . . 3433.4.4 Créer des snapshots de volume logique . . . . . . . . . . . . . 3473.4.5 Afficher les volumes logiques . . . . . . . . . . . . . . . . . . . . . 3503.4.6 Augmenter la taille d'un volume logique. . . . . . . . . . . . 3523.4.7 Réduire la taille d'un volume logique. . . . . . . . . . . . . . . 3543.4.8 Renommer un volume logique. . . . . . . . . . . . . . . . . . . . 3563.4.9 Supprimer un volume logique . . . . . . . . . . . . . . . . . . . . 357

3.5 Déplacer des données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

4. Systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3624.1 ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363

4.1.1 Blocs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3634.1.2 Superbloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3644.1.3 Inodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3664.1.4 Créer un système de fichiers ext2 . . . . . . . . . . . . . . . . . 368

4.2 ext3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3684.2.1 La journalisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3694.2.2 Convertir une partition ext2 en ext3. . . . . . . . . . . . . . . 3694.2.3 Créer un système de fichiers ext3 . . . . . . . . . . . . . . . . . 370

4.3 ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3714.3.1 Convertir une partition ext3 en ext4. . . . . . . . . . . . . . . 3724.3.2 Créer un système de fichiers ext4 . . . . . . . . . . . . . . . . . 373

5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3745.1 Partitionnement pendant l'installation. . . . . . . . . . . . . . . . . . . 3745.2 Partitionnement post-installation. . . . . . . . . . . . . . . . . . . . . . . 376

Page 43: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

13Table des matières

Chapitre 8Séquence d'amorçage

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

2. Processus d'amorçage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377

3. GRUB 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3793.1 Identifier la version de GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . 3793.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379

4. Sauver et restaurer le MBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

5. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385

Chapitre 9Maintenance des applications

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387

2. Application ne s'exécutant pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3872.1 Description d'un paquet installé . . . . . . . . . . . . . . . . . . . . . . . . 3882.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3922.3 Consulter les journaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3932.4 Filtrages réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4012.5 Dépendances du programme . . . . . . . . . . . . . . . . . . . . . . . . . . . 4032.6 Emplacement des bibliothèques . . . . . . . . . . . . . . . . . . . . . . . . 4042.7 Mode de débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

3. Application ne répondant pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4083.1 Mode débogage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4083.2 Terminer un processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

3.2.1 Rechercher un PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4093.2.2 Outils pour terminer un processus . . . . . . . . . . . . . . . . 412

4. Fonctionnement dégradé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418

5. Comportements inattendus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4185.1 Supprimer les zombies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4195.2 Fuite de mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 420

Page 44: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

14Administration avancée

Linux

6. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4246.1 Tuer un programme zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . 4246.2 Identifier une fuite mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

Chapitre 10Maintenance de la configuration réseau

1. Modèles de communication. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4291.1 Rappel du modèle OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4291.2 Modèle TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4311.3 Modèle OSI contre modèle TCP/IP. . . . . . . . . . . . . . . . . . . . . . 432

2. Interface physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4332.1 Détection du matériel et du pilote . . . . . . . . . . . . . . . . . . . . . . 4332.2 Adressage physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436

2.2.1 Identifier l'adresse MAC . . . . . . . . . . . . . . . . . . . . . . . . . 4362.2.2 Cache ARP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4382.2.3 ARPing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440

3. Interface logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4413.1 CentOS 7 : changer le nom de l'interface . . . . . . . . . . . . . . . . . 4413.2 Activer/désactiver une interface . . . . . . . . . . . . . . . . . . . . . . . . 4443.3 Configurer une interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446

3.3.1 Configuration des interfaces sous Debian et Ubuntu . 4463.3.2 Configuration des interfaces sous CentOS . . . . . . . . . . 4483.3.3 Utilitaire ethtool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4503.3.4 Interface virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

3.4 Adressage IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4533.4.1 Adresse IPv4 statique . . . . . . . . . . . . . . . . . . . . . . . . . . . 4553.4.2 Adressage IPv4 dynamique. . . . . . . . . . . . . . . . . . . . . . . 4563.4.3 Supprimer l'adresse IPv4 . . . . . . . . . . . . . . . . . . . . . . . . . 456

3.5 Passerelle par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4573.6 Résolution de noms d'hôtes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

3.6.1 Tester la résolution de noms . . . . . . . . . . . . . . . . . . . . . 4593.6.2 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . 461

Page 45: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

15Table des matières

4. Outils d'analyse. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4614.1 Problèmes de connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

4.1.1 Vérifier la configuration TCP/IP . . . . . . . . . . . . . . . . . . 4624.1.2 Vérifier l'ajout au réseau . . . . . . . . . . . . . . . . . . . . . . . . . 4634.1.3 Vérifier la communication locale . . . . . . . . . . . . . . . . . . 4634.1.4 Vérifier la communication distante . . . . . . . . . . . . . . . . 464

4.2 Bloquer/débloquer le ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4654.2.1 Bloquer ping avec /proc . . . . . . . . . . . . . . . . . . . . . . . . . 4654.2.2 Bloquer ping avec iptables . . . . . . . . . . . . . . . . . . . . . . . 466

4.3 Ports ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4704.4 Bande passante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471

5. Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4775.1 Collecter la configuration d'une carte réseau . . . . . . . . . . . . . . 4775.2 Renommer l'interface réseau en eth0 . . . . . . . . . . . . . . . . . . . . 478

Chapitre 11Analyse des performances

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479

2. Goulet d'étranglement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4802.1 Identifier les ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4802.2 Capturer et stocker des données . . . . . . . . . . . . . . . . . . . . . . . . 481

3. Processeur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

4. Mémoires. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4874.1 Mémoire physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

4.1.1 Architecture x86 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4874.1.2 Architecture x86_64/amd64. . . . . . . . . . . . . . . . . . . . . . 488

4.2 Mémoire tampon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4884.3 Mémoire cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4894.4 L'espace d'échange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489

4.4.1 Swap en tant que partition . . . . . . . . . . . . . . . . . . . . . . 4904.4.2 Swap en tant que fichier. . . . . . . . . . . . . . . . . . . . . . . . . 490

Page 46: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

16Administration avancée

Linux

4.5 Mémoire virtuelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4924.6 Afficher la mémoire du système . . . . . . . . . . . . . . . . . . . . . . . . 4924.7 La carte mémoire d'un programme . . . . . . . . . . . . . . . . . . . . . . 4954.8 Mémoire insuffisante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497

5. Disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

6. Interfaces réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502

7. Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5057.1 Création d'un fichier swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5057.2 Stress de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506

Chapitre 12Sécurité

1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507

2. Sécurité physique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.1 Qui doit accéder à la machine ? . . . . . . . . . . . . . . . . . . . . . . . . . 5082.2 Alimentation électrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.3 Interfaces de communication . . . . . . . . . . . . . . . . . . . . . . . . . . 5082.4 BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515

3. Sécurité logicielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.1 Version des logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.2 Que faut-il installer ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5163.3 Mise à jour . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5173.4 Gérer des paquets deb avec apt . . . . . . . . . . . . . . . . . . . . . . . . . 519

3.4.1 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5203.4.2 Rechercher des paquets. . . . . . . . . . . . . . . . . . . . . . . . . . 5203.4.3 Afficher la description d'un paquet . . . . . . . . . . . . . . . . 5213.4.4 Afficher les dépendances . . . . . . . . . . . . . . . . . . . . . . . . 5233.4.5 Installer les dépendances . . . . . . . . . . . . . . . . . . . . . . . . 5283.4.6 Afficher les informations d'un paquet . . . . . . . . . . . . . . 5303.4.7 Identifier le dépôt d'un paquet. . . . . . . . . . . . . . . . . . . . 5303.4.8 Provenance d'un fichier. . . . . . . . . . . . . . . . . . . . . . . . . . 530

Page 47: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

17Table des matières

3.4.9 Lister le contenu d'un paquet . . . . . . . . . . . . . . . . . . . . . 5343.4.10 Rechercher les versions des paquets disponibles . . . . . 5343.4.11 Mettre à jour les dépôts . . . . . . . . . . . . . . . . . . . . . . . . . 5363.4.12 Mettre à jour les paquets système . . . . . . . . . . . . . . . . . 5373.4.13 Désinstaller un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . 5383.4.14 Supprimer les paquets d'installation . . . . . . . . . . . . . . . 540

3.5 Gérer des paquets deb avec dpkg . . . . . . . . . . . . . . . . . . . . . . . . 5413.5.1 Lister les paquets installés . . . . . . . . . . . . . . . . . . . . . . . 5413.5.2 Reconfigurer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . 5433.5.3 Traiter les paquets cassés . . . . . . . . . . . . . . . . . . . . . . . . 544

3.6 Gérer les paquets RPM avec yum . . . . . . . . . . . . . . . . . . . . . . . 5443.6.1 Mise à jour du système . . . . . . . . . . . . . . . . . . . . . . . . . . 5443.6.2 Rechercher un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5473.6.3 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5493.6.4 Supprimer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . 5503.6.5 Afficher les informations du paquet . . . . . . . . . . . . . . . 5523.6.6 Mise à jour sélective . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5533.6.7 Gérer les groupes de programmes . . . . . . . . . . . . . . . . . 553

3.7 Gérer les paquets RPM avec rpm. . . . . . . . . . . . . . . . . . . . . . . . 5553.7.1 Installer un paquet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5553.7.2 Lire les informations d'un paquet . . . . . . . . . . . . . . . . . 5563.7.3 Afficher tous les paquets installés . . . . . . . . . . . . . . . . . 5573.7.4 Modifier le format d'affichage . . . . . . . . . . . . . . . . . . . . 558

3.8 Identification et authentification . . . . . . . . . . . . . . . . . . . . . . . 5583.8.1 Types de compte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5583.8.2 Caractéristiques d’un compte . . . . . . . . . . . . . . . . . . . . 5593.8.3 Caractéristiques du compte root . . . . . . . . . . . . . . . . . . 5603.8.4 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.5 Profil utilisateur. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.6 Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5613.8.7 Vérifier les fichiers de comptes. . . . . . . . . . . . . . . . . . . . 562

Page 48: Linux - Editions ENI est éditeur de livres informatique ... · Historique de Unix ... Invite shell (prompt ... 2.1 Droits standards . . . . . . . . . . . . . . . . . . . . .

18Administration avancée

Linux

3.9 Configuration réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5633.9.1 Identifier les ports ouverts . . . . . . . . . . . . . . . . . . . . . . . 5633.9.2 Pare-feu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565

3.10 Faut-il un antivirus ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566

AnnexeCorrection des exercices

1. Exercice du chapitre Architecture du système GNU/Linux . . . . . . 567

2. Exercice du chapitre Noyau Linux. . . . . . . . . . . . . . . . . . . . . . . . . . . 570

3. Exercice du chapitre Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572

4. Exercice du chapitre Pseudo-systèmes de fichiers . . . . . . . . . . . . . . 574

5. Exercice du chapitre Dépannage matériel . . . . . . . . . . . . . . . . . . . . . 575

6. Exercice du chapitre Maintenance des disques. . . . . . . . . . . . . . . . . 5786.1 Partitionnement pendant l'installation. . . . . . . . . . . . . . . . . . . 5786.2 Partitionnement post-installation. . . . . . . . . . . . . . . . . . . . . . . 588

7. Exercice du chapitre Séquence d’amorçage . . . . . . . . . . . . . . . . . . . . 592

8. Exercice du chapitre Maintenance des applications. . . . . . . . . . . . . 5938.1 Tuer un programme zombie . . . . . . . . . . . . . . . . . . . . . . . . . . . 5948.2 Identifier une fuite mémoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 595

9. Exercice du chapitre Maintenance de la configuration réseau. . . . . 5989.1 Collecter la configuration d'une carte réseau . . . . . . . . . . . . . . 5989.2 Renommer l'interface réseau en eth0 . . . . . . . . . . . . . . . . . . . . 599

10. Exercice du chapitre Analyse des performances . . . . . . . . . . . . . . . . 60110.1 Création d'un fichier swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60110.2 Stress de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605