Vous êtes sur la page 1sur 297

LPI101 : Administration Systèmes sous Linux 1/297

LPI101: Administration systèmes sous Linux


Cours pour l'examen 101 de la certification LPIC-1
Pour plus d'informations sur les certifications LPI,
visitez http://www.lpi.org

version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004


LPI101 : Administration Systèmes sous Linux 2/297

Table des matières

Avant-Propos............................................................5 3.2 Compression de fichiers......................................57


Matériel & Architecture............................................7 3.3 Compression et archivage des fichiers................58
1 Configurer les bases du BIOS..............................8 3.4 La chaîne d'outils GNU........................................59
3.5 Quiz .....................................................................60
1.1 Le Firmware (BIOS)...............................................9
3.6 Réponses quiz ....................................................61
1.2 Lecture des gros disques durs.............................10
3.7 Exercices..............................................................62
1.3 Trouver les informations sur le disque dur...........11
3.8 Réponses ............................................................63
1.4 Trouver les informations sur le noyau..................12
1.5 Ports d'entrées/sorties.........................................13 4 Gérer les bibliothèques partagées ....................64
1.6 Les interruptions..................................................14 4.1 Les bibliothèques.................................................65
1.7 DMA.....................................................................15 4.2 Les dépendances des bibliothèques...................66
1.8 PCI.......................................................................16 4.3 Le chargeur d'exécution (Runtime loader)...........67
1.9 Quiz .....................................................................17 4.4 Quiz......................................................................68
1.10 Réponses quiz...................................................18 4.5 Réponses quiz ....................................................69
1.11 Exercices............................................................19 5 Utiliser le gestionnaire de paquetages de Debian..
1.12 Réponses ..........................................................20 70
2 Configurer un modem et une carte son .............21 5.1 La distribution Debian..........................................71
2.1 Configuration d'un Modem...................................22 5.2 dselect..................................................................72
2.2 Les ports séries ...................................................23 5.3 Exemples de menus dselect................................73
2.3 Dial Out and In.....................................................25 5.4 apt-get..................................................................74
3 Installer des périphériques SCSI........................26 5.5 Quiz......................................................................75
3.1 Configuration des lecteurs SCSI..........................27 5.6 Réponses quiz ....................................................76
4 Paramétrer les cartes d'extension PC................28 5.7 Exercices .............................................................77
5.8 Réponses ............................................................78
4.1 Configuration des cartes d'extension PC.............29
4.2 Branchement à chaud des lecteurs.....................30 6 Utiliser le gestionnaire de paquetages Red Hat (
5 Configurer les périphériques de communication.... RPM).....................................................................79
31 6.1 Gestion des paquetages RPM.............................80
6.2 Utilisation des RPM .............................................81
6 Configurer des périphériques USB ...................32
6.3 Les commandes RPM..........................................82
6.1 Le démon générique de branchement à chaud...33
6.4 Installation des sources.......................................83
6.2 Le démon de gestion de l'USB.............................34
6.5 Exercices..............................................................84
6.3 Lister les périphériques USB...............................35
6.6 Réponses ............................................................85
6.4 Les drivers USB...................................................36
6.5 Quiz......................................................................37 GNU & Commandes Unix......................................86
6.6 Réponses quiz ....................................................38 1 Travailler en ligne de commande ......................87
6.7 Exercices..............................................................39 1.1 Unix et Linux........................................................88
6.8 Réponses ............................................................40 1.2 Historique du développement de UNIX................89
Installation Linux & gestion des archives...........41 1.3 Shell.....................................................................90
1.4 La ligne de commande.........................................91
1 Architecture des disques durs............................42
1.5 /bin/bash...............................................................92
1.1 Conception d'une architecture de disque dur......43
1.6 Recouvrement de /bin/bash.................................93
1.2 Importance de la vitesse d'accès aux disques....44
1.7 Log In et Log Out.................................................94
1.3 Création des partitions.........................................45
1.8 Mot de Passe.......................................................95
2 Installer un gestionnaire de démarrage (boot 1.9 Informations sur les utilisateurs...........................96
manager)...............................................................47 1.10 Informations sur les groupes..............................97
2.1 LILO ou Grub.......................................................48 1.11 Les pages de manuel (Man pages)...................98
2.2 Exemples de fichiers /etc/lilo.conf........................49 1.12 Les variables Shell.............................................99
2.3 Exemples de fichiers menu.lst.............................50 1.13 Quiz .................................................................100
2.4 Quiz .....................................................................51 1.14 Réponses quiz ................................................101
2.5 Réponses quiz.....................................................52 1.15 Exercices .........................................................102
2.6 Exercices .............................................................53 1.16 Réponses ........................................................103
2.7 Réponses ............................................................54 2 Traiter les flux de texte à l'aide des filtres........105
3 Compiler et installer des programmes à partir des 2.1 Assembler les fichiers........................................106
sources..................................................................55 2.2 Afficher le début et la fin d'un fichier..................107
3.1 Archivage de fichiers............................................56 2.3 Numérotation des lignes des fichiers.................108

version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004


LPI101 : Administration Systèmes sous Linux 3/297

2.4 Compter les lecteurs dans un fichier.................109 processus.................................................................168


2.5 Découper les champs des fichiers.....................110 6.2 Modifier un programme en cours d'exécution....169
2.6 Conversion des caractères................................111 7 Les expressions régulières..............................170
2.7 Manipulation des lignes.....................................112 7.1 Recherche de motifs (pattern matching)............171
2.8 Diviser des fichiers.............................................113 7.2 Modèle de recherche limité................................172
2.9 Formatage pour l'impression..............................114 7.3 Combinaisons de regexp limitées......................173
2.10 Extraction des lignes d'un fichier texte............115 7.4 Chaînes de longueurs précises.........................174
2.11 Vidage des fichiers binaires.............................116 7.5 Grep...................................................................175
2.12 Quiz .................................................................117 7.6 sed.....................................................................176
2.13 Réponses quiz.................................................118 7.7 Quiz ...................................................................177
2.14 Exercices..........................................................119 7.8 Réponses quiz ..................................................178
2.15 Réponses ........................................................120 7.9 Exercices ...........................................................179
3 Effectuer la gestion de base des fichiers.........121 7.10 Réponses ........................................................180
3.1 Liste les noms de fichiers et les informations....122 8 L'édition de fichiers avec VI..............................182
3.2 Types de fichiers................................................123 8.1 Les bases de l'édition de fichiers avec vi...........183
3.3 Contenu et emplacement des fichiers...............124 8.2 Quiz....................................................................185
3.4 whereis et which................................................125 8.3 Réponses quiz ..................................................186
3.5 Créer et supprimer des répertoires....................126 8.4 Exercices ...........................................................187
3.6 Copier des fichiers et des répertoires................127 8.5 Réponses ..........................................................188
3.7 Supprimer des fichiers ou des répertoires.........128 Périphériques, Systèmes de fichiers Linux,
3.8 Créer et utiliser les noms de fichiers..................129 Hiérarchie standard du système de fichiers......189
3.9 Caractères à éviter.............................................130
1 Créer des partitions et des systèmes de fichiers...
3.10 Déplacer et renommer des fichiers..................131
3.11 File globbing et jokers (wildcards)...................132
190
3.12 Les caractères spéciaux des wildcards...........133 1.1 Les systèmes de fichiers supportés par Linux...191
3.13 Utilisation des jokers dans le shell...................134 1.2 Création des partitions.......................................192
3.14 Mécanismes de citation...................................135 1.3 Arborescence des systèmes de fichiers............194
3.15 Les commentaires............................................136 1.4 Création d'un système de fichiers......................195
3.16 Lister des fichiers dans un sous-répertoire......137 1.5 Création de systèmes de fichiers étendus.........196
3.17 Exemples.........................................................138 2 Maintenir l'intégrité des systèmes de fichiers ..197
3.18 Quiz .................................................................139 2.1 Les systèmes de fichiers....................................198
3.19 Réponses quiz ................................................140 2.2 Journalisation d'un système de fichiers.............200
3.20 Exercices .........................................................141 2.3 Contrôle de l'utilisation des disques...................201
3.21 Réponses ........................................................143 2.4 Espace disque et système de fichiers...............202
4 Utiliser les flux, les pipes, et les redirections. . .145 2.5 Contrôle des systèmes de fichiers.....................203
4.1 Entrées standards et sorties standards.............146 2.6 Contrôle des systèmes de fichiers étendus.......204
4.2 Exemples...........................................................147 2.7 Débogger un système de fichiers étendu..........205
4.3 Redirections (pipes)...........................................148 2.8 Vider les informations du système de fichiers
4.4 Construction des arguments..............................149 étendu......................................................................206
4.5 Le lecteur /dev/null ............................................150 2.9 Modifier les systèmes de fichiers étendus.........207
4.6 Quiz ...................................................................151 2.10 Quiz .................................................................208
4.7 Réponses quiz ..................................................152 2.11 Réponses quiz ................................................209
4.8 Exercices ...........................................................153 2.12 Exercices .........................................................210
4.9 Solutions ...........................................................154 2.13 Réponses ........................................................211
5 Créer, gérer et tuer un processus....................156 3 Contrôler le montage et le démontage d'un
5.1 Créer un processus............................................157 système de fichiers.............................................212
5.2 Gérer des processus..........................................158 3.1 Monter un système de fichiers...........................213
5.3 Gestion des processus en temps réel...............159 3.2 Démonter un système de fichiers......................214
5.4 Envoyer un signal aux processus......................160 3.3 Informations sur les systèmes de fichiers..........215
5.5 Contrôle des tâches...........................................161 3.4 Quiz ...................................................................216
5.6 Mémoire virtuelle................................................162 3.5 Réponses quiz ..................................................217
5.7 Quiz....................................................................163 3.6 Exercices ...........................................................218
5.8 Réponses quiz...................................................164 3.7 Réponses ..........................................................219
5.9 Exercices............................................................165 4 Gérer les quotas disque...................................220
5.10 Réponses ........................................................166 4.1 Gestion des quotas disques...............................221
6 Les priorités d'exécution d'un processus.........167 4.2 Mise en place des quotas utilisateurs................222
6.1 Modification des priorités d'exécution des 4.3 Lister les quotas.................................................223
4.4 Afficher un rapport de quota..............................224

version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004


LPI101 : Administration Systèmes sous Linux 4/297

4.5 Quiz 4.................................................................225 8 Trouver et placer les fichiers système.............249


4.6 Réponses quiz 4................................................226 Le système X Window..........................................250
4.7 Exercices 4.........................................................227 1 Installer & Configurer Xfree86..........................251
4.8 Réponses ..........................................................228 1.1 X-Window...........................................................252
5 Utiliser les permissions pour contrôler l'accès aux 1.2 Fichier XF86Config............................................253
fichiers.................................................................229 2 Installer un gestionnaire d'affichage.................254
5.1 Sécurité des dossiers sous Unix........................230 2.1 Windows managers............................................255
5.2 Permissions sur les fichiers...............................231 2.2 Démarrer et arrêter X.........................................256
5.3 Permissions par défaut......................................232 3 Installer & personnaliser un gestionnaire
5.4 Changer les permissions sur les fichiers...........233
d'environnement graphique ................................257
6 Gérer la propriété des fichiers .........................234 3.1 Configurer X.......................................................258
6.1 Modifier le propriétaire ou le groupe d'un fichier...... 3.2 Configuration de X (suite)..................................259
235 3.3 X en réseau........................................................260
6.2 Attribuer plus de privilèges.................................236 3.4 Quiz ...................................................................261
6.3 Exercices ...........................................................237 3.5 Réponses quiz...................................................262
6.4 Réponses ..........................................................239 3.6 Exercices............................................................263
7 Créer et changer des liens symboliques ou Travaux pratiques................................................264
physiques............................................................242 Test LPI.................................................................265
7.1 Liens physiques et liens symboliques................243
1 Test LPI............................................................266
7.2 Lier un fichier.....................................................244
7.3 Quiz....................................................................245 2 LPI test practice..............................................269
7.4 Réponses quiz ..................................................246 3 Réponses au test LPI.......................................270
7.5 Exercices............................................................247 Credits...................................................................271
7.6 Réponses ..........................................................248 Glossary................................................................272

version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004


LPI101 : Administration Systèmes sous Linux 5/297

Avant-Propos

Le cours est organisé en petites sections avec une partie cours et des
exercices. Les exercices permettent aux candidats de valider ce qui a été vu
dans la section.
Pour valider chaque section, l'instructeur questionnera les auditeurs pour
vérifier si tous les points abordés ont été compris avant de commencer les
exercices.
Chaque candidat a besoin des CD de Linux, d'un ordinateur et d'un accès à
Internet. L'ordinateur doit aussi être connecté à un réseau éthernet basique.
Le cours est divisé en sections selon le programme défini par LPI (Linux
Professional Institute). Pour chaque section, les objectifs sont connus, le
contenu du cours ainsi que les exercices doivent permettre aux candidats de se
préparer pour l'examen 101 de la certification LPIC-1 de www.lpi.org.

Prérequis
Pour suivre ce cours, les candidats doivent posséder de bonnes connaissances
des systèmes d'opérations, des connaissances de base sur le fonctionnement
des systèmes Linux et sur l'utilisation d'un shell.

Les objectifs de ce cours


Le cours est destiné aux personnes qui souhaitent obtenir la certification LPI
101.
Il couvre tous les sujets que doivent préparer les candidats, de la configuration
de base du matériel à la configuration d'un serveur X-Window.

Avant-Propos
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 6/297

Les conventions utilisées dans ce manuel


Les nouvelles commandes sont indiquées de cette manière :
command [options] [files]
• command : opération à effectuer
• [ ] : pour notifier les options et les fichiers
• options : différentes possibilités proposées par la commande
• files : nom des fichiers concernés par la commande
Les exemples de commandes sont écrits de cette manière :
[root@test ] /# command parameter # comments about the command
results : the command completed

Le signe # indique un commentaire et [root@test ] /# le prompte


administrateur.

Avant-Propos
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 7/297

Matériel & Architecture

Contenu du chapitre

Matériel & Architecture............................................7 2.3 Dial Out and In.....................................................25


1 Configurer les bases du BIOS..............................8 3 Installer des périphériques SCSI........................26
1.1 Le Firmware (BIOS)...............................................9 3.1 Configuration des lecteurs SCSI..........................27
1.2 Lecture des gros disques durs.............................10 4 Paramétrer les cartes d'extension PC................28
1.3 Trouver les informations sur le disque dur...........11 4.1 Configuration des cartes d'extension PC.............29
1.4 Trouver les informations sur le noyau..................12 4.2 Branchement à chaud des lecteurs.....................30
1.5 Ports d'entrées/sorties.........................................13 5 Configurer les périphériques de communication....
1.6 Les interruptions..................................................14 31
1.7 DMA.....................................................................15 6 Configurer des périphériques USB ...................32
1.8 PCI.......................................................................16 6.1 Le démon générique de branchement à chaud...33
1.9 Quiz .....................................................................17 6.2 Le démon de gestion de l'USB.............................34
1.10 Réponses quiz...................................................18 6.3 Lister les périphériques USB...............................35
1.11 Exercices............................................................19 6.4 Les drivers USB...................................................36
1.12 Réponses ..........................................................20 6.5 Quiz......................................................................37
2 Configurer un modem et une carte son .............21 6.6 Réponses quiz ....................................................38
2.1 Configuration d'un Modem...................................22 6.7 Exercices..............................................................39
2.2 Les ports séries ...................................................23 6.8 Réponses ............................................................40

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 8/297

1 Configurer les bases du BIOS

Description
Les candidats doivent pouvoir configurer leur matériel et leur système en
modifiant le BIOS. Cet objectif inclut une compréhension appropriée des
possibilités de configuration du BIOS, telle que l'utilisation de LBA sur les
disques durs IDE de plus de 1024 cylindres, l'activation ou la désactivation des
périphériques intégrés, ainsi que la configuration des systèmes avec (ou sans)
périphériques externes. Il faut également savoir paramétrer correctement les
adresses d'IRQ, de DMA et d'I/O pour tous les ports administrés par le BIOS et
la gestion des arrêts sur erreur .

Dossiers principaux, termes et utilitaires inclus


/proc/ioports
/proc/interrupts
/proc/dma
/proc/pci

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 9/297

1.1 Le Firmware (BIOS)

Dans tous les ordinateurs, le premier élément software a être exécuté est
stocké dans une mémoire non-volatile (ROM, E2PROM, ...). Sur les PC, cet
élément logiciel est le BIOS (Basic Input Output System).
Lorsque vous allumez votre PC, les instructions du BIOS sont chargées en
RAM depuis un chip ROM sur la carte mère.
Ces instructions informent le processeur sur l'emplacement de l'OS et sur la
manière de le charger en mémoire RAM.
En plus de permettre à des OS et des applications de fonctionner sur un PC, le
BIOS fourni un certain nombre de services que l'OS utilise pour communiquer
avec le hardware.
De plus, l'OS fourni des services standards aux applications pour optimiser leur
fonctionnement.
Quelques services du BIOS:
• Translation géométrique pour les disques IDE/ATA de plus de 504
MB
• Plug-and-Play
• Support pour les disques IDE/ATA de plus de 2 GB
Tous les OS n'utilisent pas ces services; quelques uns utilisent leurs propres
instructions pour accéder au matériel, ce qui améliore les performances.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 10/297

1.2 Lecture des gros disques durs

Le schéma d'adresses IDE original d'accès au contenu des disques se réfère


aux numéros de cylindres, de têtes (head) et de secteurs (CHS). Les BIOS plus
anciens (<1994) peuvent seulement utiliser ce schéma et la plupart ne peuvent
encore accéder qu'aux 1024 premiers secteurs des disques.
C'est pour cela que le schéma LBA (Logic Block Addressing) a été créé et qu'il
est devenu le schéma le plus courant pour franchir la limite des 528M imposée
sur les disques IDE.
Les 528M sont imposés par le dernier dénominateur commun entre les
interfaces IDE et BIOS. (INT13H).
Eléments INT13H IDE Limitation Max
Secteur/Track 63 255 63
Nombre de têtes 255 16 16
Nombre de cylindres 1024 65536 1024
Capacité maximum 8.4G 136.9G 528M

Avec LBA, chaque bash possède un numéro unique et l'architecture physique


du disque est caché dans l'OS.

Exemple:
Un disque de 2048 cylindres, 16 têtes, et 63 secteurs sera vu avec 1024
cylindres, 32 têtes, et 63 secteurs.
Dans la conversion, si le numéro de secteur est inférieur à 1024*16*63, le
disque dur est inférieur à 528M. Si le numéro de secteur est supérieur, le
numéro de la tête de lecture est mis à 32.
Pour que ce mécanisme fonctionne, il doit être supporté par le BIOS, l'OS et le
lecteur IDE.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 11/297

1.3 Trouver les informations sur le disque dur

Pour obtenir les informations concernant le disque, il faut utiliser la commande


hdparm.
hdparm [options] [devices]

Principales options:
• -g: Donne la géométrie du disque.
• -C: Affiche le mode de fonctionnement du disque dur.
active/idle: Fonctionnement normal,
standby: Mode faible consommation,
ou sleeping: Mode veille.
• -v: Liste les informations concernant le disque dur.

Exemples:
[root@test ] /# hdparm -g /dev/hda
/dev/hda: geometry = 3648/255/63, sectors = 58605120, start = 0

[root@test ] /# hdparm -C /dev/hda


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

hdparm est une commande créée au départ pour être utilisée uniquement des
disques IDE. Cependant, en fonction de l'option souhaitée, il est possible
d'utiliser hdparm sur d'autres disques durs, par exemple des disques SCSI.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 12/297

1.4 Trouver les informations sur le noyau

Le pseudo système de fichiers, /proc est utilisé comme interface dans les
structures de données du noyau. Il contient l'état du noyau, de l'OS et des
processus qui fonctionnent sur l'ordinateur.
Le système de fichiers /proc existe seulement dans la mémoire de
l'ordinateur. Il est constamment mis à jour pour refléter chaque changement
dans le système.
La plupart des fichiers sont en lecture seule, mais certains permettent à des
variables du noyau d'être modifiées. Ces fichiers en écriture se trouvent en
général dans le sous-répertoire /proc/sys et ne doivent pas être intégrés au
noyau.

Exemples de correspondance des répertoires:


/proc/[Number] Informations sur les processus qui
fonctionnent sur le système.
/proc/[Number]/ La ligne de commande complète du
cmdline processus.
/proc/[Number]/cwd Le répertoire courant du processus.
/proc/uptime Créé dès que le système est monté et
fonctionne.
/proc/sys/kernel Informations et paramètres du noyau.
/proc/sys/net Informations et paramètres du réseau.
/proc/partitions Informations sur le partitionnement du
disque dur.
/proc/scsi Informations SCSI.
/proc/mount Informations sur le système de fichiers
monté.
/proc/devices Liste les drivers chargés.
/proc/bus Informations sur le bus.
/proc/version Version de Linux.
Et autres...

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 13/297

1.5 Ports d'entrées/sorties

Les lecteurs, dans un ordinateur, sont accessibles à travers leurs adresses ou


leur port I/O (I/O signifie Input/Output et est une adresse d'espace différent de
l'espace mémoire).
Pour lister les ports I/O en activité dans le système, il faut ouvrir le fichier /
proc/ioports.
[root@test ] /# cat /proc/ioports
0000-001f : dma1
0020-003f : pic1
0040-005f : timer
0060-006f : keyboard
0070-007f : rtc
0080-008f : dma page reg
00a0-00bf : pic2
00c0-00df : dma2
00f0-00ff : fpu
0170-0177 : PCI device 8086:248a
0170-0177 : ide1
01f0-01f7 : PCI device 8086:248a
01f0-01f7 : ide0
02f8-02ff : serial(auto)
0376-0376 : PCI device 8086:248a
0376-0376 : ide1
0378-037a : parport0
037b-037f : parport0
03c0-03df : vesafb
03f6-03f6 : PCI device 8086:248a
03f6-03f6 : ide1

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 14/297

1.6 Les interruptions

Les interruptions sont les événements à travers lesquels le matériel interagit


avec les logiciels.
Par exemple, chaque fois que la souris est déplacée, un signal (numéro
d'interruption 12), est lancé. Il indique au processeur d'arrêter tous les autres
processus en lançant une interruption des sous-routines, le temps d'exécuter le
processus en cours et de relancer ensuite les processus.
Pour lister toutes les interruptions utilisées par les différents périphériques, il
faut ouvrir le fichier /proc/interrupts.
[root@test ] /# cat /proc/interrupts
CPU0
0: 397517 XT-PIC timer
1: 7544 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 0 XT-PIC usb-uhci, usb-uhci
8: 2 XT-PIC rtc
10: 2024 XT-PIC eth0, usb-uhci, PCI device 104c:ac51, PCI
device 104c:ac51, Intel ICH3
12: 19502 XT-PIC PS/2 Mouse
14: 11445 XT-PIC ide0
15: 2770 XT-PIC ide1
NMI: 0
ERR: 0

Pour optimiser les performances du système, il faut vérifier qu'une même ligne
d'interruption n'est pas utilisée par deux périphériques.
Il faut se rappeler que l'interruption de sous-routine (ISR) de chaque lecteur est
exécutée lors de chaque interruption.
Le matériel qui utilise les interruptions est appelé un PIC (Programable Interrupt
Controler). Il existe aujourd'hui une nouvelle version, l'APIC, qui permet de
gérer des signaux d'interruptions complexes.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 15/297

1.7 DMA

Direct Memory Access (DMA) est une technique qui permet aux lecteurs
d'utiliser la RAM pour échanger des données. La RAM utilise un emplacement
réservé dans le haut de la mémoire, et la manière d'accéder à ces
emplacements est appelée un canal (channel).
Dans les systèmes plus récents, les canaux DMA fonctionnent
indépendamment du CPU et ne sont pas visibles dans le BIOS.
Par exemple, le support DMA du bus PCI est contrôlé par le PCI master du bus
ou par le PCI bridge si aucun lecteur maître n'est branché sur le bus PCI.
Pour lister tous les canaux ISA DMA utilisés par le système, il faut regarder
dans le fichier /proc/dma.
[root@test ] /# cat /proc/dma
4: cascade

Dans les systèmes avec bus ISA, il n'existe qu'un seul canal, le cascading
DMA, le numéro 4.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 16/297

1.8 PCI

Le bus PCI (Peripheral Component Interconnect) a remplacé l'ISA comme


standard pour l'ajout d'extensions aux ordinateurs.
Pour lister tous les lecteurs connectés sur les bus PCI, il faut ouvrir le fichier /
proc/pci.

[root@test ] /# cat /proc/pci


PCI devices found:
Bus 0, device 0, function 0: Class 0600: PCI device 8086:3575 (rev 2).
Prefetchable 32 bit memory at 0xe0000000 [0xefffffff]. Bus 0, device 1,
function 0: Class 0604: PCI device 8086:3576 (rev 2). Master Capable.
Latency=96. Min Gnt=12.
Bus 0, device 29, function 0: Class 0c03: PCI device 8086:2482 (rev 1). IRQ
10. I/O at 0x1800 [0x181f]. Bus 0, device 29, function 1: Class 0c03: PCI
device 8086:2484 (rev 1). IRQ 5. I/O at 0x1820 [0x183f].
Bus 0, device 29, function 2: Class 0c03: PCI device 8086:2487 (rev 1). IRQ
5. I/O at 0x1840 [0x185f].
Bus 0, device 30, function 0: Class 0604: PCI device 8086:2448 (rev 65).
Master Capable. No bursts. Min Gnt=4.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 17/297

1.9 Quiz

Quiz 1.1
Quelle commande devez-vous utiliser pour activer/désactiver les paramètres
d'un disque dur IDE ?
Quiz 1.2
Dans le système, où sont stockées les informations sur les processus actifs ?
Quiz 1.3
Comment faites-vous pour savoir depuis combien de temps un système est
actif ?
Quiz 1.4
Comment vérifier si une ligne IRQ est utilisée par plusieurs périphériques ?
Quiz 1.5
Comment faites-vous pour connaître le nombre de processeurs de votre
système ?
Quiz 1.6
Est-ce qu'un mécanisme CPU utilise du temps processeur ou de la mémoire ?
Quiz 1.7
Quelle commande permet d'accéder à la base de registre des périphériques
PCI ?
Quiz 1.8
Peut-on lister tous les périphériques PCI ?

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 18/297

1.10 Réponses quiz

Réponse quiz 1.1


hdparm
Réponse quiz 1.2
/proc/[PID number]/
Réponse quiz 1.3
[root@test ] /# cat /proc/uptime

Réponse quiz 1.4


[root@test ] /# cat /proc/interrupts

Réponse quiz 1.5


[root@test ] /# cat /proc/cpuinfo

Réponse quiz 1.6


Non, c'est un mécanisme indépendant. C'est pour cette raison qu'il est
intéressant d'utiliser DMA dans un programme si vous devez déplacer des
données d'un endroit à un autre.
Réponse quiz 1.7
setpci et lspci
Réponse quiz 1.8
[root@test ] /# lspci -vv

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 19/297

1.11 Exercices

Exercice 1.1
Quelle est la taille de la mémoire RAM de votre système ?
Exercice 1.2
Quels sont les lecteurs qui partages une ligne d'interruption ?
Exercice 1.3
Utilisez l'utilitaire lspci avec la bonne option pour dessiner l'architecture PCI
de votre système.
Exercice 1.4
Combien y-a-t'il de bus et de ponts PCI ?
Y-a-t'il des ponts PCI/ISA ?
Exercice 1.5
Quelle est l'option pour lister avec lspci tous les périphériques PCI Intel ?
Exercice 1.6
Quelle est la commande qui vous permet de voir tous les disques durs IDE en
mode lecture seule ?
Exercice 1.7
Quelle est la commande pour arrêter ou démarrer le cache du disque dur ?
Exercice 1.8
Que fait l'utilitaire setpci ?

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 20/297

1.12 Réponses

Réponse 1.1
Commande à taper:
[root@test ] /# less /proc/meminfo

Réponse 1.2
Commande à taper:
[root@test ] /# cat /proc/interrupts

Réponse 1.3
Commande à taper:
[root@test ] /# lspci -vt

Réponse 1.4
Commande à taper:
[root@test ] /# lspci -vv

Réponse 1.5
Commande à taper:
[root@test ] /# lspci -d 8086:* check the file /usr/share/misc/pci.ids

voir le fichier /usr/share/misc/pci.ids (liste de correspondances pour la


commande lspci).
Réponse 1.6
Commande à taper:
[root@test ] /# hdparm -r 0 /dev/hdax

Réponse 1.7
Commande à taper:
[root@test ] /# hdparm -W /dev/hda1

Réponse 1.8
Utilitaire pour configurer les lecteurs PCI

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 21/297

2 Configurer un modem et une carte son

Description
Assurez vous des conditions de compatibilité de raccordement des
périphériques (en particulier pour les modems qui ne sont pas compatibles
Windows), vérifiez que le modem et la carte son emploient des adresses
uniques et correctes d'IRQ, d'I/O, et de DMA.
Si la carte son est de type PnP, installez et démarrez sndconfig et isapnp,
configurez le modem for un "dial-up" clavier, configurez le modem pour le
protocole PPP | SLIP | CSLIP connections, paramétrez le port série pour 115.2
Kbps

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 22/297

2.1 Configuration d'un Modem

Un modem est un périphérique qui vous permet d'envoyer des données


numériques à travers une ligne de téléphone.
Il existe quatre types de modem:
• Externes: Connectés à un port série.
• USB: Connectés à un port USB.
• Internes: Ports embarqués ISA ou PCI.
• Built-in: Intégrés à la carte-mère.

La plupart des modems récents sont Plug and Play et vous offrent plusieurs
possibilités pour les connecter au système:
• Le driver série le configure tout seul.
• Vous pouvez utiliser le programme isapnp.
• Un BIOS PnP fera la configuration du modem.

Pour avoir les informations sur un lecteur ISA, il faut utiliser pnpdump.

Cet utilitaire peut aussi chercher les informations sur la carte PnP (ports IO,
interruptions, et canaux DMA) que la carte pourrait ou aurait besoin d'utiliser.

Pour configurer les lecteurs ISA, il faut utiliser isapnp.

Pour plus d'informations, reportez-vous à la page de manuel (man page) du


fichier isapnp.conf.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 23/297

2.2 Les ports séries

Un modem externe peut être configuré avec setserial.


setserial [options] device [parameters]

Les ports séries utilisables sont:


/dev/ttys0 (COM1), port 0x3f8, irq 4
/dev/ttys1 (COM2), port 0x2f8, irq 3
/dev/ttys2 (COM3), port 0x3e8, irq 4
/dev/ttys3 (COM4), port 0x2e8, irq 3

Principale option:
-a: donne toutes les informations sur un périphérique connecté au
système.

Principaux paramètres:
-port: Numéro du port
-irq: Numéro IRQ
-uart: Type du UART autorisé (none, 8250, 16450,...).
-autoconfig: Interroge le noyau pour connaître le UART et le numéro
IRQ
-baud_rate: Mesure de la bande passante (Max: 115200 byte/sec)

Exemple:
[root@test ] /# setserial -g /dev/ttyS*

Modem AT Commands
Les commandes compatibles Hayes qui contrôlent la plupart des modems.
AT Sets the baud rate between Modem and PC
ATD Nr. Dial the Number (Nr.)
ATH0 HangUp
ATH1 Pic-up phone line (Opposite of HangUp)
ATX0 Dial blind, CONNECT when connection OK

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 24/297

AT Sets the baud rate between Modem and PC


ATX1 Dial blind, CONNECT speed when connection OK
ATX2 Wait for DIALTONE and CONNECT speed when
connection OK
ATX3 Dial blind, CONNECT speed when connection OK
or BUZY
ATX4 Wait for DIALTONE and CONNECT speed when
connection OK
ATX5 Dial blind, CONNECT speed when connection OK,
BUSY, VOICE
ATX6 Wait for DIALTONE and CONNECT speed when
connection OK, BUZY, VOICE
ATZ Reset the modem.
AT&F Reset the internal modem configuration to factory
settings.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 25/297

2.3 Dial Out and In

Pour envoyer des informations avec un modem (dial out), il faut utiliser les
applications setserial ou minicom.
Un fichier de configuration peut-être créé avec l'option -s.
[root@test ] /# minicom -s

Pour recevoir des informations avec un modem (dial in), le système doit être
configuré pour démarrer le processus getty qui permet de commencer la
session de dial in.
La configuration est à faire avec le fichier /etc/inittab:
d1:45:respawn:/sbin/agetty -mt60 19200,9600 ttyS0 vt100

• -m: Demande à getty d'extraire le taux bps.


• 19200,9600: Valeur du taux bps lorsque le modem reçoit le caractère
BREAK.
• t60: timeout de 60 seconds.
• ttyS0: Port sur lequel le modem est connecté.
• vt100: type de terminal utilisé avec l'environnement de variable
TERM.

Dès que /etc/inittab a été modifié, init doit le lire.


[root@test ] /# telinit -q

ou
[root@test ] /# init q

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 26/297

3 Installer des périphériques SCSI

Description
Les candidats doivent pouvoir configurer les périphériques SCSI en utilisant le "
BIOS SCSI" ainsi que les outils Linux nécessaires. Ils doivent aussi faire la
différence entre les différents types SCSI.
Cet objectif inclut la manipulation du BIOS SCSI pour détecter les
identifications SCSI utilisées et disponibles et saisir la valeur correcte
d'identification pour les différents périphériques (devices), en particulier le
périphérique de démarrage (boot). Cela inclut également la gestion du
paramétrage du BIOS de l'ordinateur pour déterminer la séquence de
démarrage si des périphérique SCSI et IDE sont présents.

Dossiers principaux, termes, et utilitaires inclus


SCSI ID
/proc/scsi/
scsi_info

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 27/297

3.1 Configuration des périphériques SCSI

Le BIOS SCSI peut être accédé au moment du démarrage avec des clés de
séquences spéciales. Il vous permet de modifier des paramètres comme les
périphériques SCSI bootables ou non.

Les informations sur la configuration SCSI sont dans le répertoire


/proc/scsi. On peut aussi utiliser les commandes scsi_info ou hdparm.
L'outil scsi_info est en général compris avec les paquetages pcmcia.
hdparm est avant tout un outils IDE, avec des fonctions qui permettent
d'obtenir des informations sur la configuration SCSI.

Exemples:
[root@test ] /# scsi_info /dev/sda
[root@test ] /# hdparm -gv /dev/sda

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 28/297

4 Paramétrer les cartes d'extension PC

Description
Les candidats doivent être en mesure de configurer différentes cartes pour des
fentes (slot) d'extension. Ils doivent connaître la différence entre les cartes ISA
et PCI et respecter les données de configuration. Cet objectif inclut le
paramétrage correct des IRQs, DMA et ports I/O des cartes, spécialement pour
éviter les conflits entre les périphériques. Cela inclut l'utilisation de isapnp si la
carte est un périphérique PNP.

Dossiers principaux, termes, et utilitaires inclus


/proc/dma
/proc/interrupts
/proc/ioports
/proc/pci
pnpdump(8)
isapnp(8)
lspci(8)

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 29/297

4.1 Configuration des cartes d'extension PC

Toutes les cartes PCI sont en général détectées par le BIOS.


Au démarrage, le BIOS sonde les espaces de configuration PCI et détecte tous
les lecteurs et les ponts PCI.
Pour s'assurer que le BIOS a bien détecté tous les lecteurs PCI. Vous pouvez
utiliser lspci.
Il contrôle la présence de ponts, des lecteurs spéciaux et de leurs fonctions.
Toutes les cartes ISA sont aussi détectées avec leur drivers respectifs.
Les utilitaires qui vous permettent de configurer manuellement toutes les cartes
ISA sont pnpdump, pnpisa et le fichier de configuration est /
etc/isapnp.conf.
Le programme pnpdump vous permet de charger les informations sur toutes
les cartes ISA détectées.
Le programme pnpisa fonctionne avec le fichier de configuration
/etc/isapnp.conf qui a la même syntaxe que la sortie de pnpdump. Il vous
permet de configurer tous les paramètres des cartes ISA.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 30/297

4.2 Branchement à chaud des périphériques

Démon générique de branchement à chaud des périphériques


Le programme exécuté lorsque qu'un nouveau périphérique est connecté est
hotplug.
hotplug name
Les noms d'agents principaux sont:
pci Périphériques PCI
usb Périphériques USB
ieee1394 Firewire, i-Link et autres ériphériques
compatibles.
scsi Périphériques SCSI. Depuis Linux 2.5
net Périphériques et services réseau.
input "input subsystem" utilisé pour les claviers, les
souris, les joysticks. Depuis Linux 2.6

Le répertoire /etc/hotplug contient les scripts qui doivent être utilisés


chaque fois qu'un lecteur est connecté ou enlevé.
/etc/hotplug/pci.agent : Pour installer le driver PCI adapté.
/etc/hotplug/usb.agent : Pour installer le driver USB adapté.
Le démon hotplug est également lancé au démarrage du système pour
initialiser les lecteurs connectés grâce au script /etc/
init.d/hotplug.
Le noyau détecte si un nouveau périphérique est branché à chaud et appelle le
démon hotplug, l'agent script approprié (pci, usb, et autres...).

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 31/297

5 Configurer les périphériques de


communication

Description
Les candidats doivent être en mesure d'installer et de configurer différent
périphériques internes ou externes de communication comme les modems, les
adaptateurs ISDN , et les commutateurs (switches) DSL.
L'objectif inclut la vérification de la compatibilité requise (très importante si le
modem est un winmodem), et la nécessité de charger et de paramétrer les
pilotes adéquats des périphériques, ainsi que les paramètres matériels (IRQs,
DMAs, I/O ports) des composants internes.
Ceci inclut également les périphériques de communication et les outils de
configuration d'interfaces, comme le port série pour 115.2 kbps, et l'installation
correcte du modem pour la limite de(s) connections(s) PPP (outbound PPP
connection).

Dossiers principaux, termes et utilitaires inclus


/proc/dma
/proc/interrupts
/proc/ioports
setserial (8)

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 32/297

6 Configurer des périphériques USB

Description
Les candidats doivent être en mesure d'activer le support USB, d'utiliser et de
configurer différents périphériques USB. Cet objectif inclut la sélection du
chipset USB correct et du module correspondant. Cela inclut aussi la
connaissance des bases de l'architecture de couche (layer model) d'USB aussi
bien que les différents modules utilisés dans les différentes couches (layer).

Dossiers principaux, termes et utilitaires inclus


lspci(8)
usb-uhci.o
usb-ohci.o
/etc/usbmgr/
usbmodules
/etc/hotplug

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 33/297

6.1 Le démon générique de branchement à chaud

Le programme qui est exécuté lorsque qu'un nouveau périphérique est


connecté est hotplug.
hotplug name

Les principaux noms sont:


pci Périphériques PCI
usb Périphériques USB
ieee1394 Firewire, i-Link et autres périphériques
compatibles.
scsi Périphériques SCSI. Depuis Linux 2.5
net Périphériques et services réseau.
input "input subsystem" utilisé pour les claviers, les
souris, les joysticks, et autres. Depuis Linux
2.6

Le répertoire /etc/hotplug contient les agents scripts qui doivent être


exécutés chaque fois qu'un périphérique est connecté ou déconnecté.
/etc/hotplug/pci.agent : Pour installer le pilote PCI approprié.
/etc/hotplug/usb.agent : Pour installer le pilote USB approprié.
Le démon hotplug est lancé au démarrage pour initialiser tous les
périphériques connectés. Il est exécuté par le script /etc/init.d/hotplug
Le noyau détecte lorsqu'un nouveau périphérique est branché à chaud et
appelle le démon hotplug avec le bon agent script (pci, usb, et autres...)

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 34/297

6.2 Le démon de gestion de l'USB

Avant l'apparition du démon hotplug, il y avait un autre démon spécialisé


dans la gestion des ressources USB.
Le usbmgr va charger le bon module suivant deux paramètres: USB-Vendor-
ID et USB-lecteur-ID. Il faut un noyau qui supporte l'USB, le démon
USBdevFS et les modules à charger.
Les fichiers de configuration suivants sont utilisés:
/etc/usbmgr/usbmgr.conf
/etc/usbmgr/preload.conf
/etc/usbmgr/host

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 35/297

6.3 Lister les périphériques USB

Pour vérifier que les périphériques ont été détectés, il faut utiliser lsusb.
lsusb [options]

Exemple:
[root@test ] /# lsusb
Bus 001 Device 004: ID 04a9:3045 Canon Inc. PowerShot S100 Device Descriptor:
bLength 18 bDescriptorType 1 bcdUSB 1.00 bDeviceClass 255 Vendor Specific
Class bDeviceSubClass 255 Vendor Specific Subclass bDeviceProtocol 255 Vendor
Specific Protocol bMaxPacketSize0 32 idVendor 0x04a9 Canon Inc. idProduct
0x3045 PowerShot S100 ...

Pour afficher un graphique des périphériques USB connectés, il faut utiliser


usbview.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 36/297

6.4 Les drivers USB

Le module de contrôle USB du noyau se présente de trois manières différentes


en fonction du modèle de contrôleur USB:
OHCI Open Host Controller Compaq, Ali, NEC,
Interface Opti Chipset
UHCI Universal Host Intel, VIA
Controller Interface
EHCI Enhanced Host Tous les constructeurs
Controller Interface semblent se diriger
USB 2.0 vers cette
spécification.

USBdevFS est un système de fichiers dynamique monté dans


/proc/bus/usb. Si l'USB est supporté par le système, la ligne suivante est
ajoutée dans le fichier /etc/fstab:
none /proc/bus/usb usbdevfs default 0 0

Chaque appareil USB peut être visualisé grâce à un nom de fichier.


/proc/bus/usb/001/005

Pour vérifier si le pilotes approprié pour les périphériques USB à été chargé, il
faut utiliser usbmodules:
usbmodules [options]

Exemples:
[root@test ] /# usbmodules -device /proc/bus/usb/001/001
usbcore
[root@test ] /# usbmodules -device /proc/bus/usb/001/005 -mapfile
/etc/hotplug/usb.handman

Le module à charger par défaut est /lib/modules/2.4.18-


4GB/modules.usbmap.
Le mapping se trouve dans le fichier /lib/modules/2.4.18-
4GB/modules.usbmap.
Tous les pilotes se trouvent dans le répertoire /
lib/modules/2.4.18-4GB/kernel/drivers/usb/

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 37/297

6.5 Quiz

Quiz 6.1
Quel est le nom de fichier du port COM3 ?
Quiz 6.2
Quelle commande AT vous permet d'appeler un numéro ?
Quiz 6.3
Quel fichier doit être configuré pour permettre la réception des commandes
dial-in ?
Quiz 6.4
Comment faites-vous pour démarrer le système sur un périphérique SCSI ?
Quiz 6.5
Quel programme est exécuté lorsqu'un nouveau périphérique est connecté ?
Quiz 6.6
Quelle commande permet de vérifier qu'un périphérique USB a bien été détecté
?
Quiz 6.7
Quelle commande permet de vérifier si le bon pilote d'un périphérique USB est
installé ?
Quiz 6.8
Où, dans le système de fichiers, les périphériques USB sont-ils listés?

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 38/297

6.6 Réponses quiz

Réponse quiz 6.1


/dev/ttys2
Réponse quiz 6.2
ATD [number]
Réponse quiz 6.3
/etc/inittab
Réponse quiz 6.4
En configurant le SCSI BIOS. (scsi_info)
Réponse quiz 6.5
hotplug
Réponse quiz 6.6
lsusb
Réponse quiz 6.7
usbmodules -devices [filenamepath]
Réponse quiz 6.8
/proc/bus/usb

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 39/297

6.7 Exercices

Exercice 6.1
Listez tous les périphériques USB, pour chaque branche.
Exercice 6.2
Installez un modem sur le port série.
Exercice 6.3
Installez un modem USB.
Exercice 6.4
Quelles sont les différences entre la configuration d'un modem série et celle
d'un modem USB ?

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 40/297

6.8 Réponses

Réponse 6.1
Pour lister les lecteurs USB, il faut utiliser la commande:
lsusb -vt ou lsusb -vvt
L'option -t permet d'afficher l'arborescence.

Réponse 6.4
Il y a pas de vraie différence entre le port série et le port usb, si ce n'est le nom
du lecteur.

Matériel & Architecture


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 41/297

Installation Linux & gestion des paquetages

Contenu du chapitre

Installation Linux & gestion des archives...........41 4 Gérer les bibliothèques partagées ....................64
1 Architecture des disques durs............................42 4.1 Les bibliothèques.................................................65
1.1 Conception d'une architecture de disque dur......43 4.2 Les dépendances des bibliothèques...................66
1.2 Importance de la vitesse d'accès aux disques....44 4.3 Le chargeur d'exécution (Runtime loader)...........67
1.3 Création des partitions.........................................45 4.4 Quiz......................................................................68
2 Installer un gestionnaire de démarrage (boot 4.5 Réponses quiz ....................................................69
manager)...............................................................47 5 Utiliser le gestionnaire de paquetages de Debian..
2.1 LILO ou Grub.......................................................48 70
2.2 Exemples de fichiers /etc/lilo.conf........................49 5.1 La distribution Debian..........................................71
2.3 Exemples de fichiers menu.lst.............................50 5.2 dselect..................................................................72
2.4 Quiz .....................................................................51 5.3 Exemples de menus dselect................................73
2.5 Réponses quiz.....................................................52 5.4 apt-get..................................................................74
2.6 Exercices .............................................................53 5.5 Quiz......................................................................75
2.7 Réponses ............................................................54 5.6 Réponses quiz ....................................................76
3 Compiler et installer des programmes à partir des 5.7 Exercices .............................................................77
sources..................................................................55 5.8 Réponses ............................................................78
3.1 Archivage de fichiers............................................56 6 Utiliser le gestionnaire de paquetages Red Hat (
3.2 Compression de fichiers......................................57 RPM).....................................................................79
3.3 Compression et archivage des fichiers................58 6.1 Gestion des paquetages RPM.............................80
3.4 La chaîne d'outils GNU........................................59 6.2 Utilisation des RPM .............................................81
3.5 Quiz .....................................................................60 6.3 Les commandes RPM..........................................82
3.6 Réponses quiz ....................................................61 6.4 Installation des sources.......................................83
3.7 Exercices..............................................................62 6.5 Exercices..............................................................84
3.8 Réponses ............................................................63 6.6 Réponses ............................................................85

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 42/297

1 Architecture des disques durs

Description
Les Candidats doivent être capables de concevoir un plan de partitionnement
de disque dur pour un système Linux.
Cet objectif inclut l'allocation d'espaces pour le système de fichiers
(filesystems) et la swap pour séparer les partitions et les disques, et d'optimiser
de façon rationnelle la construction du disque en vue de l'usage prévu du
système.
Cela inclut enfin de placer /boot sur une partition conforme aux besoins du
BIOS pour pouvoir démarrer le système (BIOS' requirements for booting).

Dossiers principaux, termes et utilitaires inclus


/ (root) filesystem
/var filesystem
/home filesystem
swap space
mount points
partitions
cylinder 1024

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 43/297

1.1 Conception d'une architecture de disque dur

Lors d'une installation, au minimum deux partitions doivent être créées sur le
disque:
• / ("slash", root, racine): Ce répertoire contient la distribution Linux.
• swap: cette partition permet au noyau de gérer plus de processus
que ne le permet la mémoire RAM.
Si plusieurs disques sont utilisés, il est conseillé aussi de mettre les répertoires
/usr et /home sur des partitions différentes.
Chaque partition contiendra un type de système de fichiers et peut être monté
sur le système actif dans l'arborescence.
Pour visualiser le système de fichiers monté et actif, il faut utiliser mount.
[root@test ] /# mount
/dev/hda3 on / type reiserfs (rw)
proc on /proc type proc (rw)
devpts on /dev/pts type devpts (rw)
/dev/hda1 on /boot type ext2 (rw)
shmfs on /dev/shm type shm (rw)
usbdevfs on /proc/bus/usb type usbdevfs (rw)

La partition swap n'a pas besoin d'un système de fichiers, elle peut être
accédée en mode raw par le noyau. Aucune surcharge de processus
n'intervient à cause d'un système de fichiers.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 44/297

1.2 Importance de la vitesse d'accès aux disques

Avant de définir un schéma de partitionnement, vous devez savoir précisément


pour quelles types d'applications vous allez utiliser votre système:
• Serveur de messagerie
• Serveur Internet
• Applications graphiques (X-Window)
• Ou d'autres
Si votre système est composé de plusieurs disques, utilisez le plus rapide pour
stocker vos données.
/ Contient la plupart des utilitaires système et ne doit pas servir
pour autre chose. Il peut être installé sur le disque le plus lent.
/var/log Contient les informations de logging. A installer sur un disque
rapide.
/usr A installer sur une partition séparée. Si il y a plusieurs
applications qui utilisent un serveur X, utilisez un disque rapide.

Exemples d'applications systèmes:


Le serveur de messagerie Sendmail écrit les queues de messages à deux
endroits, normalement /var/spool/mqueue et /var/spool/mail
Apache utilise plusieurs fichiers, deux fichiers de logs pour le logging et l'accès
aux pages actuelles. Apache est très consciencieux : tout ce qui se produit
dans le système Apache est noté dans un fichier de log.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 45/297

1.3 Création des partitions

Un support peut-être divisé en partitions. Chaque partition peut-être utilisée


comme un lecteur différent et plusieurs systèmes de fichiers différents peuvent
être installés sur le même support.
Les partitions sont en général créées à l'installation mais peuvent aussi être
créées par la suite avec le programme fdisk ou d'autres utilitaires.

1.3.1 Pourquoi créer différentes partitions ?


Pour créer plusieurs systèmes de fichiers.
Pour simplifier les sauvegardes.
Pour la gestion des quotas, par partition.
Pour intégrer des options comme "read-only" ou autres.
Pour éviter de subir les limites physiques du boot manager (voir dans ce
chapitre).

1.3.2 Lecteurs IDE


Sur les PC, le BIOS force les lecteurs IDE à suivre des règles suivantes par
rapport à la numérotation des partitions. Un lecteur IDE est reconnu comme
suit:
Primary Master /dev/hda Disque entier
/dev/hda1 Partition primaire
/dev/hda2 Partition secondaire
Primary Slave /dev/hdb
Secondary /dev/hdc
Master
Secondary Slave /dev/hde

Le nombre maximum de partitions primaires par disque dur est 4, ou 3 si une


partition étendue existe.
Le nombre maximum de partition étendue par disque dur est 1, indépendante
de la partition primaire. La partition étendue possède le premier numéro qui suit
la dernière partition primaire.
Le nombre maximum de partitions logiques par disque dur est 11, avec des

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 46/297

numéros de 5 à 15. La création de partitions logiques dépend de la présence


d'une partition étendue.

1.3.3 Les lecteurs SCSI


Un lecteur SCSI est reconnu de cette manière:
ID1 /dev/sda Tout le disque sur le
premier ID
/dev/sda1 Première partition
ID2 /dev/sdb Tout le disque sur le
second ID

Le modèle d'appellation utilisé pour le matériel SCSI est aussi utilisé pour
l'appareillage IEEE1394 (Firewire) et USB.
Une fois le disque partitionné, il est possible de créer un système de fichiers sur
chaque partition.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 47/297

2 Installer un gestionnaire de démarrage

Description
Les Candidats doivent être en mesure de sélectionner, installer et configurer un
gestionnaire de démarrage. Cet objectif inclut la configuration de l'emplacement
du démarrage alternatif et la sauvegarde/restauration des options de
démarrage (par exemple: démarrer sur une disquette).

Dossiers principaux, termes et utilitaires inclus


/etc/lilo.conf
/boot/grub/grub.conf
lilo
grub-install
MBR
superblock
first stage boot loader

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 48/297

2.1 LILO ou Grub

Ils sont utilisés pour charger en RAM une image stockée sur un disque.

Les avantages de Grub par rapport à LILO:


• Il possède d'avantage de commandes.
• Il est capable de charger les images stockées au delà de la limitation
du BIOS à 1024 cylindres.
• Il est possible d'accéder à sa configuration à travers un système de
fichiers.

Si vous utilisez LILO, il faut installer un nouveau LILO dans le MBR chaque fois
que vous ajoutez ou que vous changez une image.

LILO conserve les informations sur le BOOT dans le MBR.


Grub conserve les informations sur le BOOT dans le système de fichiers
(menu.lst).

LILO a également un fichier de configuration /etc/lilo.conf.

Pour installer Grub dans le MBR, il faut utiliser grub.


La commande setup prendra le pas sur MBR.

Pour installer LILO dans le MBR, il faut utiliser la commande lilo.


La commande lilo permet d'écrire dans le MBR les éléments contenus dans
le fichier /etc/lilo.conf.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 49/297

2.2 Exemples de fichiers /etc/lilo.conf

# LILO global section


boot = /dev/hda # LILO installation target: MBR
vga = normal # (normal, extended, or ask)
read-only # Mount the root file systems read-only

# LILO Linux section


image=/boot/vmlinuz # Image to load
label=linux # Label to display
root=/dev/hda1 # Root partition for the kernel
initrd=/boot/initrd # Ramdisk

# LILO DOS/Windows section


other=/dev/hda3
label=windows

# LILO memtest section


image=/boot/memtest.bin
label=memtest86

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 50/297

2.3 Exemples de fichiers menu.lst

# GRUB default values


timeout 10 # Boot the default kernel after 10 seconds
default 0 # Default kernel

# Grub for Linux section 0


title GNU/Linux # Title
root (hd0,1) # /dev/hda2 root filesystem

# Kernel and parameters to pass to the kernel


kernel /boot/vmlinuz root=/dev/hda2 read-only
initrd /boot/initrd
boot

# Grub for DOS/Windows section


title Winblows
root (hd0,2) # /dev/hda3
makeactive
chainloader+1

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 51/297

2.4 Quiz

Quiz 2.1
Est-il possible d'installer un chargeur de démarrage sur une disquette ?
Quiz 2.2
Quel est le fichier de configuration de LILO ?
Quiz 2.3
LILO peut-il accéder au système de fichiers pour lire son fichier de
configuration ?
Quiz 2.4
Quel est le meilleur emplacement pour GRUB et LILO sur un disque dur IDE ?
Quiz 2.5
Quel est le nom et l'emplacement du fichier de configuration de GRUB?
Quiz 2.6
Quelle est la commande pour installer un nouveau LILO dans le MBR ?
Quiz 2.7
Quelle est la commande pour installer un nouveau GRUB dans le MBR ?
Quiz 2.8
Qu'est-ce que le initrd ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 52/297

2.5 Réponses quiz

Réponse quiz 2.1


oui.
Réponse quiz 2.2
/etc/lilo.conf
Réponse quiz 2.3
non.
Réponse quiz 2.4
Dans le MBR.
Réponse quiz 2.5
/boot/grub/menu.lst
Réponse quiz 2.6
[root@test ] /# lilo

Réponse quiz 2.7


[root@test ] /# grub
> root (hd0,1)
> initrd /boot/initrd
>boot

Réponse quiz 2.8


initrd est la mémoire disque minimale pour le noyau pour démarrer et
monter les systèmes de fichiers.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 53/297

2.6 Exercices

Exercice 2.1
Installez Grub sur une disquette et essayez de démarrer manuellement sur
votre image:
[root@test ] /# mkfs -t ext2 /dev/fd0
[root@test ] /# mount /dev/fd0 /mnt
[root@test ] /# mkdir -p /mnt/boot/grub
[root@test ] /# cp /boot/grub/stage* /mnt/boot/grub/
[root@test ] /# cp /boot/grub/e2fs_stage1_5 /mnt/boot/grub/
[root@test ] /# touch /mnt/boot/grub
[root@test ] /# umount /mnt
[root@test ] /# grub
> root (fd0)
> setup (fd0)
> quit

Redémarrez ensuite sur la disquette et, au prompte, sélectionnez le noyau sur


le disque dur. “>” est le prompte proposé par GRUB, et les lecteurs hd0,1 et /
dev/hda2 doivent être remplacés par l'un de ceux utilisés dans votre système.
Les lignes suivantes méritent toute votre attention avant d'être tapées.
> root (hd0,1)
> kernel /boot/vmlinuz root=/dev/hda2 read-only
> initrd /boot/initrd
> boot

Exercice 2.2
Créez le fichier /boot/grub/menu.lst et installez Grub sur votre disque dur
en utilisant les utilitaires proposés par Grub.
Exercice 2.3
Réinstallez Lilo. Dans le fichier /etc/lilo.conf, changez le label Linux de
l'image par défaut du noyau par "kangaroo" et réinstallez le programme Lilo
dans le MBR.
Exercice 2.4
Quelle est la commande qui permet de supprimer Lilo ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 54/297

2.7 Réponses

Réponse 2.1
Suivre la procédure.
Réponse 2.2
Tapez la commande:
[root@test ] /# grub
root (hd0,0) # partition boot

puis:
setup (hd0) # Where to install the boot record MBR
quit

Editez le fichier /boot/grub/menu.lst et inscrire les lignes suivantes:


default 0
timeout 30
title=Mon exemple de Gentoo Linux
root (hd0,0)
kernel (hd0,0)/boot/bzImage root=/dev/hda3

Réponse 2.3
Pour réinstaller lilo, dans un premier temps, il faut garder la disquette de
grub et voir la question 2.1.
Désinstallez grub et installez le programme lilo. Modifiez le fichier
/etc/lilo.conf et tapez au prompte la commande lilo afin que celui-ci
soit installé dans le MBR. Vous pouvez redémarrer votre machine et utilisez
lilo comme chargeur de démarrage.
Réponse 13.4
La commande à utiliser pour enlever lilo du MBR est lilo -U .

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 55/297

3 Compiler et installer des programmes à


partir des sources

Description
Les Candidats doivent être en mesure de construire et d'installer un
programme exécutable à partir des sources.
Cet objectif inclut de pouvoir décompacter (unpack) un fichier depuis les
sources. Les candidats doivent pouvoir faire des adaptations simples sur le
Makefile, par exemple dans les chemins (paths) ou ajouter d'autres entrées
au dossiers (extra include directories).

Dossiers principaux, termes et utilitaires inclus


gunzip
gzip
bzip2
tar
configure
make

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 56/297

3.1 Archivage de fichiers

Une archive est une suite de fichiers et de sous-répertoire stockés dans un


fichier.

La commande qui vous permet d'intégrer des fichiers et des sous-répertoires


dans un fichier est la commande tar.
tar function&options files

Principales fonctions:
-c: Pour créer un nouveau fichier tar.
-t: Donne le contenu d'un fichier tar.
-x: Pour extraire le contenu du fichier tar.

Principales options:
-f: file: Spécifie le nom du fichier tar.

Exemples:
[root@test ] /# tar cvf mybackup.tar ~
[root@test ] /# tar cvf usr.tar /usr
[root@test ] /# tar tvf mybackup.tar
[root@test ] /# tar xvf mybackup.tar

Il est courant d'utiliser l'extension .tar pour tous les fichiers archivés avec
tar.
tar n'a pas besoin d'un trait d'union devant les options.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 57/297

3.2 Compression de fichiers

Compresser les fichiers préserve de la place pour le stockage des données et


de la bande passante lors des transferts de fichiers.
Il existe plusieurs utilitaires pour compresser des fichiers:
compress, uncompress: Le plus ancien algorithme de compression sous
Unix.
gzip, gunzip: Le plus utilisé.
bzip2, bunzip2: Le meilleur algorithme de compression.

Une fois l'archive créée, elle peut être compressée.

Exemples:
[root@test ] /# ls -l backup.tar
-rw-r--r-- 1 rarrigon users 22773760 nov 10 11:07 backup.tar
[root@test ] /# gzip -v backup.tar
backup.tar: 53.8% -- replaced with backup.tar.gz
[root@test ] /# ls -l backup.tar.gz
-rw-r--r-- 1 rarrigon users 10507393 nov 10 11:07 backup.tar.gz
[root@test ] /# gunzip backup.tar.gz
[root@test ] /# bzip2 -v backup.tar
backup.tar: 2.260:1, 3.540 bits/byte, 55.75% saved, 22773760 in, 10077846
out.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 58/297

3.3 Compression et archivage des fichiers

Si vous voulez archiver des fichiers et des sous-répertoires, il est possible de


créer un paquetage et de le compresser en une seule commande.

Exemples:
[root@test ] /# tar cvzf backup.tgz ~ # Backup of home with gzip
[root@test ] /# tar cvjf backup.tbz ~ # Backup of home with bzip2
[root@test ] /# tar xvzf backup.tgz # Extract and gunzip backup.tgz
[root@test ] /# tar xvjf backup.tbz # Extract and bunzip2 backup.tbz

Par défaut, tar utilise un chemin relatif mais avec l'option -P, il est possible de
sauvegarder les fichiers avec un chemin absolu.
Si vous utilisez cette option, le fichier est toujours extrait dans le même
emplacement.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 59/297

3.4 La chaîne d'outils GNU

Sous Linux, toutes les sources peuvent être construites à partir de la chaîne
d'outils (tool chain) standards GNU.

L'utilitaire make permet de maintenir un groupe de programmes. Il faut utiliser


les règles définies dans makefile.
Le gcc est le compilateur ANSI C et le g++ est le compilateur C++.

La plupart des paquetages compressés ou archivés, une fois installés,


contiennent des fichiers d'informations (README, INSTALL). Ces fichiers vous
expliqueront la manière de les construire et de les installer.

Les fichiers Makefile.in et configure.in sont les fichiers qui seront


utilisés pour générer un fichier makefile à la fin de l'opération.

En général, ces fichiers, une fois configurés, scannent le système pour générer
un fichier Makefile.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 60/297

3.5 Quiz

Quiz 3.1
Quel utilitaire de compression utilise le meilleur algorithme de compression ?
Quiz 3.2
Quelles sont les différences entre un chemin relatif et un chemin absolu ?
Quiz 3.3
Qu'est-ce qu'un Makefile ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 61/297

3.6 Réponses quiz

Réponse quiz 3.1


bzip2
Réponse quiz 3.2
Un chemin absolu commence à root (/). Un chemin relatif peut être installé
depuis n'importe quel emplacement.
Réponse quiz 3.3
Makefile est créé par l'utilitaire make. Il contient normalement les règles des
dépendances pour la construction d'une application.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 62/297

3.7 Exercices

Exercice 3.1
Faites une archive des répertoires /bin et /sbin. Avec quel utilitaire de
compression obtenez-vous les tailles de fichiers les plus petites?
Utilisez -v pour obtenir le pourcentage de réduction des fichiers.
Exercice 3.2
Installez le fichiers /usr/src/packages/SOURCES/grub-09.tar.bz2
dans /tmp et, en lisant INSTALL et README et construisez les sources.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 63/297

3.8 Réponses

Réponse 3.1
La commande est:
[root@test ] /# tar -cvjf bkp1 /bin
[root@test ] /# tar -cvjf bkp2 /sbin

On utilise bzip2 pour avoir un taux de compression élevé et donc minimiser la


taille du fichier archive.
Réponse 3.2
On utilise la commande tar pour décompresser le fichier.
[root@test ] /# tar -xvjf grub-09.tar.bz2

Puis, il suffit de lire le fichier INSTALL. Il donne la marche à suivre pour


installer le logiciel.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 64/297

4 Gérer les bibliothèques partagées

Description
Les candidats devront savoir déterminer de quelles bibliothèques partagées les
programmes exécutables dépendent et savoir comment les installer si
nécessaire.
Les candidats doivent pouvoir établir l'emplacement des bibliothèques dont
dépendent le système.

Dossiers principaux, termes et utilitaires inclus


ldd
ldconfig
/etc/ld.so.conf
LD_LIBRARY_PATH

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 65/297

4.1 Les bibliothèques

Une bibliothèque est un ensemble de fonctions que le programme peut utiliser


pour implémenter ses fonctionnalités.

Lorsque vous construisez un programme, ses bibliothèques peuvent être liées


de manière statique ou dynamique à l'exécutable:
• Utiliser les liens statiques signifie que le programme final contiendra
des bibliothèques de fonctions avec leur fichier lib.a.
• Utiliser les liens dynamiques signifie que les bibliothèques dont
dépendent le programme seront chargées en RAM lors de son
exécution. (lib.so)

Les répertoires par défaut pour toutes les bibliothèques standards sont:
/lib: Utilisé principalement par les programmes /bin.
/usr/lib: Utilisé principalement par les programmes /
usr/bin.

Le fichier /etc/ld.so.conf est utilisé par le système pour spécifier les


emplacements des autres bibliothèques.

Pour construire un fichier caché utilisé par le chargeur d'exécution de toutes les
bibliothèques, il faut utiliser la commande ldconfig.

Le fichier /etc/ld.so.cache est alors généré.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 66/297

4.2 Les dépendances des bibliothèques

Pour afficher les programmes partagés ou les dépendances des bibliothèques,


il faut utiliser ldd.

ldd [-vdr] program|library

Exemple:
[root@test ] /# ldd -d -v /bin/cp
libc.so.6 => /lib/libc.so.6 (0x40027000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Version information:
/bin/cp:
libc.so.6 (GLIBC_2.1.3) => /lib/libc.so.6
libc.so.6 (GLIBC_2.1) => /lib/libc.so.6
libc.so.6 (GLIBC_2.2) => /lib/libc.so.6
libc.so.6 (GLIBC_2.0) => /lib/libc.so.6
/lib/libc.so.6:
ld-linux.so.2 (GLIBC_2.1.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2.3) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.1) => /lib/ldlinux.so.2
ld-linux.so.2 (GLIBC_2.2) => /lib/ld-linux.so.2
ld-linux.so.2 (GLIBC_2.0) => /lib/ld-linux.so.2

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 67/297

4.3 Le chargeur d'exécution (Runtime loader)

Le chargeur d'exécution ld.so cherche les bibliothèques utilisées par un


programme et les charge en RAM.

L'ordre de recherche utilisé par ld.so est:


1. LD_LIBRARY_PATH
2. Le fichier caché /etc/ld.so.cache
3. Les répertoires par défaut /lib et /usr/lib

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 68/297

4.4 Quiz

Quiz 4.1
Quelle est la différence entre une bibliothèque statique et une bibliothèque
partagée ?
Quiz 4.2
Quel utilitaire vous permet de trouver les bibliothèques dont dépendent un
binaire ?
Quiz 4.3
Qu'est-ce que ld.so ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 69/297

4.5 Réponses quiz

Réponse quiz 4.1


Les librairies statiques lient les librairies des fichiers en incluant le code au
fichier binaire. Avec les librairies partagées, le code est chargé lorsque le
programme est exécuté.
Réponse quiz 4.2
[root@test ] /# ldd /bin/ls
libtermcap.so.2 => /lib/libtermcap.so.2 (0x4001e000)
libc.so.6 => /lib/i686/libc.so.6 (0x40022000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

Réponse quiz 4.3


ld.so est une librairie qui contrôle les dépendances d'un exécutable et charge
les librairies partagées.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 70/297

5 Utiliser le gestionnaire de paquetages


de Debian

Description
Les Candidats doivent pouvoir assurer les tâches de gestion des paquetages
en utilisant l'outil dédié de Debian (Debian package manager).
Cet objectif implique la capacité d'utiliser la ligne de commande et les outils
interactifs pour installer, mettre à jour, et desinstaller les paquetages et trouver
les paquetages contenant des fichiers ou programmes spécifiques (tel ou tel
paquetage doit ou ne doit pas être installé).
Cet objectif inclut enfin de pouvoir obtenir les informations sur le paquetage,
telles que la version, le contenu, les dépendances, l'intégrité du paquetage et le
statut de l'installation (le paquetage est installé ou non).

Dossiers principaux, termes et utilitaires inclus

unpack
configure
/etc/dpkg/dpkg.cfg
/var/lib/dpkg/*
/etc/apt/apt.conf
/etc/apt/sources.list
dpkg
dselect
dpkg-reconfigure
apt-get
alien

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 71/297

5.1 La distribution Debian

Debian est une organisation à but non lucratif dédiée au développement des
logiciels libres et à la promotion des idéaux de la Free Software Foundation.

Le projet Debian a commencé en août 1993.

Il y a dans le monde plus de 800 développeurs Debian (mai 2004)

Debian supporte la plupart des processeurs:


Alpha, ARM, HP PA-RISC, Intel x86, Intel IA-64, Motorola 680x0, MIPS, MIPS
(DEC), PowerPC, IBM S/390, SPARC.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 72/297

5.2 dselect

Sur Debian, l'utilitaire qui vous permet d'installer et de supprimer facilement des
paquetages est dselect.

Il faut:
• Choisir la méthode d'accès à utiliser.
• Mettre à jour la liste des paquetages disponibles, si possible.
• Connaître les paquetages que vous souhaiter installer.
• Installer et mettre à jour les paquetages à installer.
• Configurer tous les paquetages qui ne le sont pas encore.
• Supprimer les logiciels indésirables.

dselect propose un menu interactif qui vous permet d'installer et de


supprimer des paquetages.

Il faut être prudent avec cet utilitaire. Vous pouvez facilement endommager
votre système.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 73/297

5.3 Exemples de menus dselect

Debian `dselect' package handling frontend.


0. [A]ccess Choose the access method to use.
1. [U]pdate Update list of available packages, if possible.
2. [S]elect Request which packages you want on your system.
3. [I]nstall Install and upgrade wanted packages.
4. [C]onfig Configure any packages that are unconfigured.
5. [R]emove Remove unwanted software.
6. [Q]uit Quit dselect.

dselect: liste des méthodes d'accès:


Abbrev. Description
cdrom Installation depuis un CD-ROM. *
multi_cd Installation depuis un lecteur de CD-ROM.
nfs Installation depuis un serveur NFS (pas encore
monté).
multi_nfs Installation depuis un serveur NFS (en utilisant le
lecteur de CD-ROM) (pas encore monté).
harddisk Installation depuis une partition sur un disque dur
(pas encore monté).
mounted Installation depuis un système de fichiers déjà
monté.
multi_mount Installation depuis une partition montée en
changeant le contenu.
floppy Installation depuis un lecteur de disquettes.
apt APT Acquisition [file,http,ftp]

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 74/297

5.4 apt-get

Si vous connaissez le nom du paquetage que vous allez installer, vous pouvez
utiliser apt-get.
Vous devez configurer le fichier sources.list. Ce fichier est utilisé lors du
choix de la méthode d'accès apt de dselect.
Son emplacement est /etc/apt.

Exemples de fichiers sources.list:


cdrom:/cdrom
cdrom:/mnt/cdrom
file:/mnt
file:/debian
http://www.us.debian.org/debian
http://non-us.debian.org/debian-non-US
ftp://ftp.debian.org/debian
ftp://nonus.debian.org/debian-non-US

Pour mettre à jour les informations sur les paquetages valables:


[root@test ] /# apt-get update

Pour installer un paquetage:


[root@test ] /# apt-get install package

Pour mettre à jour automatiquement tous les paquetages installés:


[root@test ] /# apt-get upgrade

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 75/297

5.5 Quiz

Quiz 5.1
Quelles sont les deux partitions qu'un système doit avoir au minimum?
Quiz 5.2
Pourquoi est-il est mieux de placer le répertoire /var dans une partition
indépendante ?
Quiz 5.3
Pourquoi est-ce qu'il est mieux de placer le répertoire /home dans une partition
indépendante ?
Quiz 5.4
Quelle est l'option qui permet s'interroger la base de données des RPM ?
Quiz 5.5
Quelle est l'extension des fichiers sources RPM ?
Quiz 5.6
Quel utilitaire peut-on utiliser pour installer Debian ?
Quiz 5.7
Quelle est la configuration du fichier utilisé par Debian pour rechercher les
paquetages ?
Quiz 5.8
Peut-on installer un fichier RPM avec apt-get ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 76/297

5.6 Réponses quiz

Réponse quiz 5.1


Swap et /
Réponse quiz 5.2
Pour optimiser les performances, /var peut être utilisé sur un disque rapide.
Réponse quiz 5.3
Pour la sauvegarde et aussi pour la maintenance. Le disque peut facilement
être enlevé ou changé sans affecter le système courant.
Réponse quiz 5.4
[root@test ] /# rpm -qa

Réponse quiz 5.5


file.src.rpm
Réponse quiz 5.6
dselect
Réponse quiz 5.7
/etc/apt/souces.list
Réponse quiz 5.8
Non, il doit être converti d'abord.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 77/297

5.7 Exercices

Exercice 5.1
Installez un système avec Debian.
Exercice 5.2
Essayez d'utiliser dselect pour supprimer l'utilitaire de tcpdump.
Exercice 5.3
Réinstallez ensuite avec apt-get les paquetages qui contiennent l'utilitaire
tcpdump.
Exercice 5.4
Changez la liste source de la distribution Debian.
Exercice 5.5
Mettez à jour le paquetage list.
Exercice 5.6
Désinstallez le paquetage de tcpdump avec les outils APT. Vous devez
supprimer toutes les dépendances et tous les fichiers de configuration.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 78/297

5.8 Réponses

Réponse 5.1
Installez la distribution Debian en suivant le programme d'installation.
Réponse 5.2
Lancez l'utilitaire dselect et supprimez le paquetage tcpdump.
Réponse 5.3
Pour installer tcpdump avec la commande apt-get:
[root@test ] /# apt-get install tcpdump

Réponse 5.4
Pour afficher la liste des sources, éditez le fichier /etc/apt/sources.list,
et modifier le. Ou utiliser l'outil dselect.
Réponse 5.5
Pour faire une mise a jours de la liste de paquetages, faire:
[root@test ] /# apt-get update

Réponse 5.6
Pour supprimer tcpdump avec la commande apt, il faut taper:
[root@test ] /# apt-get remove tcpdump --purge

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 79/297

6 Utiliser le gestionnaire de paquetages


Red Hat (RPM)

Description
Les candidats doivent être en mesure d'effectuer la gestion des paquetages
sous des distributions Linux utilisant RPMs pour la gestion des archives.
Cet objectif inclut d'être capable d'installer, re-installer, mettre à jour, et retirer
des paquetages, aussi bien que d'obtenir des informations sur le statut et la
version des paquetages.
Cet objectif inclut aussi les informations de paquetage telles que version, statut,
dépendances, intégrité, et signatures. Les candidats doivent être en mesure de
déterminer quels fichiers sont fournis par le paquetage, et de quel paquetage
un fichier spécifique est issus.

Dossiers principaux, termes, et utilitaires inclus


/etc/rpmrc
/usr/lib/rpm/*
rpm
grep

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 80/297

6.1 Gestion des paquetages RPM

Plusieurs distributions Linux utilisent rpm, le "Red Hat Package Manager" pour
distribuer les logiciels ou les applications.
RPM est l'outil de packaging standard pour le projet LSB (Linux Standard
Base).
RPM maintient une base de données détaillée de tous les logiciels installés
dans le système.

Pour installer un paquetage RPM, il faut taper:


[root@test ] /# rpm -i [package].rpm

Le paquetage est installé seulement si toutes les dépendances sont couvertes


et si il n'y a aucun conflit avec d'autres paquetages.

Pour mettre à jour un paquetage, il faut taper:


[root@test ] /# rpm -U [package].rpm

Le fichier de l'ancienne version du paquetage est supprimé et remplacé par le


nouveau fichier.

Pour supprimer un paquetage RPM, il faut taper:


[root@test ] /# rpm -e [package]

Le paquetage est supprimé uniquement si aucune dépendance n'est créée.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 81/297

6.2 Utilisation des RPM

L'option -q vous permet de questionner la base de données RPM.


[root@test ] /# rpm -q -i apache

L'option -i permet d'obtenir les informations sur le paquetage.

Plusieurs options sont à connaître:


-l: Pour avoir le fichier liste du paquetage.
[root@test ] /# rpm -q -l pciutils
/sbin/lspci
/sbin/setpci
/usr/share/doc/package/pciutils
/usr/share/pci.ids

-f: Pour questionner le paquetage d'un fichier.


[root@test ] /# rpm -q -f /sbin/lspci
pciutils-2.1.9-58

-s: Donne le fichier contenant les informations sur le statut.


-d: Liste uniquement les fichiers de documentation.
-a: Liste tous les paquetages installés.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 82/297

6.3 Les commandes RPM

Pour obtenir des informations générales sur un paquetage ou un programme, il


faut utiliser rpmlocate.
[root@test ] /# rpmlocate ipcs -q -i apache
Searching for ipcs in rpm db... util-linux-2.11n-75: /usr/bin/ipcs /
usr/share/man/man8/ipcs.8.gz

Pour lister tous les paquetages installés, il faut utiliser rpmqpack.


[root@test ] /# rpmqpack

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 83/297

6.4 Installation des sources

Les fichiers sources RPM possèdent en général le format package.src.rpm


et peuvent être installées de la même manière que les binaires.

Le répertoire où ils seront installés dans /usr/src/packages:


SOURCES: Contient les sources originales.
SPECS: Le fichier .spec contrôle le processus de construction (build process).
BUILD: Toutes les sources sont construites dans ce répertoire.
RPMS: Répertoire où les paquetages de binaires sont stockés.
SRPMS: Les sources.

Pour installer les sources d'un paquetage, faites:


[root@test ] /# rpm -i mypack.src.rpm

Les fichiers source seront stockées dans /usr/src/packages, répertoires


spec et SOURCES.
Pour compiler les sources, faites:
[root@test ] /# rpm -ba /usr/src/packages/SPECS/mypack.spec

Le résultat de la compilation sera dans le répertoire BUILD.

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 84/297

6.5 Exercices

Exercices 6.1
Est-ce que le paquetage apache est installé sur votre système ?
Exercices 6.2
Dans quels paquetages se trouvent les fichiers /bin/ls,
/usr/sbin/tcpdump, et /sbin/ifconfig ?
Exercices 6.3
Depuis le lecteur de disquettes, installez les utilitaires PCI et les paquetages de
grub. Construisez les binaires et essayez de les exécuter.
Les sources doivent être dans le répertoire suivant : /
usr/src/packages/BINARY.
Exercices 6.4
Avec l'aide de l'outil rpm, installez le paquetage de votre choix.
Exercices 6.5
Listez tous les paquetages installés sur votre système.
Exercices 6.6
Quelle est la commande à utiliser pour mettre à jour le paquetage apache ?

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 85/297

6.6 Réponses

Réponse 6.1
Pour vérifier, tapez la commande:
[root@test ] /# rpm -q apache

Réponse 6.2
La commande est:
[root@test ] /# rpm -qf /bin/ls
[root@test ] /# rpm -qf /usr/sbin/tcpdump
[root@test ] /# rpm -qf /sbin/ifconfig

Réponse 6.3
Copiez sur votre disquette les sources des outils pci et grub et installez-les.
Le nom du paquetage source est de la forme pkgname.src.rpm.
Réponse 6.4
Installer le programme votre choix avec la commande rpm.
Réponse 6.5
La commande à utiliser est:
[root@test ] /# rpm -q

Réponse 6.6
Pour mettre à jour un paquetage rpm, utilisez la commande:
[root@test ] /# rpm -U pkgname

Installation Linux & gestion des paquetages


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 86/297

GNU & Commandes Unix


Contenu du chapitre

GNU & Commandes Unix......................................86 3.15 Les commentaires............................................136


1 Travailler en ligne de commande ......................87 3.16 Lister des fichiers dans un sous-répertoire......137
1.1 Unix et Linux........................................................88 3.17 Exemples.........................................................138
1.2 Historique du développement de UNIX................89 3.18 Quiz .................................................................139
1.3 Shell.....................................................................90 3.19 Réponses quiz ................................................140
1.4 La ligne de commande.........................................91 3.20 Exercices .........................................................141
1.5 /bin/bash...............................................................92 3.21 Réponses ........................................................143
1.6 Recouvrement de /bin/bash.................................93 4 Utiliser les flux, les pipes, et les redirections....145
1.7 Log In et Log Out.................................................94 4.1 Entrées standards et sorties standards.............146
1.8 Mot de Passe.......................................................95 4.2 Exemples...........................................................147
1.9 Informations sur les utilisateurs...........................96 4.3 Redirections (pipes)...........................................148
1.10 Informations sur les groupes..............................97 4.4 Construction des arguments..............................149
1.11 Les pages de manuel (Man pages)...................98 4.5 Le lecteur /dev/null ............................................150
1.12 Les variables Shell.............................................99 4.6 Quiz ...................................................................151
1.13 Quiz .................................................................100 4.7 Réponses quiz ..................................................152
1.14 Réponses quiz ................................................101 4.8 Exercices ...........................................................153
1.15 Exercices .........................................................102 4.9 Solutions ...........................................................154
1.16 Réponses ........................................................103 5 Créer, gérer et tuer un processus....................156
2 Traiter les flux de texte à l'aide des filtres........105 5.1 Créer un processus............................................157
2.1 Assembler les fichiers........................................106 5.2 Gérer des processus..........................................158
2.2 Afficher le début et la fin d'un fichier..................107 5.3 Gestion des processus en temps réel...............159
2.3 Numérotation des lignes des fichiers.................108 5.4 Envoyer un signal aux processus......................160
2.4 Compter les lecteurs dans un fichier.................109 5.5 Contrôle des tâches...........................................161
2.5 Découper les champs des fichiers.....................110 5.6 Mémoire virtuelle................................................162
2.6 Conversion des caractères................................111 5.7 Quiz....................................................................163
2.7 Manipulation des lignes.....................................112 5.8 Réponses quiz...................................................164
2.8 Diviser des fichiers.............................................113 5.9 Exercices............................................................165
2.9 Formatage pour l'impression..............................114 5.10 Réponses ........................................................166
2.10 Extraction des lignes d'un fichier texte............115 6 Les priorités d'exécution d'un processus.........167
2.11 Vidage des fichiers binaires.............................116 6.1 Modification des priorités d'exécution des
2.12 Quiz .................................................................117 processus.................................................................168
2.13 Réponses quiz.................................................118 6.2 Modifier un programme en cours d'exécution....169
2.14 Exercices..........................................................119 7 Les expressions régulières..............................170
2.15 Réponses ........................................................120 7.1 Recherche de motifs (pattern matching)............171
3 Effectuer la gestion de base des fichiers.........121 7.2 Modèle de recherche limité................................172
3.1 Liste les noms de fichiers et les informations....122 7.3 Combinaisons de regexp limitées......................173
3.2 Types de fichiers................................................123 7.4 Chaînes de longueurs précises.........................174
3.3 Contenu et emplacement des fichiers...............124 7.5 Grep...................................................................175
3.4 whereis et which................................................125 7.6 sed.....................................................................176
3.5 Créer et supprimer des répertoires....................126 7.7 Quiz ...................................................................177
3.6 Copier des fichiers et des répertoires................127 7.8 Réponses quiz ..................................................178
3.7 Supprimer des fichiers ou des répertoires.........128 7.9 Exercices ...........................................................179
3.8 Créer et utiliser les noms de fichiers..................129 7.10 Réponses ........................................................180
3.9 Caractères à éviter.............................................130 8 L'édition de fichiers avec VI..............................182
3.10 Déplacer et renommer des fichiers..................131 8.1 Les bases de l'édition de fichiers avec vi...........183
3.11 File globbing et jokers (wildcards)...................132 8.2 Quiz....................................................................185
3.12 Les caractères spéciaux des wildcards...........133 8.3 Réponses quiz ..................................................186
3.13 Utilisation des jokers dans le shell...................134 8.4 Exercices ...........................................................187
3.14 Mécanismes de citation...................................135 8.5 Réponses ..........................................................188

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 87/297

1 Travailler en ligne de commande

Description
Les candidats doivent être capables d'inter-agir avec des shell et des
commandes en utilisant la ligne de commande.
Cela inclut la saisie au clavier des commandes et des séquences de
commandes valides, de définir, référencer et exporter des variables
d'environnement, d'utiliser l'historique de commande et les facilités d'éditions,
de passer des commandes dans un chemin et en dehors, d'utiliser la
substitution de commande, d'appliquer une commande de façon récursive à
travers l'arborescence des répertoires et d'utiliser man pour se documenter sur
les commandes.

Dossiers principaux, termes et utilitaires inclus


.
bash
echo
env
exec
export
man
pwd
set
unset
~/.bash_history
~/.profile

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 88/297

1.1 Unix et Linux

Unix est le système d'opérations original pour Internet. (NFS, TCP/IP, RPC, ...)

Linux est une implémentation d'Unix écrite from scratch par Linus Torvalds
avec l'aide d'une communauté internationale de développeurs sur Internet.
Principales caractéristiques des deux systèmes:
• Portables, multi-utilisateurs, multi-processeurs
• Indépendants du matériel
• Partage des ressources, hautes performances et haut niveau de
sécurité
• Lignes de commande
• GUI

Linux est POSIX. Il est conforme également avec les autres standards API
comme BSD ou SVR4.
Linux possède toutes les caractéristiques des Unix modernes: réellement multi-
tâches et multi-utilisateurs, gestion de la mémoire virtuelle, bibliothèques
partagées, chargement à la demande, exécutables partagés avec gestion des
données en "copy-on-write", gestion efficace de la mémoire et du réseau
TCP/IP.

De plus en plus d'entreprises choisissent Linux grâce à ses performances, ses


coûts de maintenance et un retour sur investissement très rapide.

Les spécifications POSIX


POSIX (Portable Operating System Interface) est un ensemble de standards
pour les interfaces des systèmes d'opérations UNIX. Il a été publié par IEEE et
l'Open Group. POSIX est aussi une certification pour les logiciels qui garantie la
comptabilité du code source. Un logiciel compatible POSIX peut être porté sur
toutes les plate-formes compatibles POSIX.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 89/297

1.2 Historique du développement de UNIX

Unix a été développé en 1969 dans les laboratoires Bell par un petit groupe
dans le cadre d'un projet de recherche privé. Leur objectif était de construire un
OS qui:
• Soit simple et élégant.
• Soit écrit dans un langage de haut-niveau plutôt que dans un langage
assembleur.
• Autorise l'utilisation du code.

La plupart des OS, à cette époque, étaient des gros systèmes et tous étaient
écrits en Assembleur. Unix a été écrit en C, ce qui garanti sa comptabilité.
Cette comptabilité est très certainement la principale raison du succès des
Unix.
Dans les années 70, AT&T a libéré le code pour les Universités et les
administrations américaines et a ensuite commencé à le vendre aux
entreprises privées.
Depuis la première version d'un OS Unix en 1969, l'histoire d'Unix a été très
mouvementée. De nombreux clones du système original ont vu le jour (BSD en
1977 ou Coherent OS en 1983) et ont été écrits “from scratch” par de petites
équipes de développeurs. Ces Unices (le pluriel de Unix) ont été publiés sous
licence soit propriétaires, soit complètement ouvertes (projet BSD).
En 1991, un étudiant finlandais appelé Linus Torvald, a libéré le code de la
première version de son OS, qu'il a appelé Linux.
Linux a été le premier OS distribué sous licence GPL, ce qui a permis un
développement rapide et homogène de son noyau: le kernel.
Comme tous les clone d'Unix, dans Linux sont implémentées toutes les
commandes BSD et System V de AT&T.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 90/297

1.3 Shell

Un Shell est:
• Un interpréteur de commande.
• Un prompte.
• Un interpréteur de commandes qui contient des redirections I/O, des
pipes, qui crée des fichiers, etc.
Un Shell:
• Exécute des commandes.
• Exécute des scripts.

Il existe plusieurs shells; Parmi les plus courants:


• sh: Bourne shell est le shell standard pour les scripts. Il a été le
premier à inclure des fonctionnalités de 'globbing', c'est à dire de
gestion des caractères joker (widcards) dans les noms de fichiers.
• csh: Berkeley shell, gestion des jobs (travaux en arrière plan),
historique des commandes, alias.
• ksh: shell Korn, syntaxe de type Bourne avec des fonctionnalités
Berkeley.
• bash: "Bourne Again shell", logiciel libre à la manière du shell Korn.
Le Shell standard des Linux.
• tcsh: Libre, le clone de Berkeley avec de nombreuses extensions.

La plupart des shells vous permettent de personnaliser votre prompte et votre


environnement.
La variable du prompte, pour le Bash, est PS1.
Pour le Bash, les fichiers utilisés pour la personnalisation de l'environnement
sont les suivants:
• .bashrc exécuté pour les nouvelles sessions.
• .bash_profile exécuté au logging In.
• .bash_logout exécuté au logging Out.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 91/297

1.4 La ligne de commande

Toutes les lignes de commande ont cette syntaxe:


command [options] [arguments]

Exemples:
[root@test ] /# pwd
[root@test ] /# ls -ld ; ls -l -d ; ls -d -l
[root@test ] /# rm -r /tmp/toto
[root@test ] /# cat ../readme helpme > save
[root@test ] /# more /etc/passwd /etc/hosts /etc/group
[root@test ] /# find . -name *.[ch] -print
[root@test ] /# date "+day is %a"

Les lignes de commande peuvent être assemblées dans un fichier pour former
un script.
Pour afficher une chaîne de caractères, il faut utiliser echo:
echo [-n][string|command|$variable]
Essayez ces exemples:
[root@test ] /# echo my home directory is: $HOME
[root@test ] /# echo I use the $SHELL shell

L'ordre de priorité des différentes sources des commandes dans un shell est:
1. Les aliases.
2. Les mots clé, comme if, for ou autre.
3. Les fonctions.
4. Les commandes intégrées comme cd, type, et kill.
5. Les scripts et les programmes exécutables, pour lesquels le shell cherche
dans la liste des répertoires du PATH les variables d'environnement.
Si vous souhaitez connaître la source d'une commande, tapez:
[root@test ] /# type kill
kill is a shell builtin

Différente de /bin/kill
Pour connaître toutes les commandes intégrées, il faut utiliser help.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 92/297

1.5 /bin/bash

/bin/bash peut être appelé au moment du log in ou explicitement par un


utilisateur.
Au moment du log in, les scripts suivants, lorsqu'ils existent, sont exécutés:
• /etc/profile
• $HOME/.profile
• $HOME/.bash_profile
• /etc/bash.bashrc
• $HOME/.bashrc

Quand un utilisateur appelle explicitement le shell bash, les scripts suivant sont
exécutés, si ils existent:
• /etc/bash.bashrc
• $HOME/.bashrc

L'historique des commandes tapées est dans le fichier: .


bash_history
Un script est une suite de commandes et d'opérations exécutées dans un shell.
Un bash script gère entre autre l'installation des variables d'environnement.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 93/297

1.6 Recouvrement de /bin/bash

A chaque exécution d'un programme, un nouveau processus est créé.


Lorsque le programme se termine, le processus s'arrête et le prompte est à
nouveau disponible.
Dans les shell avec support des travaux, il est possible d'exécuter un
programme en arrière plan en mettant un & à la fin de la commande.
[root@test ] /# myscript &

Dans certains cas, il est aussi possible de faire un recouvrement du processus


bash en fonctionnement.
exec [program]

A utiliser si vous n'avez plus besoin du prompte.

Le programme de Login est un bon exemple d'overlay (remplacer l'exécutable


d'un processus par un autre) du processus du bash dans lequel il a été
démarré.
[root@test ] /# exec login4

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 94/297

1.7 Log In et Log Out

La session de log in est la première étape pour accéder à un système Linux.


Un nom d'utilisateur (login ID) et un mot de passe (password) sont nécessaires
pour utiliser le système.
Le loggin ID root est celui du super utilisateur qui possède tous les privilèges
normalement assignés à l'administrateur système.

Lorsque qu'un utilisateur s'est connecté, les variables d'environnement se


chargent et démarrent le shell qui correspond à l'utilisateur.
Quelques variables chargées au log in:
$HOME, $SHELL, $PATH, et autres.

En modifiant le fichier /etc/login.defs l'administrateur peut modifier des


paramètres et des variables pour tous les utilisateurs.

Par exemple:
UID_MIN 500
UID_MAX 60000
UMASK 022
ENV_PATH /usr/local/bin:/usr/bin:/bin

Le log out utilise la commande exit ou logout.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 95/297

1.8 Mot de Passe

Personne, pas même l'administrateur, ne peut voir votre mot de passe.


Pour modifier les mots de passe des utilisateurs ou des groupes, il faut taper la
commande passwd.
passwd [options]

Quelques options:
• -l, -u: Pour bloquer et débloquer des acomptes.
• -g [| r]: utilisé pour les groupes. -g pour définir un mot de passe
pour un groupe et -r pour le supprimer.
• -x|n: Nombre maximum et minimum de jours de validité d'un mot de
passe.
• -u: Débloquer un acompte.

D'une manière générale, un mot de passe:


• Doit avoir un nombre minimum de caractères.
• Ne doit pas contenir de mot anglais.
• Doit contenir des caractères non-alphanumériques.
• Doit être composé de majuscules et de minuscules.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 96/297

1.9 Informations sur les utilisateurs

Dans le fichier /etc/passwd, une ligne définie chaque acompte utilisateur. Le


mot de passe encrypté se trouve dans /etc/shadow.

Le format de /etc/passwd est le suivant:


root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/bin/bash
daemon:x:2:2:Daemon:/sbin:/bin/bash
rarrigoni:x:500:100:Raphael Arrigoni:/home/rarrigoni:/bin/bash

Le champs x représente l'ancien emplacement du mot de passe.

Le format de /etc/shadow est le suivant:


root:IMXweyiV816gg:11996:0:10000::::
bin:!*:8902:0:10000::::
daemon:*:8902:0:10000::::
rarrigoni:GoIM8j1S.IuTY:11996:0:99999:7:::

Le * signifie qu'aucun mot de passe n'a été encore défini.

Le ! devant le mot de passe encrypté signifie que l'acompte est bloqué.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 97/297

1.10 Informations sur les groupes

Dans le fichier /etc/group, il y a une ligne pour chaque groupe d'utilisateurs.


Les mots de passe encryptés sont dans /etc/gshadow.

Le format du fichier /etc/group est le suivant:


root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
video:x:33:rarrigoni

Le format du fichier /etc/gshadow est le suivant:


root:*:root:root
bin:*:root:root daemon:*:root:root
bin:!*:8902:0:10000::::
video:*:root:root,rarrigoni

Les mots de passe pour les groupes ne sont en général pas activés tant que
tous les membres du groupe n'ont pas reçu le mot de passe de la part de
l'administrateur.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 98/297

1.11 Les pages de manuel (Man pages)

Les manuels en ligne décrivent la plupart des commandes utilisées dans votre
système.
man [command]

Exemples:
[root@test ] /# man mkdir
[root@test ] /# man cal

Pour rechercher un mot clé dans les man pages, il faut utiliser l'option -k.
[root@test ] /# man -k compress
[root@test ] /# apropos compress

L'emplacement des man pages peut être modifié avec la variable MANPATH.
Pour afficher le contenu de MANPATH.
[root@test ] /# echo $MANPATH
/usr/local/man:/usr/share/man:/usr/X11R6/man

Si cette variable n'existe pas, les caractéristiques des man pages se trouvent
dans le fichier /etc/man.config.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 99/297

1.12 Les variables Shell

Toutes les variables locales d'une session bash peuvent être visualisées avec
set et toutes les variables de l'environnement courant peuvent l'être dans
env.
Pour déclarer une variable locale:
[root@test ] /# VARNAME=SOMETHING

Pour supprimer une variable:


[root@test ] /# export VARNAME

Pour déclarer une variable qui doit être vue par tous les shells, il faut utiliser:
export.
[root@test ] /# export VARNAME=SOMETHING

ou
[root@test ] /# VARNAME=SOMETHING
[root@test ] /# export VARNAME

La variable ne sera vue que par le shell qui est lancé depuis l'endroit où la
variable a été déclarée.

Avec la commande env il est possible d'utiliser un environnement spécifique


pour une commande.
[root@test ] /# env VARNAME= OTHERVAR=SOMETHING script_to_run.sh

Dans cet exemple, VARNAME est définie comme une variable vide et OTHERVAR
prend la valeur SOMETHING. Ces variables sont définies pour l'environnement
courant du seul script: script_to_run.sh.
Il est aussi possible d'utiliser un environnement entièrement vide pour un script.
[root@test ] /# env -i script_to_run.sh

Voici quelques variables importantes:


HOME: Répertoire Home de l'utilisateur courant.
PATH: Command search path.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 100/297

1.13 Quiz

Quiz 1.1
Quelles sont les informations dont vous avez besoin pour vous connecter à un
système Unix ou Linux ?
Quiz 1.2
Quand .bashrc est-il exécuté ?
Quiz 1.3
Que sont les commandes intégrées (built-in) ?
Quiz 1.4
Quelle commande faut-il utiliser pour connaître la source d'une commande ?
Quiz 1.5
Quelle syntaxe faut-il utiliser pour démarrer un programme en arrière-plan ?
Quiz 1.6
Quelle option permet de bloquer un acompte utilisateur ?
Quiz 1.7
Comment vérifiez-vous qu'un acompte est bien bloqué ?
Quiz 1.8
Comment savez-vous si votre prompte est un prompte root dans un terminal
bash ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 101/297

1.14 Réponses quiz

Réponse 1.1
Un id et un mot de passe.
Réponse 1.2
Exécuté pour chaque nouvelle session bash.
Réponse 1.3
Une commande intégrée (built-in) est une commande exécutée dans un shell.
Réponse 1.4
[root@test ] /# type ls

Réponse 1.5
[root@test ] /# xeyes &

Réponse 1.6
[root@test ] /# passwd -l [username]

Réponse 1.7
Le ! devant le mot de passe encrypté signifie que l'acompte est bloqué.
Réponse 1.8
[root@test ] /#

Le # signifie que vous êtes connecté en root.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 102/297

1.15 Exercices

Exercice 1.1
Trouvez les informations sur les commandes useradd et userdel.
Exercice 1.2
Créez deux nouveaux acomptes user1 et user2 et attribuez leur des mots de
passe avec la commande passwd.
Exercice 1.3
En tant que root, supprimez les acomptes et vérifiez ensuite en essayant de
vous connecter.
Exercice 1.4
Quelle est le fichier joint de cette commande ?
Exercice 1.5
Déclarez et initialisez les variables d'environnement suivantes: NAME and
LASTNAME. Utilisez echo pour les afficher.
Exercice 1.6
Lancez un bash et vérifiez que ces variables ont bien été déclarées.
Exercice 1.7
Utilisez exec pour ouvrir une nouvelle session bash: Peut-on encore voir ces
variables ?
Exercice 1.8
Utilisez la commande date pour afficher le mois courant.
Exercice 1.9
Editez le fichier .bashrc dans le répertoires home et ajoutez ces lignes :
alias ls='ls --color'
alias ll='ls --color -l'

Expliquez leur action ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 103/297

1.16 Réponses

Réponse 1.1
Pour avoir des information sur les commandes, utiliser l'aide système:
[root@test ] /# man useradd
[root@test ] /# man userdel

Réponse 1.2
création des utilisateurs:
[root@test ] /# useradd -m user1
[root@test ] /# useradd -m user2

Création des mots de passe des utilisateurs:


[root@test ] /# passwd user1 (entrer le mot de passe et le confirmer)
[root@test ] /# passwd user2 (entrer le mot de passe et le confirmer)

Se déconnecter de la session root et se connecter avec les deux comptes


créés. (user1 user2) avec la méthode suivante:
[root@test ] /# su -l user1
[root@test ] /# su -l user2

Réponse 1.3
La commande utilisée pour concaténer les fichiers est cat.
Réponse 1.4
Création d'une variable:
[root@test ] /# name=jance
[root@test ] /# LASTNAME=roberto

Réponse 1.5
Pour afficher le contenu des variables, procéder comme suit:
[root@test ] /# echo #name; echo #LASTNAME

Réponse 1.6
Si on démarre un nouveau bash, les variables créées ne sont pas effectives.
Pour cela il faut faire un export de la variables.
Réponse 1.7
Non car nous avons changé d'environnement.
Réponse 1.8
[root@test ] /# Date +"%m"

Réponse 1.9
Les lignes ajoutées dans le fichier .bashrc permettent de créer des alias à la

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 104/297

commande ls.
Le premier alias permet d'afficher en couleur le résultat de ls.
Le deuxième alias permet d'afficher en couleur et d'utiliser l'option -l de la
commande ls -l en utilisant la commande ll.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 105/297

2 Traiter les flux de texte à l'aide des


filtres

Description
Les Candidats doivent être en mesure d'appliquer des filtres sur les flux de
texte (text streams). Ces tâches incluent l'envoi de fichiers texte et de flux
externes (output streams) à travers les filtres des utilitaires de texte (text utility
filters) pour les modifier, et l'utilisation des commandes standards UNIX issues
des paquetages textutil GNU.

Dossiers principaux, termes et utilitaires inclus


cat, tac: Lier les fichiers et imprimer les sorties standards.
cut: Supprime des section de chaque ligne des fichiers.
Expand: Converti les tabulations en espaces.
Unexpand: Converti les espaces en tabulations.
fmt: Formate le texte.
head, tail: Affiche la première ou la dernière partie du fichier.
join: Fusionne les lignes de deux fichiers dans un champs commun.
nl: Affiche les numéros de ligne du fichier.
od: Transfert les fichiers en octal ou vers d'autres formats.
paste: Fusionne les lignes des fichiers.
pr: Converti les fichiers textes pour l'impression.
sed
sort: Extrait des lignes de fichiers texte.
split: Sépare un fichier en morceau.
tr: Transfert ou efface des caractères.
uniq: Supprime les lignes dupliquées depuis un fichier assorti.
wc: Imprime le nombre de octets, de mots et de lignes dans le fichier.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 106/297

2.1 Assembler les fichiers

Pour assembler les fichiers, il faut utiliser la commande cat.


cat [options] [files...]
tac [options] [files...]

Les résultats sont affichés au format d'export standard.

Principales options:
-s: ne jamais afficher plus d'une seule ligne blanche.
-n: numérote toutes les lignes en sortie.

Exemples:
[root@test ] /# cat file # Display file to the stdout.

[root@test ] /# cat chapter* # Display all chapters to stdout.

[root@test ] /# cat -n -s file # Display file with line number with single
blank line.

Pour assembler les fichiers dans l'ordre inverse, il faut utiliser la commande
tac.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 107/297

2.2 Afficher le début et la fin d'un fichier

Pour afficher uniquement les premières lignes ou les dernières lignes, il faut
utiliser head ou tail.
head [options] [files...]
tail [options] [files...]

Les résultats sont affichés au format d'export standard.

Principales options:
-n: nombre de lignes à afficher. (head et tail)
-c: nombre de octets à afficher. (head et tail)
-f: append output. (tail)
-s #: itération des nouvelles données toutes les # sec. (tail)

Exemples:
[root@test ] /# head file # Display the first 10 lines of file.

[root@test ] /# head -n 2 file # Display the first 2 lines of file.

[root@test ] /# tail -c 10 file # Display the last 10 bytes of file.

[root@test ] /# tail -f -s 1 /var/log/messages # Display the last 10 lines of


messages, block and check for new data every second.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 108/297

2.3 Numérotation des lignes des fichiers

Pour ajouter les numéros des lignes d'un fichier, il faut utiliser la commande nl.
nl [options] [files...]

Les résultats sont affichés au format d'export standard.

Principales options:
-i #: incrémente les numéros de ligne de #.
-b: notifie le style de numérotation:
a: numérote toutes les lignes,
t: pour numéroter seulement les lignes pleines.
-n: notifie le format de la numérotation:
rz: justifiée à droite,
ln: justifiée à gauche.

Exemples:
[root@test ] /# nl file # Add the line number in each line in the file.

[root@test ] /# nl -b t -n rz file # Add the line number to each non-empty


line with zero-completed format.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 109/297

2.4 Compter les lecteurs dans un fichier

Pour afficher le numéro des lignes, les mots et les caractères d'un fichier, il faut
utiliser wc.
wc [options] [files...]

Les résultats sont affichés au format standard.

Principales options:
-c: affiche la taille des octets.
-m: affiche le numéro des caractères.
-w: affiche le numéro des mots.
-l: affiche le numéro de la ligne.
-L: affiche la taille de la ligne la plus longue.

Exemples:
[root@test ] /# wc *.[ch] # Diplay the number of lines, words, and characters
for all files .c or .h

[root@test ] /# wc -L file # Display the size of the longest line.

[root@test ] /# wc -w file # Display the number of words.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 110/297

2.5 Découper les champs des fichiers

Pour supprimer les sections de chaque ligne d'un fichier, il faut utiliser cut.
cut [options] [files...]

Les résultats sont affichés au format standard.

Principales options:
-b #: Pour supprimer l'octet de la position #.
-f #: Pour supprimer le champs numéro #.

Exemples:
[root@test ] /# cut -b 4 file # Extract and display the 4th byte of each line
of file.

[root@test ] /# cut -b 4,7 file # Extract and display the 4th and 7th byte of
each line.

[root@test ] /# cut -b -2,4-6, 20- file # Extract character 1 and 2, 4 to 6


and 20 to the end of the line for each line of file.

[root@test ] /# cut -f 1,3 -d: /etc/passwd # Extract the username and ID of


each line in /etc/passwd.

La délimitation par défaut est notifiée avec TAB mais peut être spécifiée avec
-d.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 111/297

2.6 Conversion des caractères

Pour transcrire stdin en stdout, il faut utiliser tr.


tr [options] SET1 SET2

Principales options:
-d: supprime le caractère dans SET1.
-s: remplace la séquence de caractères dans SET1 par une autre.

Pour remplacer les tabulations en espaces, il faut utiliser expand et pour le


contraire, unexpand.
expand file
unexpand file

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 112/297

2.7 Manipulation des lignes

Pour coller plusieurs lignes d'un fichier, il faut utiliser paste.


paste [options] [files...]

Principales options:
-d #: délimiteur: Utilise # comme délimiteur.
-s: serial: colle les fichiers un par un.

Exemples:
[root@test ] /# paste f1 f2 # Display line of f1 follow by f2.

[root@test ] /# paste -d: file1 file2 # Use ':' for the delimiter.

Pour coller plusieurs lignes d'un fichier, il faut utiliser join.


[root@test ] /# join file1 file2

Pour supprimer les lignes dupliquées, il faut utiliser uniq.


uniq [options] [files...]

Principales options:
-d: Pour imprimer uniquement les lignes dupliquées.
-u: Pour imprimer seulement les lignes uniques.

Exemple:
[root@test ] /# uniq -cd file # Display the number of duplicated line.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 113/297

2.8 Diviser des fichiers

Pour diviser des gros fichiers, il faut utiliser split.


split [options] file

Principales options:
-l #: pour diviser toutes les # lignes.
-b #: pour diviser en octets
b pour 512 octets,
k pour 1K octets,
m pour 1M octets.

Exemples:
[root@test ] /# split -l 25 file # Split file into 25-line files.

[root@test ] /# split -b 512 file # Split file into 512-byte files.

[root@test ] /# split -b 2b file # Split file into 2*512-byte files.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 114/297

2.9 Formatage pour l'impression

Pour formater un fichier, il faut utiliser fmt.


fmt [options] [files...]

Principale option:
-w #: formatage en fonction de la largeur maximale des lignes.

Exemple:
[root@test ] /# fmt -w 35 file # Display 35-character lines width.

Pour formater un fichier pour une imprimante, il faut utiliser pr.


pr [options] [files...]

Principale option:
-d: double espace.

Exemple:
[root@test ] /# pr -d file # Format file with double-space.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 115/297

2.10 Extraction des lignes d'un fichier texte

Pour extraire les lignes d'un fichier texte, il faut utiliser sort.
sort [options] file

Les résultats sont affichés au format standard.

Principales options:
-r: Inversé.
-f: Pour ignorer la case.
-n: Format numérique.
-o: file: Dirige les sorties vers le fichier.
-u: Pas d'enregistrements dupliqués.
-t;: Utilisez ';' comme délimiteur à la place de tab ou space.

Exemples:
[root@test ] /# sort file -r

[root@test ] /# sort file -ro result

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 116/297

2.11 Vidage des fichiers binaires

Pour vider les fichiers binaires, il faut utiliser od.


od [options] file
Les résultats sont affichés au format d'export standard et commencent avec
une adresse décalée en octal.

Principales options:
-c: chaque caractère est un octet.
-x: 2-octet en hex.
-d: 2-octet en decimal.
-X: 4-octet en hex.
-D: 4-octet en decimal.

Exemple :
[root@test ] /# od -cx /bin/ls
0000000 177 E L F 001 001 001 \0 \0 \0 \0 \0 \0 \0 \0 \0 457f 464c 0101 0001
0000 0000 0000 0000 0000020 002 \0 003 \0 001 \0 \0 \0 224 004 \b 4 \0 \0 \0
0002 0003 0001 0000 9420 0804 0034 0000 0000040 ° ² \0 \0 \0 \0 \0 \0 4 \0
\0 006 \0 ( \0 b2b0 0000 0000 0000 0034 0020 0006 0028 0000060 032 \0 031 \0
006 \0 \0 \0 4 \0 \0 \0 4 200 004 \b 001a 0019 0006 0000 0034 0000 8034 0804_

Le format ELF

Dans la plupart des systèmes Unix, Linux en premier, le format binaire par
défaut des programmes est le format ELF.
ELF, pour Executable and Linking Format, ajoute des fonctionnalités aux
binaires, comme les liaisons dynamiques, le chargeur dynamique, le contrôleur
des moteurs d'exécution imposé aux programmes, et améliore la création des
bibliothèques partagées.
Cependant, si les binaires ELF sont identiques dans leur structure et
entreposent leurs données de contrôles dans un format indépendant de la
plate-forme, elles dépendent toujours du type de processeur avec lequel elles
ont été compilées.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 117/297

2.12 Quiz

Quiz 2.1
Quel est le format de sortie standard de cat?
Quiz 2.2
Comment rediriger le stdout de la commande cat?
Quiz 2.3
Quelle commande est appropriée pour envoyer un log dans un fichier de log?
Quiz 2.4
Comment ajouter un numéro aux lignes d'un fichier?
Quiz 2.5
Comment faites vous pour compter le nombre de mots dans un fichier?
Quiz 2.6
Quelle commande vous permet de transformer des minuscules en majuscules?
Quiz 2.7
Quelle commande faut-il utiliser pour classer alphabétiquement le contenu d'un
fichier ?
Quiz 2.8
Est-ce que le format ELF vous permet d'exécuter le même programme binaire
sur des architectures x86 et PPC?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 118/297

2.13 Réponses quiz

Réponse quiz 2.1


La sortie de cat stdout est le terminal.
Réponse quiz 2.2
Avec les utilitaires de pipe.
Réponse quiz 2.3
Il faut utiliser tail de la manière suivante:
[root@test ] /# tail -f -s 1 /var/log/messages

Réponse quiz 2.4


Avec l'utilitaire nl de la manière suivante:
[root@test ] /# nl file

Réponse quiz 2.5


Avec l'utilitaire wc de la manière suivante:
[root@test ] /# wc -w file

Réponse quiz 2.6


Avec l'utilitaire tr de cette manière:
[root@test ] /# cat /etc/passwd | tr [a..z] [A..Z]

Réponse quiz 2.7


Avec l'utilitaire sort de cette manière:
[root@test ] /# sort file

Réponse quiz 2.8


Non, ELF spécifie le format des fichiers binaires. La définition des instructions
binaires est différente entre les architecture x86 et PPC.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 119/297

2.14 Exercices

Exercice 2.1
Affichez le nombre de mots qui commencent par h dans tous les fichiers du
répertoire /etc.
Exercice 2.2
Comment enregistrer un fichier de 2M sur deux disquettes de 1.44M ?
Comment feriez-vous pour assembler ensuite les deux parties du fichier ?
Exercice 2.3
Quelle commande utiliseriez-vous pour remplacer le délimiteur : dans le fichier /
etc/passwd par # ?
Exercice 2.4
Combien de lignes pouvez-vous comptabiliser dans le fichier /
etc/passwd ?
Exercice 2.5
Quelle commande permet d'afficher les 5 dernières lignes du fichier /
etc/group ?
Exercice 2.6
Combien de mots et de caractères le fichier /etc/passwd contient-il ?
Exercice 2.7
Créez un fichier utilisateur dans votre répertoire home qui contient tous les uid
et le gid des acomptes. Remplacez tous les : par un ESPACE.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 120/297

2.15 Réponses

Réponse 2.1
La commande est:
[root@test ] /# wc -w /etc/h*

Réponse 2.2
La commande est:
[root@test ] /# split -b 1m filename
[root@test ] /# cat x* > filename ( pour reconstituer le fichier)

Réponse 2.3
[root@test ] /# cat /etc/passwd | tr ":" "#"

Réponse 2.4
La commande est:
[root@test ] /# nl /etc/passwd

ou
[root@test ] /# cat -n /etc/passwd

ou
[root@test ] /# wc -l /etc/passwd

Réponse 2.5
La commande est:
[root@test ] /# tail -n 5 /etc/group

Réponse 2.6
La commande est:
[root@test ] /# wc -w -m /etc/passwd

Réponse 2.7
La commande est:
[root@test ] /# cut -d : -f1 -f3 -f4 /etc/passwd > /home/toto/user && cat /
home/toto/user | tr ":" " " > /home/toto/user

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 121/297

3 Effectuer la gestion de base des fichiers

Description
Les candidats doivent être en mesure d'utiliser les commandes de base UNIX
pour copier, déplacer, et supprimer des fichiers et des répertoires. Ces tâches
regroupent les opérations avancées de gestion de fichiers telles que la copie
récursive de fichiers multiples, la suppression récursive des répertoires et le
déplacement des fichiers qui contiennent une wildcard pattern.
Il faut pour cela utiliser les spécifications simples et avancées des jokers pour
se référer aux fichiers et utiliser find pour localiser et agir sur les fichiers en se
basant sur le type, la taille et le temps.

Dossiers principaux, termes et utilitaires inclus


• ls: Liste le contenu des répertoires.
• File: Trouver les informations sur les fichiers
• whereis et which: Identifient les fichiers.
• mv: Déplace (renomme) les fichiers.
• cp: Copie les fichiers ou les répertoires.
• touch: Change le timestamps du fichier ou crée un nouveau fichier.
• rm: Efface des répertoires ou des fichiers.
• mkdir: Crée un répertoire.
• rmdir: Vide un répertoire.

• File Globbing.
• Pattern Matching and wildcards.
• Shell and wildcards.
• Quoting et Comments.

• find: Recherche de fichiers dans une arborescence de fichiers.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 122/297

3.1 Liste les noms de fichiers et les informations

La commande pour lister les fichiers contenus dans le répertoire courant est
ls.
ls [options] [filenames]

Principales options:
-l: affiche la sortie au format long.
-F: Ajoute un caractère de signalisation de type (répertoire, binaire,
etc.).
-a: Tous les fichiers, même cachés.
-R: Liste les sous-répertoires récursivement.
-d: Pour ne pas descendre dans les sous-répertoires.

Vous pouvez lister uniquement les répertoires du répertoire courant (/home par
exemple). Pour cela, utilisez -d et FNG */.
[root@test ] /# cd /home
[root@test ] /# ls -d */
aboegli/ rarrigoni/ fauclair/ share/ test/

Exemples de sorties de ls:


[root@test ] /# ls -l /bin/ls
-rwxr-xr-x 1 root root 46784 mar 23 2002 /bin/ls
[root@test ] /# ls -ld /bin
drwxr-xr-x 2 root root 2144 nov 5 11:55 /bin
[root@test ] /# ls -a
.bash_history .bash_profile .bashrc ...
[root@test ] /# ls -dF /etc .bashrc /bin/ls .bashrc /bin/ls* /etc/

A essayer!!
[root@test ] /# ls -dF /etc .bashrc /bin/ls .bashrc /bin/ls* /etc/

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 123/297

3.2 Types de fichiers

Voici un exemple de format long:


[root@test ] /# ls -l /etc/hosts #List a long format of the file hosts
-rw-r--r-- 1 root root 677 Jul 5 22:18 /etc/hosts

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 124/297

3.3 Contenu et emplacement des fichiers

Linux/Unix ne distingue pas les fichiers en fonction de leur extension,


contrairement à Windows, mais tient compte du premier octets du fichier.

Pour déterminer le contenu des fichiers, utilisez file.


[root@test ] /# file /etc .bashrc /bin/ls /dev/cdrom
/etc: directory
.bashrc: ASCII English text
/bin/ls: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV),
dynamically linked (uses shared libs), stripped
/dev/cdrom: symbolic link to /dev/hdc

Pour déterminer si une commande est une commande shell intégrée ou un


programme, il faut utiliser type. which permet de connaître son
emplacement.
[root@test ] /# type cp cd ls which type
cp is /bin/cp
cd is a shell builtin
ls is aliased to `ls $LS_OPTIONS'
which is aliased to `type -p'
type is a shell builtin
[root@test ] /# which cut
/usr/bin/cut

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 125/297

3.4 whereis et which

Pour trouver l'emplacement d'un binaire, de la source d'un fichier ou des man
pages, il faut utiliser whereis.
whereis [options]

Quelques options:
-b: Recherche uniquement les binaires.
-m: Recherche uniquement les manuels.
-s: Recherche uniquement les sources.

Exemples:
[root@test ] /# whereis host
host: /usr/bin/host /etc/host.conf /usr/share/man/man1/host.1.gz_
[root@test ] /# whereis -m host
host: /usr/share/man/man1/host.1.gz

Pour trouver un fichier situé à un endroit défini par une variable PATH, il faut
utiliser which.
[root@test ] /# which -a ls
/bin/ls

L'option -a permet de chercher toutes les possibilités du PATH, pas


uniquement la première.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 126/297

3.5 Créer et supprimer des répertoires

Pour créer un répertoire, utilisez mkdir.


mkdir [options] dir

Principales options:
-m: mode: Met en place le mode de permission. Par défaut, il faut
utiliser umask.
-p: parent: Crée si nécessaire un répertoire parent.

Exemples:
[root@test ] /# mkdir -m 0700 bin

[root@test ] /# mkdir -p bin/system/x86

Pour supprimer un répertoire vide, utilisez rmdir.


rmdir [options] dir

Principales options:
-p: parent: Efface les sous-répertoires vides.

Exemples:
[root@test ] /# rmdir tmp
[root@test ] /# rmdir -p bin/system/x86

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 127/297

3.6 Copier des fichiers et des répertoires

Pour copier un fichier dans un autre fichier ou dans un répertoire, utilisez cp.
cp [options] source target

Source et target peuvent être soit un fichier, soit un répertoire.

Principales options:
-i: interactif: demande l'autorisation d'écraser.
-r: récursif: Copie les sous-répertoires et leur contenu. Il faut utiliser
-R: pour les fichiers spéciaux.
-f: force: force pour écraser.

Le comportement par défaut est d'écraser le fichier cible.


Il ne modifie pas le fichier source.

Exemples:
[root@test ] /# cp *.[a-z] /tmp
[root@test ] /# cp readme readme.orig
[root@test ] /# cp ls /bin
[root@test ] /# cp -ri bin/* /bin

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 128/297

3.7 Supprimer des fichiers ou des répertoires

Pour supprimer des fichiers ou des répertoires, il faut utiliser rm.


rm [options] files

Files peut être un fichier ou un répertoire.

Principales options:
-i interactive: Affiche un prompte avant chaque suppression.
-f force: Force pour écraser.
-r récursive: Efface les sous-répertoires et leur contenu.

Il n'y a pas de commande unremove ou undelete.

Exemples:
[root@test ] /# rm *.[a-z]
[root@test ] /# rm readme readme.orig
[root@test ] /# rm ls /bin
[root@test ] /# rm -rfi /bin
[root@test ] /# cd; rm -rf * .*

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 129/297

3.8 Créer et utiliser les noms de fichiers

Les noms de fichiers peuvent être créés:


• Avec des redirections I/O
[root@test ] /# cat chapter1 chapter2 > book

• Avec un éditeur, comme vi


[root@test ] /# vi mynewfile

• Avec certaines commandes Unix


[root@test ] /# cp file newfile

• Avec une application


[root@test ] /# netscape

• Avec la commande touch, qui génère des fichiers vides


[root@test ] /# touch memo

Un nom de fichier valide:


• Doit contenir maximum 255 caractères par nom de fichier.
• Doit être “Case sensitive”: 'A' et 'a' sont différents.
• Peut contenir tous les caractères sauf: forward '/'.
• Peut contenir des caractères alphanumériques comme plus, moins, et
underscore.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 130/297

3.9 Caractères à éviter

Lorsque vous nommez un fichier, il faut éviter certains caractères:


Les traits d'union.
[root@test ] /# touch my-file -lt

Les espaces.
[root@test ] /# touch more drink
[root@test ] /# touch "more drink"

Tous les autres caractères spéciaux: !@##%^&*():;"'}{|\<,>.?~`


[root@test ] /# touch memo*
[root@test ] /# touch "*"

Attention à ce dernier exemple:


cette commande créera un fichier appelé *. Si vous souhaitez supprimer ce
fichier, il est impératif de mettre entre guillemets le nom du fichier *. Dans le
cas contraire, tous les fichiers du répertoire courant seront effacés.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 131/297

3.10 Déplacer et renommer des fichiers

Pour déplacer ou renommer un fichier ou un répertoire, il faut utiliser la


commande: mv.
mv [options] source target

Source et Target peuvent être un fichier ou un répertoire.

Principales options:
-i: interactive: Affiche un prompte à chaque action.
-f: force: force pour écraser.
-v: verbose.

Le comportement par défaut est d'écraser le fichier cible.


Cela ne modifie pas le fichier source.

Exemples:
[root@test ] /# mv *.[a-z] /tmp
[root@test ] /# mv readme readme.orig
[root@test ] /# mv ls /bin
[root@test ] /# mv -fi bin/* /bin

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 132/297

3.11 File globbing et jokers (wildcards)

Le file globbing est le processus utilisé par le shell pour augmenter les
wildcards présentes dans le nom du fichier. Les wildcards sont un mécanisme
d'assortiment de modèle pour des noms de fichier.
Le terme “globbing” vient du sous-programme “glob”, qui gérait les wildcards
dans les versions pré-bourne des shell Unix.

Le rôle des wildcards est d'augmenter la productivité:


• Trouver les fichiers dont vous ne vous rappelez plus.
• Trouver les fichiers qui ont des points communs.
• Travailler avec des groupes de fichiers plutôt que fichier par fichier.

Le shell est capable d'interpréter ces caractères spéciaux:


! @ # # % ^ & * ( ) { } [ ] | \ ; ~ ' " ` ?

Les caractères utilisés pour les wildcards sont les suivants:


? * [ ] ~ !

Si vous utilisez ces caractères, le shell essayera de générer un fichier à partir


d'eux.

Exercice:
[root@test ] /# echo all files *

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 133/297

3.12 Les caractères spéciaux des wildcards

? Correspond à n'importe quel caractère simple


* Toutes les chaînes
[abcfghz] Un caractère parmi...
[a-z] Un caractère dans le rang
[!x-z] N'est pas dans l'ensemble
~ Répertoire home
~user Répertoire home de l'utilisateur

Exemples:
? Noms de fichiers composés de 1 caractère
[aA]???? Quatre caractères, commençant par a ou A.
~toto Nom du chemin du répertoire home de toto
[!0-9]* Toutes les chaînes qui ne commencent pas par un
nombre.

Que font ces commandes ?


[root@test ] /# ls [a-z][A-Z]??.[uk]
[root@test ] /# ls big*
[root@test ] /# ls a???a
[root@test ] /# ls ??*

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 134/297

3.13 Utilisation des jokers dans le shell

Une ligne de commande shell peut être simple ou plus complexe.


[root@test ] /# ls -l [fF]*
[root@test ] /# ls *.c | more
[root@test ] /# ls -l [a-s]* | mail `users`

La première action d'un shell est de faire un file globbing, ce qui permet
d'interpréter tous les jokers.
Si un groupe de jokers ne peut pas augmenter, le file globbing l'interprète
comme si il s'agit d'un nom de fichier normal.
Le shell interprète tous les jokers qu'il trouve. Pour éviter cela, il faut utiliser les
mécanismes de citation (voir chapitre suivant).

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 135/297

3.14 Mécanismes de citation

Utilisez les citations (quote) pour éviter que le shell interprète les caractères
spéciaux et les découpent en plusieurs mots.
Dans une chaîne du type 'xxxx': Presque tout est interprété littéralement entre
les guillemets.
Tapez les commandes suivantes et commentez les résultats:
[root@test ] /# echo 'He did it, "Why?"'
[root@test ] /# echo 'Because "#@&^:-)"'
[root@test ] /# echo '$VAR='Me

Les chaînes "xxxx" s'utilisent comme 'xxxx' mais les caractères #, \, ! sont
cette fois interprétés.
Tapez les commandes suivantes et commentez les résultats:
[root@test ] /# echo "What's happenning?"
[root@test ] /# echo "I don't know but check this $ANSWER"

Le backslash \ traître les caractères qui suivent littéralement:


[root@test ] /# echo \$VAR=Me
[root@test ] /# echo What\'s happenning\?

Comment feriez-vous pour afficher le backslash \ ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 136/297

3.15 Les commentaires

Vous pouvez ajouter des commentaires dans les lignes de commandes ou


dans un script.
Il faut utiliser le caractère #.
Un caractère blanc (tab, return, space) doit précéder #.

Exemples:
[root@test ] /# echo $HOME # Print my Home directory
[root@test ] /# echo "### PASSED ###" # Only this part is a comment
[root@test ] /# echo The key h#, not g was pressed.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 137/297

3.16 Lister des fichiers dans un sous-répertoire

Pour chercher un fichier dans un sous-répertoire, il faut utiliser find.


find [subtrees] [conditions] [actions]

La commande peut contenir plusieurs conditions et chercher récursivement


dans les sous-répertoires.

Parmi les conditions, il peut y avoir:


-name [FNG]: Recherche les noms de FNG.
-type c: Type de fichier [bcdfl].
-size [+-]#: A une taille de +- en blocks (c:octets,k:kilo)
-user [name]: Propriété de l'utilisateur
-atime [+-]#: Date d'accession aux fichiers: +n appelle les fichiers
qui n'ont pas été ouverts les n derniers jours, -n appelle les fichiers qui
ont été accédés les n derniers jours.
-mtime [+-]#: Date de modification des fichiers.
-perm nnn: Possèdent la permission nnn.
-inum N: Fichiers avec un nombre inode N.

Parmi les actions possibles:


-print: Donne le chemin d'accès.
-exec cmd {} \; : Exécute cmd dans le fichier.
-ok cmd {} \; : pareil que -exec.

Quand un argument doit être pris en compte dans la commande, il est entre
accolades “{}”, et la fin de la commande est définie par la séquence suivante
“\;”.
Ces séquences sont identiques pour écrire la commande xargs du prochain
chapitre.
Besoin d'autres informations? Vous en trouverez dans la man page de find.
[root@test ] /# man find

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 138/297

3.17 Exemples

Essayer ces commandes et commentez les résultats:

[root@test ] /# find . -name '*.[ch]' -print

[root@test ] /# find /var /tmp . -size +20 -print

[root@test ] /# find ~ -type c -name '*sys*' -print

[root@test ] /# find /tmp/toto -type f -size +2c -exec rm -i {} \;

[root@test ] /# find / -atime -3 -print

[root@test ] /# find ~jo ~toto -user chloe -exec mv {} /tmp \;

La commande find est un outils très puissant. Ajoutez vos exemples:

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 139/297

3.18 Quiz

Quiz 3.1
Comment faites vous pour lister les fichiers cachés ?
Quiz 3.2
Comment faites vous pour lister les fichiers en long format ?
Quiz 3.3
Est-ce que Linux distingue les fichiers par rapport à leur extension ?
Quiz 3.4
A quoi correspond l'option -p de la commande mkdir ?
Quiz 3.5
Quelles commande et option doit-on utiliser pour copier un répertoire, avec
tous ses sous-répertoires et leur contenu, d'un emplacement à un autre ?
Quiz 3.6
Quelle commande permet de déplacer des fichiers ou des répertoires ?
Quiz 3.7
Quelle commande faut-il utiliser pour rechercher tous les fichiers du répertoire
/tmp qui ont une extension .pdf ?
Quiz 3.8
Quels sont les trois mécanismes de citation ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 140/297

3.19 Réponses quiz

Réponse 3.1
[root@test ] /# ls -a

Réponse 3.2
[root@test ] /# ls -l

Réponse 3.3
NON. Il fait la distinction entre les types de fichiers grâce à un numéro magique
placé dans l'index du fichier.
Réponse 3.4
Vous permet de créer plusieurs répertoires dans une seule commande.
Réponse 3.5
[root@test ] /# cp -r /home/me/* /backup/me

Réponse 3.6
La commande est mv.
Réponse 3.7
[root@test ] /# find /tmp -name *.pdf -print

Réponse 3.8
Les 3 manières de commenter sont: '..', “..“, et \..

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 141/297

3.20 Exercices

Exercice 3.1
Trouver tous les fichiers dont les noms contiennent “x” suivi de “in” dans le
répertoire /etc en utilisant les jokers.
Exercice 3.2
Trouver les fichiers dont les noms commencent par une lettre comprise entre
“a” et “e”, contiennent au moins deux autres caractères et ne se terminent pas
par un nombre.
Exercice 3.3
Trouver les fichiers dont les noms se composent de quatre caractères et
commencent par le caractère 'upercase' en utilisant les jokers. Ne descendre
dans aucun des répertoires trouvés.
Exercice 3.4
Trouver les fichiers qui contiennent “sh” dans le répertoire /bin en utilisant les
jokers.
Exercice 3.5
Affichez votre variable d'environnement HOME précédée par la phrase “$HOME
value is:”
Exercice 3.6
Affichez le contenu de $SHELL
Exercice 3.7
Comment afficheriez-vous la chaîne de caractères suivante, avec echo en
utilisant les doubles guillemets et \ ?
*@#$%^&*()'"\
Exercice 3.8
Composez une commande avec echo pour afficher les deux chaînes de
caractères suivantes:
* * That's it he said! 'Never Again! ' he replied.**
Exercice 3.9
Composez une commande interactive qui permet d'effacer tous les fichiers .
tmp dans le répertoire home. Répondre y à chaque prompte.
Exercice 3.10
Trouvez tous les fichiers dans le répertoire home de l'utilisateur dont le nom se
termine par .pdf, dont la taille est supérieure à 50 blocks et qui n'ont pas été
ouverts depuis 1 mois.
Exercice 3.11

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 142/297

Créez un fichier file.h qui contiendra tous les noms de fichiers se terminant
par .h et qui se trouvent dans le répertoire /usr.
Exercice 3.12
Faire un touch sur tous les fichiers c du répertoire /
usr/src/packages.
Exercice 3.13
Quelles sont les permissions par défaut accordées aux nouveaux fichiers et
aux nouveaux répertoires ?
Exercice 3.14
Comment créer un nouveau fichier ou un nouveau répertoire dont le nom
contient un espace ? (Par exemple: 'new dir')
Exercice 3.15
Quelle commande permet de supprimer tous les fichiers du type char et
block dans votre répertoire home ?
Exercice 3.16
Comment trouver l'emplacement du programme find ?
Exercice 3.17
Supprimer tous les fichiers dans le répertoire /tmp qui n'appartiennent pas à
root et qui n'ont pas été ouverts depuis une semaine.
Exercice 3.18
Ecrivez la commande qui permet de changer le mot lynux par linux dans
tous les fichiers avec l'extension html situés dans un répertoire et tous ses
sous-répertoires.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 143/297

3.21 Réponses

Réponse 3.1
[root@test ] /# ls -d /etc/*x*in*

Réponse 3.2
[root@test ] /# ls -d / [a-e]??*[!0-9]

Réponse 3.3
[root@test ] /# s -d /etc/[A-Z]???

Réponse 3.4
[root@test ] /# s -d /bin/*sh*

Réponse 3.5
[root@test ] /# echo "\$HOME value is:"$HOME

Réponse 3.6
[root@test ] /# echo "$SHELL"

Réponse 3.7
[root@test ] /# echo \@ \# \$ \% \^ \& \* \( \) \' \" \\

ou
[root@test ] /# echo "@ # $ % ^ & * ( ) ' \" \\"

Réponse 3.8
[root@test ] /# echo "**that's it he said! 'Nerver again!'he replied**"

Réponse 3.9
La commande est:
[root@test ] /# find /home -name "*.tmp" -ok rm {}\;

ou
[root@test ] /# find ~ -name "*.tmp" -exec rm -i {}\;

Réponse 3.10
[root@test ] /# find /home -name "*.pdf" -size +50 -atime +30 -print

Réponse 3.11
[root@test ] /# find /usr -name "*.h" -print > file.h

Réponse 3.12
[root@test ] /# find /usr/src -type c -exec touch {}\;

Le répertoire /usr/src/packages n'existe pas sur Mandrake.


Réponse 3.13
pour un nouveau dossier: 755 rwxr-xr-x
pour un nouveau fichier: 644 rw-r-r--

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 144/297

Réponse 3.14
La commande est:
[root@test ] /# touch a\ b

Le caractère "\" permet d'interpréter le caractère espace comme un caractère.


Réponse 3.15
La commande est:
[root@test ] /# find ~ \( -type c -o -type b \) -exec rm -i {}\;

ou
[root@test ] /# find ~ -type c -type b -exec rm {}\;

Réponse 3.16
La commande est:
[root@test ] /# which find
[root@test ] /# type find
[root@test ] /# whereis find

Réponse 3.17
La commande est:
[root@test ] /# find /tmp -not -user root -atime +7 -ok rm {}\;

ou
[root@test ] /# find /tmp \! -user root -atime +7 -exec rm {}\;

Réponse 3.18
La commande est:
[root@test ] /# find . -type f -name "*.html" -exec sed -i "s/lynux/linux/g"
{} \;

Regarder les pages man pour l'option -i de sed.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 145/297

4 Utiliser les flux, les pipes et les


redirections

Description
Les candidats doivent être en mesure de rediriger les flux (streams) et de les
connecter de façon à effectuer avec efficience des données texte (process
textual data). Ces taches incluent les redirection standard, les erreurs standard,
faire un pipe sur sur le résultat d'une commande vers l'entrée d'une autre
commande (piping), utiliser la sortie d'une commande (output) comme
argument d'une autre commande et d'envoyer la sortie à la fois vers la sortie
standard (stdout) et un fichier.

Dossiers principaux , termes et utilitaires inclus


tee
xargs
<
<<
>
>>
|
``

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 146/297

4.1 Entrées standards et sorties standards

Pour chaque commande exécutée dans un terminal, il y a:


• une valeur d'entrée standard, 0. (default keyboard)
• une valeur de sortie standard,1. (default terminal)
• une valeur de sortie standard pour les erreurs, 2. (default terminal).

Chaque canal peut aussi être identifié par une adresse:


• &0 pour les entrées,
• &1 pour les sorties,
• &2 pour les erreurs.

Chaque canal [n] peut être redirigé.


[n]< file: La valeur par défaut de n est 0 et elle lit les entrées standards
depuis le fichier.
[n]> file: La valeur par défaut est 1 et il envoie les sorties standards au
fichier. (clobber)
[n]>>file: la valeur par défaut est 1 et il appose les sorties standards au
fichier.
<<word: Lit les entrées standards jusqu'à ce qu'un mot soit atteint.
`command` ou $(command) : Remplace le nom de la commande par le
résultat.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 147/297

4.2 Exemples

[root@test ] /# pwd>file # out=file in=none error=terminal

[root@test ] /# cat chap* >book # out=book in=none error=terminal.

[root@test ] /# mv /etc/* . 2>error # out=terminal in=none error=error.

[root@test ] /# echo end of file >> book # out=book in=none


# error=terminal.

[root@test ] /# set -o noclobber # Shell does not clobber existing files.

[root@test ] /# ls > list 2>&1 # ls and errors are redirected to list.

[root@test ] /# ls 2>&1 > list # Errors are redirected to standard output


# and ls output is redirected to list.

[root@test ] /# cat `ls /etc/*.conf` > conffile 2>>/tmp/errors

[root@test ] /# cat $(ls /etc/*.conf) > conffile 2>>/tmp/errors


# Concatenate all the configuration files from /etc dir
# in conffile and append errors in file /tmp/errors.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 148/297

4.3 Redirections (pipes)

Les pipes sont la meilleure manière d'appliquer plusieurs commandes en


même temps.
command1 | command2
Il fait une redirection de la sortie standard de command1 vers l'entrée standard
de la command2.

On ne peut pas faire de pipes des erreurs standards.

Exemples:
[root@test ] /# ls -l /dev | more
[root@test ] /# ls -l /etc/*.conf | grep user | grep 500
[root@test ] /# ls -l /bin | mail `users`

Il faut utiliser tee pour rediriger les sorties standards dans un fichier et dans
un terminal en même temps.
[root@test ] /# ls -l /dev | tee file
[root@test ] /# ls -l /etc | tee -a file # Append to the file

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 149/297

4.4 Construction des arguments

L'utilitaire xargs construit une liste d'arguments pour une commande en


utilisant les entrées standards.
xargs [options] [command]

La commande xargs crée une liste d'arguments des entrées standards. Elle
est utilisée comme un pipe.

Principale option:
-p: propose une invite de commande à l'utilisateur avant l'exécution de
chaque commande.

Exemples:
[root@test ] /# ls f* | xargs cat # Print to standard output the content of
all files starting with f

[root@test ] /# find ~ -name 'proj1*' print | xargs cat # Search in the Home
directory for files starting with proj1 and send it to the standard input of
cat.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 150/297

4.5 Le lecteur /dev/null

Utilisez le fichier /dev/null pour l'affichage du message d'erreur.

Essayez les commandes suivantes:


[root@test ] /# grep try /etc/*

[root@test ] /# grep try /etc/* 2>/dev/null

[root@test ] /# grep try /etc/*>/dev/null 2>/dev/null

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 151/297

4.6 Quiz

Quiz 4.1
Quelle est l'entrée standard d'un terminal ?
Quiz 4.2
Quelle est l'erreur de sortie standard d'un terminal ?
Quiz 4.3
Comment rediriger l'erreur standard vers la sortie standard ?
Quiz 4.4
Comment annuler la sortie stderr ?
Quiz 4.5
Comment lister les noms de fichiers pages par pages ?
Quiz 4.6
Quelle est la différence entre > et >> ?
Quiz 4.7
Quels sont les utilitaires de xargs ?
Quiz 4.8
Qu'est qu'un pipe ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 152/297

4.7 Réponses quiz

Réponse quiz 4.1


Le stdin par défaut est le clavier.
Réponse quiz 4.2
Le terminal.
Réponse quiz 4.3
2>&1

Réponse quiz 4.4


En redirigeant vers /dev/null. Exemple: 2>/dev/null.
Réponse quiz 4.5
[root@test ] /# ls -l |more

Réponse quiz 4.6


> est utilisé pour rediriger un flot et >> est pour apposer à un flot existant de
données, comme un fichier.
Réponse quiz 4.7
L'utilitaire xargs créé une ligne d'arguments depuis stdin.
Réponse quiz 4.8
Pipes est un mécanisme de communication inter-processus. Utilisé dans une
commande, il permet d'envoyer le stdout depuis une commande au stdin
d'une autre commande depuis un autre processus. Chaque commande
fonctionne dans un contexte processus différent.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 153/297

4.8 Exercices

Exercice 4.1
Créer un fichier list.bin qui contiendra tous les noms de fichier du répertoire
/bin.
Exercice 4.2
Ecrire une commande qui exporte la liste des fichiers de /
usr/local/bin dans le fichier appelé list.bin puis affichez toutes les
erreurs en sortie.
Exercice 4.3
Divisez le fichier list.bin en des fichiers ne contenant que 50 lignes et
supprimez list.bin.
Exercice 4.4
Depuis les fichiers divisés, récréez le fichier list.bin.
Exercice 4.5
Simplifiez les commandes suivantes:
[root@test ] /# s *.c | xargs rm
[root@test ] /# s [aA]* | xargs cat
[root@test ] /# cat `ls *.v` 2>/dev/null

Exercice 4.6
Utilisez find pour trouver un équivalent à la commande suivante:
[root@test ] /# more `ls *.c`

Exercice 4.7
Ecrivez une commande qui permette de créer un fichier list.sbin dans le
contenu de /sbin et en même temps, affichez les sorties standards.
Exercice 4.8
Créez un fichier dont le nom contient l'heure de sa création.
Exercice 4.9
Créez un fichier qui contient en ordre inversé tous les noms de fichiers dont les
extensions sont .conf et qui appartiennent au répertoire /etc.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 154/297

4.9 Solutions

Solution 4.1
La commande est:
[root@test ] /# ls /bin > list.bin

Solution 4.2
La commande est:
[root@test ] /# ls /usr/local/bin >> ~/list.bin 2> /dev/null

Solution 4.3
La commande est:
[root@test ] /# split -l 50 list.bin
[root@test ] /# rm list.bin

Solution 4.4
La commande est:
[root@test ] /# cat x* > list.bin

Solution 4.5
[root@test ] /# ls *.c | xargs rm
[root@test ] /# rm *.c

[root@test ] /# ls [aA]* | xargs cat


[root@test ] /# cat [aA]*

[root@test ] /# cat `ls *.v` 2>/dev/null


[root@test ] /# cat *.v 2>/dev/null

Attention, l'allias ls='ls --color' ou ls='ls --color=always' peut


causer des problèmes pour utiliser xargs.
Solution 4.6
La commande est:
[root@test ] /# find . -name "*.c" -maxdepth 1 | xargs more {} \;

ou
[root@test ] /# find . -name "*.c" -maxdepth 1 -exec more {} \;

Si vous ne mettez pas -maxdepth, vous aurez tous les fichiers, pas seulement
ceux du répertoire courant.
Solution 4.7
La commande est:

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 155/297

[root@test ] /# ls /sbin | tee list.sbin

Solution 4.8
La commande est:
[root@test ] /# touch "il est `date +"%T"`"

Solution 4.9
La commande est:
[root@test ] /# ls /etc/*.conf | tac >invert_file.etc.conf

ou
[root@test ] /# ls -r /etc/*.conf > invert_file.etc.conf

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 156/297

5 Créer, gérer et tuer un processus

Description
Les candidats doivent pouvoir gérer les processus. Cela inclut de comprendre
la manière d'exécuter une tâche en arrière plan et en avant plan (foreground et
background), de modifier leur statut (background vers foreground et vice
versa), de démarrer un processus qui s'exécutera sans connection à un
terminal et de signaler à un programme de continuer après le log out.
Les tâches comprennent aussi la gestion des processus actifs, en
sélectionnant et triant les processus pour leur visualisation, en envoyant des
signaux aux processus, en tuant des processus et identifiant et tuant des
applications X qui ne se sont pas arrêtées alors que la session X est close.

Dossiers principaux, termes et utilitaires inclus


&
bg
fg
jobs
kill
nohup
ps
top

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 157/297

5.1 Créer un processus

Une application active est un processus.

Chaque processus possède:


• Un identifiant de processus (process ID).
• Un process ID parent.
• Un répertoire courant PWD.
• Un fichier contenant les tables de description.
• Un programme exécuté.
• Des variables d'environnement héritées de son processus parent.
• Stdin, stdou, et stderr.
• Autre.

Bash est un programme et devient un processus lorsqu'il est exécuté.

Chaque fois qu'une commande est exécutée dans un shell, un nouveau


processus est créé. Une exception: les commandes intégrées du shell (built-
in shell). Elles s'exécute dans le contexte du shell. Il faut utiliser la
commande type pour vérifier si une commande est une commande intégrée.

Exemple:
[root@test ] /# type cp ls which type

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 158/297

5.2 Gérer des processus

Une fois que le système est monté et fonctionne depuis un terminal, il est
possible de gérer les processus démarrés dans le programme avec la
commande ps.

Pour afficher tous les processus du système, il faut taper:

[root@test ] /# ps -Al
F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 004 S 0 1 0 0 80 0 - 112
do_sel ? 00:00:04 init 004 S 0 381 1 0 80 0 - 332 do_sel ? 00:00:00 dhcpcd
006 S 0 1000 1 0 80 0 - 339 do_sel ? 00:00:00 inetd 044 R 0 1524 1222 0 79 0
- 761 - pts/3 00:00:00 ps

Le programme ps affichera tous les processus actifs, leur nombre PID ainsi
que d'autres informations.

Pour afficher tous les processus dans votre session, tapez:

[root@test ] /# ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD
000 S 500 1154 1139 0 80 0 - 724 wait4 pts/1 00:00:00 bash 002 S 500 1285
1283 0 77 0 - 24432 wait_f pts/1 00:00:00 soffice.bin 040 R 500 1442 1435 0
79 0 - 768 - pts/4 00:00:00 ps_

F: Process Flags 002: being created, 040: forked but didn't exec, 400: killed by
a signal.
S: Process States: R: runnable, S: sleeping, Z: zompbie
UID: user ID, PID: Process ID, PPID: Parent Process ID, C: Scheduler, PRI:
priority
NI: nice value, SZ: size of routine, WCHAN: name of routine

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 159/297

5.3 Gestion des processus en temps réel

Pour gérer les processus en temps réel, il faut utiliser top.


[root@test ] /# top 9:20am up 2:48, 4 users, load average: 0.15, 0.13, 0.09
78 processes: 75 sleeping, 3 running, 0 zombie, 0 stopped CPU states: 15.3%
user, 0.3% system, 0.0% nice, 84.2% idle Mem: 254896K av, 251204K used, 3692K
free, 0K shrd, 27384K buff Swap: 514072K av, 0K used, 514072K free 120488K
cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 1517 rarrigon 0 0
40816 39M 17372 R 15.0 16.0 2:59 mozilla-bin 1727 rarrigon 19 0 988 988 768 R
0.3 0.3 0:00 top 1 root 20 0 220 220 188 S 0.0 0.0 0:04 init 2 root 20 0 0 0
0 SW 0.0 0.0 0:00 keventd

RSS: Le total de la mémoire physique utilisée par la tâche.


SHARE: Le niveau de mémoire partagée utilisée par la tâche.
%CPU: Le taux de partage du temps CPU utilisé par la tâche.
%MEM: Le taux de partage de la mémoire physique par la tâche.

Dès que top est lancé, il est possible d'exécuter des commandes interactives:
• Type N pour classer les tâches par pid.
• Type A pour classer les tâches dans l'ordre chronologique (les plus
récentes en premier).
• Type P pour classer les tâches par rapport à leur usage CPU.
• Type M pour classer les tâches par rapport à l'utilisation de la
mémoire.
• Type k pour tuer un processus (prompted for pid).

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 160/297

5.4 Envoyer un signal aux processus

Le programme ps va afficher tous les processus actifs et leur PID.

Si vous connaissez le PID, il est possible d'envoyer un signal au processus.

• SIGSTOP pour arrêter un processus.


• SIGCONT pour redémarrer un processus arrêté.
• SIGKILL pour tuer un processus.

Le programme qui permet d'envoyer un signal aux processus est: kill.

[root@test ] /# kill -SIGKILL [pid]


[root@test ] /# kill -63 [pid]
[root@test ] /# kill -l

Par défaut, un processus est démarré en avant plan et il est le seul à recevoir
une entrée clavier. Il faut utiliser CTRL+Z pour le suspendre.
Pour démarrer un processus en arrière plan, il faut utiliser le signe &.

[root@test ] /# bash &


[root@test ] /# xeyes &

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 161/297

5.5 Contrôle des tâches

Dans un processus bash, il est possible de démarrer plusieurs autres tâches.


Les commandes pour manipuler les tâches sont:
[root@test ] /# jobs # List all the active jobs
[root@test ] /# bg %job # Resume job in background
[root@test ] /# fg %job # Resume job in foreground
[root@test ] /# kill %job # Kill background job

Lorsque le bash est terminé, tous les processus qui ont été démarrés pendant
la session reçoivent le signal SIGHUP.

Par défaut, cela met fin au processus.

Pour éviter cela, le programme doit être démarré avec la commande nohup.

[root@test ] /# nohup mydaemon

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 162/297

5.6 Mémoire virtuelle

Les informations contenues sur la partition swap peuvent être affichées en


utilisant la commande swapon.

[root@test ] /# swapon -s # Display the active partition

Pour avoir les informations sur l'utilisation de la mémoire virtuelle, il faut utiliser
la commande vmstat.

[root@test ] /# vmstat -n 1
procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs
us sy id 5 0 1 184 3228 37684 92828 0 0 37 19 124 228 3 0 97 1 0 0 184 3476
37684 92596 0 0 0 0 102 368 0 0 100 2 0 0 184 3476 37684 92596 0 0 0 0 101
328 0 0 100

R: processus en attente d'être démarrés. b: processus en mode sommeil « in-


interruptible ».
w: processus permutté.
swpd: mémoire virtuelle utilisée (kB). free: mémoire Idle (kB). buff: Mémoire
tampon (kB).
si: Memory swapped in from disk (kB/s). so: Memory swapped to disk (kB/s).
bi: Blocks envoyés à un lecteur block (blocks/s). bo: Blocks reçus d'un lecteur
block (blocks/s).
in: Nombre d'interruptions par seconde. cs: The number of context switches
per second.
us: user time, sy: system time, id: idle time.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 163/297

5.7 Quiz

Quiz 5.1
Quelle commande vous permet de vérifier facilement quel utilisateur consomme
la grande partie des ressources processeur du système ?
Quiz 5.2
Est-ce que tous les processus ont un processus parent ?
Quiz 5.3
Qu'arrive-t-il si un processus enfant perd son parent ?
Quiz 5.4
Quel est le nom d'un programme ou d'un application actifs ?
Quiz 5.5
Quelle commande permet d'envoyer un signal à un processus ?
Quiz 5.6
Quel élément avez-vous besoin pour envoyer un signal à un processus?
Quiz 5.7
Y a-t'il un moyen avec nice ou renice de prendre tout le temps processeur ?
Quiz 5.8
Quel signal reçoivent tous les processus lorsque la session bash à partir de
laquelle ils ont été lancés se termine ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 164/297

5.8 Réponses quiz

Réponse quiz 5.1


top avec la commande interactive P.
Réponse quiz 5.2
Oui, excepté le premier processus init.
Réponse quiz 5.3
Le processus init deviendra son parent.
Réponse quiz 5.4
Un processus
Réponse quiz 5.5
kill
Réponse quiz 5.6
La commande kill, le process ID et le numéro de signal ou le nom à
envoyer.
Réponse quiz 5.7
Non, cela va seulement incrémenter la valeur quanta. Tous les autres
processus seront toujours en mesure de fonctionner.
Réponse quiz 5.8
SIGHUP

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 165/297

5.9 Exercices

Exercice 5.1
Quel est, entre user et root, le processus qui utilise le plus de mémoire ?
Exercice 5.2
Ouvrez deux terminaux. Dans l'un deux, tapez la commande:
[root@test ] /# while [ 1 ]; do echo -n The date is:; date; done

Dans l'autre, vérifiez que vous avez la possibilité de stopper et de redémarrer


les travaux.
Exercice 5.3
Même exercice que le 5.2, mais, faites en sorte que le l'affichage de sortie
s'arrête pendant 3 seconde et redémarre 1 seconde de manière répétitive.
Exercice 5.4
Faites que l'affichage de sortie de la commande ps soit formatée de la manière
suivante: username, commande et nice value.
Exercice 5.5
Arrêtez tous les processus nommés bash qui appartiennent à votre propre
utilisateur.
Exercice 5.6
Avec la commande top, affichez les processus de root. Avec cette même
commande top, que devez-vous taper pour arrêter un processus ?
Exercice 5.7
Ouvrez deux terminaux: dans le premier, affichez périodiquement le niveau
d'utilisation de la mémoire virtuelle.
Dans le second, désactivez la mémoire virtuelle et activez là de nouveau.
Quels changements notez-vous dans le premier terminal.
Exercice 5.8
Quelle est l'organisation des disques de votre système ? Combien de disques
avez-vous ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 166/297

5.10 Réponses

Réponse 5.1
Faites un top puis tapez M et constatez quel utilisateur consomme le plus de
mémoire.
Réponse 5.2
kill -sigstop (ppid) (stop)
kill -sigcont (ppid) (restart)

Réponse 5.3
[root@test ] /# while [ 1 ]; do echo Stop the process; kill -sigstop pid;
sleep 3; echo continuation; kill -sigcont pid; sleep 1; done

Attention, la chaîne « [ 1 ] » s'écrit bien avec des espaces autour des


crochets.
Réponse 5.4
La commande est:
[root@test ] /# ps -eo "%U %c %n"

Réponse 5.5
Utilisez la commande ps et ajoutez les options pour afficher les noms
d'utilisateurs.
Localisez les bash qui appartiennent à l'utilisateur root et utilisez la commande
kill avec l'option désirée suivie du pid.
Réponse 5.6
Tapez la commande top et appuyez sur la touche h pour afficher l'aide. utilisez
la touche u pour lister uniquement l'utilisateur choisi. Pour tuer un processus,
utilisez la touche k pour kill et indiquer le pid du processus.
Réponse 5.7
Dans le premier terminal, exécutez la commande vmstat -n 1: les
statistiques de la mémoire virtuelle sont en temps réel.
Dans la deuxième console, exécutez la swapoff /dev/hdax
Constatez ce qui ce passe dans le premier terminal. Une variation doit être
constatée si la mémoire vive est utilisée à 100%.
Réponse 5.8
Pour visualiser les disques et partitions du système, utilisez la commande
cfdisk ou df.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 167/297

6 Les priorités d'exécution d'un


processus

Description
Les candidats doivent pouvoir gérer les priorités d'exécution des processus.
Ces tâches incluent de savoir lancer un programme avec une priorité haute ou
basse, de savoir déterminer la priorité d'un processus et changer la priorité
d'un processus en cour d'utilisation.

Dossiers principaux, termes et utilitaires inclus

nice
ps
renice
top

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 168/297

6.1 Modification des priorités d'exécution des


processus

Pour lancer une commande avec une priorité ajustée, il faut utiliser nice.
nice -n +2 [command]
nice -n -19 [command]

Le programme nice modifie la taille de la tranche de temps attribuée par


l'ordonnanceur du noyau.

Cette valeur peut varier de -20 (priorité la plus élevée) à +19 (priorité la plus
basse).
La valeur par défaut est 0. Il faut être root pour attribuer une valeur entre 0 et
19.

On peut modifier la priorité d'un programme en cours d'exécution en utilisant la


commande renice.

[root@test ] /# renice +1 -u root # Change the priority for all root


processes

[root@test ] /# renice +2 -p 193 # Change the priority for PID 193

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 169/297

6.2 Modifier un programme en cours d'exécution

Pour modifier une commande en cours d'exécution, il faut utiliser renice.


renice [+|-] nicenumber [option] targets

Cela modifie le nicenumber d'un ou plusieurs processus en cours pour activer


les priorités.

Principales options:
-u: interprète les cibles comme des noms d'utilisateurs.
-p: default: Interprète les cibles comme des PID.
-g: Force les paramètres à être interprétés comme un ID d'un
processus de groupe.

Exemples:
[root@test ] /# renice 20 501
[root@test ] /# renice +1 987 -u daemon root -p 32

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 170/297

7 Les expressions régulières

Description
Les candidats doivent pouvoir manipuler des fichiers et des données texte en
utilisant les expressions régulières. Cet objectif inclut la création simple
d'expressions régulières contenant plusieurs éléments d'écriture.
Cela inclut aussi l'utilisation d'outils pour réaliser des recherches à travers un
système de fichiers ou le contenu d'un fichier. Recherche texte.

Dossiers principaux, termes et utilitaires inclus


grep
regexp
sed

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 171/297

7.1 Recherche de motifs (matching pattern)

Il existe deux types de recherches de motifs :

Les caractères jokers (génération de noms de fichiers, File Name Generation,


ou File Name Globbing)
Les expressions régulières (Regular Expression)

Les caractères jokers sont principalement appliqués à la recherche dans des


répertoires ou les sous-répertoires.

Lorsque les caractères jokers *, ?, [ - ], ~, et ! sont utilisés dans les


expressions régulières, ils ne génèrent plus de noms de fichiers.

Quelques uns des utilitaires qui utilisent les expressions régulières :

grep, egrep
vi, more
sed, perl

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 172/297

7.2 Modèle de recherche limité

Utilisé par tous les utilitaires employant les regexp.

Un caractère . Ab.a Abla ou Abca ou ...


quelconque
Un ensemble de [] Ab[sd]a Absa ou Abda
caractères seulement
Une gamme de [-] Ab[a-z]a Abaa ou Abba ou ...
caractères
N'est pas dans [^ ] Ab[^a-z]a Ab6a ou AbZa ou ...
l'ensemble
0 et plus * Ab*a Aa ou Aba ou
Abbbba ou ...
Début de ligne ^ ^Aba La ligne commence
par Aba
Fin de ligne $ Aba$ La ligne termine
avec Aba
Caractères litéral \ Aba\$ Aba$

A quels mots correspondent les expressions régulières suivantes ?


Ab[0-3]s

^Ab\^bA

[01]bin$

^..\\

[^zZ]oro

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 173/297

7.3 Combinaisons de regexp limitées

Combinaisons de recherche communes à tous les utilitaires employant les


regexp.

N'importe quelle .* Ab.*a Abrahma ou Abaa


chaîne de ou ...
caractères
Une chaîne à [ ]* th[aersti]* There ou This ou ...
partir de ...
Gammes [--] Ab[0-2a-c]a Ab0a ou Abca ou ...
multiples
Recherche de \ \\ \\[a-zA-Z]* \Beethoven

Exemples:
Ab[0-3][a-z]s

...$

^[01]\^2

[0-9][a-z] \$

[a-zA-Z]*

^[^c-zC-Z]*

^[a-zA-Z0-9]$

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 174/297

7.4 Modification des motifs

Remplace les chaînes par des motifs regexp.

m caractères \{m\} b[0-9]\{3\} b911


m ou plus \{m,\} b[0-9]\{2,\} b52
Entre m et n \{m,n\} b[0-9]\{2,4\} b1234
caractères
Début de mot \< \<wh where
Fin de mot \> [0-9]\> bin01

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 175/297

7.5 Grep

Pour trouver un texte précis dans un fichier, on utilisera grep.


Le nom grep vient de la ligne de commande g/regexp/p
grep [options] [string] [files]

Il est important de « quotter » la chaîne de recherche pour éviter que le shell


l'interprète comme des caractères joker.

Principales options:
-i: Ignore la case
-l: Liste les noms de fichiers seulement si au moins un correspond
-c: Affiche uniquement le compte des lignes correspondantes
-n: Affiche aussi le numéro de la ligne
-v: Ne doit pas correspondre

Exemples:
[root@test ] /# grep host /etc/*.conf

[root@test ] /# grep -l '\<mai' /usr/include/*.h

[root@test ] /# grep -n toto /etc/group

[root@test ] /# grep -vc root /etc/passwd

[root@test ] /# grep '^user' /etc/passwd

[root@test ] /# grep '[rR].*' /etc/passwd

[root@test ] /# grep '\<[rR].*' /etc/passwd

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 176/297

7.6 sed

Pour appliquer une commande sur un flux de texte, il faut utiliser sed.
sed [address1][,address2][!]command[options] [files...]

Le programme sed appliquera une commande de l'adresse 1 à l'adresse 2


dans un fichier. Le format de address1 et address2 sont des expressions
régulières.
Le programme sed est un éditeur qui n'est pas interactif.

Exemples:

[root@test ] /# sed '1,3s/aa/bb/g' file # Replace in file from line 1 to 3 aa


by bb.

[root@test ] /# sed '/here/,#d' file # Delete line from here to the end.

[root@test ] /# sed '/here/d' file # Delete lines with word here.

[root@test ] /# sed '1,/xxx/p' file # Print lines from 1 to xxx.

[root@test ] /# sed '/ll/,/ff/!s/maison/house/g' file # In file replace words


maison by house excluding lines from ll to ff.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 177/297

7.7 Quiz

Quiz 7.1
A quoi sert le programme grep ?
Quiz 7.2
Qu'est le programme sed ?
Quiz 7.3
Quel est le symbole pour n'importe quel caractère dans les regexp ?
Quiz 7.4
Quel est le symbole signifiant la fin de ligne dans les regexp ?
Quiz 7.5
Quel modèle permet de trouver un mot commençant par une majuscule dans
les regexp ?
Quiz 7.6
Quel est le modèle de recherche pour un mot ne contenant que des majuscules
dans les regexp ?
Quiz 7.7
Quelle est la principale différence entre vi et sed ?
Quiz 7.8
Quelle commande faudra-t-il utiliser pour trouver des mots dans un flux de
données ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 178/297

7.8 Réponses quiz

Réponse quiz 7.1


grep est un utilitaire pour chercher des mots dans les fichiers ou les flots de
données.
Réponse quiz 7.2
sed est programme de filtre de texte qui peut être utilisé sur un flot de
données.
Réponse quiz 7.3
Le point (dot)
Réponse quiz 7.4
Le $
Réponse quiz 7.5
[A-Z]*
Réponse quiz 7.6
[A-Z]*
Réponse quiz 7.7
vi lit le stdin, sed utilise les arguments pour gérer les flots de données.
Réponse quiz 7.8
grep

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 179/297

7.9 Exercices

Exercice 7.1
Copiez tous les fichiers de /etc dans votre répertoire home/etc/. Affichez
ensuite le contenu de tous les fichiers *.conf en remplaçant le mot host par
machine.
Exercice 7.2
Avec grep, affichez le contenu de tous les fichiers ~/etc/*.conf qui ne
contiennent pas le mot root. Faites ensuite la même opération avec sed.
Exercice 7.3
Avec grep, imprimez tous les noms des groupes auxquels root appartient.
Faites la même opération avec la commande sed.
Exercice 7.4
Listez tous les noms de groupe composés de 4 ou 5 caractères.
Exercice 7.5
Listez tous les fichiers dans ~/etc/ qui ne contiennent pas de lignes vides.
Exercice 7.6
Listez dans le répertoire ~/etc/ tous les fichiers qui contiennent des
caractères numériques.
Exercice 7.7
Affichez avec ls uniquement les noms de répertoires dans ~/etc.
Exercice 7.8
Faites un ps aux, remplacez l'utilisateur root par toto et imprimez le dans
un fichier appelé new_process.txt.
Exercice 7.9
Listez tous les processus appelés apache appartenant à un utilisateur dont le
nom commence par p ou P.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 180/297

7.10 Réponses

Réponse 7.1
[root@test ] /# cp -r /etc .
[root@test ] /# cd /etc
[root@test ] /# cat *.conf | sed 's/host/machines/g'

ou
[root@test ] /# find ~/etc -name *.conf -exec sed 's/host/machines/g' {} \

Réponse 7.2
Avec la commande grep:
[root@test ] /# grep -L root *.conf | xargs cat

Avec la commande sed:


[root@test ] /# sed '/root/d' ~/etc/*.conf

Réponse 7.3
La commande est:
[root@test ] /# cut -f 1,4 -d : /etc/group | grep root

ou
[root@test ] /# sed '/[:,]root/!d;s/\(^[^:]*\).*\([^:]*\)$/\1 : \2/g' /etc/
group

Réponse 7.4
La commande est:
[root@test ] /# grep -o '^[^:]\{4,5\}\>' /etc/group

Réponse 7.5
La commande est:
[root@test ] /# grep -L '^ *$' /etc/* | xargs cat 2>/dev/null

Réponse 7.6
La commande est:
[root@test ] /# grep -l '[0-9]' ~/etc/*

si on cherche les fichiers qui contiennent des chiffres.


Réponse 7.7
La commande est:
[root@test ] /# ls -l ~/etc/ | grep ^d

ou
[root@test ] /# ls -dF ~/etc/* | grep '.*\/$'

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 181/297

ou
[root@test ] /# ls -ld ~/etc/* | sed -n '/^d/s/.* \(.*\)$/\1/gp'

ou alors...
[root@test ] /# ls -d */

Attention aux aliases (ls='ls -F')


Réponse 7.8
La commande est:
[root@test ] /# ps aux | sed 's/root/toto/g' > new_process.txt

Réponse 7.9
La commande est:
[root@test ] /# ps aux | grep apache | grep '^[pP]'

ou
[root@test ] /# ps aux | sed -n '/^[pP].*apache/p

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 182/297

8 L'édition de fichiers avec VI

Description
Les candidats doivent pouvoir éditer des fichiers texte en utilisant vi. Cet
objectif inclut la navigation dans vi, la connaissance des fonctionnalités de
base de vi, insertion, édition, suppression et recherche de texte.

Dossiers principaux, termes et utilitaires inclus


vi
/, ?
h,j,k,l
G, H, L
i, c, d, dd, p, o, a
ZZ, :w!, :q!, :e!
:!

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 183/297

8.1 Les bases de l'édition de fichiers avec vi

Lorsque vous utilisez X-Window, vous pouvez utiliser la souris avec certains
éditeurs comme xedit.
Dans un environnement de développement hétérogène, les utilisateurs peuvent
se servir de leur éditeur favoris.
Dans un système qui n'est pas à fenêtre, un éditeur “clavier” comme vi. est
suffisant.
L'éditeur vi pour Linux est le même que pour Unix.

vi a deux modes:
Mode commande: Tout ce que vous tapez sera interprété comme une
commande.
Mode entrée: Tout ce que vous tapez sera inséré dans un fichier.

Comment passer d'un mode à l'autre:


Du mode commande au mode entrée: avec les touches i, I, a, A, o, O
Du mode entrée au mode commande: touche ESC.

Le mode par défaut au démarrage est le mode commande.

Le fichier de configuration .exrc peut être créé dans votre répertoire home
pour que vous puissiez paramètrer vos préférences.
[root@test ] /# set ignorecase # No case-sensitive
[root@test ] /# set tabs=3 # 3 space for tab character

Mode entrée:
i before cursor
I at start of line
a after cursor
A at end of line
o open line below

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 184/297

O open line above

Suppression:
dw delete word
dd delete line
D delete to end of line
x delete char at cursor

Déplacement du curseur:
l one space right
h one space left
j one line down
k one line up
# end of line
^ start of line
w next word
e end of word

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 185/297

8.2 Quiz

Quiz 8.1
Qu'est-ce que .exrc ?
Quiz 8.2
Où .exrc doit-il se trouver ?
Quiz 8.3
Que fait dans vi la séquence ZZ ?
Quiz 8.4
Est-il possible d'utiliser regexp dans vi ?
Quiz 8.5
Est-il possible d'utiliser la syntaxe sed dans vi ?
Quiz 8.6
Comment rechercher un mot dans vi ?
Quiz 8.7
Comment annuler la dernière manipulation dans vi ?
Quiz 8.8
Comment faites-vous pour répéter la dernière commande dans vi ?

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 186/297

8.3 Réponses quiz

Réponse quiz 8.1


.exrc est le fichier de configuration de vi.
Réponse quiz 8.2
Il doit être localisé dans le répertoire home de l'utilisateur.
Réponse quiz 8.3
Sauvegarder et quitter (Save and quit)
Réponse quiz 8.4
oui
Réponse quiz 8.5
oui
Réponse quiz 8.6
:/word/
Réponse quiz 8.7
Avec le caractère u.
Réponse quiz 8.8
Avec dot

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 187/297

8.4 Exercices

Exercice 8.1
Editez un fichier que vous appellerez vitest avec vi. Quittez ensuite vi sans
sauvegarder le fichier.
Exercice 8.2
Editez le fichier vitest et écrivez quelques lignes. Sauvegardez ensuite le
fichier. Sauvegardez et quittez en une commande.
Exercice 8.3
Comment utiliser l'aide de vi ?
Exercice 8.4
Faites une copie de /etc/passwd dans votre répertoire home. Editez ensuite
cette copie avec vi. Changez chaque occurrence du mot root avec votre
propre nom d'utilisateur.
Exercice 8.5
Toujours dans la copie de /etc/passwd, faites une copie et coller quelques
lignes. Effacez-les ensuite.

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 188/297

8.5 Réponses

Réponse 8.1
La commande est:
[root@test ] /# vi vitest

Pour sortir de l'utilitaire vi sans sauvegarder le fichier :


utiliser :q!.
Réponse 8.2
La commande est:
Pour éditer, faire vi vitest
Pour écrire quelque ligne dans le fichier, passez en mode "insertion" en
utilisant la touche i.
Pour sauvegarder le fichier faire :w
Pour sauvegarder et quitter le fichier, faire :wq.
Réponse 8.3
Pour obtenir de l'aide sur l'utilitaire vi, lorsque vi est ouvert, il faut taper :h.
Réponse 8.4
Copie de passwd dans /home/myhome:
[root@test ] /# cp /etc/passwd /home/myhome/

Pour remplacer le mot root par mon nom, utiliser vi et faire :


Se placer sur le mot à remplacer et utiliser la commande cw
Réponse 8.5
Pour copier une ligne avec l'utilitaire vi faire: yy
Pour coller la ligne copier, faire: p
Pour supprimer une ligne, faire: dd

GNU & Commandes Unix


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 189/297

Périphériques, Systèmes de fichiers Linux,


Hiérarchie standard du système de fichiers

Table des matières

Périphériques, Systèmes de fichiers Linux, 3.6 Exercices ...........................................................218


Hiérarchie standard du système de fichiers.....189 3.7 Réponses ..........................................................219
1 Créer des partitions et des systèmes de fichiers... 4 Gérer les quotas disque...................................220
190 4.1 Gestion des quotas disques...............................221
4.2 Mise en place des quotas utilisateurs................222
1.1 Les systèmes de fichiers supportés par Linux...191
4.3 Lister les quotas.................................................223
1.2 Création des partitions.......................................192
4.4 Afficher un rapport de quota..............................224
1.3 Arborescence des systèmes de fichiers............194
4.5 Quiz 4.................................................................225
1.4 Création d'un système de fichiers......................195
4.6 Réponses quiz 4................................................226
1.5 Création de systèmes de fichiers étendus.........196
4.7 Exercices 4.........................................................227
2 Maintenir l'intégrité des systèmes de fichiers ..197
4.8 Réponses ..........................................................228
2.1 Les systèmes de fichiers....................................198
2.2 Journalisation d'un système de fichiers.............200
5 Utiliser les permissions pour contrôler l'accès aux
2.3 Contrôle de l'utilisation des disques..................201 fichiers.................................................................229
2.4 Espace disque et système de fichiers...............202 5.1 Sécurité des dossiers sous Unix........................230
2.5 Contrôle des systèmes de fichiers.....................203 5.2 Permissions sur les fichiers...............................231
2.6 Contrôle des systèmes de fichiers étendus.......204 5.3 Permissions par défaut......................................232
2.7 Débogger un système de fichiers étendu..........205 5.4 Changer les permissions sur les fichiers...........233
2.8 Vider les informations du système de fichiers 6 Gérer la propriété des fichiers .........................234
étendu......................................................................206 6.1 Modifier le propriétaire ou le groupe d'un fichier......
2.9 Modifier les systèmes de fichiers étendus.........207 235
2.10 Quiz .................................................................208 6.2 Attribuer plus de privilèges.................................236
2.11 Réponses quiz ................................................209 6.3 Exercices ...........................................................237
2.12 Exercices .........................................................210 6.4 Réponses ..........................................................239
2.13 Réponses ........................................................211 7 Créer et changer des liens symboliques ou
3 Contrôler le montage et le démontage d'un physiques............................................................242
système de fichiers.............................................212 7.1 Liens physiques et liens symboliques................243
3.1 Monter un système de fichiers...........................213 7.2 Lier un fichier......................................................244
3.2 Démonter un système de fichiers......................214 7.3 Quiz....................................................................245
3.3 Informations sur les systèmes de fichiers..........215 7.4 Réponses quiz ..................................................246
3.4 Quiz ...................................................................216 7.5 Exercices............................................................247
3.5 Réponses quiz ..................................................217 7.6 Réponses ..........................................................248
8 Trouver et placer les fichiers système.............249

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 190/297

1 Créer des partitions et des systèmes de


fichiers

Description
Les candidats doivent pouvoir configurer les partitions disque et créer des
systèmes de fichiers sur des supports tels que les disques durs. Cet objectif
inclut l'utilisation de la commande mkfs, l'installation de partitions pour des
systèmes de fichiers variés, dont ext2, ext3, reiserfs, vfat, et xfs.

Dossiers principaux, termes et utilitaires inclus


fdisk
mkfs

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 191/297

1.1 Les systèmes de fichiers supportés par Linux

ext2: Ancien et très stable.


Fonctionne pour des fichiers dont la taille est supérieurs à ~2-3K.
ext3: Extension pour la journalisation de ext2.
Journaliser un système de fichiers revient à ajouter une nouvelle structure de
données appelée un journal.
Il est possible de passer d'un système ext2 à un système ext3, et
inversement.

reiserfs: Système de fichiers journalisé.


La version 3 est 8 à 15 fois plus rapide que ext2 si vous manipulez des
fichiers de petite taille. La prochaine version, la quatrième, permettra cette
performance sur des fichiers de plus grande taille.
XFS: Système de fichiers journalisé écrit par SGI pour son Irix Unix et porté
ensuite sur Linux. Il a été pensé pour optimiser la manipulation des très gros
fichiers, de plus de 9 ExaBytes (9'000'000'000 GigaBytes).
JFS: Un autre système de fichiers journalisé créé par IBM.
msdos: Le système de fichiers journalisé de MS-Windows de type FAT.

Des systèmes de fichiers spéciaux comme iso9660, pour les cd-roms, ou


cramfs pour les ramdisks compressées sont aussi supportés par Linux.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 192/297

1.2 Création des partitions

Un support peut-être divisé en partitions. Chaque partition peut-être utilisée


comme un lecteur différent et autant de systèmes de fichiers différents peuvent
être installés sur le même support.
Les partitions sont en général créées à l'installation mais peuvent aussi être
créées par la suite avec le programme fdisk ou d'autres utilitaires.

1.2.1 Pourquoi créer différentes partitions ?


Pour créer différents systèmes de fichiers.
Pour simplifier les sauvegardes.
Pour la gestion des quotas, par partition.
Pour intégrer des options comme "read-only" ou autres.
Pour éviter de subir les limites physiques du boot manager

1.2.2 Lecteurs IDE


Sur les PC, le BIOS force les lecteurs IDE à suivre des règles par rapport à la
numérotation des partitions. Un lecteur IDE est reconnu comme suit:
Primary Master /dev/hda Disque entier
/dev/hda1 Partition primaire
/dev/hda2 Partition secondaire
Primary Slave /dev/hdb
Secondary Master /dev/hdc
Secondary Slave /dev/hde

Le nombre maximum de partitions primaires par disque dur est 4, ou 3 si une


partition étendue existe.
Le nombre maximum de partition étendues par disque dur est 1, indépendante
de la partition primaire. La partition étendue possède le premier numéro qui suit
la dernière partition primaire.
Le nombre maximum de partitions logiques par disque dur est 11, avec des
numéros de 5 à 15. La création de partitions logiques dépend de la présence
d'une partition étendue.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 193/297

1.2.3 Lecteurs SCSI

Les lecteurs SCSI sont nommés comme suit:


ID1 /dev/sda Tout le disque sur le
premier ID
/dev/sda1 Première partition
ID2 /dev/sdb Tout le disque sur le
second ID

Les lecteurs SCSI, appelés scheme, représentent aussi les lecteurs de la


branche IEEE1394 (Firewire) et USB.
Dès que le disque a été partitionné, il est possible de construire un système de
fichiers sur chaque partition.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 194/297

1.3 Arborescence des systèmes de fichiers

Un système de fichiers Linux est composé du répertoire maître appelé root (/),
à partir duquel partent tous les sous-répertoires du système.
Le sous-répertoire peut-être une autre partition, un répertoire distant, ou une
partition distante accessible à travers le réseau avec le protocole NFS.

La hiérarchie standard des systèmes de fichiers Linux


L'organisation de l'arborescence d'un système de fichiers est, pour la plupart
des distributions Linux, basée sur le document présentant le Filesystem
Hierarchy Standard (FHS). FHS défini les usages spécifiques sur
l'arborescence des répertoires.
Les répertoires, ou les liens symboliques vers des répertoires sont dans /.
Directory Description
bin Principales commandes binaires
boot Fichier du boot loader
dev Fichiers des périphériques
etc Configuration spécifique de l'utilisateur
lib Libraires partagées et modules du noyau
media Point de montage d'un support amovible
mnt Point de montage pour monter un système de fichiers
de manière temporaire
opt Paquetages des logiciels et des applications ajoutées
proc Noyau et informations sur les processus des
systèmes de fichiers virtuels
sbin Binaires essentielles du système
srv Données concernant les services fournis par le
système
tmp Fichiers temporaires
usr Hiérarchie secondaire
var Données variables

Liste des répertoires obligatoires : /bin /sbin /dev /etc /lib

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 195/297

1.4 Création d'un système de fichiers

Pour créer un système de fichiers sur une partition, il faut utiliser mkfs.
mkfs [options] -t [fstype] lecteur [blocksize]

Principales options:
-t: fstype: Type de système de fichiers.
-c: Contrôle des bad blocks du lecteur avant la construction d'un
système de fichiers.
La totalité de la partition sera effacée et formatée pour le type de système de
fichiers choisit. Il n'est pas possible de revenir ensuite en arrière.

Les types possibles avec fstype sont: msdos, ext2, ext3, reiserfs, minix, xfs,
iso9660, ...
Le blocksize permet de paramétrer la taille des bocks pour votre système de
fichiers.

Exemples:
[root@test ] /# mkfs -t msdos /dev/fd0

[root@test ] /# mkfs -t reiserfs /dev/hdd1 4096

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 196/297

1.5 Création de systèmes de fichiers étendus

Pour créer un système de fichiers étendu (ext2, ext3) sur une partition, il faut
utiliser mke2fs.
mke2fs [options] device [blocksize]

Principales options:
-b: Specify the block sizefstype: Type de système de fichiers.
-c: Contrôle si le lecteurs contient des blocks défectueux avant de
construire le système de fichiers.
-j: Crée le système de fichiers avec un journal ext3.
-L: Donne un label au système de fichiers.

Avec mke2fs, il est possible de mettre en place un super-block, le journal


d'information sur un autre lecteur.

Exemples:
[root@test ] /# mke2fs -b 2048 /dev/fd0 -L floppy

[root@test ] /# mke2fs -V
mke2fs 1.26 (3-Feb-2002) Using EXT2FS Library version 1.26

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 197/297

2 Maintenir l'intégrité des systèmes de


fichiers

Description
Les candidats doivent pouvoir vérifier l'intégrité des systèmes de fichiers, gérer
l'espace libre et les inodes, et réparer des problèmes simples sur un système
de fichiers.
Cet objectif requiert l'utilisation des commandes nécessaires pour maintenir un
système de fichiers standard, ainsi que les données supplémentaires
associées à la tenue d'un journal.

Dossiers principaux, termes et utilitaires inclus


du
df
fsck
e2fsck
mke2fs
debugfs
dumpe2fs
tune2fs

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 198/297

2.1 Les systèmes de fichiers

Les systèmes de fichiers existent pour vous permettre de stocker, lire et


manipuler des données sur un lecteur block. En fait, les systèmes de fichiers
sont la seule manière efficace d'accéder au contenu des lecteurs block.
Un système de fichiers maintient la structure interne des données (meta-data)
qui fait que vos données restent organisées et accessibles.
La structure de ces meta-data donne leur caractéristiques aux systèmes de
fichiers.
Un système de fichiers est accédé par un lecteur grâce à la structure organisée
des meta-data.
Lorsque Linux démarre, il lit dans /etc/fstab tous les systèmes de fichiers
qui doivent être montés et vérifie si ils sont en état de fonctionner.
Lorsqu'une panne ne permet pas à Linux de démonter un système de fichiers
correctement, des données dans le cache ne peuvent être synchronisées sur le
support.
Le meta-data peut alors être corrompu.
Lorsque vous redémarrez le système, il va détecter ce problème et effectue un
fsck sur toute la structure meta-data pour réparer les erreurs.
Cela peut prendre beaucoup de temps. De quelques minutes à plusieurs
heures en fonction de la taille du lecteur.

2.1.1 Le paradigme du système de fichiers Unix


Les systèmes de fichiers Unix sont des systèmes de fichiers qui ont été créés
avec les premiers Unices dans les années 70. Ils ont été utilisés depuis par
tous les systèmes d'opérations compatibles Unix. Comme Linux est un OS
compatible Unix, le schéma par défaut de ses systèmes de fichiers et de ses
fonctionnements internes est basé sur un système similaire.
Tous les systèmes de fichiers Unix utilisent les quatre méthodes suivantes pour
contrôler l'accès aux données gérées depuis les lecteurs block :
superblock : Il existe un superblock par système de fichiers monté. Le
superblock contient toutes les informations et les meta-datas relatives au
système de fichiers. Le superblock est utilisé pour la création des points de
montage.
fichiers : Les objets d'instance de l'utilisateur représente les fichiers ouverts
par les processus. Dans un système de fichiers compatible Unix, les répertoires

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 199/297

sont vus comme des fichiers. En fait, un répertoire est un fichier composé de la
liste de son contenu.
inode : Cet objet représente des fichiers spécifiques dans le système de
fichiers. Il y a un et un seul inode par fichier et répertoire. Chacun des fichiers
peut-être représenté par son numéro inode unique.
dentry : "directory entry" ou "entrée de répertoire" est un élément dans un
chemin, par exemple dans "/home/toto/text.txt". On en trouve quatre, / (la
racine du système de fichiers), home, toto et text.txt. Les dentries fournissent
les fonctionnalités d'appellation du système de fichiers.
Chaque dentry pointe vers un inode (noeud d'index) et plus d'une dentry
peuvent pointer vers le même inode. C'est de cette manière que les liens
physiques (hardlinks) sont implémentés. Puisque les dentries sont locales à un
système de fichiers monté, ça explique pourquoi les liens physiques ne
peuvent pas exister entre différentes instances de systèmes de fichiers, même
s'ils sont de même type.
Le mécanisme de complétion automatique des shell tels que bash est basé sur
le cache des dentries de l'OS.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 200/297

2.2 Journalisation d'un système de fichiers

Journaliser un système de fichiers consiste à ajouter une nouvelle structure de


données appelée journal.
Ce journal se trouve sur le disque et chaque modification de la meta-data faite
par un lecteur écrite en premier dans ce journal.
Avant chaque modification d'une meta-data, le journal maintient un log de la
dernière opération.
Ainsi, lorsque qu'un système de fichiers n'est pas démonté correctement il suffit
de contrôler le journal pour le réparer.
La réparation d'un système de fichiers journalisé est très rapide. Il suffit de lire
les logs et d'annuler la dernière opération.
Cela peut ne prendre que quelques secondes.
Sur un cluster, la journalisation permet de réparer rapidement la partition
partagée d'un noeud qui serait tombé.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 201/297

2.3 Contrôle de l'utilisation des disques

Pour visualiser l'utilisation d'un disque, il faut utiliser du.


du [options] [files...]

Principales options:
-a: Tous les fichiers, pas uniquement les répertoires
-b: Pour afficher la taille en octets
-c: Total
-h: Human readable format. (1K, 20M,...)

Exemples:
[root@test ] /# du -ch Lynuxtraining
112k LynuxTraining/Cours/LPI101 4.0k LynuxTraining/Cours/LPI102 4.0k
LynuxTraining/Cours/LPI201 4.0k LynuxTraining/Cours/LPI202 124k total
[root@test ] /# du -sk ~ # Sums up your total disk usage in kilobytes
[root@test ] /# du -ak ~ | sort -n more
# Display every file and its disk space in numerically
# order.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 202/297

2.4 Espace disque et système de fichiers

Un système de fichiers est composé d'une structure meta-data et d'une liste de


blocks.
Pour visualiser l'utilisation de l'espace disque d'un système de fichiers, il faut
utiliser df.
df [options] [files...]

Principales options:
-a: Tous les système de fichiers avec 0 blocks.
-t: Limite l'affichage des données à un type de système de fichiers
particulier.
-h: Human readable format. (1K, 20M,...).

Exemples:
[root@test ] /# df -t reiserfs -h
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda3 28771528 3121536 25649992 11% /

[root@test ] /# df -t ext2 -h
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 15M 3.8M 10M 27% /boot

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 203/297

2.5 Contrôle des systèmes de fichiers

Pour contrôler les caractéristiques d'un système de fichiers, il faut utiliser fsck.
fsck [options] -t [fstype] device [fsck-options]

Principales options:
-A: Utilise le fichier /etc/fstab et essaie de contrôler tous les
systèmes de fichiers. En général utilisé au boot par un script.
-t fslist: Spécifie le type de système de fichiers à contrôler. Avec
l'option -A, seuls les systèmes de fichiers qui correspondent à la liste
dans fslist sont contrôlés.
-C: affiche la barre de progression.

Principales options:
-a: Réparation automatique.
-r: Réparation interactive.

Exemples:
[root@test ] /# fsck -t msdos /dev/fd0 -a

[root@test ] /# fsck -t reiserfs /dev/hda2 -r

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 204/297

2.6 Contrôle des systèmes de fichiers étendus

Pour contrôler les systèmes de fichiers étendus, il faut utiliser e2fsck.


e2fsck [options] device

Principales options:
-b: Utilise un autre nom de fichier superblock.
-c: Cette option permet de faire fonctionner les programmes badblocks
pour marquer tous les blocks corrompus.
-f: Force le contrôle même si le système de fichiers semble intact.
-a ou -p: Répare automatiquement.
-y: mode non-interactif.

Exemples:
[root@test ] /# e2fsck -ay /dev/fd0

[root@test ] /# e2fsck -f /dev/hda2

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 205/297

2.7 Déboguer un système de fichiers étendu

Le programme debugfs est un débogueur interactif de systèmes de fichiers. Il


peut être utilisé pour examiner et changer l'état d'un système de fichiers ext2.
debugfs device

Principales commandes:
Help: Fourni des informations sur toutes les commandes valables.
Stats: Fourni les statistiques sur le support.
Stat file: Donne les statistiques sur le fichier d'un support.
logdump: Décharge le journal du support dans un fichier.

Exemple:
[root@test ] /# debugfs /dev/hda
> stat haut.gif
Inode: 14
Type: regular
Mode: 0644
Flags: 0x0
Generation: 67558
Réponse: 0
Group: 0
Size: 3786
File ACL: 0
Directory ACL: 0
Links: 1 Blockcount: 8 Fragment: Address: 0 Number: 0 Size: 0
ctime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
atime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
mtime: 0x3ddf3840 -- Sat Nov 23 09:11:44 2002
BLOCKS: (0-3):55-58
TOTAL: 4

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 206/297

2.8 Vider les informations du système de fichiers


étendu

Pour afficher le super block et les informations des blocks group d'un système
de fichiers étendu, il faut utiliser dumpe2fs.
dumpe2fs [options] device

Principales options :
-b: pour trouver les blocks corrompus du système de fichiers.
-h: Pour afficher seulement les informations sur le superblock.

Exemple:
[root@test ] /# dumpe2fs -h /dev/fd0
dumpe2fs 1.26 (3-Feb-2002)
Filesystem volume name: floppy
Last mounted on: <not available>
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 184
Block count: 1440
Reserved block count: 72
Free blocks: 1258
Free inodes: 168
First block: 1
Block size: 1024
First inode: 11
Inode size: 128
...

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 207/297

2.9 Personnaliser les systèmes de fichiers étendus

Pour modifier un système de fichiers étendu, il faut utiliser tune2fs.


tune2fs [options] device

Principales options:
-i#: Donne un intervalle entre les contrôles successifs d'un système de
fichiers [d|m|w].
-l: Liste le contenu du superblock d'un système de fichiers.
-L: Donne un label au volume d'un système de fichiers.

Exemples:
[root@test ] /# tune2fs -L floppy /dev/fd0

[root@test ] /# tune2fs -l /dev/fd0 (Same output as dumpe2fs -h /dev/fd0)


tune2fs 1.26 (3-Feb-2002)
Filesystem volume name: floppy
Block count: 1440
Reserved block count: 72
Free blocks: 1258
Free inodes: 168
First block: 1
Block size: 1024
First inode: 11
Inode size: 128
...

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 208/297

2.10 Quiz

Quiz 2.1
Quel est le nombre maximum de partitions étendues?
Quiz 2.2
Quel est le nom de fichier d'un disque SCSI complet?
Quiz 2.3
Quelle est la différence entre ext2 et ext3?
Quiz 2.4
Existe-t-il un standard de hiérarchie de systèmes de fichiers sous Linux?
Quiz 2.5
Quelle commande permet de construire un système de fichier sur une partition?
Quiz 2.6
Pourra-t-on retrouver les anciennes données dans un nouveau système de
fichiers msdos?
Quiz 2.7
Quelle commande doit-on utiliser pour contrôler l'utilisation du disque?
Quiz 2.8
Quelle commande permet de contrôler un système de fichiers?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 209/297

2.11 Réponses quiz

Réponse quiz 2.1


1
Réponse quiz 2.2
/dev/sda
Réponse quiz 2.3
ext3 a des capacités de journalisation.
Réponse quiz 2.4
Oui, c'est le projet FHS.
Réponse quiz 2.5
mkfs
Réponse quiz 2.6
Non, la partition sera complètement écrasée.
Réponse quiz 2.7
du
Réponse quiz 2.8
fsck

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 210/297

2.12 Exercices

Exercice 2.1
Construisez, sur une disquette, un système de fichiers au format ext2 avec
une taille de blocks de 2048 octets.
Exercice 2.2
Remplacer le label de la disquette par BACKUP.
Exercice 2.3
Ajoutez un journal sur le support disquette.
Exercice 2.4
Utilisez la commande debugfs pour valider les informations sur le système de
fichiers de la disquette et trouvez la date à laquelle il a été accédé pour la
dernière fois.
Exercice 2.5
Utilisez l'outil cfdisk pour partitionner le disque dur. Créez une partition swap
et une partition system. Configurez la partition system pour qu'elle soit
bootable et allez sur la partition swap.
Ecrivez les nouveaux paramètres et quittez cfdisk. Formatez la partition
système du système de fichiers ext3 (ext2 + journaling) et changez le label de
la partition.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 211/297

2.13 Réponses

Réponse 2.1
Commande à taper:
[root@test ] /# mke2fs -b 2048 /dev/fd0

Réponse 2.2
Commande à taper:
[root@test ] /# tune2fs -L BACKUP /dev/fd0

Réponse 2.3
Commande à taper:
[root@test ] /# tune2fs -j /dev/fd0

ne marche pas car la taille des blocks est trop grande


Réponse 2.4
Commande à taper:
[root@test ] /# debugfs /dev/fd0
[root@test ] /# stats

Réponse 2.5
Utilisez l'utilitaire cfdisk.
Pour consulter l'aide de cfdisk, choisir l'onglet d'aide.
Puis suivre les instructions.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 212/297

3 Contrôler le montage et le démontage


d'un système de fichiers

Description
Les candidats doivent pouvoir configurer le montage d'un système de fichiers.
Cet objectif inclut la capacité à monter et démonter des systèmes de fichiers
manuellement, à configurer le montage automatique au démarrage et
configurer les systèmes de fichiers amovibles tels que les lecteurs de bandes,
de disquette et de CD.

Dossiers principaux, termes et utilitaires inclus


/etc/fstab
mount
umount

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 213/297

3.1 Monter un système de fichiers

La commande mount est utilisée pour attacher le système de fichiers à un


lecteur sur l'arborescence du système de fichiers.
mount [options]
mount [options] [-t vfstype] [-o options] device dir

Si le lecteur ou le répertoire est listé dans /etc/fstab, vous pouvez utiliser la


commande suivante:
mount [options] [-o options [,...]] device | dir

Normalement seul root possède les privilèges pour monter des lecteurs, sauf
si il y a une spécification contraire dans le fichier /etc/fstab.

Exemples:
[root@test ] /# mount # Print all the mounted système de fichiers. (etc/mtab)

[root@test ] /# mount -a # Mount devices or dirs listed in /etc/fstab

[root@test ] /# mount -n -o ro /dev/hdc /mnt # Mount all /dev/hdc partition


in read only mode without updating /etc/mtab

[root@test ] /# mount /media/cdrom

[root@test ] /# mount /dev/cdrom # Allow a user to mount the CDROM if the


following line is in /etc/fstab:
/dev/cdrom /media/cdrom iso9660 ro,user,noauto,unhide

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 214/297

3.2 Démonter un système de fichiers

Pour détacher un système fichiers de l'arborescence, il faut utiliser umount.


umount [options]
umount [options] [-o options [,...]] device | dir

Un système de fichiers en cours d'utilisation ne peut pas être démonté:


• Fichiers ouverts.
• Le répertoire courant d'un processus.

Exemples:
[root@test ] /# umount -a # Unmount devices or dirs listed in /etc/fstab

[root@test ] /# umount /mnt # Unmount the filesystem attached to /mnt

[root@test ] /# umount /media/cdrom # Allow a user to unmount the CDROM if


the following line is in /etc/fstab:
/dev/cdrom /media/cdrom iso9660 ro,user,noauto,unhide

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 215/297

3.3 Informations sur les systèmes de fichiers

Le fichier /etc/fstab contient tous les fichiers systèmes et les informations


relatives qui seront utilisées pour monter un lecteur au démarrage du système:
mount -a.
Le fichier /etc/mtab est maintenu par le noyau et possède les données sur
les lecteurs qui sont montés ou non.
Un fichier /etc/fstab classique se présente de la manière suivante:
[root@test ] /#device dir destination fs options 1 2
/dev/hda3 / reiserfs defaults 1 2
/dev/hda1 /boot ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
usbdevfs /proc/bus/usb usbdevfs noauto 0 0
/dev/hda2 swap swap pri=42 0 0

Principales options:
ro: lecture seule.
noauto: Ne monte pas automatiquement au démarrage.
exec: Exécute des binaires sur le système de fichiers.
suid: Autorise l'usage du set-uid sur les fichiers.
user: Permet à un utilisateur de monter ou démonter le lecteur.
unhide: Rend visibles les fichiers cachés.
async: Toutes les opérations seront faites de manière asynchrone.
default: rw, suid, dev, exec, auto, nouser, et async.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 216/297

3.4 Quiz

Quiz 3.1
Quel fichier utilise la commande mount –a pour monter un système de
fichiers?
Quiz 3.2
Que signifie le mot noauto dans le fichier /etc/fstab ?
Quiz 3.3
Que signifie le mot sync dans le fichier /etc/fstab ?
Quiz 3.4
Que signifie le mot -o ro dans le fichier /etc/fstab ?
Quiz 3.5
Peut-on démonter un répertoire courant d'un processus ?
Quiz 3.6
Quelle commande permet de lister tous les répertoires montés ?
Quiz 3.7
Au démarrage, avant de monter un système de fichiers listé dans /
etc/fstab, que fait un système ?
Quiz 3.8
Doit-on monter un lecteur de disquettes pour accéder à un fichier de type
msdos sur une disquette ?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 217/297

3.5 Réponses quiz

Réponse quiz 11.1


/etc/fstab
Réponse quiz 11.2
Ne permet pas de monter automatiquement le lecteur.
Réponse quiz 11.3
Cela permet de synchroniser les données directement sur le lecteur pour
chaque opération.
Réponse quiz 11.4
Pour monter le lecteur en mode lecture seule.
Réponse quiz 11.5
Non, car il est occupé.
Réponse quiz 11.6
mount
Réponse quiz 11.7
Il vérifie que le système de fichiers n'est pas corrompu.
Réponse quiz 11.8
Oui

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 218/297

3.6 Exercices

Exercice 3.1
Créez une ligne dans /etc/fstab qui autorise l'accès du lecteur de
disquettes à tous les utilisateurs.
Vérifiez que vous pouvez utiliser ce lecteur et que vous pouvez créer un fichier
avec touch.
Exercice 3.2
Faites la manipulation suivante:
• Créez un système de fichiers ext2 sur le lecteur de disquettes.
• Montez le lecteur.
• Copiez tous les fichiers /etc/*.conf sur une disquette.
• Démontez le lecteur. Que se passe-t-il ?
• Montez-le de nouveau et vérifiez que tous les fichiers sont bien présents.
• Tapez la commande suivante:
[root@test ] /# tar cvf /dev/fd0 /etc/*.conf

• Essayez de le monter de nouveau. Que se passe-t-il alors ?


• Utilisez tar pour visualiser le contenu de la disquette.
Exercice 3.3
Le fichier /etc/fstab possède toutes les informations dont vous avez besoin
pour monter un lecteur de disquettes. Quelle est la manière la plus simple de
monter un lecteur de disquette ?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 219/297

3.7 Réponses

Réponse 3.1
La nouvelle ligne à ajouter dans le fichier fstab est:
/dev/fd0 /mnt/floppy auto noauto,Réponse 0 0

Réponse 3.2
[root@test ] /# mke2fs /dev/fd0
[root@test ] /# mount /dev/fd0 /mnt/floppy
[root@test ] /# cp /etc/*.conf /mnt/floppy

quand on démonte le lecteur de disquettes, les données sont synchronisées


(synchronisation des manipulations).
La commande tar cvf /dev/fd0 /etc/*.conf permet de stocker une
archive sur la disquette sans créer de système de fichiers.
La disquette ne peut être montée, mais il est possible de récupérer les
informations qui se trouvent sur la disquette en « désarchivant » le contenu de
celle-ci.
Pour visualiser le contenu de la disquette, il faut utiliser la commande:
[root@test ] /# tar tvf /dev/fd0

Réponse 3.3
Pour monter un lecteur sans avoir besoin de tout spécifier, faire:
[root@test ] /# mount /dev/fd0 /mnt/floppy

La commande mount lit le fichier fstab et fait le lien avec le point de montage.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 220/297

4 Gérer les quotas disque

Description
Les candidats doivent être capables de gérer les quotas disque pour les
utilisateurs.
Cet objectif inclut la mise en place d'un quota disque pour un système de
fichiers afin d'éditer, de passer en revue et de générer des rapports sur les
quotas utilisateurs.

Dossiers principaux, termes et utilitaires inclus


quota
edquota
repquota
quotaon

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 221/297

4.1 Gestion des quotas disques

Dans un système, root peut gérer l'utilisation de l'espace disque, par utilisateur
et par système de fichiers.
Les deux limites qui peuvent être gérées sont:
• La limite logicielle (soft =): spécifie la quantité maximum d'espace disque
qu'un utilisateur sous quota peut utiliser.
• La limite matérielle (hard =): spécifie la limite absolue, sur le disque géré par
des quotas, au delà de laquelle l'utilisateur de peut pas aller.

Il existe aussi la possibilité de mettre en place une « période de grâce » durant


laquelle la « soft limit » n'est pas appliquée.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 222/297

4.2 Mise en place des quotas utilisateurs

Les mots clé usrquota ou/et grpquota doivent être ajoutés dans le fichier /
etc/fstab pour la partition en question.
/dev/fd0 /home/rarrigoni/mnt auto rw,noauto,user,usrquota 0 0
/dev/hda5 /home ext2 defaults,usrquota,grpquota 1 2

Ajouter ensuite dans chaque système de fichiers root le fichier quota.user


ou/et quota.group (quotas support v1) ou aquota.user ou/et
aquota.group ( support v2).
[root@test ] /# touch /mnt/aquota.user
[root@test ] /# touch /home/aquota.user
[root@test ] /# touch /home/aquota.group
[root@test ] /# chmod 600 /mnt/aquota.user
[root@test ] /# chmod 600 /home/aquota.user
[root@test ] /# chmod 600 /home/aquota.group

Seul root peut administrer les quotas. Dès qu'un fichier vide est créé, des
quotas disques peuvent être mis en place pour:
Une limitation logicielle du nombre de fichiers et d'inodes.
Une limitation matérielle du nombre de fichiers et d'inodes si le grace time est
en place.
Vérifiez la configuration suivante:
[root@test ] /# quotacheck -v mnt
quotacheck: Scanning /dev/fd0 [/home/rarrigoni/mnt] done quotacheck: Checked
6 directories and 1 files

Mettez en place les quotas disque:


[root@test ] /# quotaon -av /dev/fd0
[/home/rarrigoni/mnt]: user quotas turned on

Configurez les limites des quotas disque:


[root@test ] /# edquota -u rarrigoni
Disk quotas for user rarrigoni (uid 500): Filesystem locks soft hard inodes
soft hard /dev/fd0 15 0 0 4 0 0
[root@test ] /# edquota -g rarrigoni
[root@test ] /# edquota -t
Grace period before enforcing soft limits for users: Time units may be: days,
hours, minutes, or seconds Filesystem Block grace period Inode grace period /
dev/fd0 7days 7days

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 223/297

4.3 Lister les quotas

Pour lister les quotas utilisateurs ou groupes, il faut utiliser quota.


quota [options] [user|group]

Principales options:
-u: Par défaut, affiche les quotas utilisateurs.
-g: Affiche les quotas groupe, du groupe de l'utilisateur courant.
-q: Affiche un message contenant les informations sur le système de
fichiers, sur lequel les quotas sont activés.

Exemple:
[root@test ] /# quota -u rarrigoni

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 224/297

4.4 Afficher un rapport de quota

Pour afficher un rapport de quota, il faut utiliser repquota.


repquota [options] [user|group]

Principales options:
-a: Rapport sur tous les systèmes de fichiers indiquées dans /
etc/mtab en lecture-écriture avec quotas.
-g: Rapport pour le groupe.

Exemple:
[root@test ] /# repquota /dev/fd0
Report for user quotas on device /dev/fd0 Block grace time: 7days; Inode
grace time: 7days Block limits File limits User used soft hard grace used
soft hard grace
---------------------------------------------------------------------- root
-- 8 0 0 2 0 0 rarrigoni -- 15 0 0 4 0 0

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 225/297

4.5 Quiz 4

Quiz 4.1
Dans quelle configuration de fichiers le mécanisme de quota doit-il être
spécifié?
Quiz 4.2
Quelle commande et quelle option permettent d'initialiser la base de données
de quotas?
Quiz 4.3
Quelle commande devez-vous utiliser pour mettre en place les quotas dans le
système?
Quiz 4.4
Quelle commande, exécutée dans un cron permet de contrôler
périodiquement les quotas de utilisateurs?
Quiz 4.5
Quelle commande vous permet d'éditer la période de grâce?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 226/297

4.6 Réponses quiz 4

Réponse 4.1
/etc/fstab
Réponse 4.2
[root@test ] /# quotacheck -acmugv

Réponse 4.3
[root@test ] /# quotaon -av

Réponse 4.4
[root@test ] /# /sbin/quotacheck -acmugv

Réponse 4.5
[root@test ] /# edquota -t

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 227/297

4.7 Exercices 4

Exercice 4.1
Mettez en place une limitation logicielle à 500M pour tous les utilisateurs qui
ont leur répertoire home dans /home.
Exercice 4.2
Mettez le grace time à 0.
Exercice 4.3
Connectez-vous comme utilisateur et vérifiez que la limitation est en place.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 228/297

4.8 Réponses

Réponse 4.1
Dans un premier temps, mettre tous les utilisateurs concernés dans un même
groupe. Puis tapez la commande:
[root@test ] /# edquota -g groupname

(donne la limitation logicielle pour le quota)


Réponse 4.2
Utilisez la commande edquota -t pour définir la période de grâce.
Réponse 4.3
Utilisez la commande quota -v pour visualiser les limitations de travail.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 229/297

5 Utiliser les permissions pour contrôler


l'accès aux fichiers

Description
Les candidats doivent être capables de contrôler les accès aux fichiers en
utilisant les permissions.
Cet objectif inclut de connaître les permissions d'accès pour les fichiers
réguliers ou spéciaux, ainsi que pour les répertoires. Il faut connaître les modes
d'accès tels que suid, sgid le sticky bit, l'utilisation du champ groupe pour
autoriser l'accès des groupes de travail à un fichier, le immutable flag et le
mode de création de fichiers par défaut.

Dossiers principaux, termes et utilitaires inclus


chmod
umask
chattr

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 230/297

5.1 Sécurité des dossiers sous Unix

Le principal problème de sécurité: c'est vous !


Vous êtes propriétaire de tous les répertoires et fichiers que vous avez créés.
Vous êtes responsable des accès que vous avez attribués à vos dossiers.
Vous décidez qui peut accéder, à quels fichiers ou répertoires.
Dans votre répertoire home, vous devez être capable de mettre en place
différents niveaux de sécurité, pour vous même, pour les autres membres de
votre groupe et pour tous les autres utilisateurs.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 231/297

5.2 Permissions sur les fichiers

Les permissions attribuées aux fichiers ou aux répertoire peuvent être


visualisées avec la commande ls -l.

Extra access rights user group others


SUID SGID Sticky
r w x r w x r w x
(s ) (s) Bit(t)
4 2 1 4 2 1 4 2 1 4 2 1

Exemples de permission sur les fichiers:


[root@test ] /# ls -l readme
-rwxrw---- 1 toto users 14 Jul 5 10:00 readme

Cela signifie:
Permissions accordées à toto pour la lecture (r: read), l'écriture (w: write) et
l'exécution (x) du fichier. Permissions accordées en lecture et écriture pour les
membres du groupe. Aucune permission pour les autres utilisateurs. (0760)
Autre exemple:
[root@test ] /# ls -l /etc/hosts
-rw-r--r-- 1 root root 14 Jul 5 10:00 /etc/hosts

Cela signifie: Pour root, permissions en lecture et écriture. Pour les membres
du groupe de root et pour tous les autres: permission en lecture. (0644)
Exemples de permissions sur les répertoires:
[root@test ] /# ls -ld /bin
drwxr-xr-x 2 root root 4096 Jul 5 10:00 /bin

Cela signifie: Permissions en lecture, écriture et exécution pour l'utilisateur


root. Permissions en lecture et exécution pour les membres du group root et
pour tous les autres. (0755)
Autre exemple:
[root@test ] /# ls -l /home/toto
drwxr-xr-x 10 toto users 4096 Jul 5 1:00 /home/toto

Cela signifie: Permissions en lecture, écriture et exécution pour l'utilisateur


toto.
Permissions en lecture et exécution pour les membres du groupe utilisateur et
les autres. (0755)

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 232/297

5.3 Permissions par défaut

Les permissions par défaut à la création du fichiers sont 0666 et à la création


d'un répertoire, 0777.
La plupart des systèmes attribuent ces permission lors du démarrage grâce au
programme umask.
En général, la valeur du mask est 022. Cela signifie que l'accès en écriture
pour le groupe et les autres utilisateurs est restreint.

Pour vérifier ou modifier la valeur mask, il faut faire :


[root@test ] /# umask
[root@test ] /# umask 066

Exemples:
Lors de la création de nouveaux fichiers:
• Les permissions par défaut sont: rw- rw- rw- (0666)
• Le umask est: 0 2 2 (0022) Block
Le fichier aura donc les permissions suivantes: rw- r-- r-- (0644)

Exemples:
Lors de la création d'un répertoire:
• Les permissions par défaut sont: rwx rwx rwx (0777)
• Le umask est: 0 2 2 (0022) Block
Le répertoire aura donc les permissions suivantes: rwx r-x r-x (0755)

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 233/297

5.4 Changer les permissions sur les fichiers

Pour modifier les permissions sur un fichier ou un répertoire, il faut utiliser


chmod.

Pour remplacer les permissions, il faut taper:


[root@test ] /# chmod 0755 /tmp #rwx for user, rx for group and others

Pour modifier, ajouter ou supprimer des permissions sans remplacer toutes


celles existantes, il faut faire:
[root@test ] /# chmod u+w readme # Add write permission for user
[root@test ] /# chmod +r readme # Add read permission for everybody
[root@test ] /# chmod -r readme # Remove read permission for everybody
[root@test ] /# chmod u+x,g=r readme # Add execution for user and set read
for group
[root@test ] /# chmod u=rwx,go=rx readme # Set read write and execution for
user, read and execution for group and others

Pour changer les permissions en mode récursif, il faut utiliser l'option -R.
[root@test ] /# chmod -R +x /sbin/*

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 234/297

6 Gérer la propriété des fichiers

Description
Les candidats doivent être en mesure de contrôler les droits des utilisateurs et
des groupes sur les fichiers. Cet objectif inclut la capacité à modifier la
propriété pour les utilisateurs et les groupes sur un fichier et de modifier le
propriétaire par défaut du fichier nouvellement créé.

Dossiers principaux, termes et utilitaires inclus


chmod
chown
chgrp

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 235/297

6.1 Modifier le propriétaire ou le groupe d'un fichier

Pour changer le propriétaire d'un fichier ou d'un répertoire, il faut utiliser chown.
[root@test ] /# chown raphael readme

Pour modifier le groupe d'un fichier ou d'un répertoire, il faut utiliser chgrp.
[root@test ] /# chgrp dialout caller

Les programmes gpasswd et yast2 vous permettent d'administrer les


groupes.
[root@test ] /# gpasswd [-A user] [-M user] group

Principales options:
-A: ajoute un utilisateur au groupe qui possède les privilèges administrateur.
-M: Ajoute un membre au groupe.

Les membres du groupe administrateurs peuvent ajouter ou enlever un


membre du groupe.
[root@test ] /# gpasswd -d toto users
[root@test ] /# gpasswd -a toto users

Les membres du groupe administrateurs peuvent modifier ou enlever le mot de


passe pour le groupe.
[root@test ] /# gpasswd users
[root@test ] /# gpasswd -r users

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 236/297

6.2 Attribuer plus de privilèges

Il est possible d'attribuer plus de privilèges à un utilisateur lorsqu'il exécute un


script particulier ou un programme avec les uid ou gid bit d'un fichier.
Si le bit est activé, le processus héritera des permissions du propriétaire du
fichier et non de celles de l'utilisateur.
Pour avoir les uid ou gid effectives, il faut utiliser chmod.
[root@test ] /# chmod 2640 [file] # (2) gid is inheritable for group.

[root@test ] /# chmod 4640 [file] # (4) uid is inheritable for user.

Exemple d'un tel programme est: /bin/passwd.

Sur un répertoire, mettre en marche le sticky bit restreint l'autorisation


d'effacer ce répertoire ou ce fichier uniquement au propriétaire du répertoire et
au propriétaire du fichier .
[root@test ] /# chmod 1640 /tmp # (1) The owners of /tmp and of a file
[root@test ] /# in /tmp are the only ones with rights to delete that file.

Le sticky bit peut aussi être utilisé pour charger le programme en RAM (ou
dans la swap). Le programme reste à cet endroit jusqu'à l'arrêt du système. Il
n'est plus utilisé depuis que la Mémoire Virtuelle fait exactement la même
chose.
[root@test ] /# chmod 1640 [file] # (1) The program stays in memory.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 237/297

6.3 Exercices

Exercice 6.1
Ecrire une ligne de commande en utilisant des caractères et la commande
chmod pour attribuer les permissions suivantes:
rwxrwxr-x :
rwxr--r-- :
r--r----- :
rwxr-xr-x :
rw-r-xr-x :
r-x--x--x :
-w-r----x :
-----xrwx :
Exercice 6.2
Ecrire une ligne de commande en utilisant des numéros octal et la commande
chmod pour attribuer les permissions suivantes:
rwxrwxrwx :
--x--x--x :
r---w---x :
-w------- :
rw-r----- :
rwx--x--x :
Exercice 6.3
Par rapport aux valeurs umask suivantes, quelles seraient les permissions
accordées à la création d'un fichier ou d'un répertoire ?
Umask = 0027
File permissions:
Directory permissions:

Umask = 0011
File permissions:
Directory permissions:

Umask = 0541

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 238/297

File permissions:
Directory permissions:

Umask = 0777
File permissions:
Directory permissions:

Exercice 6.4
Créez deux acomptes utilisateurs.
• Nom d'utilisateur: tst1, groupe users, avec bash shell, répertoire home /
home/tst1
• Nom d'utilisateur: tst2, groupe public, avec bash shell, répertoire home /
home/tst2
• Il faut définir un mot de passe pour les deux acomptes.
• Connectez-vous sous tst1 et copiez /bin/ls dans le répertoire home de
tst1 avec comme nom de répertoire myls. Définissez tst1 comme le
propriétaire de myls avec comme permissions 0710.
• Que signifie la valeur de cette permission ?
• Connectez-vous sous tst2 et essayez d'utiliser /home/tst1/myls pour
lister votre répertoire courant.
• Est-ce que cela fonctionne ?
• Créez dans /etc/group et /etc/gshadow un nouveau groupe appelé
labo avec tst1 et tst2. Mettez labo comme groupe propriétaire de
mysl.
• Essayez à nouveau depuis l'acompte tst2 d'exécuter /
home/tst1/myls pour lister le contenu de votre répertoire courant.
• Est-ce que cela fonctionne ?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 239/297

6.4 Réponses

Réponse 6.1
chmod u=rwx,g=rwx,o=rx
chmod u=rwx,go=r
chmod ug=r
chmod u=rwx,go=rx
chmod u=rw,g=rx,o=rx
chmod u=rx,go=x
chmod u=w,g=r,o=x
chmod g=x,o=rwx

n'oubliez pas les ',' qui séparent les actions.


Réponse 6.2
chmod 777
chmod 111
chmod 421
chmod 200
chmod 640
chmod 711

Réponse 6.3
file= 110 110 110 (666)
dir= 111 111 111 (777)
umask= 000 010 111 (027) umask inversé
file 110 110 110
111 101 000
-------------------
110 100 000 (640)
dir 111 111 111
111 101 000
-------------------
111 101 000 (750)

umask= 000 001 001 (011)


file 110 110 110
111 110 110

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 240/297

-------------------
110 110 110 (666)

dir 111 111 111


111 110 110
-------------------
111 110 110 (766)

umask= 101 100 001 (541)


file 110 110 110
010 011 110
-------------------
010 010 110 (226)

dir 111 111 111


010 011 110
-------------------
010 011 110 (236)

umask= 111 111 111 (777)

file 110 110 110


000 000 000
------------------
000 000 000 (000)

dir 111 111 111


000 000 000
-------------------
000 000 000 (000)
Réponse 6.4
Création des utilisateurs:

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 241/297

[root@test ] /# useradd -m tst1


[root@test ] /# vi /etc/group (ajouter au groupe users l'utilisateur tst1)

useradd -m tst2
[root@test ] /# vi /etc/group (ajouter au groupe public l'utilisateur tst2)

(Si le groupe public n'existe pas il faut le créer a l'aide de la commande


groupadd public)
On peut aussi utiliser l'option -ingroup de adduser pour ajouter le nouvel
utilisateur à un groupe par défaut (voir man de adduser)

Création des mots de passe:


[root@test ] /# passwd tst1
[root@test ] /# passwd tst2

Se connecter sous tst1:


[root@test ] /# su - tst1
$ cp /bin/ls /home/tst1/myls
$ chown tst1 /home/tst1/myls
$ chmod 710 /home/tst1/myls

(ces permissions donnent tous les droits au propriétaire, les droits en exécution
au groupe et aucun droit aux autres)

Se connecter sous tst2 et tester l'exécution du fichier myls:


Le groupe peut exécuter, et l'utilisateur tst1 a tous les droits sur le fichier. Les
autres utilisateurs n'ont aucun droit.
Sur Mandrake, l'utilisateur tst2 peut utiliser myls sans problème de droit.

Création du groupe labo:


[root@test ] /# groupadd labo
[root@test ] /# vi /etc/group

Ajoutez nos deux utilisateurs dans le groupe labo:


[root@test ] /# chgrp labo myls

On ne peut pas l'exécuter car nous n'avons pas les droits sur les répertoires
parents.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 242/297

7 Créer et changer des liens symboliques


ou physiques

Description
Les candidats doivent être capables de créer et de gérer des liens symboliques
ou physiques vers un fichier. Cet objectif inclut la capacité à créer et identifier
des liens, à copier des fichiers en utilisant ces liens, et à se servir des liens
dans les tâches d'administration système.

Dossiers principaux, termes et utilitaires inclus


ln

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 243/297

7.1 Liens physiques et liens symboliques

On utilise des liens pour:


• Créer un nom de chemin (pathname) dans un fichier.
• Mettre un pathname plus court ou le fixer à un ficher.
Pour lier un fichier à un autre, il faut utiliser ln.
ln [options] filename linkname
ln [options] filename linkdirectory
Principales options:
-f: force: écrase les liens existants
-s: Lien symbolique.
Par défaut, les liens sont des liens physiques.
Dans Windows, ils sont appelés « raccourcis » (shortcut).

7.1.1 Propriétés des liens réels


Un lien physique peut-être créé seulement vers un fichier existant. On ne
pourra supprimer un fichier qu'après avoir supprimé tous ses liens physiques.
Le lien et sa cible doivent être sur le même lecteur. Les liens physiques ne
peuvent pas s'étendre à travers un système de fichiers ou plusieurs partitions.
Le lien physique référence sa cible grâce à son nombre inode.
Même avec les bons droits, il est impossible de créer un lien vers un répertoire.

7.1.2 Propriété des liens symboliques


Un lien symbolique peut-être créé vers un fichier qui n'existe pas encore et peut
être trouvé avec la commande ls. Ainsi, il est possible de brisé un lien
symbolique en supprimant sa cible.
Le lien symbolique référence sa cible avec son nom et son chemin, et non pas
avec son nombre inode.
Les liens symboliques peuvent être déployés sur plusieurs systèmes de fichiers
ou lecteurs.
La taille d'un lien symbolique dépend de la taille du nom de la cible.
Attention: Il est possible de créer un symlink avec un chemin absolu ou relatif
vers la cible.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 244/297

7.2 Lier un fichier

Les liens physiques et symboliques peuvent-être affichés avec la commande


ls -l.
Les liens symboliques sont marqués avec "l" dans la première position de la
triplette des permissions.
Ils sont aussi indiqués avec des flèches: link_name->real_filename

Exemple:
[root@test ] /# ls -l /dev/midi
lrwxrwxrwx 1 root root 6 Jul 4 21:50 /dev/midi -> midi00

Les liens physiques sont indiqués avec le numéro de lien.


Exemple:
[root@test ] /# ls ~/readme
lrwxrwxrwx 3 rarrigoni users 677 Jul 4 21:50 readme

Pour supprimer un lien, il faut utiliser la commande rm.

Seul le lien sera supprimé (pas le fichier).

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 245/297

7.3 Quiz

Quiz 7.1
Comment feriez-vous pour lister les permissions des noms de fichiers ?
Quiz 7.2
Quelle commande permet d'ajouter la permission d'exécuter à un fichier sans
connaître ses permissions initiales ?
Quiz 7.3
Que fait chgrp ?
Quiz 7.4
Quelle commande et son option permettent de créer un lien physique ?
Quiz 7.5
Si vous supprimez un lien symbolique, le fichier de destination est-il supprimé
lui aussi ?
Quiz 7.6
Est-ce que le sticky bit doit être configuré pour qu'un utilisateur puisse exécuter
un programme ?
Quiz 7.7
Est-ce que chown change les permissions w,r,x de l'utilisateur ?
Quiz 7.8
Que signifie la permission d'exécution pour un fichier ?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 246/297

7.4 Réponses quiz

Réponse quiz 7.1


[root@test ] /# ls -l

Réponse quiz 7.2


[root@test ] /# chmod +x file

Réponse quiz 7.3


chgrp vous permet de changer le groupe pour un nom de fichier.
Réponse quiz 7.4
la commande est ln sans option.
Réponse quiz 7.5
Non.
Réponse quiz 7.6
Non.
Réponse quiz 7.7
Non, il change l'uid d'un nom de fichier.
Réponse quiz 7.8
Cela signifie que vous pouvez chercher à travers les répertoires.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 247/297

7.5 Exercices

Exercice 7.1
Créez deux nouveaux répertoires etc et bin dans votre répertoire home.
Exercice 7.2
Copiez tous les fichiers de façon récursive de /etc à etc et de /bin à bin.
Exercice 7.3
Dans votre répertoire local etc, renommez tous les fichiers *.conf par
*.conf.bak.
Exercice 7.4
Créez, dans votre répertoire home, un lien symbolique appelé mydir, qui
pointe vers bin/ls. Vérifiez si mydir exécute ls.
Exercice 7.5
Effacez le lien mydir. Est-ce que bin/ls est toujours présent ?
Exercice 7.6
Même question que précédemment mais avec un lien physique.
Exercice 7.7
Effacez le lien mydir. Est-ce que bin/ls est toujours présent ?

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 248/297

7.6 Réponses

Réponse 7.1
La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# mkdir etc bin

Réponse 7.2
La commande est:
[root@test ] /# cp -r /etc/* /home/user/etc/
[root@test ] /# cp -r /bin/* /home/user/bin

Réponse 7.3
La commande est:
[root@test ] /# rename .conf .conf.back *.conf

ou
[root@test ] /# for i in *.conf; do mv $i $i.back; done

Réponse 7.4
La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# ln -s /bin/ls mydir

Réponse 7.5
La commande est:
[root@test ] /# rm mydir

Réponse 7.6
La commande est:
[root@test ] /# cd /home/user/
[root@test ] /# ln /bin/ls mydir

Testez et donnez votre conclusion.

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 249/297

8 Trouver et placer les fichiers système

Description
Les candidats doivent être familiarisés avec la Hierarchie Standard du Système
de Fichiers, la localisation typique des fichiers et les classifications de
répertoires.
Cet objectif inclut la capacité à trouver les fichiers et les commandes sur un
système Linux.

Dossiers principaux, termes et utilitaires inclus


find
locate
slocate
updatedb
whereis
which
/etc/updatedb.conf

Périphériques, Systèmes de fichiers Linux, Hiérarchie standard du système de fichiers


version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 250/297

Le système X Window

Contenu du chapitre

Le système X Window.........................................250 3 Installer & personnaliser un gestionnaire


1 Installer & Configurer Xfree86..........................251 d'environnement graphique ................................257
1.1 X-Window...........................................................252 3.1 Configurer X.......................................................258
1.2 Fichier XF86Config............................................253 3.2 Configuration de X (suite)..................................259
2 Installer un gestionnaire d'affichage.................254 3.3 X en réseau........................................................260
2.1 Windows managers............................................255 3.4 Quiz ...................................................................261
2.2 Démarrer et arrêter X.........................................256 3.5 Réponses quiz...................................................262
3.6 Exercices............................................................263

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 251/297

1 Installer & Configurer Xfree86

Description
Les candidats doivent être en mesure d'installer et de configurer un serveur X
et les polices. Il faut vérifier que le serveur X supporte et est configuré pour la
carte vidéo et le moniteur.
De plus, cela inclut de pouvoir installer la police de serveur X et de configurer X
pour utiliser un serveur de police ce qui requiert d'éditer manuellement /
etc/X11/XF86Config (voir dans la section "fichiers").

Dossiers principaux, termes et utilitaires inclus


XF86Setup
xf86config
xvidtune
/etc/X11/XF86Config
.Xresources

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 252/297

1.1 X-Window

X est un système de fenêtres qui fourni les fonctions graphiques de base pour
Linux.
X a été créé pour fournir une interface utilisateurs graphique à tous les
systèmes à travers un réseau, quelques soient les OS.
Fonctionne sur le modèle client/serveur.
X ne fait pas partie de l'OS, c'est une application.
Le serveur X pour Linux est Xfree86.
Le fichier de logs de XFree86 /var/log/XFree86.0.log.

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 253/297

1.2 Fichier XF86Config

Le fichier XF86Config contient toute la configuration de Xserver.


Les éléments principaux de ce fichier sont:
Déclaration de Xserver et des périphériques d'entrées/sorties.
Section périphériques d'entrée (keyboard, mouse....).
Section Moniteur (sélection du moniteur).
Section affichage.

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 254/297

2 Installer un gestionnaire d'affichage

Description
Le Candidat doit être en mesure d'installer et de paramétrer un gestionnaire
d'affichage. Cet objectif inclut le démarrage ou l'arrêt du gestionnaire
d'affichage, le changement des préférences et du "bitplanes" (pixel/bit) par
défaut.
Cela inclut également la configuration des gestionnaires d'affichage pour une
utilisation sur une station-X, la connaissance des gestionnaires d'affichage
XDM (X Display Manager), GDM (Gnome Display Manager) et KDM (KDE
Display Manager).

Dossiers principaux, termes et utilitaires inclus


/etc/inittab
/etc/X11/xdm/*
/etc/X11/kdm/*
/etc/X11/gdm/*

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 255/297

2.1 Windows managers

X a besoin des gestionnaires de fenêtres pour la manipulation des applications


graphiques:
• Déplacement, taille.
• Ouverture et fermeture.
• Maximize, minimize, iconize.
• Barres de titre.

Le look et l'aspect sont implémentés dans le gestionnaire de fenêtres.


On obtient des bureaux virtuels.
Les distributions Linux contiennent de nombreux gestionnaires de fenêtres:
• Fvwm2: Motif-like look
• WindowMaker: Next Step look, fast and lean
• Wm2: Ultra lean
• Olwm: Open look (Sun)

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 256/297

2.2 Démarrer et arrêter X

Il existe plusieurs manières pour démarrer X :


xdm lance automatiquement startx lorsqu'on démarre Linux au niveau 5.
Lorsqu'on se connecte au niveau 3, startx démarre.
On peut démarrer X avec xinit lorsqu'il n'existe pas de fichier .
xinitrc.

Pour arrêter X, vous pouvez :


type <CTRL>+<ALT>+<BACKSPACE>

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 257/297

3 Installer & personnaliser un


gestionnaire d'environnement graphique

Description
Les candidats devront être en mesure de paramétrer le système global de
bureau (system-wide desktop environment) et le gestionnaire de fenêtre
(window manager) et de maîtriser des procédures de personnalisation des
menus du gestionnaire de fenêtre et des menus panel du bureau (desktop
panel menus).
Cet objectif inclut la sélection et configuration d'un terminal X (xterm, rxvt,
aterm etc.), la vérification et le respect des dépendances des bibliothèques
nécessaires aux applications X, l'exportation d'un affichage X vers une station
de travail client.

Dossiers principaux, termes et utilitaires inclus


.xinitrc
.Xdefaults
xhost
DISPLAY environment variable

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 258/297

3.1 Configurer X

Condition préalable : Avant de configurer Xfree86, nous avons besoin


d'informations pour faire le paramétrage correctement :
Type de souris
Type de clavier
Modèle de la carte graphique
Modèle et type du moniteur

Outils de configuration de Xfree86 :


ConfigXF86 (configuration Xfree86)
XF86Config (fichier contenant la configuration actuelle de Xfree)
X -configure (Teste toutes les configurations pour le matériel et crée un fichier
"XF86config-new" dans le répertoire "/root " .)

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 259/297

3.2 Configuration de X (suite)

Pour régler l'écran sous X, utilisez l'outil Xfine2.


Sous X, l'utilisateur peut configurer n'importe quel aspect de l'affichage
graphique.
• Taille et style des polices d'écran
• Comportement du pointeur de souris
• Couleurs
• Gestionnaire de fenêtres (Window Manager, wm)

Le réglage fin peut être fait pour tout le système ou seulement pour un
utilisateur.
.xinitrc est le fichier de configuration par défaut qui indique quel gestionnaire de
fenêtres et quels styles doivent être utilisés lors du lancement de X avec la
commande startx.
.Xdefaults contient les paramètres de comportement du pointeur, des couleurs,
des polices, etc...

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 260/297

3.3 X en réseau

X travaille selon un schéma client/serveur où l'application est le client et le


serveur est un programme qui sait comment fournir un service d'interface.

Sur un système simple, les deux aspects, client et serveur, résident sur la
même machine.

Dans un système distribué à travers un réseau, l'utilisateur a la possibilité de


lancer une application X sur une machine distante et en avoir l'affichage sur la
machine locale.
L'avantage d'avoir un serveur X est :
Aucune installation locale n'est demandée.
Aucun besoin d'avoir une machine puissante pour exécuter une application.
Pas d'accès local aux données.

Pour lancer une application à distance et récupérer son affichage en local :


startx sur l'hôte gérant l'affichage (serveur X).
xhost +clienthost autorise l'accès en protocole X.
telnet clienthost depuis l'hôte d'affichage, modifier la variable DISPLAY
pour envoyer l'affichage sur une autre machine.
export DISPLAY=displaying-host:0.0

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 261/297

3.4 Quiz

Quiz 3.1
Donner deux commandes pour lancer X depuis le niveau d'exécution 2.
Quiz 3.2
A quel niveau d'exécution X Window est il lancé ?
Quiz 3.3
Quel est le fichier par défaut utilisé par X-Window ?
Quiz 3.4
Quels avantages apporte un serveur X ?

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 262/297

3.5 Réponses quiz

Réponse quiz 3.1


init 5, startx
Réponse quiz 3.2
Niveau 5
Réponse quiz 3.3
.Xdefaults
Réponse quiz 3.4
Pour avoir des clients moins puissants, les données peuvent être centralisées
et il n'est plus nécessaire d'installer des applications sur les clients.

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 263/297

3.6 Exercices

• Installer et configurer Xfree.


• Installer gdm avec KDE. Configurer le système pour lancer le GUI au
démarrage.
• Connectez vous dans votre système avec le failsafe display manager.
• Exécuter kde ou gdm.
• Sortir de kde
• Se déconnecter du failsafe.
• Après vous être reconnecté dans le système, essayez les combinaisons de
touches suivantes :
<CTRL>-<ALT>-<F1>, <CTRL>-<ALT>-<F2>,..., <CTRL>-<ALT>-<F7>
• Que se passe-t'il ?

Le système X Window
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 264/297

Travaux pratiques

• Installez Mandrake.
• Installez KDE et gnome et passez de l'un à l'autre.
• Installez OpenOffice ou d'autres applications.
• Désinstallez The Gimp.
• Ajoutez des comptes utilisateurs et vérifiez que vous pouvez bloquer et
débloquer leurs comptes.
• Personnalisez le bureau KDE et empêcher que les utilisateurs puissent faire
des modifications. (répertoire .kde)

Travaux pratiques
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 265/297

Test LPI

L'objectif de cette section est de vous préparer au test LPI 101.

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 266/297

1 Test LPI

A) Quelle commande utiliseriez-vous pour mesurer la vitesse d'une interface


série? Choisissez la meilleure réponse.
1.setbaud
2.setspeed
3.setserial
4.setcom
5.set_comport

B) Après avoir décompressé le code source du paquetage d'un logiciel GNU,


vous voulez le compiler et l'installer sur votre système. Quelle commande
devrez-vous utiliser parmi les suivantes? Choisissez la meilleure réponse.
1.make configure; make all; make install
2../configure;make;make install
3.make config;make;make install
4.configure;make;make install
5../configure;make; install

C) Quel programme est utilisé pour connaître les librairies partagées utilisées
par un programme? Choisissez la meilleure réponse.
1.ldconfig
2.libinfo
3.info
4.ldd
5.ld.so

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 267/297

D) Vous souhaitez désinstaller le paquetage RPM foobar de votre système.


Quelle commande est la plus appropriée? Choisissez la meilleure réponse.
1.remove foobar
2.remove foobar.rpm
3.rpm remove foobar
4.rpm -e foobar
5.deinstall foobar

E) Quelle commande allez-vous utiliser pour obtenir la liste des fichiers


contenus dans le paquetage foobar.rpm dans le répertoire /home/bob?
1.rpm -ql /home/bob/foobar.rpm
2.rpm -ql -p /home/bob/foobar.rpm
3.rpm -l /home/bob/foobar.rpm
4.rpm -l -p /home/bob/foobar.rpm

F) Quelle commande utiliseriez-vous pour obtenir la liste de tous les


paquetages Debian installés sur votre système? Choisissez la meilleure
réponse.
1.dpkg -l
2.dpkg -L
3.dpkg --all
4.cat /var/lib/dpkg/available

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 268/297

G) Comment décririez-vous la fonction de la commande suivante? foo < bar >


foobar. Choisissez la meilleure réponse.
1. La commande bar prends ses entrées dans le fichier foo et écrit ses sorties
dans le fichier foobar
2. La commande foo prends ses entrées dans le fichier bar et redirige ses
sorties dans la commande foobar.
3. La commande bar écrit ses sorties dans les fichiers foo et foobar.
4. La commande foo prends ses entrées dans le fichier bar et écrit ses sorties
dans le fichier foobar.
5. Ce n'est pas une commande valide.

H) Entrez le chemin complet du fichier de configuration de LILO. Tapez la


réponse.

I) Comment pouvez-vous regarder le contenu d'un fichier de logs lorsque le


fichier s'actualise pendant que vous le regardez? Choisissez la meilleure
réponse.
1. tail -f logfile
2. head -f logfile
3. less -f logfile
4. more -f logfile
5. watch logfile

J) Quelle commande envoie des signaux aux processus (donnez juste la


commande, avec les options)? Tapez la réponse.

Vous trouverez d'autres tests sur le site: www.linux-praxis.de

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 269/297

2 LPI test practice

Vous pouvez créer un compte sur: http://www.linux-praxis.de dans la section


certification pour vous entraîner aux tests des examens LPI 101 et 102.

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 270/297

3 Réponses au test LPI

A) setserial

B) ./configure;make;make install

C) ldd

D) rpm -e foobar

E) rpm -ql /home/bob/foobar.rpm

F) dpkg -l

G) La commande foo reçoit ses entrées du fichier bar et redirige ses sorties
vers la commande foobar

H) /etc/lilo.conf

I) tail -f logfile

J) kill

Test LPI
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 271/297

Credits

Auteur: Raphael Arrigoni


Auteurs supplémentaires et traduction : Antoine Boegli, Frédéric Auclair, André
Roth, Anthony Favre, Christophe Wittwer, Sébastien Maire et Karine Arrigoni.

Credits
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 272/297

Glossary
10BaseT
Ethernet over UTP cables, using hubs to produce a star topology; supports a maximum
(theoretical) transmission of 10 Mbit/s.
100BaseT
Ethernet over UTP cables, using hubs to produce a star topology; supports a maximum
(theoretical) transmission of 100 Mbit/s.
address
A location in memory or a unique identifier assigned to an interface on a network-attached
device such as a network interface card.
algorithm
A formal description of a procedure that, when suitable input is entered, will generate output as a
result that satisfies specific requirements.
alias
Within a shell, a substitute word for a command string or an additional IP address on an
interface.
ALT
the Alternative key on a keyboard.
analog
Refers to a physical measure that can take any value within a continuous range; e.g., the
voltage used to encode loudness when transmitting a signal over a conventional copper
telephone line. cf. Digital.
ANSI
American National Standards Institute A standards body responsible for many protocols.
API
Application Programming Interface A specification which allows simple access to functionality of
a library or other system resources when writing a program; operating system functionality is
made available through an API.
application
A program that runs on top of an operating system.
application layer
The name of the top layer of both the seven-layer ISO/OSI model, and the four-layer TCP/IP
protocol stack. It includes protocols such as telnet, FTP, HTTP, SMTP, etc.
archive
A backup of data to be preserved as a file that contains one or more components and an index
(e.g. in tar, cpio, rpm or deb format).
argument
A piece of information passed to a command or function.
ARP
Address Resolution Protocol, See RFC826. A low-level protocol which, given an IP address on
the local network, returns the Ethernet MAC address of the corresponding interface.
ASCII
American national Standard Code for Information Interchange. A specification of characters

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 273/297

widely used in the UNIX world and beyond.


assembler
A program that compiles programs written in assembly language into object code.
assembly language
A low-level computer language that can be translated directly to the object code of the computer
processor.
ATA
A popular 16-bit interface standard that extends the ISA bus of the IBM PC-AT to attach
peripherals; it has evolved through over 5 generations; the original ATA is better known as IDE.
ATAPI
AT Attachment Packet Interface. An enhancement of the ATA protocol to be able to connect CD
drives etc.
background
A state of process execution which does not produce output to the terminal.
backup
A copy of essential data stored on- or off-site as insurance against failures of system hardware,
software or user.
binary file
A file that is not intended to be read by humans but by applications or the operating system.
BIOS
Basic Input/Output Operating System. A simple, low-level operating system which supplies a
uniform API to higher-level operating systems.
bit
The smallest entity of information: can have one of two states (0-1, on-off, open-closed, etc.).
block device
A device that exchanges data with the operating system in sizable blocks (e.g., 512 bytes) at a
time.
boot loader
Software, usually installed on the MBR of Intel machines, which exists to load the operating
system kernel and begin its functioning.
boot
To cause the operating system to begin to function.
bridge
A device that propagates packets between two computer networks; it operates at the second,
data link layer within the ISO/OSI model, and broadcasts packets based on the address, but
does not do routing. cf. repeater, router.
broadcast
A frame or datagram addressed to all interfaces on a network.
BSD
Berkeley Systems Distribution. A variant of UNIX originally developed at the University of
California.
buffer
temporary storage; cf. Cache
BUGTRAQ

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 274/297

A mailing list for discussions regarding network security (daemons, programs, operating
systems, routers).
build
To run a sequence of compile and link steps to produce a new version of an executable
program.
bus
A cable for transmitting signals between various components within one computer system.
byte
A data type of 8 bits.
C
A compiled computer language closely associated with UNIX.
C++
An object-oriented computer language derived from C.
cache
Any readily accessible storage area used to keep data handy which is (somehow) indicated to
be needed again shortly; the purpose being to speed up the access of that data and improve
system performance.
caching-only DNS
A domain name server that does not have any domains files.
card
Any device that can be plugged into a computer expansion slot.
CD-ROM
Compact Disc Read Only Memory. A removable medium of considerable popularity which
comes in several variations, the most popular being ISO9660.
CERT
Computer Emergency Response Team. A team of people that study Internet security, and
provide incident response services; see http://www.cert.org/.
CGI
Common Gateway Interface. A standard for allowing server applications to be executed as part
of a HTTP request.
CHAP
Challenge Handshake Authentication Protocol.
char
C data type (usually one byte) used to store letters..
character
A letter or sign usually represented by 1 byte in ASCII code.
character device
A device which exchanges data with the operating system in one character (or byte or even
word) at a time.
child process
Any process created by another, so-called parent process; usually used in reference to a
particular parent process.
CIDR
Classless Inter-Domain Routing. See RFC1519; cf. variable length subnet mask.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 275/297

CIFS
Common Internet File System. Microsoft's successor to SMB, a suite of protocols for sharing file
and print services.
clean
In reference to a drive being mounted, clean means that the drive was unmounted properly and
thus (theoretically) does not need to be checked; otherwise a drive is dirty.
client
A computer or process which connects to and receives a service from a server computer or
process.
coax
co-axial cable. Cable with inner and outer conductors used for TV cables and for Ethernet LANs,
where the computers usually have T-joints to attach to a single chain of cables which needs to
be terminated by resistors.
colormap
color map, color-map, color table. A table used to encode a palette of colors for images.
command line interface
An interactive user interface which allows commands to be given to a computer program or shell
through a text-based terminal (or terminal emulator in a window within a graphical user
interface).
compiler
A program which examines program source code and translates it into an equivalent object code
file; cf. Interpreter.
compression
Removal of redundant information from a file or data stream, to reduce its size, the storage
space it needs, or the time needed for transmission. Lossy compression actually discards
information that is considered not essential, and is only appropriate for data like images or
sound.
computer
A digital, electronic, general-purpose, programmable, information processing automate.
console
The primary, directly attached, user interface of a computer. Some system administration
functions may only be performed at a console.
control panel
A collection of buttons, switches, lights or display used to configure and control a router, printer,
computer or other device.
core dump
The content of memory written to a file on disk (usually called "core") when a program crashes.
corrupted
damaged (said of a file or disk contents)
CPU
Central Processing Unit. The main component that makes a computer work; these days usually
a "micro-processor" on a single silicon chip (cf. Processor).
crack
To gain access to a computer system without proper authorization (e.g. by guessing a legitimate
user's password), and possibly interfere with its normal operation or integrity.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 276/297

Cracker
Someone who tries to crack; cf. Hacker.
crash
A sudden stop of normal operation. Supposedly, the original hard drives would sometimes
experience a catastrophic failure in which the read/write heads would crash into the media,
possibly sending the media flying; hence a crash is a unintentional termination of software or
hardware due to some failure or error - especially a termination in a final, catastrophic, or
unpleasant way.
CSLIP
Compressed Serial Line IP. SLIP with added VJ compression of IP headers. See RFC1144.
CTRL
the Control key on a keyboard
current working directory
cwd
cylinder
A number of tracks located at the same radius on the several surfaces of a hard disk. A hard
disk with four platters has eight surfaces, so that at each position of the read-write heads, eight
tracks can be read without head movement and these eight tracks form a cylinder.
daemon
A program that runs in the background to offer system services.
data
"that which is given", for instance as input to a computer; cf. Information.
data link layer
Layer two of the ISO/OSI seven-layer model. Responsible for establishing an error-free
communication path between network nodes over the physical link layer, it frames messages for
transmission, checks the integrity of received messages, manages access to and use of the
media, and ensures proper sequencing of transmitted data. These functions are generally
provided by a network card driver. The IEEE in its 802.x series of standards splits this layer in
two: the LLC layer and the underlying MAC layer.
database
A usually large collection of ordered and readily accessible data.
datagram
packet, especially as used in UDP (Note: not IP-specific - other protocols use the term datagram
in their documentation).
Debian
DEBorah & IAN (Murdock). A GNU/Linux distribution built by a volunteer organization.
default
The value of a parameter that a program uses if it is not explicitly given a value.
DEL
the Delete key on a keyboard.
delete
remove or erase a file|character|directory.
dependency
A state in which other libraries|programs|packages are required to make a program work.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 277/297

DES
Data Encryption Standard. A USA government-sanctioned standard for the encryption of data
now considered insecure to high-end brute force attacks.
desktop
The screen from which all programs are started and run on X.
device
A "peripheral" piece of hardware that is an optional part or can be attached to a computer (even
one that is actually housed within the computer's casing): interface cards, drives, printers etc.
DHCP
Dynamic Host Configuration Protocol. Provides for automatic downloading of IP address and
other configuration data from a server to a client. Allows for reuse of IP addresses so that the
number of hosts can exceed the number of available IP addresses. See RFC2131, cf. BOOTP.
dial-in, dial-up, dial-out
Refers to a connection made over the Public Switched Telephone Network (PSTN), as opposed
to a permanent, or leased-line, connection.
die
To cease execution, especially in a final or complete manner.
digital
Refers to an entity that can assume only a limited number of discrete states and not an arbitrary
value; e.g. binary. cf. Analog.
directory
A special type of file which contains information about other files, such as file name, location,
permissions, size etc.
dirty
not clean
disk
Rotating magnetic media which supports direct or random access; cf. floppy disk, hard disk.
display screen
A human readable device to display text, graphics or other data.
distribution
A (usually) complete collection of software needed to operate a computer including the Linux
kernel and various utilities and applications.
DMA
Direct Memory Access. A hardware protocol which allows a special controller circuit (DMA
controller) to transfer a block of data from a peripheral device's buffer memory directly to main
memory without CPU involvement; cf. PIO.
DNS
Domain Name System. A hierarchically-structured distributed directory service which translates
human-intelligible names like www.lpi.org into the corresponding IP addresses. See RFC's 1034
and 1035 and also 1032 and 1033.
domain name server
DNS, nameserver
domain
One or more computer networks that serve an organizational group.The name assigned to a
network domain.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 278/297

drive
Any device that can store and retrieve data in a relatively permanent fashion on media (which
may be removable or built into the device).
EIDE
Enhanced IDE. Western Digitals proprietary extension of the IDE interface standard with ATA-2
and ATAPI features, used to connect hard drives and CD-ROMS to a PC.
e-mail
electronic mail
emulate
To simulate the actions of a device or program so that the simulation can actually perform the
same functions as the original.
emulator
A program that emulates the functions of some device or other program.
environment
A collection of variables associated with a process so that it knows about the user preferences
and configuration of the system; they are inherited by a child process.
environment variables
The variables that define an environment.
ergonomic
easy to use by humans
ESC
the Escape key on a keyboard.
Ethernet
A type of LAN computer network interface using coax (10Base2 or 10Base5) or UTP cables
(10BaseT or 100BaseT). The specifications are described in IEEE standard 802.2 . cf. MAC.
execute
To set to work (a program); cf. Run.
execute permission
Permission set on a file on a Unix filesystem so that it may be run as a program by the
"operating system.
executable
A file that is a binary or a script that can be run as a program (may assume execute permission).
FAT
File Allocation Table. A simple filesystem using a table to index files on a block device (floppy or
hard disk). It comes in the varieties of FAT-12 (MS-DOS), FAT-16 (MS-DOS, MS-Windows 3.x)
and "FAT-32" (MS-Windows 9x).
FHS
Filesystem Hierarchy Standard. A proposed standard for the location of files on a Unix system.
See http://www.pathname.com/fhs/.
file
A named sequence or stream of bytes at a known location in storage.
filesystem
The data structures placed on a logical disk or partition (by mkfs) which allow the operating
system to record information about files stored there.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 279/297

filter
To remove unwanted data.
firewall
A gateway that restricts data communication between the "inside" network and the Internet
"outside" the firewall.
floating-point
used with numbers that may represent a fraction; cf. Integer
floppy disk
A magnetic storage medium with a flexible disk inside; cf. hard disk.
floppy drive
A device that can read and write floppy disks.
font
The shape of each of the letters in a character set.
foreground
The context in which a process is having access to a terminal for output, i.e. is not running in the
background.
fork
When an executing process creates an exact executing duplicate (except for the different PID)
of itself; see child process, spawn.
format
Specification regarding how data are stored.
forwarding
The act of receiving an e-mail and then resending it to another destination.
frame
A packet as assembled and transmitted over the physical layer of a network (e.g. Ethernet,
Token Ring, etc.).
free
Not costing anything.
FSF
Free Software Foundation: a tax-exempt charity that raises funds for work on the GNU project;
see http://www.fsf.org.
FSSTND
A standard for the location of files on a Linux system; replaced by the FHS.
FTP
File Transfer Protocol. A protocol for transferring files over the Internet and the software to
accomplish the transfer. See RFC959.
gateway
A device or relay mechanism that connects two or more computer networks and which directs
packets between the networks in an internet. In common usage today, a gateway is a general-
purpose computer with a general-purpose operating system [e.g. Linux] which *may* be
performing other functions, and in that role it operates at the third, network layer in the ISO/OSI
model; while a router is a special-purpose computer with a special purpose operating system
[e.g. IOS], generally from a specialist supplier [e.g. Cisco]). cf. Bridge.
GB

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 280/297

GigaByte, Gb : 1000 (or rarely 1024) MB (1,000,000,000 or 1,048,576,000 or 1,073,741,824


bytes)
GID
Group ID
global
A variable, configuration section, procedure etc. having a scope which is unlimited (i.e., applies
everywhere unless contradicted locally)
GNU
GNU's Not Unix. A Free Software Foundation project to build Unix(R)(TM)-compatible utilities
and programs exclusively based on free program source code.
GPL
General Public License. A license for distribution of free software which permits copying,
modification and redistribution. It was created by the Free Software Foundation for its projects
like GNU, and has been applied to Linux as well. See http://www.gnu.org/copyleft/gpl.html
graphics
images, pictures; in contrast to text.
graphical user interface, GUI
An interactive interface using a graphics display. N.B.: refer to a "graphical user interface" only if
there actually is a graphical interface (like X), and do not use it for interactive programs on text
terminals (based on ncurses or slang). Use "interactive interface" as a catch-all. cf. command
line interface.
group
Refers to a list of one or more users having the same access rights; see /etc/groups.
hack
To accomplish a result in an unorthodox way.
hacker
Someone who hacks: a title assigned to people with remarkable computing skills; cf. Cracker.
hang
cf. Crash
hard disk
A computer device that uses solid disks as magnetic medium to store data. cf. floppy disk.
hard link
In Unix filesystems, an entry in a directory that points to a file in another directory on the same
disk or partition, and shares the inode of that file; cf. symbolic link.
HDLC
High-level Data Link Control. ISO/IEC 3309 standard; relevant in PPP.
high-level
Refers to a computer language with a higher level of abstraction from the computer architecture
than a low-level language.
host
Any computer attached to an IP-based internet, especially computers that can act as a server to
a client program or computer.
HOWTO
A series of documents, each on a particular topic, which form a significant portion of the

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 281/297

documentation for Linux. HOWTO's originated with, and are generally published by, the Linux
Documentation Project.
HTML
HyperText Markup Language. A standard for specifying the structure of a document indicated by
tags in the document text; used on the World Wide Web with HTTP.
HTTP
HyperText Transfer Protocol. The succession of application layer protocols used for
communication between a WWW browser and a WWW server. See RFC2616.
hub
Generally, a device connected to several other devices; specifically in computer networks, a
repeater in the center of a network with star topology, usually with 10BaseT or 100BaseT
Ethernet.
I/O
Input/Output
ICMP
Internet Control Message Protocol. A required protocol (RFC792) for the notification of errors
between gateways and hosts on IP-based internets. It operates at the level of the IP protocol in
the internet layer.
ID
Identifier
IDE
Integrated Drive Electronics. A popular interface to attach hard drives to PC's, where the
electronics of the controller are integrated with the drive instead of on a separate PC card; also
see ATA.
integrated Development Environment
IDE. A programming environment integrated into an application.
idle
inactive; waiting for a task or a wake up call.
IEEE
Institute of Electrical and Electronics Engineers. USA based, international organization of
professional engineers; also an important standards body.
IMAP
Internet Message Access Protocol. See RFC2060 on IMAP4.
implement
To create an actual object (program, device) that conforms to abstract specifications.
include file
A file which contains constants and parameters, possibly shared between two or more
programs, and included into the source code when these programs are compiled.
information
Something worth knowing, in contrast to just plain data.
inode
In Unix filesystems, a block of administrative data for a file on the disk partition.
input
Any data that are entered into a running program, or into a file.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 282/297

install
Transferring a new program to a computer's permanent storage (e.g., hard disk) and performing
any necessary configuration or administration.
integer
A data type used to represent a whole (integer, non-fraction) number within a limited range.
integrity
correctness
interactive
Having the property to be able to interact, i.e. respond to stimulation from the outside. Used in
the context of programs or interfaces.
interactive interface
An interface between a computer and a user which allows them to interact and exchange input
and output (commands and data).
interface
A connection (through a hardware device or through a software program) between different
components of a computer system (usually performing some kind of translation between
protocols internal to the components); used especially in the contexts of network
communication, or communication between computer systems and their users.
Internet
The worldwide distributed network of computers linked by the Internet Protocol.
internet layer
The network layer in the TCP/IP protocol stack: this alternative name may be used to distinguish
it from the underlying network access (physical) layer. cf. Internet Protocol.
internet service provider
A company which provides connections to the Internet.
interpreter
A program which examines a script or program source code and executes it, line by line.
intranet
A network (usually a LAN) based on IP but, unlike the Internet, allows only restricted access.
invoke
induce execution of; call
ioport
The memory address peripheral devices use to communicate with the CPU; see /proc/ioports.
IP
Internet Protocol. The network layer protocol used on IP-based internets. See RFC791.
IRQ
Interrupt ReQuest.
ISA
Industry Standard Architecture. An increasingly obsolete PC bus standard.
ISDN
Integrated Services Digital Network. A baseband protocol used by telephone companies to offer
one, two or more B-channel (Bearer channel) lines of 64 Kbit/s each on a single copper pair of
up to 5.5 km length. Each B-channel can be used to provide a high-quality voice line, or fax or
data services.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 283/297

ISO
International Standards Organization. One of several bodies which exist to promote standards,
including computer standards.
job
A task which has been sent to the background or has been submitted for later execution.
KB
kilo-byte, kilobyte, kb, kB, 1024 bytes.
kbit/s
kilobit per second, kbps, Kbps, Kbit/s. Data transfer rate in units of 1000 bits per second.
Kbyte/s
kilobyte per second, kbps, Kbps, KBps, KB/s, kbyte/s. Data transfer rate in units of 1024 bytes
per second.
kernel
The core of an operating system, which provides multitasking (process creation, interprocess
protection, interprocess communication), memory management, and basic I/O management.
key
A token which is used to encrypt plain text or decrypt cipher text in an encryption system.
keyboard
An input device having many keys marked with letters and other symbols.
LAN
Local Area Network. A small network, usually with one or a few segments, which supports
broadcasting and direct connections between hosts; e.g. Ethernet, Token Ring, Appletalk and
ARCNet; cf. WAN.
LDP
Linux Documentation Project
library
A collection of (often related) subroutines to be linked to a program.
LILO
LInux Loader. A boot loader: a program that loads the kernel so Linux can boot; can also boot
other operating systems.
link
To bind a program to the subroutines it references (calls). These are typically located in object
modules or libraries.
Linux
Linux Is Not UniX? A Unix-like operating system first developed, still maintained by, and named
after Linus Torvalds. It is freely available under the General Public License. But if you didn't
know all that already, what are you doing here?
LLC
Logical Link Control. An IEEE network standard (#802.2) that fits within the ISO/OSI Layer 2:
data link layer, on top of the MAC sub-layer. It deals with error detection, flow control, and frame
formats.
load
To transfer from disk into memory.
local

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 284/297

within easy reach, on the local area network, not remote.


logfile
record of activities
logic
In the jargon of electronics engineers: the electronic components and circuitry of a device. This
use of the term should be avoided because of the confusion with the conventional meaning of:
abstract formal reasoning, which is involved in computer programming.
low-level
Refers to a computer language in which statements are similar to instructions for the processor
(or: in which statements are more like object code than in a high-level language).
LPI
Linux Professional Institute. Non-profit organization founded to create a widely supported
certification program for Linux; see http://www.lpi.org/
MAC
Media Access Control. A layer of IEEE network standards (#802.x) that fits within the ISO/OSI
Layer 2: data link layer, below the LLC sub-layer. It deals with access methods, error detection,
and transmission unit formats. Well-known IEEE MAC specifications are Ethernet in its various
incarnations (#802.2) and Token Ring (#802.5?).
Mail User Agent
An end-user program used to access, process, read, archive, compose and send e-mail
messages. See RFC1711. Such e-mail programs often include some "MTA" functionality, in
particular the ability to use SMTP to send e-mail to an outgoing mail server, and POP3 or IMAP4
protocol to download mail from an inbound mail server. cf. Message Transfer Agent.
MandrakeSoft
A commercial Linux distribution.
manual
A document, often of book-length, discussing the design or operation of a software package or
device.
man page
Standard Unix manual page (usually available on the computer system in nroff format, called
with the command `man`).
masquerade
To pretend to be another host for the purposes of sharing one IP address among several local
hosts hidden to the outside world for reasons of resource shortages or security. cf. NAT
MB
mega-byte, megabyte, meg, Mb 1000 (or sometimes 1024) KB (1,000,000 or 1,024,000 or
1,048,576 bytes).
Mbit/s
Megabit per second, Mbps. Data transfer rate in units of 1,000,000 bits per second.
MBR
Master Boot Record. An area of the outermost cylinder of a PC hard disk which contains the
partition table. This contains four entries identifying the types, starting cylinder and sizes of up to
four partitions on the hard disk. One of the entries is flagged as 'active'; this marks the partition
from which the machine will boot. (Floppy disks don't have an MBR, since they don't have a
partition table. Instead, they just have a boot sector (same as a logical disk), which contains a
Media Descriptor Table (MDT) and bootstrap loader. The MDT describes the format of a floppy

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 285/297

disk or logical disk).


media
The physical device by which data are transmitted or (more commonly) stored.
memory
The place where a computer stores data and|or programs for direct access by the CPU: RAM or
ROM (and also cache memory), not disks.
Message Transfer Agent
A program which routes e-mail based on the RFC822 header and invokes the correct delivery
agent, especially SMTP (RFC821) in order to route the mail towards its ultimate destination. For
example: exim, qmail, sendmail, smail. Also see RFC1711 and Mail User Agent.
Mini-HOWTO
A slimmer, more focused document otherwise like a HOWTO.
modem
A device that converts between digital signals from the computer and analog signals for
communication over a telephone line.
mouse
An input device which allows pointing to, selecting and activating objects, usually displayed in a
graphical user interface.
MS-Windows NT
A 32-bit operating system from Microsoft(C)(R)(TM).
MTU
Maximum Transfer Unit. Maximum size of an IP packet that will be accepted for transmission
without fragmenting it into smaller datagrams.
NetBEUI
The current implementation of the NetBIOS protocol used in MS-DOS, MS-Windows and OS/2.
NetBIOS over TCP/IP
A layer of code which implements the NetBIOS API, but utilizing TCP and UDP datagrams,
which are of course encapsulated in IP datagrams. Since IP is routable, this overcomes the
most significant limitation of NetBIOS. See RFC's 1001, 1002, 1088.
NetBIOS
A lightweight transport protocol developed by Sytek, IBM and Microsoft for use on personal
computers.
netmask
network mask: the network part of an IP address; cf. variable length subnet mask.
network
An interconnected set of hosts and other network devices which share a common physical layer
such as Ethernet, X.25, etc.; cf. LAN, WAN.
network access layer
The lowest layer of the TCP/IP protocol stack, also known as the "physical" or "hardware" layer.
network layer
The layer of a network protocol stack that is concerned with addressing and delivery of
datagrams across a network or internet. It is layer three in the IS O/OSI seven-layer model.
NFS
Network File System. A protocol (developed by Sun Microsystems) enabling a UN*X machine to

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 286/297

mount a remote disk area as part of its local filesystem; widely considered of questionable
security.
NIS
Network Information System. Protocols to provide network services (such as authentication) for
NFS.
object code
Instructions that can be executed by the computer processor.
offline
not connected to a computer system or network; cf. online
online
connected to a computer system or network; cf. offline
operating system
OS. Central set of programs that manage the various components and devices of the computer,
and its interaction with application programs and users; e.g. MS-DOS, MS-Windows NT,
MacOS, Unix, Linux.
OSI
Open Systems Interconnection. The concept of a "stack" of protocols (hence "TCP/IP stack" as
in "This damn Microsoft TCP/IP stack is so broken...") is due to the OSI seven-layer model, even
though TCP/IP has only about four distinct layers (certain layers are combined). See physical,
data link, network, transport, session, presentation, and application layers (OSI model); network
access, internet, transport, and application layers (TCP/IP stack).
output
Any data that are generated by a process.
owner
The account that has its UID number associated with a file.
package
A set of related files and programs; especially a single archive file (tar, rpm) that contains them.
packet
A quantum of data transmitted over a network; specifically: a unit of TCP traffic carrying the
information necessary to deliver itself, especially using the UDP protocol (datagram).
PAP
Password Authentication Protocol.
parallel
Several bits at the same time, over time (over multiple wires).
parameter
A variable with a specific value that has a meaning or function, which belongs to a program
function or command; cf. Argument.
parent process
A process that started one or more other, so-called child processes.
partition
An arbitrary region of a storage device (almost always a hard drive) created by partitioning
software before data were stored. Specifically on IBM PC-compatibles: one of up to four distinct
areas on a hard drive which can be dedicated to different operating systems.
password

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 287/297

A token which authenticates a user at login time.


PC
Personal Computer.
PCI
Peripheral Components Interface. A PC bus to connect cards to the processor, replacing the
original ISA bus.
peripheral
A device that is an optional attachment to the core components of a computer (CPU and
memory).
physical layer
The lowest layer of the seven-layer ISO/OSI network protocol stack.
PID
process ID. A numerical identifier used to track processes by the kernel.
PIO
Programmed I/O. A technique whereby the CPU executes a tightly coded loop in which it copies
data from a peripheral device's buffer memory and writes it back out to main memory; used with
earlier versions of ATA, but replaced by DMA.
pipe
A data structure which connects a file handle in one process to a file handle in another; by
convention stdout of one process to stdin of the next. Established on the shell command line by
the '|' symbol.
pixel
picture element: a dot, a grid point on a computer display, the smallest entity that can be drawn
on a computer display.
PLIP
Parallel Line IP. IP protocol over a parallel cable (between two machines physically connected
and not too distant).
PnP
Plug and Play
POP
Post Office Protocol. Protocol to retrieve mail from a mail server. See RFC1939 (POP3). Various
software servers typically have names derived from 'pop' like ipop3d, ipop2d, and popper.
port
The name given to an individual, numbered "slot" which is available to Internetworking software.
For example, HTTP servers generally listen to port 80. See /etc/services ; also see ioport.
Postscript
A page description language developed and marketed by Adobe Inc. Widely implemented in
laser printers, especially where high-quality output is required (e.g. photo typesetters) and,
under Linux, widely emulated in software for non-Postcript printers.
PPID
Parent Process ID
PPP
Point-to-Point Protocol. A physical layer protocol (RFC1661) which can be used to encapsulate
IP and other network protocols, making it an excellent way of extending LAN protocols to dial-in
users.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 288/297

presentation layer
The sixth layer of the ISO/OSI seven-layer model, which specifies character representation (e.g.
ASCII) and graphics formats, such as NAPLPS (North American Presentation Layer Protocols).
In TCP/IP, the presentation layer is subsumed into the application layer, but perhaps the closest
equivalent standards are ASN.1, ANSI and HTML/XML.
process
A running program; an instance of program execution.
processor
The main component that makes a computer work; these days usually a "micro-processor" on a
single silicon chip (cf. CPU)
program
A sequence of instructions for the computer that implements an algorithm, especially when
stored in a file in the form of either directly-executable object code, or source code for an
interpreter or compiler. When loaded into memory and executed, the object-code program
typically becomes a process.
Prompt : An indication produced by a shell or application program that it is ready for further user
commands or input.
Protocol
A definition of data structures and formats to be exchanged by two programs over a network.
proxy server : A computer process, usually as part of a firewall, that relays a protocol between
client and server computer systems, by appearing to the client to be the server and appearing to
the server to be the client (adapted from RFC2828).
queue
A data structure which implements a first-in, first-out list; e.g. print queue, which contains a list of
jobs to be printed in order.
RAM
Random Access Memory. Volatile, writable memory that a computer uses as its main memory.
Comes in flavors like EDO, ECC, SDRAM, etc. which are not equivalent but from the
perspective of a sysadmin are very similar under normal use. cf. ROM.
RARP
Reverse Address Resolution Protocol, rarp. A low-level protocol which, given a hardware
(Ethernet MAC) address on the local network, returns the corresponding IP address. cf. ARP.
README
An important document that usually comes with a software package to call attention to important
issues; usually has its name in capitals, so that it appears at the top of a directory listing.
Red Hat
A commercial Linux distribution.
redundant
superfluous; said of information in the contexts of compression, or the preservation of data
integrity.
regular expression
A formal expression of a string pattern which can be searched for and processed by a pattern-
matching program such as vi, grep, awk or perl.
repeater
A device that propagates signals between cables; in case of computer networks it operates at

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 289/297

the first, physical layer within the ISO/OSI model, and does not do packet filtering or makes
routing decisions. cf. hub, bridge, router.
RFC
Request For Comments. Official specification of Internet protocols and standards.
ROM
Read Only Memory. Computer memory, usually involving some enduring medium like a silicon
chip or a burnt laser disc which can be read but not altered; this is inconvenient when the data
can change and, just to be confusing, some special ROMs can be modified under certain
circumstances. cf. RAM.
root
The administrative account (UID 0) on a *nix system that has all privileges; cf. Superuser or the
top-most or first or originating node or object (e.g.: root directory, "/").
route
The path across one or more networks from one host to another or to examine the destination
network IP address in a datagram, and by consulting a table, direct the datagram to the next
router along the path to the destination, or to the destination itself.
router
A gateway which directs IP datagrams between networks in an internet; it operates at the third,
network layer in the ISO/OSI model, and assumes that the address implies a particular path (the
route) to reach the destination. In common usage today, a gateway is a general-purpose
computer with a general-purpose operating system [e.g. Linux] which *may* be performing other
functions; while a router is a special-purpose computer with a special purpose operating system
[e.g. IOS], generally from a specialist supplier [e.g. Cisco]). cf. Bridge.
RPC
Remote Procedure Call
RPM
Red Hat Package Management. A system which eases installation, verification, upgrading, and
uninstalling Linux packages. See the HOWTO for more information.
run
To let it work (a program); cf. Execute.
runlevel
Mode of operation of a Unix system, offering different services on each level; see /etc/inittab .
script
A computer program that is written in an interpreted programming language, and therefore stays
in human-readable text format; cf. executable, binary.
SCSI
Small Computer Systems Interface. A multi-drop bus cable architecture particularly suitable for
both internal and external attachment of mass storage devices such as hard drives, tape drives
and CD-ROMS.
segment
A (limited) length of cable - segments can be joined by repeaters (rare), bridges (common),
routers or switches (which are hardware logic bridges and routers).
serial
One bit after another, over time (over a single wire).
server

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 290/297

A process, or a host computer, which provides a particular service to client processes; e.g. web
server, print server.
service
A process which accepts requests and returns responses in an almost endless loop; a daemon.
session layer
The fifth ISO/OSI layer is the session control layer. It establishes and controls system-
dependent aspects of communications sessions between specific nodes in the network. It
bridges the gap between the services provided by the transport layer and the logical functions
running on the operating system in a participating node. In the TCP/IP network stack, there is no
session control layer, and its functions are partially implemented in the transport layer and
partially in the application layer.
SGID
Set Group ID, sgid
shell
A program which mediates between the user and the operating system, typically accepting
commands and invoking the corresponding programs. In the UNIX world, the term shell is
conventionally applied to command-line driven interfaces with scripting capabilities, such as
bash, csh and zsh; however, graphical shells exist, such as Windowmaker, KDE and GNOME.
signal
A logical interrupt to a process, which the process must generally deal with synchronously. A
form of interprocess communications.
single mode
single user mode, runlevel 1
SLIP
A way of encapsulating IP datagrams for transmission over asynchronous modem connections.
See RFC1055, "A Non-Standard for Transmission of IP Datagrams over Serial Lines"; cf. PPP
SMB
Server Message Block A Microsoft protocol developed to transport originally MS-DOS, later
OS/2 and MS-Windows, API calls and their arguments across a NetBIOS LAN; primarily used
under Linux as a protocol for file and print sharing with Windows machines.
SMTP
Simple Mail Transfer Protocol. A conversational protocol used by mail servers for delivery of e-
mail over the Internet. See RFC821.
SNR
The relative amount of useful information in a signal, as compared to the noise it carries.
socket
A TCP application layer connection.
software
computer programs
source code
The plain text (usually typed in by a human) specifying the detailed operation of a program,
written in a programming language. It needs to be processed by a compiler to produce a
program that can be run (executed) by the computer.
sources
The files containing the source code for a program or program system, from which the

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 291/297

executable program or library can be built or ported to another computer platform.


spawn
To create a child process by means of a fork() and an exec().
stderr
The standard Unix error output device (by default to the terminal display).
stdin
The standard Unix input device (by default the terminal keyboard).
stdout
The standard Unix output device (by default the terminal display).
sticky bit
A permission bit on an executable file which causes the kernel to keep the memory image of the
process after it has terminated, in order to avoid the overhead of reloading it when it is re-
invoked.
stream
A sequence of data bytes with sequencing and flow control. The TCP/IP stream protocol is TCP.
SUID
Set User ID, suid. A permission bit for files in Unix-compatible filesystems which causes the
resultant process (i.e., assuming the file is executable) to enjoy access rights to other resources
based on the UID of the user who owns the file, rather than the user who created the process.
superuser
super user, su, wheel. The user of the root account.
SuSE
A commercial Linux distribution.
swap space
virtual memory; called swap space because processes swap location between fast RAM and
slow virtual memory if their priority changes.
Symlink
Symbolic link: in Unix filesystems, an entry in a directory that points to another file name in the
filesystem; cf. hard link.
synchronize
To make the content and state of data stored in two separate locations identical (e.g. cache,
FTP sites).
syntax
The formal rules which determine how keywords or commands and their components need to be
combined when writing the source code of a computer program or forming shell commands.
sysadmin
system administrator: a person who administers a computer system and keeps it working.
TCP
Transmission Control Protocol. A session-oriented streaming transport protocol which provides
sequencing, error detection and correction, flow control, congestion control and multiplexing; cf.
UDP. See RFC793.
TCP/IP
Transmission Control Protocol / Internet Protocol. A suite of protocols basic to Internet
transmissions.

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 292/297

terminal
The outlet of a computer, usually consisting of a display for output of text (or possibly graphics),
and a keyboard (and possibly a mouse) for input, used as a device for interaction between the
computer and a user. cf. Workstation.
terminate
to disconnect, end, finish, quit, stop, etc.
terminator
A resistive load to indicate the end a chain of devices, usually a SCSI chain or a coax network
chain.
text
A series of characters that can be displayed on a terminal display or printed on paper for human
reading.
TIPS
Test Item Processing System. Set of Python scripts to offer a web-interface to manage the LPI
test items. See http://www.lpi.org/cgi-bin/tips.py.
TFTP
Trivial FTP. A protocol like FTP but much simpler and even less secure; used mainly for
cracking computers and booting diskless network clients. See RFC1350.
Topology : As used with computer networks: the schematic shape formed by the connections
between the hosts.
transport layer
The transport layer is the central layer (#4) in the ISO/OSI seven-layer model. It provides end-to-
end control of a communication session once the path has been established, allowing processes
to exchange data reliably and sequentially, independent of which systems are communicating
and their locations in the network.
troubleshoot
The process of finding the reason(s) of the problem(s) with networking|programming|hardware.
Tune : To make small changes to configuration in order to produce more efficient operation.
UDP
User Datagram Protocol. A connection-less, unreliable, transport protocol which provides
multiplexing and error detection for applications which require a low-cost protocol for one-shot
transactions; cf. datagram, packet, TCP. See RFC768.
UID
User ID
UN*X
A term for any variant of the UNIX(R)(TM) operating system, including Linux and a large number
of free and commercial systems; also *NIX.
uninstall
Remove hardware or software from a computer system.
unload
Remove services or software from a server so that more resources (CPU time, disk space, etc.)
become available.
unreliable
In the TCP/IP sense of the term, a protocol which does not perform error correction (relying on
"upper" layers to detect and correct errors, usually through retransmission).

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 293/297

upgrade
To update hardware or software to a better state.
URL
Universal Resource Locator. An identifier for an address on the Internet, preceded by the name
of the protocol that must be used to reach that address (e.g.: ftp://ftp.kernel.org/ ).
USB
Universal Serial Bus. A recently developed bus standard for connecting peripheral devices in a
chain.
user
The person that is using the resources of a computer or a person's account or process;
identification listed in /etc/passwd.
user mask
umask
UTC
Official world time.
utility
A program to help you to do a task easier.
UTP
Unshielded Twisted Pair. Type of network cables with several parallel wires used for Ethernet.
The network usually has a star topology with hubs and does not need terminators.
variable length subnet mask
virtual console
virtual terminal, VT, VC
virtual memory
Extra memory available on a system that is stored on a hard disk and is therefore essentially
unlimited, although much slower than genuine RAM. Usually it is called swap space.
WAN
Wide Area Network. A network which links geographically widespread facilities (and often LANs
at those locations) using point-to-point (leased line, SLIP, PPP) or packet-switched network
(X.25, frame relay) links and which does not support the broadcast and direct connection
capabilities of LANs.
wildcard
An placeholder used to represent any character or group of characters.
window
A region on a graphical desktop, the user interface for I/O with a child process of the desktop.
Win-modem
A modem that only has a Digital Signal Processor and uses MS-Windows-specific software
running on the CPU of the host computer to encode and decode data.
WINS
Windows Internet Name Service. An automatic NetBIOS name database to resolve NetBIOS
names to IP addresses.
workspace
Computer resources that are assigned to a computer user.
workstation

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 294/297

A computer, usually with a graphical display, for interactive use by an individual; cf. Server.
WWW
World Wide Web, (the) web. Global distributed archive of HTML documents linked through
HTTP.
X
X-Windows. The X Window System: a graphical user interface originating at MIT and having
several variations.
XML
eXtensible Markup Language

Glossary
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 295/297

Index
Index lexical
.bash_history 87, 92, 122 BIOS 2, 7pp., 15, 22, 26p., 29, 38, 42, 45,
.bash_logout 90 48, 192, 273, 285, 290, 293
.bash_profile 90, 92, 122 boot loader 47, 194, 273, 283
.bashrc 90, 92, 100, 102p., 122, 124 boot manager 2, 41, 45, 192
/bin/ls 69, 84p., 116, 122, 124p., 238, 241, bzip2 55, 57p., 61, 63
248 CERT 274, 284, 286, 289
/boot 42p., 47, 49p., 52pp., 202, 215 chgrp 234p., 241, 245p., 248
/dev/null 3, 86, 150, 152pp., 180 chmod 222, 229, 233p., 236p., 239,
/etc/fstab 36, 198, 203, 212pp., 222, 226 241, 246
/etc/group 91, 97, 119p., 175, 180, 238, chown 234p., 241, 245
241, 280 comments 6, 289
/etc/gshadow 97, 238 crashes 275
/etc/host.conf 125 cut 110, 120, 124, 180
/etc/hosts 91, 123, 231 df 122, 139p., 166, 180, 197, 202
/etc/ld.so.cache 65, 67 DHCP 277
/etc/ld.so.conf 64p. dig 272, 275, 277p., 282, 285, 293
/etc/lilo.conf 2, 41, 47pp., 52pp., 270 DNS 274, 277
/etc/passwd 91, 96, 110, 118pp., 175, dselect 2, 41, 70, 72pp., 76pp.
187p., 293 du 241, 272pp., 279p., 282p., 286pp.,
/etc/profile 92 292, 294
/etc/services 287 exit 94
/etc/shadow 96 expand 111
/proc 8, 12pp., 18, 20, 26pp., 31, 36, 38, export 87, 99, 103, 106pp., 116, 260
43, 215, 282 ext2 43, 53, 190p., 195p., 202, 205, 208,
/sbin 25, 62p., 81, 84p., 96, 153, 155, 194, 210, 215, 218, 222
226, 233 ext3 190p., 195p., 208pp.
0 fg 156, 161
0 FHS 194, 209, 278p.
nl 274p., 277, 280, 282, 284pp., find 91, 121, 137p., 140, 142pp., 149,
289p., 292p. 153p., 180, 249, 292
aliases 90, 102pp., 181, 272 fsck 197p., 203, 209
apache 81p., 84p., 179, 181 FTP 272, 279, 291pp.
apropos 98 GID 280, 290
apt-get 2, 41, 70, 74p., 77p. gpasswd 235
at command 117 grep 79, 148, 150, 170p., 175, 177pp.,
bash 2, 10, 86p., 90, 92p., 96, 99pp., 122, 288
158, 160p., 163, 165p., 199, 238, 290 group 180, 228, 241, 277, 280, 290, 293
bg command 156, 161 groupadd 241
BIND 283 grub 47p., 52pp., 62p., 84p.

Index
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 296/297

GRUB 50pp. ps 156, 158, 160, 165pp., 179, 181,


gs utility 151p., 154, 166, 180, 281, 286 274, 277, 280, 283pp., 287p., 290pp.
gzip 55, 57p. quotacheck 222, 226
hard link 280, 291 quotas 3, 45, 189, 192, 220pp.
hardware 9, 273, 276p., 282, 285, 288p., reiserfs 43, 190p., 195, 202p., 215
292p. renice 163, 167pp.
history 87, 92, 122 repquota 220, 224
HOWTO 280p., 285, 289 restart 166
HUP 164 rm 154, 248, 272p., 275pp., 286, 288pp.
IDE 272pp., 281pp., 286p., 290pp. rmdir 121, 126
ifconfig 84p. route 273pp., 279, 285, 289
inetd 158 RPM 2, 41, 75p., 79pp., 267, 272, 286,
init.d 30, 33 289
job 161, 283, 288 scripts 30, 33, 90pp., 292
join 105, 112, 275, 289 sed 180p., 272pp., 287p., 290pp.
kernel 12, 36, 49p., 53p., 89, 273, 277, 283, sendmail 285
287, 291, 293 shadow 96
LD_LIBRARY_PATH 64, 67 stderr 151, 157, 291
ldd 64, 66, 69, 266, 270 stdin 111, 152, 178, 287, 291
LDP 283 stdout 106, 111, 117p., 145, 152, 287, 291
less 20, 268, 274, 280, 290, 292 sticky bit 229, 236, 245, 291
libraries 276, 283 SUID 231, 291
lilo 2, 41, 47pp., 52pp., 270, 283 swap 42p., 162, 210, 215, 236, 291, 293
LILO 2, 41, 48p., 51p., 268, 283 symbolic link 124, 280, 291
lilo.conf 2, 41, 47pp., 52pp., 270 tac 105p., 155, 226, 272p., 275, 277,
lp 1, 269, 277, 284, 292p. 280pp., 285pp., 289p.
LPI 1, 4p., 265p., 269p., 277, 284, 292 tail 105, 107, 118, 120, 268, 270, 290
mailing list 274 tar 166, 272, 277p., 281, 284, 286, 293
make 55, 59, 61, 266, 270, 275p., 288pp. TCP 88, 272, 282, 285p., 288, 290pp.
Makefile 55, 59pp. TCP/IP 88, 272, 282, 285p., 288,
man 22, 82, 87, 98, 103, 125, 137, 144, 290pp.
241, 272pp., 280, 282pp., 286pp. tee 145, 148, 155, 276
mkfs 53, 190, 195, 209, 278 telnet 260, 272
modems 21pp., 31 TERM 25, 69, 152
msdos 191, 195, 203, 208, 216 top 166, 272, 276p., 280p., 283, 288p.,
mv 121, 131, 138, 140, 147, 248 292p.
named 278, 283 touch 53, 121, 129p., 142pp., 155, 218,
NFS 73, 88, 194, 285p. 222
NIC 275p., 278p., 281pp., 290, 292 tsch 90
nice 158p., 163, 165, 167p. UDP 276, 285p., 291p.
od 241, 272pp., 279pp. UID 94, 158, 246, 286, 289, 291p.
PAP Password Authentication Protocol 286, umask 126, 229, 232, 237, 239p., 293
292 umount 53, 212, 214
pipes 3, 86, 90, 145, 148, 152 useradd 102p., 241

Index
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004
LPI101 : Administration Systèmes sous Linux 297/297

userdel 102p. WINS 293


vi 177, 186, 241

Index
version 2.0 – Mandrake 10.0 ©Copyright LynuxTraining 2004