Vous êtes sur la page 1sur 35

LINUX

Maîtrisez l’administration du système

Maîtrisez l’administration du système


Ce livre sur l’administration du système Linux s’adresse à tout Sébastien ROHAUT
informaticien appelé à gérer ce système d’exploitation et désireux Après plusieurs années passées
d’apprendre ou de consolider des bases acquises sur le terrain.

LINUX
sur des missions d’ingénierie sys-
Quelle que soit la distribution Linux utilisée (que ce soit en entre- tème, Sébastien ROHAUT est au-
prise ou à la maison), toutes les méthodes et commandes d’admi- jourd’hui responsable des opéra-
nistration de Linux sont présentées et détaillées. Cette nouvelle tions d’une plateforme digitale d’un
édition du livre tient compte des dernières évolutions de Linux et grand groupe français. Il a égale-
présente notamment xfs, systemd ou encore firewalld. ment enseigné pendant près de
11 ans à des classes préparatoires
Le livre fait le tour des connaissances nécessaires à l’installation
et d’ingénieurs, notamment dans le
d’une distribution : la gestion des paquetages logiciels, la compi-

LINUX
cadre de la préparation aux exa-
lation depuis les sources, les bibliothèques partagées, les princi-
mens Linux. Cette riche expérience
pales commandes Gnu et les scripts shell, la gestion des disques, technique et pédagogique lui per-
systèmes de fichiers et quotas, la mise en place de volumes met de proposer aux lecteurs un

Maîtrisez l’administration
RAID et LVM, le démarrage et l’arrêt du système et des services livre très efficace sur l’administra-
avec systemd, l’impression et les tâches d’administration com- tion d’un système Linux.
munes dont la gestion des utilisateurs et l’automatisation des

du système
tâches, la configuration du réseau et des services de base asso-
ciés, le noyau et sa compilation, les bases de la sécurité et des
firewalls, la configuration de l’environnement graphique.
Tous les points traités sont agrémentés d’exemples et leur maî-
trise fera de vous un administrateur système Linux compétent.

5 édition
e
Les chapitres du livre
Avant-propos  • Présentation de Linux  • Installation de Linux et
des logiciels • Le shell et les commandes GNU • Les disques et le
système de fichiers • Boot, services, noyau et périphériques • Les
tâches administratives  • Le réseau  • La sécurité  • X Window  •

Nouvelle édition
Partitionnement avancé : RAID, LVM et BTRFS • Annexe

Pour plus
ISBN : 978-2-409-00797-2

d’informations :
29,90 €

Sébastien ROHAUT
Table des matières 1

Chapitre 1
Présentation de Linux
1. Bienvenue dans le monde Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.1 Un nouveau monde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.2 Histoire des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.1 Complexité des ordinateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.2.2 L'intelligence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.3 Le système d'exploitation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.4 Le système Unix, une brève histoire. . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.1 De MULTICS à UNIX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4.2 Le langage C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.4.3 Les licences et l'avènement de BSD et System V . . . . . . . . . . 38
1.4.4 La guerre des Unix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.4.5 La standardisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.4.6 Unix est un standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
1.4.7 Unix sur les ordinateurs personnels . . . . . . . . . . . . . . . . . . . . 41
2. Le logiciel libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1 Les origines du logiciel libre. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.2 Le projet GNU et la FSF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2.3 L'open source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
2.4 GNU/Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.1 Linus Torvalds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2.4.2 L'accident . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.3 La première version officielle . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.4 Le succès communautaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
2.4.5 Les années 1994-1997 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.6 À partir de 1998 : l'explosion . . . . . . . . . . . . . . . . . . . . . . . . . . 48
2.4.7 Aujourd'hui et demain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3. Quel matériel pour Linux ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.1 L'architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.2 Un point sur les SSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3 Compatibilité du matériel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
4. Choisir une distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1 Debian . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.3 Red Hat, Fedora et CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
2 Linux
Maîtrisez l’administration du système

4.4 OpenSUSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
4.5 Les autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4.6 Les LiveCD ou LiveUSB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
5. Obtenir de l'aide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.1 L'aide propre aux commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.2 L'aide interne au shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
5.3 Le manuel en ligne de commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.1 Accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.2 Structure d'une page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
5.3.3 Navigation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
5.3.4 Les sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
5.3.5 Rechercher par correspondance . . . . . . . . . . . . . . . . . . . . . . . . 69
5.4 Les pages info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5.5 Rechercher de l'aide sur Internet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Chapitre 2
Installation de Linux et des logiciels
1. Installer une Ubuntu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.1 Support d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
1.2 Boot sur le support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
1.3 Choix des langues et pays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
1.4 Choix de la carte réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
1.5 Hôte et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.6 Miroir d’installation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
1.7 Comptes root et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
1.8 Fuseau horaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.9 Partitionnement des disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
1.10 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
1.11 Configuration des packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
1.12 Horloge UTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
1.13 Fin d'installation et redémarrage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
2. Installation de CentOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.1 Support d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
2.2 Boot sur le support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
2.3 Langue d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Table des matières 3

2.4 Résumé de l'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90


2.5 Clavier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2.6 Destination de l’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
2.7 Configuration du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.8 Horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.9 Source d’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.10 Sélection de logiciels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.11 Utilisateurs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.12 Fin de l’installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
3. Red Hat Package Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.1 Notion de package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
3.2 Le gestionnaire RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
3.3 Installation, mise à jour et suppression . . . . . . . . . . . . . . . . . . . . . . . 104
3.4 Cas du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.5 Requêtes RPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3.6 Vérification des packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.7 Les dépendances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.8 Extraction du contenu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.9 Mises à jour automatisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4. YUM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.1 Configuration des dépôts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
4.2 Utilisation des dépôts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2.1 Rafraîchir le cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
4.2.2 Lister les packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
4.2.3 Installer des packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
4.2.4 Mises à jour. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
4.2.5 Rechercher un package. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.2.6 Supprimer un package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.2.7 Télécharger un package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
4.3 La commande dnf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5. Debian Package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5.1 dpkg : le gestionnaire de paquets Debian. . . . . . . . . . . . . . . . . . . . . . 115
5.2 Installation, mise à jour et suppression . . . . . . . . . . . . . . . . . . . . . . . 116
5.3 Requêtes dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.3.1 Lister les paquets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
5.3.2 Trouver un paquet contenant un fichier . . . . . . . . . . . . . . . 119
4 Linux
Maîtrisez l’administration du système

5.3.3 Lister le contenu d'un paquet. . . . . . . . . . . . . . . . . . . . . . . . . 119


5.4 Convertir des packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.5 Reconfigurer un package . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
6. Gestionnaire APT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6.2 Les dépôts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.2.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
6.2.2 Mise à jour de la base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.3 Mise à jour de la distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
6.4 Rechercher et installer un package individuel . . . . . . . . . . . . . . . . . . 126
6.5 Client graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7. Gestionnaire aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.1 apt ou aptitude ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
7.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
7.3 Utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
8. Installer depuis les sources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.1 Obtenir les sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.2 Prérequis et dépendances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
8.3 Exemple d'installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
8.4 Désinstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.5 Les bases du Makefile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.5.1 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
8.5.2 Makefile intermédiaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
8.5.3 Un peu plus complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
9. Gérer les bibliothèques partagées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
9.2 Lieu de stockage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
9.3 Quelles bibliothèques liées ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
9.4 Configurer le cache de l'éditeur de liens . . . . . . . . . . . . . . . . . . . . . . . 144
Table des matières 5

Chapitre 3
Le shell et les commandes GNU
1. Le shell bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.1 Rôle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
1.2 Bash : le shell par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
1.2.1 Un shell puissant et libre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
1.2.2 L'invite de commande . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
1.3 Utiliser le shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.3.1 La saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
1.3.2 Syntaxe générale des commandes . . . . . . . . . . . . . . . . . . . . . 150
1.3.3 Premier exemple concret avec cal . . . . . . . . . . . . . . . . . . . . . 151
1.3.4 Chaîner les commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
1.3.5 Afficher du texte avec echo . . . . . . . . . . . . . . . . . . . . . . . . . . 153
1.3.6 Commandes internes et externes . . . . . . . . . . . . . . . . . . . . . 153
1.3.7 Quelques raccourcis utiles . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
1.4 Rappel de l'historique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
2. La gestion des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2.1 Le système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
2.2 Les divers types de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
2.2.1 Les fichiers ordinaires ou réguliers. . . . . . . . . . . . . . . . . . . . . 157
2.2.2 Les catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.2.3 Les fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.3 Nomenclature des fichiers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
2.4 Les chemins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.4.1 Structure et nom de chemin . . . . . . . . . . . . . . . . . . . . . . . . . 159
2.4.2 Répertoire personnel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
2.4.3 Chemin relatif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
2.4.4 Le tilde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.4.5 cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
2.5 Les commandes de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
2.5.1 Lister les fichiers et les répertoires . . . . . . . . . . . . . . . . . . . . . 162
2.5.2 Gérer les fichiers et les répertoires . . . . . . . . . . . . . . . . . . . . . 164
2.5.3 Wildcards : caractères de substitution . . . . . . . . . . . . . . . . . 169
2.5.4 Verrouillage de caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
6 Linux
Maîtrisez l’administration du système

3. Rechercher des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171


3.1 Considérations générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
3.2 Critères de recherche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
3.2.1 -name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3.2.2 -type. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3.2.3 -user et -group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
3.2.4 -size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
3.2.5 -atime, -mtime et -ctime . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
3.2.6 -perm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
3.2.7 -links et -inum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
3.2.8 -regex et -iregex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
3.3 Commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
3.3.1 -ls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
3.3.2 -exec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
3.3.3 -ok . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.4 Critères AND / OR / NOT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
3.5 Retrouver des exécutables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.5.1 whereis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
3.5.2 which. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
3.5.3 locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4. L'éditeur vi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4.2 Fonctionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.3 Les commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.3.1 La saisie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.3.2 Quitter et sauvegarder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.3.3 Déplacement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.3.4 La correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.3.5 Recherche dans le texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
4.3.6 Commandes de remplacement . . . . . . . . . . . . . . . . . . . . . . . 184
4.3.7 Copier-coller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
4.3.8 Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
4.3.9 Autres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5. Redirections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.2 En sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.3 En entrée. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Table des matières 7

5.4 Documents en ligne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188


5.5 Les canaux standards. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.6 Ouverture de canaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.7 Filtre : définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
5.8 Pipelines / tubes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
6. Les filtres et utilitaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.1 Extraction des noms et chemins. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2 Recherche de lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2.1 grep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
6.2.2 egrep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
6.2.3 fgrep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.2.4 sed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.3 Colonnes et champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.3.1 Colonnes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194
6.3.2 Champs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
6.4 Décompte de lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.5 Tri de lignes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
6.6 Suppression des doublons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
6.7 Jointure de deux fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7.1 Sur des champs communs . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.7.2 Ligne à ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
6.8 Découpage d'un fichier en morceaux . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.8.1 Découper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
6.8.2 Reconstruire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.9 Remplacement de caractères. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.9.1 Liste de caractères. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202
6.9.2 Tabulations et espaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.10 xargs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
6.11 Visualisation de texte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
6.11.1 En pleine page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
6.11.2 Début d'un fichier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.11.3 Fin et attente de fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.11.4 Formater une sortie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.12 Duplication du canal de sortie standard . . . . . . . . . . . . . . . . . . . . . . 208
6.13 Comparaison de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6.13.1 diff . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6.13.2 cmp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
8 Linux
Maîtrisez l’administration du système

6.14 Délai d'attente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211


6.15 Contrôler le flux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
7. Les processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.1 Définition et environnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
7.2 États d'un processus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
7.3 Lancement en tâche de fond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
7.4 Background, foreground, jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
7.5 Liste des processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
7.6 Arrêt d'un processus / signaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
7.7 nohup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
7.8 nice et renice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
7.9 time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
7.10 exec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
8. Plus loin avec le bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.1 Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.2 Groupement de commandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221
8.3 Liaison et exécution conditionnelle . . . . . . . . . . . . . . . . . . . . . . . . . . 222
9. Les variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.1 Nomenclature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.2 Déclaration et affectation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.3 Accès et affichage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
9.4 Suppression et protection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.5 Export . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
9.6 Accolades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
9.7 Accolades et remplacement conditionnel. . . . . . . . . . . . . . . . . . . . . . 226
9.8 Variables système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
9.9 Variables spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
9.10 Longueur d'une chaîne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
9.11 Tableaux et champs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
9.12 Variables typées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
10. Configuration de bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.1 Fichiers de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.1.1 Shell de connexion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.1.2 Shell simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
10.1.3 Mode Bourne shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
10.1.4 Mode non interactif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Table des matières 9

10.2 Commandes set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232


11. Programmation shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
11.1 Structure et exécution d'un script . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
11.2 Arguments d'un script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
11.2.1 Paramètres de position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
11.2.2 Redéfinition des paramètres . . . . . . . . . . . . . . . . . . . . . . . . . 235
11.2.3 Réorganisation des paramètres . . . . . . . . . . . . . . . . . . . . . . . 236
11.2.4 Sortie de script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
11.3 Environnement du processus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
11.4 Substitution de commande. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
11.5 Tests de conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
11.5.1 Tests sur une chaîne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
11.5.2 Tests sur les valeurs numériques . . . . . . . . . . . . . . . . . . . . . . 239
11.5.3 Tests sur les fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
11.5.4 Tests combinés par des critères ET, OU, NON . . . . . . . . . . 241
11.5.5 Syntaxe allégée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.6 if ... then ... else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
11.7 Choix multiples case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
11.8 Saisie de l'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
11.9 Les boucles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
11.9.1 Boucle for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
11.9.2 Boucle while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
11.9.3 Boucle until. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
11.9.4 true et false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
11.9.5 break et continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
11.9.6 Boucle select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
11.10 Les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
11.11 Calculs et expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
11.11.1 expr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
11.11.2 Calculs avec bash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
11.11.3 Calculs de nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
11.12 Une variable dans une autre variable . . . . . . . . . . . . . . . . . . . . . . . . . 256
11.13 Traitement des signaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
11.14 Commande « : » . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
10 Linux
Maîtrisez l’administration du système

12. screen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258


12.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
12.2 Utilisation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
12.2.1 Installation et aide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
12.2.2 Fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
12.2.3 Détacher et rattacher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
12.2.4 Tout fermer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
12.3 Alternatives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
13. SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.2 Requêtes de sélection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.2.1 Select . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
13.2.2 Distinct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
13.2.3 Where . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
13.3 Les expressions et les fonctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
13.4 La clause ORDER BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.5 La clause GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.6 Les jointures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
13.7 Un SELECT dans un SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
13.8 Les insertions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
13.9 Modifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
13.10 Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266

Chapitre 4
Les disques et le système de fichiers
1. Représentation des disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1 Nomenclature. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.1 IDE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
1.1.2 SCSI, SATA, USB, FIREWIRE, etc. . . . . . . . . . . . . . . . . . . . . 268
1.2 Cas spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.1 Contrôleurs spécifiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.2 Virtualisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
1.2.3 SAN, iSCSI, multipathing . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Table des matières 11

2. Manipulations de bas niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270


2.1 Informations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
2.2 Modification des valeurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
3. Choisir un système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
3.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
3.1.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
3.1.2 Représentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
3.1.3 Les métadonnées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
3.1.4 Les noms des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274
3.1.5 Le journal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3.2 Les systèmes de fichiers sous Linux . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3.2.1 ext2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3.2.2 ext3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
3.2.3 ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
3.2.4 BTRFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
3.2.5 ReiserFS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
3.2.6 XFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
3.2.7 VFAT et exFAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
4. Partitionnement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4.1 Découpage logique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4.2 Partitionnement MBR. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4.2.1 MBR et BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
4.2.2 MBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
4.2.3 Les partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
4.2.4 EBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4.2.5 PBR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4.2.6 Types de partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
4.3 Partitionnement GPT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
4.3.1 GPT et UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
4.3.2 GUID. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
4.3.3 LBA 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
4.3.4 LBA 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
4.3.5 LBA 2 à 33 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
4.3.6 Types de partitions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
4.4 Manipuler les partitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
4.4.1 Outils disponibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
4.4.2 Manipuler les partitions MBR . . . . . . . . . . . . . . . . . . . . . . . . 289
12 Linux
Maîtrisez l’administration du système

4.4.3 Manipuler les partitions GPT . . . . . . . . . . . . . . . . . . . . . . . . 294


5. Manipuler les systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5.1 Définitions de base. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5.1.1 Bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
5.1.2 Superbloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5.1.3 Table d'inodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
5.1.4 Tables catalogues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
5.1.5 Hard link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
5.2 Créer un système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
5.2.1 mkfs, syntaxe générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
5.2.2 Un premier exemple en ext2 . . . . . . . . . . . . . . . . . . . . . . . . . 300
5.2.3 ext2, ext3 et ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
5.2.4 ReiserFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
5.2.5 XFS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5.2.6 BTRFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
5.2.7 VFAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
6. Accéder aux systèmes de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
6.1 mount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
6.1.1 Montage par périphérique . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
6.1.2 Options de montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
6.1.3 umount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
6.1.4 /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313
6.1.5 Cas des CD et images ISO . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7. Contrôler le système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7.1 Statistiques d'occupation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7.1.1 Par système de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
7.1.2 Par arborescence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
7.2 Vérifier, régler et réparer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
7.2.1 fsck. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
7.2.2 badblocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
7.2.3 dumpe2fs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320
7.2.4 tune2fs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
7.2.5 debugfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323
7.3 XFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
7.3.1 xfs_info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324
7.3.2 xfs_growfs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Table des matières 13

7.3.3 xfs_repair . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325


7.3.4 xfs_db et xfs_admin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
8. Le swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
8.1 Pourquoi créer un swap ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327
8.2 Taille optimale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
8.3 Créer une partition de swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
8.4 Activer et désactiver le swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
8.4.1 Activation dynamique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
8.4.2 Dans /etc/fstab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
8.5 En cas d'urgence : fichier de swap. . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
8.6 État de la mémoire. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
8.6.1 free. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
8.6.2 Mémoire réservée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8.6.3 meminfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
8.6.4 swap utilisé et mémoire libre. . . . . . . . . . . . . . . . . . . . . . . . . 333
9. Les quotas disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
9.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
9.2 Mise en place sur ext4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
9.3 Mise en place sur XFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
10. Les droits d'accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.1 Les droits de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.1.1 Droits et utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
10.1.2 Signification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
10.2 Modification des droits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.2.1 Par symboles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
10.2.2 Par base 8. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
10.3 Masque des droits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.3.1 Restreindre des droits automatiquement . . . . . . . . . . . . . . . 342
10.3.2 Calcul de masque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
10.4 Changer de propriétaire et de groupe . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.5 Droits d'accès étendus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.5.1 SUID et SGID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
10.5.2 Real / effectif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
10.5.3 Sticky bit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
10.5.4 Droits et répertoires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
14 Linux
Maîtrisez l’administration du système

Chapitre 5
Boot, services, noyau et périphériques
1. Processus de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1 Le BIOS et l'UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.1 BIOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
1.1.2 UEFI. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
1.1.3 Réglages basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
1.2 Le chargeur de démarrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3 GRUB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3.1 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
1.3.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
1.3.3 Démarrage et édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4 GRUB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4.1 GRUB2 remplace GRUB. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
1.4.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
1.4.3 Démarrage et édition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.4.4 Cas de GPT et UEFI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
1.5 Initialisation du noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
2. init System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.1 init System V en 2017 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.2 Rôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
2.3 Niveaux d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
2.4 /etc/inittab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
2.5 Changement de niveau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
2.6 Paramétrage système de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
2.7 Niveaux d'exécution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
2.8 Gestion des niveaux et des services. . . . . . . . . . . . . . . . . . . . . . . . . . . 365
2.8.1 Services dans init.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
2.8.2 Contrôle manuel des services. . . . . . . . . . . . . . . . . . . . . . . . . 367
2.8.3 Modification des niveaux d'exécution. . . . . . . . . . . . . . . . . . 368
2.9 Consoles virtuelles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
2.10 Les logins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
2.11 Arrêt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
3. systemd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
3.2 Unités cibles et services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Table des matières 15

3.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375


3.4 Cibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
3.4.1 Equivalence avec init System V. . . . . . . . . . . . . . . . . . . . . . . 376
3.4.2 Connaître la cible par défaut . . . . . . . . . . . . . . . . . . . . . . . . . 376
3.4.3 Changer de cible par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . 376
3.4.4 Passer d’une cible à l’autre . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3.4.5 Mode secours et urgence . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
3.4.6 Cibles actives et dépendances . . . . . . . . . . . . . . . . . . . . . . . . 377
3.4.7 Lister toutes les cibles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
3.5 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
3.5.1 Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
3.5.2 Statut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
3.5.3 Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
3.5.4 Masquage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
3.5.5 Dépendances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
3.6 Compatibilité avec System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
3.7 Actions système. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
3.8 Interface graphique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
4. upstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
4.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
4.2 Fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
4.3 Niveau par défaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
4.4 Compatibilité System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
4.5 Commandes de contrôle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
4.6 Activation et désactivation d’un service . . . . . . . . . . . . . . . . . . . . . . 388
5. Consulter les traces du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
5.1 dmesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
5.2 /var/log/messages ou /var/log/syslog . . . . . . . . . . . . . . . . . . . . . . . . 390
5.3 journalctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391
6. Services et modules noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
6.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
6.2 uname. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
6.3 Gestion des modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
6.3.1 lsmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
6.3.2 depmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
6.3.3 modinfo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
16 Linux
Maîtrisez l’administration du système

6.3.4 insmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398


6.3.5 rmmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
6.3.6 modprobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 399
6.3.7 modprobe.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
6.4 Chargement des modules au boot . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
6.4.1 initrd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402
6.4.2 Modules persistants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
6.5 Paramètres dynamiques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
6.5.1 /proc et /sys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
6.5.2 sysctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
7. Compiler un noyau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
7.1 Obtenir les sources. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
7.1.1 Sources officielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
7.1.2 Sources de la distribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
7.2 Les outils nécessaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
7.3 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
7.3.1 Le .config . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
7.3.2 Récupérer la configuration du noyau . . . . . . . . . . . . . . . . . . 411
7.3.3 make oldconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
7.3.4 make menuconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
7.3.5 make xconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
7.3.6 Pistes d'optimisations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415
7.4 Compilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 417
7.5 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
7.6 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
7.7 Autres options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
8. Les fichiers périphériques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
8.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
8.2 Fichiers spéciaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
8.3 Créer un fichier spécial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
8.4 Connaître son matériel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
8.4.1 Bus PCI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
8.4.2 Bus USB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
8.4.3 Ressources matérielles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
8.4.4 Autres outils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Table des matières 17

8.5 Le support de l'USB et du hotplug . . . . . . . . . . . . . . . . . . . . . . . . . . . 433


8.5.1 Les modules. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
8.5.2 Chargement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
8.5.3 hotplug, usbmgr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
8.5.4 udev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435

Chapitre 6
Les tâches administratives
1. Administration des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.1 Identification et authentification . . . . . . . . . . . . . . . . . . . . . 439
1.1.2 Les utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
1.1.3 Les groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
1.1.4 Les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
1.2 Les fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.1 /etc/passwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.2 /etc/group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
1.2.3 /etc/shadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443
1.2.4 /etc/gshadow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3 Gestion des utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3.1 Ajout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
1.3.2 Sécurité des mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
1.3.3 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.3.4 Suppression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4 Gestion des groupes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4.1 Ajout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
1.4.2 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.4.3 Suppression. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.4.4 Mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
1.5 Commandes additionnelles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
1.5.1 Conversion des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
1.5.2 Vérifier la cohérence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
1.5.3 Vérifier les connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
1.5.4 Actions de l'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
1.5.5 Interroger le système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
1.6 Configuration avancée . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
18 Linux
Maîtrisez l’administration du système

1.7 Notifications à l'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460


1.7.1 /etc/issue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
1.7.2 /etc/issue.net. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
1.7.3 /etc/motd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
1.7.4 wall, write et mesg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
1.8 L'environnement utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
1.8.1 /etc/skel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461
1.8.2 Scripts de configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
1.8.3 Groupes privés et setgid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
1.9 Aperçu de PAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
2. L'impression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465
2.2 System V . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
2.3 BSD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
2.4 CUPS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
2.4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
2.4.2 Ajout d'une imprimante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469
3. Automatisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
3.1 Avec cron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
3.1.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
3.1.2 Formalisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
3.1.3 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
3.1.4 crontab système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
3.1.5 Contrôle d'accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
3.2 Avec at . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
3.2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
3.2.2 Formalisme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478
3.2.3 Contrôle des tâches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
3.2.4 Contrôle d'accès . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
3.3 Avec anacron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
4. Les traces (logs) du système . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
4.2 Les messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482
4.3 Configuration de syslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
4.4 Cas de rsyslog. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
4.5 systemd et journald . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Table des matières 19

4.6 Les fichiers de traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487


4.7 journalctl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
5. Archivage et backup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
5.1 Les outils de sauvegarde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
5.1.1 Commandes, plans, scripts . . . . . . . . . . . . . . . . . . . . . . . . . . 490
5.1.2 Autres commandes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
5.2 tar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
5.2.1 Archiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
5.2.2 Lister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
5.2.3 Restauration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
5.2.4 Autres paramètres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493
5.3 cpio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
5.3.1 Archiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
5.3.2 Lister . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
5.3.3 Restaurer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
5.4 dd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
6. L'horloge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
6.1 Connaître l'heure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
6.1.1 date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
6.1.2 hwclock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
6.2 Modifier l'horloge matérielle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
6.2.1 Via date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
6.2.2 Via hwclock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
6.3 NTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
6.3.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
6.3.2 Client NTP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
6.3.3 Dérive temporelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
7. Les paramètres régionaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
7.1 i18n et l10n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
7.2 Réglages locaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
7.2.1 Outils de la distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504
7.2.2 Variables d'environnement . . . . . . . . . . . . . . . . . . . . . . . . . . 504
7.2.3 Fuseaux horaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506
7.3 Codage des caractères . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
20 Linux
Maîtrisez l’administration du système

Chapitre 7
Le réseau
1. TCP/IP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
1.1 Bases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
1.2 Adressage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
1.2.1 Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510
1.2.2 Sous-réseaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
1.2.3 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
1.2.4 IPv6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 513
1.3 Cas particuliers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
1.3.1 NetworkManager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
1.3.2 Nommage des interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4.1 Cas général . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
1.4.2 Cas des distributions de type Red Hat . . . . . . . . . . . . . . . . . 516
1.4.3 Machines de type Debian. . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
1.4.4 Routage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
1.4.5 iproute2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
1.4.6 Les ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
1.5 Outils réseau. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
1.5.1 Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
1.5.2 Traceroute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
1.5.3 tracepath . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524
1.5.4 Whois. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
1.5.5 Netstat. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
1.5.6 IPTraf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 528
1.6 Fichiers généraux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
1.6.1 /etc/resolv.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529
1.6.2 /etc/hosts et /etc/networks . . . . . . . . . . . . . . . . . . . . . . . . . . 530
1.6.3 /etc/nsswitch.conf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
1.6.4 /etc/services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
1.6.5 /etc/protocols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 532
2. Services réseau xinetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.2 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
2.3 Démarrage et arrêt des services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 535
Table des matières 21

3. OpenSSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.2 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
3.3 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4 Clés et connexion automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4.1 Côté client. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
3.4.2 Côté serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
3.4.3 Copie automatique. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
3.5 Passphrase et agent SSH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
4. Monter un serveur DHCP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.2 Démarrage du serveur dhcpd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
4.3 Informations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
4.4 Côté client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5. Serveur DNS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
5.2 Lancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3 Configuration de Bind. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3.1 Configuration générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
5.3.2 Section globale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
5.3.3 Section de zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
5.3.4 Zone de résolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
5.3.5 Zone de résolution inverse. . . . . . . . . . . . . . . . . . . . . . . . . . . 546
5.3.6 Exemple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
5.3.7 Zones spéciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4 Fichiers de zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 548
5.4.2 Zone . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 549
5.4.3 Zone de résolution inverse. . . . . . . . . . . . . . . . . . . . . . . . . . . 552
5.5 Diagnostic des problèmes de configuration . . . . . . . . . . . . . . . . . . . . 552
5.6 Interrogation dig et host . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
6. Courrier électronique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
6.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
6.2 postfix. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
6.2.1 Configuration simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
6.2.2 Alias d'utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
22 Linux
Maîtrisez l’administration du système

6.2.3 Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557


6.3 Autres MTAs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
6.3.1 exim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
6.3.2 qmail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
7. Service HTTP Apache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
7.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
7.2 Arrêt/Relance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
7.3 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
7.4 Directives générales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
7.5 Les répertoires, alias et emplacements . . . . . . . . . . . . . . . . . . . . . . . . 560
7.5.1 Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
7.5.2 Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
7.6 Hôtes virtuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562
8. Partage de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
8.1 NFS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
8.1.1 Lancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
8.1.2 Cas de NFS4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
8.1.3 Partage côté serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564
8.1.4 Montage côté client . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
9. Partages Windows avec Samba . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
9.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
9.2 Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
9.3 Partage de fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
9.4 Méthodes d'authentification. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569
9.5 Correspondance des noms et des mots de passe . . . . . . . . . . . . . . . . 569
9.6 Clients SAMBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570

Chapitre 8
La sécurité
1. Bases de sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
1.1 Sécurité informatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
1.2 Contrôler les droits d'endossement. . . . . . . . . . . . . . . . . . . . . . . . . . . 574
1.3 Vérifier les packages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575
1.4 Politique de mot de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
1.5 Stocker ses mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577
Table des matières 23

1.6 Interdire les connexions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578


1.6.1 /bin/false . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
1.6.2 /etc/nologin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
1.6.3 /etc/securetty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
1.7 Tester les mots de passe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
1.8 Rechercher des rootkits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
1.8.1 Principe du rootkit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582
1.8.2 Chkrootkit et rkhunter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
1.9 Les virus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585
1.10 Les limites de l'utilisateur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
1.11 Les droits SUDO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
1.11.1 Donner des privilèges étendus . . . . . . . . . . . . . . . . . . . . . . . . 588
1.11.2 Syntaxe de /etc/sudoers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
1.12 Audit plus complet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
1.13 Les bulletins de sécurité. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
1.13.1 CERT : Computer Emergency Response Team . . . . . . . . . . 592
1.13.2 SecurityFocus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 594
1.13.3 Les bulletins des distributions . . . . . . . . . . . . . . . . . . . . . . . . 595
1.13.4 Les correctifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
2. Sécurité des services et du réseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
2.1 Vérifier les ports ouverts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
2.1.1 Les sockets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
2.1.2 Informations depuis netstat . . . . . . . . . . . . . . . . . . . . . . . . . 597
2.1.3 L'outil nmap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 598
2.2 Supprimer les services inutiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
2.2.1 Généralités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
2.2.2 Services standalone. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
2.2.3 Services xinetd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
2.3 Les tcp_wrappers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602
2.4 Netfilter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
2.4.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
2.4.2 Vie d'un paquet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
2.4.3 Principe des règles. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
2.4.4 Cibles de règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
2.4.5 Premier exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
2.4.6 Opérations de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
2.4.7 Critères de correspondance . . . . . . . . . . . . . . . . . . . . . . . . . . 608
24 Linux
Maîtrisez l’administration du système

2.4.8 Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609


2.4.9 Sauvegarder ses réglages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
2.5 UFW . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
2.5.1 Activation et statut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 611
2.5.2 Règles par défaut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
2.5.3 Gestion des règles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612
2.5.4 Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
2.6 firewalld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
2.6.1 Activation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
2.6.2 Zones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
2.6.3 Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
2.6.4 Règles personnalisées . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617
2.6.5 Règles riches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
2.7 GPG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
2.7.1 Un clone de PGP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618
2.7.2 Générer les clés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
2.7.3 Générer une clé de révocation . . . . . . . . . . . . . . . . . . . . . . . . 621
2.7.4 Gérer le trousseau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
2.7.5 Exporter la clé publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
2.7.6 Importer une clé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625
2.7.7 Signer une clé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
2.7.8 Signer et chiffrer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628

Chapitre 9
X Window
1. Comment fonctionne un environnement graphique ? . . . . . . . . . . . . . . . . 631
1.1 X Window System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
1.1.1 Un modèle client/serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
1.1.2 Le gestionnaire de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
1.1.3 Les widgets et les toolkits . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
1.1.4 Les bureaux virtuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
1.2 Les environnements de bureau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638
2. Xorg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
2.1 Présentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Table des matières 25

2.3 Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642


2.3.1 Via la distribution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
2.3.2 Xorgcfg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
2.3.3 Xorgconfig. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
2.3.4 X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
2.4 Structure de xorg.conf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
2.4.1 Découpage. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644
2.4.2 Valeurs booléennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
2.4.3 Section InputDevice ou InputClass . . . . . . . . . . . . . . . . . . . 645
2.4.4 Section Monitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
2.4.5 Section Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
2.4.6 Section Device . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
2.4.7 Section Screen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
2.4.8 Section ServerLayout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
2.4.9 Section Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 651
2.4.10 Section Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
2.4.11 Section ServerFlags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652
2.4.12 Section Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
2.4.13 xorg.conf.d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
2.5 Tester et lancer X. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
2.5.1 Vérifier la configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653
2.5.2 Les traces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654
2.5.3 Tester le serveur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
3. Le Display Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
3.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656
3.2 XDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
3.2.1 Configuration générale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 657
3.2.2 Setup : Xsetup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658
3.2.3 Chooser : RunChooser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3.2.4 Startup : Xstartup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
3.2.5 Session : Xsession . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661
3.2.6 Reset : Xreset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
3.2.7 Resources : Xresources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
3.2.8 Servers : Xservers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
3.2.9 AccessFile : Xaccess et XDMCP . . . . . . . . . . . . . . . . . . . . . . 663
3.3 gdm et kdm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663
3.4 LightDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666
26 Linux
Maîtrisez l’administration du système

3.4.1 Utilisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666


3.4.2 Connexion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
3.4.3 Personnaliser LightDM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
3.5 Display Manager au boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
3.5.1 System V et inittab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
3.5.2 System V et services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
3.5.3 Cible systemd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
3.5.4 service upstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
3.5.5 /etc/sysconfig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
3.5.6 Anciennes versions Ubuntu et Debian . . . . . . . . . . . . . . . . . 671
4. Window Manager et environnement personnel . . . . . . . . . . . . . . . . . . . . . 672
4.1 Via le Display Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
4.2 Startx . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
4.3 Les terminaux. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
4.4 Les gestionnaires de fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674
4.4.1 twm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
4.4.2 IceWM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675
4.4.3 Fvwm. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
4.4.4 CDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
4.4.5 WindowMaker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
4.4.6 Enlightenment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
4.4.7 Xfce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
4.4.8 KDE et GNOME . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
4.4.9 Les autres. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
4.5 Exporter ses fenêtres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
4.6 Les ressources d’une application X . . . . . . . . . . . . . . . . . . . . . . . . . . . 679
4.6.1 Modifier l’apparence d’un programme . . . . . . . . . . . . . . . . . 679
4.6.2 Éditer les ressources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
4.6.3 xrdb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
5. Accessibilité . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686
5.1 Assistance au clavier et à la souris . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
5.2 Assistance visuelle et auditive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 689
Table des matières 27

Chapitre 10
Partitionnement avancé : RAID, LVM et BTRFS
1. Partitionnement avancé RAID logiciel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
1.1 Définitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
1.2 Précautions et considérations d'usage . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.1 Disque de secours . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.2 Disque défectueux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 692
1.2.3 Boot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.4 Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.5 Périphériques. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.6 IDE et SATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693
1.2.7 Hot Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3 RAID avec mdadm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3.1 Préparation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 694
1.3.2 Création . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 695
1.3.3 Sauvegarder la configuration . . . . . . . . . . . . . . . . . . . . . . . . . 697
1.4 État du RAID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
1.5 Simuler une panne. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698
1.6 Remplacer un disque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 699
1.7 Arrêt et relance manuels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 700
2. Initiation au LVM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
2.1 Principe. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 701
2.2 Les volumes physiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702
2.2.1 Créer un volume physique. . . . . . . . . . . . . . . . . . . . . . . . . . . 702
2.2.2 Voir les volumes physiques . . . . . . . . . . . . . . . . . . . . . . . . . . 703
2.3 Les groupes de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704
2.3.1 Créer un groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . . . 704
2.3.2 Propriétés d’un groupe de volumes . . . . . . . . . . . . . . . . . . . . 704
2.4 Les volumes logiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
2.4.1 Créer un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706
2.4.2 Propriétés d’un volume logique . . . . . . . . . . . . . . . . . . . . . . . 707
2.4.3 Accès au volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5 Agrandissements et réductions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5.1 Les groupes de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708
2.5.2 Agrandir un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . 711
2.5.3 Réduire un volume logique . . . . . . . . . . . . . . . . . . . . . . . . . . 713
28 Linux
Maîtrisez l’administration du système

2.5.4 Déplacer le contenu d’un volume physique . . . . . . . . . . . . . 715


2.5.5 Réduire un groupe de volumes. . . . . . . . . . . . . . . . . . . . . . . . 717
2.6 Supprimer un groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
2.6.1 Étapes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
2.6.2 Supprimer un volume logique . . . . . . . . . . . . . . . . . . . . . . . . 718
2.6.3 Retirer tous les volumes physiques . . . . . . . . . . . . . . . . . . . . 718
2.6.4 Détruire un groupe de volumes . . . . . . . . . . . . . . . . . . . . . . . 718
2.6.5 Supprimer un volume physique. . . . . . . . . . . . . . . . . . . . . . . 719
2.7 Commandes supplémentaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
3. Utilisation étendue de BTRFS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3.1 Les subvolumes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3.1.1 Un système de fichiers dans un autre système de fichiers . . 720
3.1.2 Création. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 720
3.1.3 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721
3.1.4 Destruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
3.2 Les snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
3.2.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
3.2.2 Création. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
3.2.3 Montage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
3.2.4 Destruction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
3.2.5 Opérations sur les ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
3.3 Utiliser plusieurs disques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724

Annexe
1. Modèle MySQL (pour le chapitre Le shell
et les commandes GNU - SQL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731
267

Chapitre 4
Les disques et le système de fichiers

1. Représentation des disques


Les dis ques et le système de fichiers

Note préalable : les unités de mesure de stockage utilisées dans ce chapitre et dans
l’ensemble de ce livre utilisent la représentation de l’usage traditionnel en kilo-octets,
selon la règle 1 ko = 1024 octets (210), sauf indication contraire. Cette représentation
se nomme théoriquement Kio (kibioctet).

1.1 Nomenclature
Ceci est un petit rappel des points déjà rencontrés dans le chapitre Présentation de
Linux. Suivant le type de contrôleur et d'interface sur lesquels les disques sont connec-
tés, Linux donne des noms différents aux fichiers spéciaux des périphériques disques.
Chaque disque est représenté par un fichier spécial de type bloc. Chaque partition
aussi.

1.1.1 IDE
Les disques reliés à des contrôleurs IDE (appelés aussi PATA (Parallel ATA) ou ATAPI
et en voie de disparition) se nomment hdX :
– hda : IDE0, Master
– hdb : IDE0, Slave
– hdc : IDE1, Master
– hdd : IDE1, Slave
– etc.
268 Linux
Maîtrisez l’administration du système

Contrairement aux idées reçues, il n'y a pas de limites au nombre de contrôleurs IDE,
sauf le nombre de ports d'extension de la machine (slots PCI). De nombreuses cartes
additionnelles existent, de nombreuses cartes mères proposent jusqu'à quatre, six,
huit connecteurs. Dans ce cas, les fichiers se nomment hde, hdf, hdg, etc.
Les lecteurs CD-Rom, DVD et graveurs de type IDE/ATAPI sont vus comme des
disques IDE et respectent cette nomenclature.
Les derniers noyaux Linux utilisent par défaut une API appelée libata pour accéder à
l'ensemble des disques IDE, SCSI, USB, Firewire, etc. Si c'est votre cas (regardez les
notes de version de la distribution), la nomenclature reprend celle des disques SCSI,
abordée au point suivant.

Remarque
Du fait de l’utilisation de libata, la représentation des disques en nomenclature hdx est
devenue rare. Attention cependant si vous mettez à jour votre ancienne distribution qui
conservait ce format. Le passage à une nouvelle version plus récente va probablement
les renommer en sdx, la nomenclature SCSI. Du coup vous risquez d’avoir des soucis si
vous oubliez de modifier le fichier /etc/fstab ou la configuration de grub.

1.1.2 SCSI, SATA, USB, FIREWIRE, etc.


Les disques reliés à des contrôleurs SCSI, SCA, SAS, FibreChannel, USB, Firewire,
thunderbolt (et probablement d'autres interfaces exotiques comme les lecteurs ZIP
sur port parallèle) se nomment sdX. L'énumération des disques reprend l'ordre de dé-
tection des cartes SCSI et des adaptateurs (hosts) associés, puis l'ajout et la suppres-
sion manuelle des autres via hotplug ou udev.
– sda : premier disque SCSI
– sdb : deuxième disque SCSI
– sdc : troisième disque SCSI
– etc.
La norme SCSI fait une différence entre les divers supports. Aussi les lecteurs CD-
Rom, DVD, HD-DVD, Blu-ray et les graveurs associés n'ont pas le même nom. Les lec-
teurs et graveurs sont en srX (sr0, sr1, etc.). Vous pouvez aussi trouver scd0, scd1, etc.

© Editions ENI - All rights reserved


mais ce sont généralement des liens symboliques vers sr0, sr1, etc.
La commande lsscsi permet d'énumérer les périphériques SCSI. Notez que les disques
sont bien en sdX, tandis que le lecteur dvd est en srX.
Les disques et le système de fichiers 269
Chapitre 4

$ lsscsi
[4:0:0:0] disk ATA ST380011A 8.01 /dev/sda
[5:0:0:0] cd/dvd LITE-ON COMBO SOHC-4836V S9C1 /dev/sr0
[31:0:0:0] disk USB2.0 Mobile Disk 1.00 /dev/sdb

1.2 Cas spéciaux

1.2.1 Contrôleurs spécifiques


Certains contrôleurs ne suivent pas cette nomenclature. C'est par exemple le cas
de certains contrôleurs RAID matériels. C'est du cas par cas. Un contrôleur Smart
Array sur un serveur HP, utilisant le pilote cciss, place ses fichiers de périphériques
dans /dev/cciss sous les noms cXdYpZ, où X est le slot, Y le disque et Z la partition...

1.2.2 Virtualisation
La représentation des disques des systèmes invités (guests) virtualisés dépend du type
de contrôleur simulé. La plupart sont de type IDE ou SCSI, et dans les deux cas bien
souvent avec la libata ils sont vus comme du SCSI. Cependant certains systèmes
comme KVM ou XEN proposant de la paravirtualisation offrent un contrôleur spéci-
fique présentant les disques sous le nom vdx (virtual disk x), ou xvdx :
– vda : premier disque virtualisé, ou xvda,
– vdb : deuxième disque virtualisé, ou xvdb,
– etc.

1.2.3 SAN, iSCSI, multipathing


Les disques raccordés via un SAN (Storage Area Network, généralement en fibre op-
tique) ou par iSCSI sont vus comme des disques SCSI et conservent cette nomencla-
ture. Cependant les systèmes de gestion des chemins multiples (multipathing) se
plaçant par-dessus fournissent d’autres noms. Powerpath nommera les disques em-
cpowerx (emcpowera, emcpowerb, etc.) tandis que le système par défaut de Linux
appelé multipath les nommera mpathx (mpath0, mpath1, etc.) ou tout autre nom
choisi par l’administrateur.
270 Linux
Maîtrisez l’administration du système

2. Manipulations de bas niveau


2.1 Informations
La commande hdparm permet d'effectuer un grand nombre de manipulations direc-
tement sur les périphériques disques gérés par la bibliothèque libata, c'est-à-dire tous
les disques SATA, ATA (IDE) et SAS. La commande sdparm peut faire à peu près la
même chose pour les disques SCSI. Notez que bien que les noms de périphériques de
la libata soient identiques à ceux du SCSI, il est fort probable que de nombreuses
options de configuration de hdparm ne fonctionnent pas sur des disques SCSI, la ré-
ciproque étant vraie pour sdparm avec les disques SATA ou IDE. La suite se base sur
hdparm.
Pour obtenir des informations complètes sur un disque, utilisez les paramètres -i ou
-I. Le premier récupère les informations depuis le noyau et obtenues au moment du
boot, le second interroge directement le disque. Préférez le -I qui donne des informa-
tions très détaillées.
# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media


Model Number: VBOX HARDDISK
Serial Number: VB91a2e953-933cdc65
Firmware Revision: 1.0
Standards:
Used: ATA/ATAPI-6 published, ANSI INCITS 361-2002
Supported: 6 5 4
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--

© Editions ENI - All rights reserved


CHS current addressable sectors: 16514064
LBA user addressable sectors: 63152320
LBA48 user addressable sectors: 63152320
Logical/Physical Sector size: 512 bytes
device size with M = 1024*1024: 30836 MBytes
device size with M = 1000*1000: 32333 MBytes (32 GB)
cache/buffer size = 256 KBytes (type=DualPortCache)
Capabilities:
LBA, IORDY(cannot be disabled)
Queue depth: 32
Les disques et le système de fichiers 271
Chapitre 4

Standby timer values: spec'd by Vendor, no device specific minimum


R/W multiple sector transfer: Max = 128 Current = 128
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* Power Management feature set
* Write cache
* Look-ahead
* 48-bit Address feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* Gen2 signaling speed (3.0Gb/s)
* Native Command Queueing (NCQ)
Checksum: correct

2.2 Modification des valeurs


Plusieurs paramètres des disques peuvent être modifiés. Attention cependant !
Certaines options de hdparm peuvent se révéler être dangereuses tant pour les don-
nées contenues sur le disque que pour le disque lui-même. La plupart des paramètres
sont en lecture et écriture. Si aucune valeur n'est précisée hdparm affiche l'état du
disque (ou du bus) pour cette commande. Voici quelques exemples d'options intéres-
santes.
– -c : largeur du bus de transfert EIDE sur 16 ou 32 bits. 0=16, 1=32, 3=32 compa-
tible.
– -d : utilisation du DMA. 0=pas de DMA, 1=DMA activé.
– -X : modifie le mode DMA (mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3
udma4 udma5). Vous pouvez utiliser l'un des modes précédents ou des valeurs
numériques : 32+n pour les modes mdma (n variant de 0 à 2) et 64+n pour les
modes udma.
– -C : statut de l'économie d'énergie sur le disque (unknown, active/idle, standby,
sleeping). L'état peut être modifié avec -S, -y, -Y et -Z.
– -g : affiche la géométrie du disque.
– -M : indique ou modifie l'état du Automatic Acoustic Management (AAM). 0=off,
128=quiet et 254=fast. Tous les disques ne le supportent pas.
– -r : passe le disque en lecture seule.
272 Linux
Maîtrisez l’administration du système

– -T : bench de lecture du cache disque, idéal pour tester les performances de trans-
fert entre Linux et le cache du disque. Il faut relancer la commande deux ou trois
fois.
– -t : bench de lecture du disque, hors cache. Mêmes remarques que l'option précé-
dente.
Ainsi la commande suivante passe le bus de transfert en 32 bits, active le mode DMA
en mode Ultra DMA 5 pour le disque sda :
# hdparm -c1 -d3 -X udma5 /dev/sda
Voici quelques autres exemples :
# hdparm -c /dev/sda

/dev/sda:
IO_support = 0 (default 16-bit)

# hdparm -C /dev/sda

/dev/sda:
drive state is: active/idle

# hdparm -g /dev/sda

/dev/sda:
geometry = 3931/255/63, sectors = 63152320, start = 0

# hdparm -T /dev/sda

/dev/sda:
Timing cached reads: 23868 MB in 2.00 seconds = 11950.45 MB/sec
# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 308 MB in 3.02 seconds = 101.87 MB/sec

© Editions ENI - All rights reserved

Vous aimerez peut-être aussi