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

Le Campus

Linux
Installation, configuration
et applications
8
e
dition
Michael Kofler
Linux
Installation, configuration
et administration des systmes
Linux
Linux Livre Page I Mardi, 23. septembre 2008 1:05 13
Pearson Education France a apport le plus grand soin la ralisation de ce livre an de vous fournir une
information complte et able. Cependant, Pearson Education France nassume de responsabilits, ni pour
son utilisation, ni pour les contrefaons de brevets ou atteintes aux droits de tierces personnes qui pourraient
rsulter de cette utilisation.
Les exemples ou les programmes prsents dans cet ouvrage sont fournis pour illustrer les descriptions tho-
riques. Ils ne sont en aucun cas destins une utilisation commerciale ou professionnelle.
Pearson Education France ne pourra en aucun cas tre tenu pour responsable des prjudices ou dommages
de quelque nature que ce soit pouvant rsulter de lutilisation de ces exemples ou programmes.
Tous les noms de produits ou autres marques cits dans ce livre sont des marques dposes par leurs
propritaires respectifs.
Aucune reprsentation ou reproduction, mme partielle, autre que celles prvues larticle L. 122-5 2 et 3 a) du code
de la proprit intellectuelle ne peut tre faite sans lautorisation expresse de Pearson Education France ou, le cas
chant, sans le respect des modalits prvues larticle L. 122-10 dudit code.
No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including
photocopying, recording or by any information storage retrieval system, without permission from Pearson Education,
Inc.
Publi par Pearson Education France
47 bis, rue des Vinaigriers
75010 PARIS
Tl. : 01 72 74 90 00
www.pearson.fr
Mise en pages : TyPAO
Tous droits rservs
Titre original : Linux - Installation, Konguration,
Anwendung
Traduit et adapt de lallemand
par Isabelle Hurbain-Palatin et Sandrine Burriel
ISBN original : 978-3-8273-2478-8
Copyright 2007 by Addison-Wesley Verlag
All rights reserved
Addison-Wesley Verlag
Pearson Education Deutschland GmvH
Martin-kollar-Strae 10-12,
D-81829 Mnchen/Germany
Linux Livre Page II Mardi, 23. septembre 2008 1:05 13
Copyright 2009 Pearson Education France
ISBN : 978-2-7440-4088-7
Linux
Installation, configuration
et administration des systmes
Linux
Michael Kofler
Linux Livre Page III Mardi, 23. septembre 2008 1:05 13
Linux Livre Page IV Mardi, 23. septembre 2008 1:05 13
Table des matires
Prface ...................................................................................................................... 1
Conception ..................................................................................................... 2
Ce que vous ne trouverez pas dans cet ouvrage............................................. 3
Styles utiliss dans ce livre............................................................................ 3
PARTIE 1 PREMIERS PAS ET INSTALLATION
1 Quest-ce que Linux ? ........................................................................................... 5
1.1 Introduction.................................................................................................... 5
Noyau ............................................................................................................ 6
Caractristiques du noyau.............................................................................. 6
Prise en charge du matriel............................................................................ 7
1.2 Distributions ................................................................................................... 8
Quelques distributions Linux courantes ........................................................ 11
Distributions minimales................................................................................. 14
Problme du choix......................................................................................... 14
1.3 Fantasmes et ralit ........................................................................................ 14
1.4 Licences libres ................................................................................................ 17
Conits de licences entre les logiciels libres et propritaires........................ 19
1.5 Histoire de Linux ............................................................................................ 20
1.6 Brevets logiciels et autres sujets dnervement................................................. 21
Brevets logiciels ............................................................................................ 21
Multimdia et DRM...................................................................................... 22
Procs SCO.................................................................................................... 23
2 Installation .............................................................................................................. 25
2.1 Prrequis ........................................................................................................ 25
32 ou 64 bits ? ............................................................................................... 26
2.2 Dmarrage de linstallation de Linux .............................................................. 27
2.3 Bases du partitionnement du disque................................................................ 28
Systmes de chiers ...................................................................................... 30
Nom des partitions......................................................................................... 30
Linux Livre Page V Mardi, 23. septembre 2008 1:05 13
LINUX VI
2.4 Partitionnement du disque dur........................................................................ 31
Rduction de la partition Windows ............................................................... 32
Nombre et taille des partitions....................................................................... 33
Quel systme de chiers utiliser ?................................................................. 35
2.5 Choix des paquetages...................................................................................... 36
Recommandations pour linstallation............................................................ 37
2.6 Conguration de base ..................................................................................... 37
2.7 Installation du chargeur damorage............................................................... 40
2.8 Installations non standard............................................................................... 40
2.9 Problmes lors de linstallation ....................................................................... 41
Problmes de matriel ................................................................................... 41
Problmes lis au clavier ............................................................................... 42
2.10 Problmes aprs linstallation ......................................................................... 42
Lordinateur ne dmarre plus......................................................................... 42
Le systme graphique ne dmarre pas........................................................... 43
Le clavier ne fonctionne pas.......................................................................... 43
Les menus sont dans la mauvaise langue ...................................................... 44
3 Premiers pas sous Linux ...................................................................................... 45
3.1 Dmarrer et arrter Linux .............................................................................. 45
Dconnexion.................................................................................................. 46
teindre Linux............................................................................................... 47
3.2 Clavier, souris et presse-papiers ...................................................................... 47
Raccourcis clavier importants ....................................................................... 47
Utilisation de la souris................................................................................... 48
3.3 Documentation sous Linux.............................................................................. 48
4 Gnome ...................................................................................................................... 51
4.1 Conception du bureau..................................................................................... 52
4.2 Nautilus .......................................................................................................... 56
Graver des CD et des DVD ........................................................................... 60
Accder aux rpertoires rseau...................................................................... 60
4.3 Programmes Gnome ....................................................................................... 62
4.4 Trucs et astuces............................................................................................... 63
5 KDE ........................................................................................................................... 67
5.1 Conception du bureau..................................................................................... 68
5.2 Dolphin........................................................................................................... 71
5.3 Konqueror ...................................................................................................... 72
Utilisation en tant que gestionnaire de chiers ............................................. 72
Accs aux rpertoires rseau ......................................................................... 74
Adresses spciales ......................................................................................... 74
5.4 Applications KDE........................................................................................... 75
5.5 Trucs et astuces............................................................................................... 77
Linux Livre Page VI Mardi, 23. septembre 2008 1:05 13
VII TABLE DES MATIRES
PARTIE 2 LA BUREAUTIQUE SOUS LINUX
6 Navigateurs Internet (Firefox, Konqueror) .................................................... 79
6.1 Firefox............................................................................................................ 79
Fonctionnalits de base.................................................................................. 80
Conguration................................................................................................. 83
Extensions (chiers XPI)............................................................................... 85
6.2 Konqueror ...................................................................................................... 86
6.3 Navigateurs en mode texte............................................................................... 87
6.4 Plugins (Adobe Reader, Flash, Java)................................................................ 88
Adobe Reader ................................................................................................ 89
Adobe/Macromedia Flash ............................................................................. 90
Sun Java......................................................................................................... 92
7 E-mail (Thunderbird, Evolution, Kontact) ...................................................... 95
7.1 Bases .............................................................................................................. 95
Rouages internes de la gestion des e-mails ................................................... 98
Courrier local................................................................................................. 98
Formats de botes aux lettres et conversion................................................... 99
Signature et chiffrement de-mails ................................................................ 100
7.2 Thunderbird................................................................................................... 103
Conguration dun compte............................................................................ 103
Fonctionnalits de base.................................................................................. 104
Extensions et fonctionnalits additionnelles ................................................. 107
Importer ou synchroniser des e-mails Windows............................................ 109
7.3 Evolution........................................................................................................ 110
Conguration dun compte............................................................................ 111
Fonctionnalits de base.................................................................................. 111
Fonctionnalits supplmentaires ................................................................... 114
7.4 Kontact........................................................................................................... 115
8 OpenOffice .............................................................................................................. 119
8.1 Introduction.................................................................................................... 119
OpenOfce face Microsoft Ofce .............................................................. 121
8.2 Traitement de texte (OpenOfce Writer) ......................................................... 122
8.3 Tableur (OpenOfce Calc) .............................................................................. 126
8.4 Prsentation (OpenOfce Impress).................................................................. 127
Linux Livre Page VII Mardi, 23. septembre 2008 1:05 13
LINUX VIII
8.5 Bases de donnes (OpenOfce Base)................................................................ 130
8.6 Programmation de macros .............................................................................. 132
8.7 Alternatives OpenOfce ............................................................................... 133
9 Appareils photo numriques, numrisation, gestion des photos .......... 135
9.1 Appareils photo numriques ........................................................................... 136
9.2 Numrisation.................................................................................................. 137
9.3 gThumb.......................................................................................................... 139
9.4 digiKam.......................................................................................................... 143
9.5 F-Spot............................................................................................................. 145
9.6 KPhotoAlbum................................................................................................. 146
9.7 XSane ............................................................................................................. 148
10 Gimp ......................................................................................................................... 149
10.1 Formats de chiers.......................................................................................... 151
10.2 Premiers pas ................................................................................................... 152
Impression ..................................................................................................... 154
10.3 Rgles de survie .............................................................................................. 155
11 Audio et vido ....................................................................................................... 157
11.1 Bases .............................................................................................................. 158
Glossaire ....................................................................................................... 158
Formats audio et vido .................................................................................. 160
Lire des CD audio.......................................................................................... 162
Lecture de DVD vido................................................................................... 163
Situation juridique, paquets complmentaires............................................... 163
11.2 Lecteurs audio et vido ................................................................................... 164
Lecteurs en ligne de commande .................................................................... 164
Amarok (lecteur audio) ................................................................................. 164
Banshee (lecteur audio) ................................................................................. 165
KAudioCreator (extracteur de CD) ............................................................... 165
MPlayer (lecteur audio, vido et tlvision) ................................................. 165
Noatun (lecteur audio et vido) ..................................................................... 166
RealPlayer et Helix Player (lecteur audio et vido) ...................................... 166
Rhythmbox (lecteur audio)............................................................................ 167
Sound Juicer (lecteur et extracteur de CD).................................................... 168
Totem (lecteur audio et vido)....................................................................... 168
xine (lecteur audio, vido et TV)................................................................... 169
xmms ............................................................................................................. 169
11.3 Regarder la tlvision avec DVB-T.................................................................. 170
Linux Livre Page VIII Mardi, 23. septembre 2008 1:05 13
IX TABLE DES MATIRES
PARTIE 3 OUTILS UNIX ET LINUX
12 La console ............................................................................................................... 173
12.1 Consoles texte et fentres de console................................................................ 173
12.2 Afcher et modier des chiers texte............................................................... 176
diteurs de texte ............................................................................................ 176
12.3 Aide du systme .............................................................................................. 178
13 Gestion des fichiers .............................................................................................. 181
13.1 Interaction avec des chiers et des rpertoires ................................................. 181
Rpertoires..................................................................................................... 181
Commandes lmentaires de gestion des chiers et des rpertoires ............. 182
Dterminer lespace ncessaire aux chiers et rpertoires............................ 184
Caractres joker ............................................................................................. 185
Problmes lis lutilisation des caractres joker......................................... 186
Fichiers cachs .............................................................................................. 187
13.2 Liens............................................................................................................... 188
13.3 Chercher des chiers....................................................................................... 189
which et whereis ............................................................................................ 189
locate ............................................................................................................. 190
nd et grep..................................................................................................... 190
Beagle............................................................................................................ 192
Tracker........................................................................................................... 193
Google Desktop............................................................................................. 193
13.4 Archiver et scuriser des donnes.................................................................... 194
Compresser et archiver des donnes (gzip, tar, zip) ...................................... 194
Sauvegardes (rsync)....................................................................................... 196
13.5 Graver des CD et des DVD.............................................................................. 197
Crer et tester des images ISO ...................................................................... 198
Graver des CD............................................................................................... 199
Graver des DVD............................................................................................ 200
13.6 Droits daccs, utilisateurs et groupes propritaires......................................... 202
Bits spciaux.................................................................................................. 203
Changer les droits daccs dun chier ou dun rpertoire............................ 204
13.7 Propritaire, groupe et bits daccs de nouveaux chiers ................................. 205
13.8 Listes de contrle daccs et attributs tendus ................................................. 206
Listes de contrle daccs.............................................................................. 207
Attributs tendus............................................................................................ 208
13.9 Structure des rpertoires sous Linux ............................................................... 209
13.10 Fichiers de priphriques................................................................................ 211
Linux Livre Page IX Mardi, 23. septembre 2008 1:05 13
LINUX X
14 Gestion des processus ......................................................................................... 213
14.1 Dmarrer, grer et arrter des processus ......................................................... 213
Dmarrer des programmes ............................................................................ 213
Processus en avant-plan et en arrire-fond.................................................... 214
Liste de tous les processus courants (ps, top)................................................ 214
Hirarchie des processus ............................................................................... 216
Forcer la n dun processus (kill, xkill) ......................................................... 217
Partage du temps de calcul (nice, renice) ...................................................... 218
Redirections et tubes ..................................................................................... 218
14.2 Lancer des processus sous une autre identit (su) ............................................ 219
14.3 Lancer des processus sous une autre identit (sudo)......................................... 220
sudo sous Ubuntu .......................................................................................... 222
sudo sous SUSE............................................................................................. 222
14.4 Processus du systme (dmons) ....................................................................... 223
Threads du noyau .......................................................................................... 224
Dmarrer et arrter des dmons..................................................................... 225
14.6 Dmarrer automatiquement des processus (crontab)........................................ 227
Modier la conguration............................................................................... 228
15 Convertisseurs graphiques, audio et texte .................................................... 231
15.1 Convertisseurs graphiques .............................................................................. 231
15.2 Conversion audio et vido ............................................................................... 232
15.3 Conversion de texte......................................................................................... 234
15.4 Conversion de noms de chiers ....................................................................... 235
15.5 Conversion de documents................................................................................ 235
16 Outils rseau .......................................................................................................... 237
16.1 Connatre ltat du rseau............................................................................... 237
16.2 Travailler sur un autre ordinateur................................................................... 240
Utiliser SSH sans mot de passe ..................................................................... 242
16.3 Transfrer des chiers..................................................................................... 243
FTP................................................................................................................ 243
SFTP (Secure FTP) ....................................................................................... 246
wget................................................................................................................ 246
rsync .............................................................................................................. 247
BitTorrent ...................................................................................................... 248
17 Vim ............................................................................................................................ 251
17.1 Rapide introduction........................................................................................ 252
Aide ............................................................................................................... 253
17.2 Dplacement du curseur.................................................................................. 254
17.3 Modier du texte ............................................................................................ 255
Linux Livre Page X Mardi, 23. septembre 2008 1:05 13
XI TABLE DES MATIRES
17.4 Chercher et remplacer .................................................................................... 258
17.5 diter plusieurs chiers en mme temps.......................................................... 259
17.6 Trucs et astuces............................................................................................... 260
18 Emacs et XEmacs ................................................................................................... 263
18.1 Rapide introduction........................................................................................ 263
Charger et enregistrer des chiers, quitter le programme ............................. 264
Commandes lmentaires.............................................................................. 265
Systme daide .............................................................................................. 266
18.2 Bases .............................................................................................................. 266
18.3 Dplacement du curseur.................................................................................. 268
18.4 Marquer, supprimer et coller du texte ............................................................. 269
18.5 diter du texte ................................................................................................ 270
Tabulations..................................................................................................... 270
Indenter manuellement du texte .................................................................... 271
18.6 Texte continu .................................................................................................. 272
18.7 Chercher et remplacer .................................................................................... 273
Recherche avec des expressions rationnelles ................................................ 274
Chercher et remplacer ................................................................................... 275
18.8 Tampon et fentre ........................................................................................... 276
18.9 Modes ddition spciques............................................................................. 277
18.10 Unicode .......................................................................................................... 278
GNU Emacs et Unicode ................................................................................ 279
XEmacs et Unicode....................................................................................... 279
Saisie de caractres spciaux trangers ......................................................... 281
19 bash ........................................................................................................................... 283
19.1 Quest-ce quun shell ?.................................................................................... 283
Passer un autre shell.................................................................................... 284
Changer de shell par dfaut ........................................................................... 284
19.2 Conguration de base ..................................................................................... 284
19.3 Saisie de commandes....................................................................................... 285
Compltement des commandes et noms de chiers...................................... 286
Raccourcis clavier importants ....................................................................... 287
Alias............................................................................................................... 288
19.4 Redirections.................................................................................................... 289
Tubes ............................................................................................................. 290
Multiplication des sorties avec tee................................................................. 290
Rsum de la syntaxe .................................................................................... 291
Linux Livre Page XI Mardi, 23. septembre 2008 1:05 13
LINUX XII
19.5 Lancer des commandes ................................................................................... 291
19.6 Mcanismes de substitution............................................................................. 293
19.7 Variables......................................................................................................... 297
Variables locales et globales (variables denvironnement)............................ 298
Variables importantes .................................................................................... 299
19.8 Programmation shell....................................................................................... 300
PARTIE 4 CONFIGURATION ET ADMINISTRATION DU SYSTME
20 Configuration de base ......................................................................................... 301
20.1 Introduction.................................................................................................... 301
20.2 Conguration de la console en mode texte ....................................................... 304
Conguration de kbd (clavier, police) ........................................................... 305
Conguration de la console (clavier, police)................................................. 306
Conguration de gpm (souris) ....................................................................... 306
20.3 Date et heure................................................................................................... 307
20.4 Utilisateurs et groupes, mots de passe.............................................................. 308
Administration des utilisateurs...................................................................... 310
Administration des groupes........................................................................... 312
Mots de passe ................................................................................................ 313
Collaboration entre chiers de conguration ................................................ 316
PAM (Pluggable Authentication Modules ou modules dauthentication
enchables).................................................................................................... 316
Administration des utilisateurs sur un rseau................................................ 318
20.5 Conguration des langues, internationalisation, Unicode................................. 318
Bases sur les jeux de caractres..................................................................... 319
Congurer la localisation et le jeu de caractres........................................... 321
20.6 Rfrence relative au matriel ......................................................................... 324
Processeur et mmoire................................................................................... 325
Gestion de lnergie (ACPI, APM)................................................................ 326
Interfaces et bus systme ............................................................................... 327
Systme Hotplug (udev, D-Bus et HAL) ....................................................... 329
Interfaces rseau............................................................................................ 330
Interface graphique (X) ................................................................................. 331
Systme audio (ALSA) ................................................................................. 331
Supports de donnes (disques durs, CD-ROM, DVD, etc.) .......................... 333
Clavier et souris............................................................................................. 334
Imprimante, appareil photo numrique, scanner ........................................... 334
20.7 Fichiers journaux et messages du noyau.......................................................... 334
Linux Livre Page XII Mardi, 23. septembre 2008 1:05 13
XIII TABLE DES MATIRES
21 Gestion des logiciels et des paquetages ........................................................ 339
21.1 Gestionnaire de paquetages RPM.................................................................... 340
Notions de base ............................................................................................. 340
Syntaxe et exemples ...................................................................................... 342
21.2 Yum (gestion de paquetages RPM) .................................................................. 344
Conguration................................................................................................. 345
Exemples ....................................................................................................... 346
Tlchargements et mises jour automatiques ............................................. 347
21.3 Yum Extender (Yumex)................................................................................... 347
21.4 Gestion de paquetages sous Debian (dpkg)....................................................... 348
Syntaxe et exemples ...................................................................................... 348
21.5 APT................................................................................................................ 349
Conguration................................................................................................. 350
Exemples ....................................................................................................... 351
Tlchargements et mises jour automatiques ............................................. 352
21.6 Synaptic.......................................................................................................... 352
Problmes ...................................................................................................... 353
22.7 Aptitude.......................................................................................................... 354
21.8 Conversion entre deux formats de paquetages ................................................. 355
22 Systme XWindow ................................................................................................ 357
22.1 Glossaire......................................................................................................... 357
Glossaire matriel.......................................................................................... 358
22.2 Problme des pilotes........................................................................................ 360
22.3 Dmarrer et arrter X..................................................................................... 362
Fichiers de journalisation de X...................................................................... 363
Dterminer la version de X............................................................................ 364
22.4 Conguration de base ..................................................................................... 364
Construction du chier de conguration xorg.conf ....................................... 365
Section Monitor (cran)................................................................................. 366
Section Device (carte graphique)................................................................... 367
Section Screen (rsolution, nombre de couleurs) .......................................... 368
Section ServerLayout .................................................................................... 369
Section Files .................................................................................................. 370
Section Module.............................................................................................. 370
Section ServerFlags....................................................................................... 371
Dnir ses propres modes graphiques........................................................... 371
XVideo........................................................................................................... 372
Linux Livre Page XIII Mardi, 23. septembre 2008 1:05 13
LINUX XIV
22.5 Pilotes ATI/AMD............................................................................................. 372
Pilote radeon ................................................................................................. 373
Pilote fglrx ..................................................................................................... 373
Pilote radeonhd ............................................................................................. 374
22.6 Pilotes Intel..................................................................................................... 374
22.7 Pilotes NVIDIA............................................................................................... 375
Pilote nv ......................................................................................................... 375
Pilote nvidia................................................................................................... 375
22.8 Pilotes VESA, Framebuffer et VGA................................................................. 376
22.9 Clavier............................................................................................................ 377
Conguration de base.................................................................................... 377
VerrNum et VerrMaj ...................................................................................... 379
Saisie de caractres trangers ........................................................................ 380
22.10 Souris et pav tactile ....................................................................................... 382
Pav tactile..................................................................................................... 383
22.11 Portable et vidoprojecteur ............................................................................. 383
22.12 Graphismes 3D............................................................................................... 387
22.13 Bureau 3D ...................................................................................................... 389
AIGLX........................................................................................................... 392
Compiz Fusion .............................................................................................. 393
22.14 Polices............................................................................................................. 394
Conguration sans serveur de fontes............................................................. 397
Installation de polices TrueType et Type1 supplmentaires .......................... 398
Anticrnelage................................................................................................. 399
22.15 Outils X.......................................................................................................... 400
23 Administration du systme de fichiers ........................................................... 401
23.1 Fonctionnement gnral .................................................................................. 402
23.2 Noms de priphriques pour les disques durs
et les autres supports de donnes .................................................................... 404
23.3 Partitionnement du disque dur........................................................................ 408
Rgles de base ............................................................................................... 408
Problmes de compatibilit ........................................................................... 409
fdisk ............................................................................................................... 410
parted............................................................................................................. 413
Interfaces graphiques (gparted et qtparted) .................................................. 415
23.4 Types de systmes de chiers........................................................................... 416
23.5 Gestion du systme de chiers (mount et /etc/fstab) ............................................. 420
Dterminer ltat courant dun systme de chiers....................................... 421
Monter et dmonter des systmes de chiers manuellement ........................ 422
Linux Livre Page XIV Mardi, 23. septembre 2008 1:05 13
XV TABLE DES MATIRES
Monter automatiquement des systmes de chiers ....................................... 423
Syntaxe de /etc/fstab...................................................................................... 423
23.6 Les systmes de chiers Linux......................................................................... 426
Gnralits..................................................................................................... 426
Systmes de chiers ext (ext2, ext3 et ext4) .................................................. 428
Systme de chiers reiserfs ........................................................................... 433
Systme de chiers xfs .................................................................................. 434
23.7 Systmes de chiers Windows ......................................................................... 435
Systme de chiers VFAT ............................................................................. 437
Systme de chier NTFS (pilote ntfs) ........................................................... 437
Systme de chiers NTFS (ntfsmount).......................................................... 438
Systme de chiers NTFS (ntfs-3g) .............................................................. 439
Systmes de chiers NTFS (Captive, Paragon)............................................. 440
23.8 CD, DVD et disquettes .................................................................................... 441
CD et DVD de donnes ................................................................................. 441
CD audio et DVD vido ................................................................................ 443
Disquettes ...................................................................................................... 443
23.9 Supports de donnes externes (USB, Firewire, etc.) ......................................... 443
23.10 Systmes de chiers rseau et virtuels ............................................................. 447
Systmes de chiers rseau Unix (NFS) ....................................................... 447
Rpertoires rseau Windows (cifs, smbfs) ..................................................... 448
23.11 Partitions et chiers dchange........................................................................ 450
23.12 LVM............................................................................................................... 451
Glossaire........................................................................................................ 452
Mettre en place un systme LVM simple ...................................................... 453
Redimensionner un systme de chiers ........................................................ 454
23.13 Optimiser les paramtres du disque dur.......................................................... 455
hdparm........................................................................................................... 455
SMART ......................................................................................................... 456
24 Dmarrage du systme ....................................................................................... 459
24.1 GRUB............................................................................................................. 459
Dtails du dmarrage du systme.................................................................. 459
24.2 GRUB Utilisation ......................................................................................... 461
24.3 GRUB Conguration.................................................................................... 463
Descriptions des disques durs et partitions.................................................... 464
Paramtres globaux de menu.lst .................................................................... 464
lments du menu dans menu.lst .................................................................. 466
Tester la conguration de GRUB .................................................................. 468
Linux Livre Page XV Mardi, 23. septembre 2008 1:05 13
LINUX XVI
24.4 GRUB Installation........................................................................................ 468
Rinstallation de GRUB................................................................................ 468
Installation sur une disquette......................................................................... 469
Installation sur un support USB .................................................................... 470
24.5 GRUB Rsolution de problmes ................................................................... 471
24.6 Options damorage du noyau......................................................................... 472
Options damorage importantes................................................................... 472
Options SMP ................................................................................................. 473
Options APM et ACPI ................................................................................... 473
24.7 InitV............................................................................................................... 474
Aperu dInitV .............................................................................................. 474
Niveau dexcution........................................................................................ 474
Modier le niveau dexcution...................................................................... 475
inittab............................................................................................................. 475
Initialisation du systme................................................................................ 476
Scripts InitV .................................................................................................. 476
Processus InitV sous Debian ......................................................................... 477
Processus InitV sous Red Hat et Fedora ....................................................... 478
Processus InitV sous SUSE........................................................................... 478
25 Noyau et modules ................................................................................................. 481
25.1 Modules du noyau........................................................................................... 481
Commandes de gestion des modules............................................................. 482
Conguration des modules............................................................................ 483
Dpendances entre modules (modules.dep, modules*.map) ......................... 484
Paramtres des modules et ordre des priphriques ...................................... 485
Syntaxe de modprobe.conf............................................................................. 485
Compiler un module supplmentaire ............................................................ 487
25.2 Congurer et compiler son propre noyau ........................................................ 487
Installer les paquetages ncessaires............................................................... 488
Congurer le noyau....................................................................................... 489
Compiler et installer le noyau........................................................................ 490
25.3 Crer un chier initrd ..................................................................................... 490
PARTIE 5 CONFIGURATION RSEAU ET SERVEUR
26 Configurer laccs rseau (rseau local, Wi-Fi) ............................................. 493
26.1 Bases rseau.................................................................................................... 493
Glossaire........................................................................................................ 493
Adresses IP.................................................................................................... 496
IPv6 ............................................................................................................... 499
Linux Livre Page XVI Mardi, 23. septembre 2008 1:05 13
XVII TABLE DES MATIRES
26.2 Activer manuellement un contrleur LAN....................................................... 500
26.3 Fichiers de conguration du rseau local......................................................... 505
Conguration de base.................................................................................... 505
Correspondance entre contrleur et interface rseau..................................... 509
Conguration et initialisation des interfaces rseau (Debian et Ubuntu)...... 510
Conguration et initialisation des interfaces rseau (Red Hat, Fedora)........ 511
Conguration et initialisation des interfaces rseau (SUSE) ........................ 512
26.4 Bases sur le Wi-Fi ........................................................................................... 512
Standards, glossaire....................................................................................... 513
Paramtres de connexion Wi-Fi..................................................................... 515
Scurit dun rseau Wi-Fi ............................................................................ 516
Prise en charge du Wi-Fi par Linux............................................................... 518
26.5 Activer manuellement le contrleur Wi-Fi ....................................................... 520
26.6 Fichiers de conguration Wi-Fi ....................................................................... 524
26.7 NetworkManager............................................................................................ 526
26.8 Zeroconf et Avahi ............................................................................................ 528
27 Accs Internet ..................................................................................................... 531
27.1 Outils de conguration.................................................................................... 531
Conguration dun modle analogique ......................................................... 531
Conguration RNIS....................................................................................... 533
Conguration ADSL...................................................................................... 533
27.2 Conguration manuelle dun modem.............................................................. 534
Winmodems................................................................................................... 534
Conguration manuelle de pppd ................................................................... 535
27.3 Conguration matrielle de lADSL................................................................ 537
Conguration manuelle de PPPoE ................................................................ 537
Conguration manuelle de PPTP .................................................................. 538
28 Passerelle Internet (mascarade et DHCP) ....................................................... 541
28.1 Introduction.................................................................................................... 541
Topologie du rseau utilis comme exemple................................................. 542
Installation dune passerelle Internet............................................................. 543
Comparaison entre un routeur matriel et une passerelle Linux................... 544
28.2 Mascarade (NAT)............................................................................................ 545
Notions de base ............................................................................................. 545
Mascarade avec iptables................................................................................ 546
Activation et dsactivation automatique de la mascarade ............................. 547
Problmes ...................................................................................................... 547
Conguration des clients ............................................................................... 548
Linux Livre Page XVII Mardi, 23. septembre 2008 1:05 13
LINUX XVIII
28.3 Serveur DHCP et serveur de noms intgr (dnsmasq) ......................................... 548
Introduction DHCP..................................................................................... 548
Paramtrage du serveur de noms................................................................... 549
Conguration de dnsmasq............................................................................. 550
Conguration des clients ............................................................................... 553
28.4 Serveur DHCP (dhcpcd) .................................................................................. 554
29 Scurit du rseau ................................................................................................ 557
29.1 Types de scurit............................................................................................. 557
29.2 Bases de lanalyse rseau................................................................................. 559
29.3 Scuriser les services rseau............................................................................ 561
Bases de xinetd .............................................................................................. 561
hosts.allow et hosts.deny............................................................................... 563
29.4 Introduction aux pare-feu ............................................................................... 564
Pare-feu pour un ordinateur personnel .......................................................... 564
Pare-feu pour le rseau local ......................................................................... 565
29.5 Pare-feu avec iptables ...................................................................................... 567
Introduction ................................................................................................... 567
Tables et chanes de rgles iptables............................................................... 568
Remettre zro le pare-feu............................................................................ 569
Scuriser laccs Internet............................................................................ 570
Scuriser un client sans-l sans VPN............................................................ 571
Scuriser un client sans-l avec PPTP-VPN................................................. 572
Scuriser une passerelle Internet ................................................................... 573
Journalisation................................................................................................. 575
Excuter automatiquement les rgles du ltre .............................................. 576
29.6 Filtrage web (Squid) ....................................................................................... 577
Conguration et dmarrage........................................................................... 577
Conguration en tant que serveur mandataire-cache transparent...................... 580
Rgles de contrle daccs ............................................................................ 582
Filtre web avec DansGuardian ...................................................................... 582
30 Serveur de rseau local (CUPS, NFS et Samba) ............................................ 587
30.1 CUPS Les fondamentaux.............................................................................. 587
Processus dimpression ................................................................................. 588
Conguration de base de CUPS.................................................................... 589
Administration de CUPS dans un navigateur web ........................................ 592
Commandes dadministration de CUPS........................................................ 593
HP Linux Imaging and Printing (HPLIP)...................................................... 594
Linux Livre Page XVIII Mardi, 23. septembre 2008 1:05 13
XIX TABLE DES MATIRES
30.2 CUPS Conguration dune imprimante........................................................ 595
Conguration dune imprimante locale......................................................... 596
Conguration dune imprimante rseau (ct serveur) ................................. 597
Conguration dune imprimante rseau (ct client).................................... 598
30.3 NFS ................................................................................................................ 600
Installation et conguration........................................................................... 601
NFS4.............................................................................................................. 602
30.4 Samba Les fondamentaux ............................................................................ 603
Protocole et services...................................................................................... 603
Droits daccs et systmes de scurit........................................................... 604
30.5 Client Samba .................................................................................................. 606
30.6 Samba Conguration de base et mise en service............................................ 607
30.7 Samba Partager des rpertoires.................................................................... 610
Scurit au niveau des partages ..................................................................... 610
Scurit au niveau utilisateur......................................................................... 612
30.8 Samba Imprimantes rseau.......................................................................... 614
PARTIE 6 UTILISATION DE PLUSIEURS SYSTMES SIMULTANMENT
31 Lancer des programmes Windows (Wine, CrossOver) .............................. 617
31.1 Wine............................................................................................................... 618
31.2 Drivs commerciaux de Wine ........................................................................ 621
CrossOver ...................................................................................................... 621
Cedega ........................................................................................................... 622
32 Virtualisation avec VMware, VirtualBox, QEMU et KVM ........................... 623
32.1 Notions de base ............................................................................................... 624
32.2 VMware Workstation, Player et Server ........................................................... 628
32.3 VirtualBox...................................................................................................... 629
32.4 QEMU et KVM.............................................................................................. 632
33 Xen ............................................................................................................................ 637
33.1 Introduction.................................................................................................... 637
33.2 Dtails techniques ........................................................................................... 638
Variantes de la virtualisation ......................................................................... 638
Architecture et terminologie.......................................................................... 638
Restrictions.................................................................................................... 639
Gestion du matriel ....................................................................................... 640
Accs au rseau ............................................................................................. 640
Linux Livre Page XIX Mardi, 23. septembre 2008 1:05 13
LINUX XX
Accs au disque dur....................................................................................... 642
Sortie graphique ............................................................................................ 642
33.3 Gestion des chiers image ............................................................................... 643
33.4 Mettre en place le systme de base Xen (dom0)................................................ 645
33.5 Crer des systmes invits (domU) .................................................................. 646
Installation de Windows (HVM) ................................................................... 651
33.6 Interaction avec le systme domU dmarr (SDL, VNC)...................................... 652
Console Xen .................................................................................................. 653
SDL ............................................................................................................... 653
VNC............................................................................................................... 654
33.7 Syntaxe du chier de conguration du domU.................................................. 654
33.8 Administration de Xen.................................................................................... 655
Annexes
A Rfrences thmatiques ...................................................................................... 657
Gestion des chiers ....................................................................................... 657
ACL (listes de contrle daccs) et EA (attributs tendus) ................................ 657
Recherche de chiers..................................................................................... 658
Traitement de chiers texte ........................................................................... 658
Compresser et archiver des chiers ............................................................... 659
Graver des CD/DVD...................................................................................... 659
Convertisseurs ............................................................................................... 659
Gestion des programmes et des processus .................................................... 660
Gestion des utilisateurs et des groupes.......................................................... 660
Administration du systme de chiers .......................................................... 661
Gestion de paquetages ................................................................................... 662
Fonctions rseau............................................................................................ 662
Administration de limprimante .................................................................... 663
Gestion du matriel ....................................................................................... 663
Noyau et modules.......................................................................................... 663
Dmarrage et arrt du systme ...................................................................... 663
Terminal et console texte............................................................................... 664
Aide en ligne ................................................................................................. 664
Divers............................................................................................................. 664
bash Gestion des variables.......................................................................... 665
bash Programmation................................................................................... 665
bash Commandes........................................................................................ 665
Linux Livre Page XX Mardi, 23. septembre 2008 1:05 13
XXI TABLE DES MATIRES
B Sources d'information .......................................................................................... 667
Debian ........................................................................................................... 667
Fedora............................................................................................................ 667
Mandriva........................................................................................................ 667
openSUSE ..................................................................................................... 667
Red Hat.......................................................................................................... 668
SUSE ............................................................................................................. 668
Ubuntu et ses variantes .................................................................................. 668
Informations gnralistes .............................................................................. 668
Autour du logiciel libre ................................................................................. 668
INDEX ....................................................................................................................... 669
Linux Livre Page XXI Mardi, 23. septembre 2008 1:05 13
Linux Livre Page XXII Mardi, 23. septembre 2008 1:05 13
Prface
Linux fait aujourdhui partie, avec Microsoft Windows et Apple Mac OS X, des trois systmes
dexploitation les plus populaires et les plus importants sur le march des ordinateurs per-
sonnels. Il a pu conqurir une part considrable du march des serveurs, gagne lentement
mais srement en popularit sur le march des ordinateurs de bureau et fait fonctionner de
nombreux systmes embarqus (des appareils complets ne ressemblant pas des ordinateurs).
Votre routeur ADSL ou Wi-Fi est probablement bas sur Linux.
Le prjug selon lequel Linux serait difcile utiliser est aujourdhui dpass. Son utilisa-
tion est videmment diffrente de celle de Windows, mais le saut conceptuel nest pas plus
important quentre Windows XP et Windows Vista, par exemple. De plus, la plupart des
distributions Linux sont gratuites et prouves plus sres que Windows. Vous naurez ainsi
aucun problme de virus ou de chevaux de Troie.
Cet ouvrage Si Linux est aussi simple utiliser, pourquoi ce livre contient-il plus de 700 pages ? Il y a
plusieurs raisons cela :
Linux fait plus que remplacer Windows sur les ordinateurs de bureau. Il fournit
dinnombrables fonctionnalits et applications supplmentaires, depuis lautomatisa-
tion des tches quotidiennes la conguration de serveurs rseau. Les concepts de navi-
gation web, de courrier lectronique et de suite bureautique vous sont sans doute
familiers, mais ces thmes plus complexes demandent un traitement plus fouill.
Il nexiste pas un Linux, mais plusieurs distributions Linux. Pour simplier, une distri-
bution est un ensemble de programmes autour de Linux. Les plus connues regroupent
Debian, Red Hat, SUSE, Mandriva et Ubuntu.
Cette diversit a de nombreux avantages, mais aussi un inconvnient majeur : certains
dtails dpendent de la distribution. Ce livre essaie de suivre une approche aussi ind-
pendante de la distribution que possible. Il est cependant impossible dviter de traiter
de temps autre des diffrentes variantes : ce qui fonctionne dune manire sous SUSE
peut fonctionner diffremment sous Debian.
Pour nir, mon but est que vous utilisiez Linux, mais surtout que vous le compreniez.
Cet ouvrage peut sembler difcile daccs : vous ny trouverez pas de captures dcran
lgendes "Cliquez ici". Lobjectif est plutt dexpliquer les fondations de Linux et de
vous rapprocher de la philosophie Unix/Linux.
Si vous navez pas encore essay Linux, il est temps de procder cette premire exprience.
Linux Livre Page 1 Mardi, 23. septembre 2008 1:05 13
LINUX 2
Si vous le connaissez dj, cet ouvrage rpondra de nombreuses questions et vous fera
voluer vers le statut dutilisateur avanc. Lorsque vous laurez lu, vous saurez crer des
rgles de pare-feu avec iptables et mettre en place des machines virtuelles avec Xen. Vous
serez laise avec Linux au point de pouvoir lire et comprendre nimporte quel ouvrage pro-
fessionnel sur Linux ou Unix, quil sagisse dun livre sur la conguration dun serveur de
courrier lectronique ou sur ladministration de rseaux htrognes. En rsum, ce livre
vous offre les fondations de vos connaissances sur Linux.
Jutilise moi-mme Linux depuis environ 15 ans et je ne lai jamais regrett. Permettez-moi
de vous transmettre mon enthousiasme pour Linux !
Michael Koer, juillet 2007
Remerciements Je tiens remercier :
Linus Torvalds, qui a apport sa pierre (son noyau ?) ldice ;
les milliers de dveloppeurs qui ont fait de Linux un systme complet formidable ;
Margot Neuschmied, pour sa trs belle image de couverture de ldition allemande ;
lditeur Addison-Wesley, qui ma donn le temps dont javais besoin pour crire ce
livre ;
ainsi quHeidi, Sebastian et Matthias, qui ce livre est ddi.
Conception
Ce livre se dcoupe en 6 parties, compltes de deux annexes :
La Partie 1 (Chapitres 1 5) sert dintroduction et vous accompagne dans vos premiers
pas sous Linux, depuis linstallation jusqu lutilisation des systmes graphiques
Gnome et KDE.
La Partie 2 (Chapitres 6 11) dcrit les applications du systme Linux. Vous trouverez
des trucs et astuces associs la navigation web, aux clients de courrier lectronique, au
travail bureautique avec OpenOfce.org, au tri des photos ou encore la retouche photo
avec Gimp.
La Partie 3 (Chapitres 12 19) sintresse aux fondations de Linux et ses outils. Le livre
devient alors plus technique. Vous dcouvrirez comment parcourir le systme de
chiers, convertir les documents et les images dans un autre format, et utiliser efcacement
linterprteur de commandes bash.
La Partie 4 (Chapitres 20 25) traite de la conguration. Que vous ayez des problmes
avec votre matriel ou des besoins trs spciques, vous apprendrez administrer votre
systme de chiers, congurer votre systme graphique (y compris les graphismes 3D
et le bureau 3D), installer et actualiser des paquets, modier le dmarrage de votre
systme, ainsi quajuster et compiler le noyau et ses modules.
La Partie 5 (Chapitres 26 30) explique la conguration du rseau, depuis le client
(rseau local, rseau sans l, modem, RNIS, ADSL) jusquau serveur (passerelle Internet,
DNS, NFS, Samba, etc.). Nous parlerons aussi de la scurit et en particulier des pare-
feu qui empchent toute intrusion dans votre rseau depuis lextrieur.
Linux Livre Page 2 Mardi, 23. septembre 2008 1:05 13
3 PRFACE
La Partie 6 (Chapitres 31 33) voque le thme de la virtualisation. Elle montre comment
lancer des programmes Windows grce Wine et mettre en place des machines virtuelles
qui peuvent accueillir des systmes Linux ou Windows, grce VirtualBox et Xen.
Les Annexes A et B fournissent des pointeurs vers les diffrentes distributions et les
documentations associes, ainsi quune brve rfrence thmatique des commandes.
Ce que vous ne trouverez pas dans cet ouvrage
Linux est trop vaste pour tre dcrit entirement dans un livre. notre grand regret, voici
les lments non traits dans cet ouvrage :
Matriel. Ce livre dcrit uniquement le matriel que jai pu tester moi-mme. Il est
impossible daborder toutes les variantes de matriel. Si vous dsirez mettre en service
du matriel moderne sous Linux, explorez Internet.
Programmation. Ce livre ne traite pas vraiment de programmation. Nous ne parlerons
ni de langages de programmation, ni des lments internes du noyau. Nous expliquerons
en revanche comment recompiler un noyau, mais des connaissances en programmation
ne sont pas ncessaires.
Administration rseau et systme. Nous nous limiterons aux besoins dun utilisateur
priv qui connecte son propre ordinateur Internet et qui administre un petit rseau
local. Si vous dsirez utiliser Linux sur un serveur dans un gros rseau et adopter la
scurit et les considrations de performances correspondantes, vous devrez vous pencher
sur des ouvrages plus avancs.
Applications multimdias. Ce livre ne traite que des lments de base en ce qui concerne
le multimdia (lecture audio et vido, gravure de CD et DVD).
Programmes commerciaux. quelques exceptions prs (CrossOver, VMware), cet ouvrage
fait limpasse sur les programmes commerciaux.
Styles utiliss dans ce livre
Ce livre fournit souvent des commandes. Les parties effectivement saisies sont donc distin-
gues par du gras. Le reste des listings se compose de linvite de commande (qui dpend du
systme) et des sorties des commandes. Dans lexemple suivant, seul ls *.jpg est saisi et
permet dafcher la liste de tous les chiers .jpg du rpertoire.
utilisateur$ ls *.jpg
dscf2532.jpg
dscf2533.jpg
dscf2534.jpg
...
root Certaines commandes ne peuvent tre lances que par ladministrateur du systme, root.
La reprsentation de ces commandes commence alors par root# :
root# /etc/init.d/nfs restart
Linux Livre Page 3 Mardi, 23. septembre 2008 1:05 13
LINUX 4
sudo Dans certaines distributions (par exemple, Ubuntu), le compte root est dsactiv. Dans ce
cas, les commandes systme sont lances laide de sudo. Vous devez alors donner votre
mot de passe, ce qui ne sera pas indiqu systmatiquement dans le livre. Vous trouverez
plus dinformations sur sudo au Chapitre 14.
utilisateur$ sudo /etc/init.d/nfs restart
Password: *********
Commandes
sur plusieurs
lignes
Si certaines commandes sont trop longues pour tenir sur une seule ligne, elles sont crites
sur plusieurs lignes, qui sont spares par le caractre \. Vous pouvez dans ce cas taper la
commande en une ligne sans les caractres \ ou la sparer en plusieurs lignes comme dans
le livre. \ peut aussi tre utilis sous Linux comme caractre permettant dexcuter une
commande de plusieurs lignes.
Linux Livre Page 4 Mardi, 23. septembre 2008 1:05 13
PARTIE 1 PREMIERS PAS ET INSTALLATION
1
Quest-ce que Linux ?
Quest-ce que Linux ? Pour rpondre cette premire question, nous allons
expliquer quelques concepts utiliss tout au long de cet ouvrage : le systme
dexploitation, Unix, les distributions, le noyau, etc. Un aperu rapide des
caractristiques de Linux et des applications disponibles rend vidente la
richesse des utilisations de ce systme.
Ce chapitre est un court survol de lhistoire encore jeune de Linux. Vous dcou-
vrirez comment Linux a t dvelopp et sur quels composants il est bas. La
GPL (General Public License) est bien sr un point majeur de cette histoire : elle
dnit sous quelles conditions Linux peut tre redistribu. Elle fait de Linux un
systme libre, o "libre" signie bien plus que simplement "gratuit".
1.1 Introduction
Linux est un systme dexploitation comparable Unix. La diffrence majeure
tient au fait que Linux peut tre copi avec lintgralit de son code source (pour
plus de dtails sur les conditions sous lesquelles Linux et les programmes quil
contient peuvent tre redistribus, voir section 1.4).
Systme
dexploitation
Un systme dexploitation est un ensemble de programmes prenant en charge les
fonctions les plus basiques dun ordinateur : linterface entre lutilisateur et la
machine (gestion du clavier, de lcran, etc.), ainsi que la gestion des ressources
du systme (capacit mmoire, disque dur, etc.). Un systme dexploitation est
ncessaire pour lancer des applications et enregistrer des donnes dans un chier.
Au cours de lhistoire de linformatique, diffrents systmes dexploitation ont t
dvelopps. Jusquici, vous avez probablement t en contact avec lun des
nombreux systmes dexploitation Windows (3.1, 95, 98, SE, ME, NT, 2000, XP,
2003, Vista), voire avec leur prdcesseur, MS-DOS. On peut citer dautres sys-
tmes dexploitation, comme ceux des ordinateurs Apple et des ordinateurs
dj oublis, Commodore Amiga et Atari ST.
Unix Bien avant tous ces systmes dexploitation, il y avait Unix. Dun point de vue
historique, ce dernier est considr comme un systme dexploitation trs
ancien. Pourtant, il sagit dun systme moderne, quip ds le dpart de fonc-
tionnalits qui ne sont apparues sous une forme comparable chez Microsoft que
bien plus tard (avec Windows NT). Unix fournissait dj un environnement
multitche, une sparation des processus (et donc une plus grande stabilit),
des droits daccs clairs pour les chiers (et donc davantage de scurit dans le
cadre dun systme multi-utilisateur), des fonctions rseau sophistiques, etc.
Mais Unix noffrait, il y a encore une ou deux dcennies, quune interface
Linux Livre Page 5 Mardi, 23. septembre 2008 1:05 13
LINUX 6
utilisateur spartiate et avait des besoins matriels importants. Cest pourquoi Microsoft ou
Apple, malgr des systmes dexploitation moins spectaculaires, ont eu nettement plus de
succs quUnix, qui est rest cantonn aux stations de travail coteuses en environnement
scientique ou technique.
Linux Linux nest en thorie quune nouvelle variante dUnix. On compte au nombre de ses parti-
cularits la mise disposition gratuite de son code source et la prise en charge de matriels
trs divers. La large diffusion de Linux ces dernires annes, ainsi que lexplosion dInternet
et des besoins associs en serveurs stables, extensibles et performants ont offert une nouvelle
jeunesse au monde dUnix, que lon avait probablement enterr prmaturment.
Unix est ici utilis comme un terme gnrique qui regroupe divers systmes dexploitation drivant
dUnix. Leur nom se termine parfois en -ix (Irix, Xenix, etc.), mais ce nest pas une rgle absolue (HPUX,
Solaris, etc.). Ces noms sont gnralement des marques dposes par leurs dtenteurs respectifs. Unix
est lui-mme une marque dpose. Les droits associs ont chang plusieurs fois de propritaire ces
dernires annes.
Vous pouvez installer plusieurs systmes dexploitation en parallle sur votre ordinateur. Le menu de
dmarrage vous offre alors le choix de dmarrer lun de ces systmes, quil sagisse de Windows, de
Linux ou dun autre systme dexploitation. Vous pouvez de plus accder votre systme de fichiers
Windows sous Linux.
Noyau
Le terme Linux ne recouvre, strictement parlant, que le noyau. Il sagit de la partie la plus
interne dun systme dexploitation, qui contient les fonctions les plus lmentaires comme
la gestion du disque, la gestion des processus et le contrle du matriel. Les informations
contenues dans ce livre se basent sur le noyau 2.6.
Comme Linux est toujours activement dvelopp, de nouvelles versions du noyau voient
constamment le jour. Mais nayez crainte : lorsque le noyau Linux fonctionne de manire
stable sur votre ordinateur, il est rare de devoir le modier. La plupart des distributions
soccupent des mises jour de scurit ncessaires.
Nous parlerons plus en dtail du noyau et de ses caractristiques au Chapitre 25. Nous
dcrirons galement comment compiler votre propre noyau.
Attention ne pas confondre les diffrents numros de version de Linux : le noyau en possde
un, tout comme les bibliothques, les compilateurs, les programmes, les distributions, etc.
Tous ces numros de version sont indpendants les uns des autres. La meilleure description
de votre systme Linux est le nom et le numro de version de votre distribution, par exemple
Ubuntu 8.04.
Caractristiques du noyau
Linux est un systme multitche (plusieurs processus peuvent fonctionner en mme
temps), multi-utilisateur (plusieurs utilisateurs peuvent lutiliser en mme temps), qui
prend en charge la pagination (le transfert de donnes de la mmoire au disque dur
Linux Livre Page 6 Mardi, 23. septembre 2008 1:05 13
7 QUEST-CE QUE LINUX ?
lorsquil ny a plus assez de RAM disposition), les bibliothques partages (celles qui
contiennent les fonctions du systme ne sont charges quune seule fois, mme lorsque
plusieurs processus les utilisent), la communication interprocessus et le multitraitement
(souvent appel SMP pour Symmetric Multi Processing, qui recouvre lutilisation de
plusieurs processeurs ou curs de processeurs).
Linux permet dexploiter pratiquement toute la gamme de matriel PC. En dehors des
plateformes de type Intel, il existe galement des versions pour dinnombrables archi-
tectures. Linux fonctionne aussi sur des stations de travail Sun, des ordinateurs Apple,
etc. Linux devient galement de plus en plus populaires sur les systmes embarqus,
qui ne sont pas proprement parler des PC. Si vous possdez par exemple un routeur
Wi-Fi, il est possible quil tourne sous Linux !
Linux permet dutiliser de nombreux systmes de chiers. Le systme ext3 est un des
plus frquents. Les fonctions de journalisation sassurent que le systme peut tre red-
marr trs rapidement aprs un arrt inopin (comme lors dun orage). Les pertes de
donnes sont mme dans ce cas improbables.
Linux fournit galement une large palette de protocoles rseau (TCP/IP, y compris
IPv6, IPsec, PPP, etc.).
Prise en charge du matriel
Linux prend en charge presque tout le matriel PC. Il existe cependant quelques exceptions :
Les cartes graphiques trs rcentes ne sont souvent pas prises en charge, ou partiellement.
Les fabricants de matriel (ATI, NVIDIA) fournissent des pilotes pour quelques cartes,
mais leur intgration Linux peut tre difcile.
Les ordinateurs portables rcents incluent souvent du matriel que Linux ne peut pas
utiliser, ou partiellement.
Les ordinateurs portables ont presque toujours une carte Wi-Fi. De nombreux modles
standard sont facilement pris en charge, mais les modles rcents ou exotiques posent
souvent problme.
Les priphriques spciques Windows, comme les imprimantes GDI, les Winmo-
dems et certains scanners, sont une autre source de problmes. La particularit de ces
priphriques est quils nutilisent pas de standards ouverts, mais fonctionnent avec des
pilotes dvelopps uniquement pour Windows. Le dveloppement de pilotes pour
Linux choue souvent du fait que les fabricants ne fournissent aucune spcication ou
interdisent lutilisation de ces spcications dans du code libre.
Pour toutes ces raisons, avant de vous dcider pour lachat dun nouvel ordinateur ou dune
extension matrielle, vriez que tous les composants sont pris en charge sous Linux. Les
pages web suivantes contiennent des informations utiles. Un bon point de dpart est le
Hardware-HOWTO (attention, sa traduction franaise nest pas toujours jour). Vous trou-
verez ces liens, sous leur forme actualise, sur ma page web http://www.koer.cc.
Linux Livre Page 7 Mardi, 23. septembre 2008 1:05 13
LINUX 8
1.2 Distributions
Nous navons pas encore rpondu compltement la question initiale : "Quest-ce que
Linux ?". La plupart des utilisateurs sintressent peu au noyau, tant quil fonctionne et quil
prend en charge le matriel prsent. Pour eux, le terme Linux regroupe un ensemble de pro-
grammes, gnralement fournis par la distribution. Cest sous cette acception quest gnra-
lement reconnu Linux : un noyau, auquel sont ajouts de nombreux petits outils, les
environnements de bureau KDE et Gnome, diffrents paquetages de bureautique, le pro-
gramme graphique Gimp, dinnombrables langages de programmation et au moins autant
de programmes serveur (serveur web, serveur de courrier lectronique, serveur de chiers,
serveur dimpression, etc.).
Cette unit compose du noyau et de ses programmes complmentaires est appele distri-
bution. Elle permet dinstaller Linux rapidement et confortablement. Les distributions sont
pour la plupart disponibles lachat sous forme de CD ou de DVD et peuvent gnralement
tre tlcharges sur Internet. En raison de la taille des donnes (souvent plusieurs gigaoc-
tets), la copie dune distribution ou son installation directement sur le rseau demande une
excellente connexion Internet.
Les distributions se diffrencient principalement sur ces points :
tendue et actualit. Le nombre, le choix et lactualit des programmes et des bibliothques
fournis diffrent selon les distributions. Certaines se rengorgent du nombre de CD fournis.
Pages web sur le thme du matriel sous Linux
Aperu : http://www.tldp.org/HOWTO/HOWTO-INDEX/hardware.html
Traduction du
Hardware-HOWTO : http://www.traduc.org/docs/HOWTO/vf/Hardware-HOWTO.html
Hardware4Linux : http://hardware4linux.info/
Cartes graphiques : http://wiki.x.org/wiki/VideoDrivers
Imprimantes : http://www.linuxprinting.org
Scanners : http://www.sane-project.org/
Winmodems : http://linmodems.org
Wi-Fi : http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Wireless.html
USB : http://www.linux-usb.org
Firewire : http://www.linux1394.org/
Portables : http://www.linux-on-laptops.com
http://tuxmobil.org/
http://tuxmobil.org/lang_french.html
SUSE/Novell : http://fr.opensuse.org/Matriel
http://cdb.suse.de
Red Hat : https://hardware.redhat.com/
Mandriva : http://club.mandriva.com/xwiki/bin/view/KB/HardwareIndex#cd
Ubuntu : http://doc.ubuntu-fr.org/materiel
Linux Livre Page 8 Mardi, 23. septembre 2008 1:05 13
9 QUEST-CE QUE LINUX ?
Pour viter aux utilisateurs de devoir changer trop souvent de CD lors de linstallation
ou des mises jour ultrieures, certaines distributions fournissent galement des DVD.
Outils dinstallation et de conguration. Les programmes dinstallation, de congura-
tion et de maintenance du systme aident modier les centaines de chiers de congu-
ration du systme de manire simple. Des outils fonctionnels pour linstallation et la
conguration reprsentent dnormes conomies de temps.
Conguration du bureau (KDE, Gnome). La plupart des distributions offrent le choix
lutilisateur entre KDE, Gnome et dventuels autres gestionnaires de fentres. Certai-
nes diffrences existent galement dans la conguration de dtail de KDE ou de Gnome,
touchant laspect extrieur, lordre des menus, etc.
Reconnaissance et conguration du matriel. Linux gre la majorit du matriel PC. Il est
donc agrable que les distributions dtectent automatiquement le matriel et permettent
de lutiliser immdiatement. Si cela ne fonctionne pas, il faut bien souvent en passer par
une conguration manuelle, ce que la plupart des utilisateurs de Linux redoutent.
Systmes de paquetages. On administre les applications grce aux paquetages. Le sys-
tme de paquetages inue sur la facilit dinstallation de programmes supplmentaires
et de mise jour des programmes. Il existe principalement trois systmes de paquetages
incompatibles entre eux : RPM (utilis entre autres chez Mandriva, Red Hat et SUSE),
DEB (Debian, Ubuntu) et TGZ (Slackware).
Maintenance et mises jour de scurit. Linux est un systme trs dynamique. Mme
aprs la sortie dune distribution, de nombreuses nouveauts importantes apparais-
sent : des failles de scurit sont souvent dcouvertes dans divers programmes. Une
bonne distribution se diffrencie par le fait quil existe un systme de mises jour semi-
ou entirement automatique pour les installer sans effort.
La priode pendant laquelle les mises jour de scurit sont disponibles prend une
importance croissante. La rgle de base est gnralement celle-ci : plus la distribution
est chre, plus cette priode est longue.
Voici quelques exemples : pour Fedora, cette priode est denviron 13 mois (un mois aprs la
sortie des deux versions suivantes) ; pour Ubuntu Linux, 18 mois en circuit normal et trois
cinq ans pour les versions LTS (actuellement 6.04 et 8.04) ; pour openSUSE, deux ans ; pour
Red Hat Enterprise Linux, cinq ans ; et pour Novell/SUSE Enterprise Server, cinq ans.
Ces donnes taient valables en 2007. Chercher la priode de disponibilit des mises jour
sur le site web des distributions est nanmoins fastidieux. En dehors des produits entreprise
les plus chers, aucune distribution ne veut apparemment indiquer la dure de la priode
dassistance. Mais en principe, vous ne pouvez utiliser une distribution de manire sre
que pendant le laps de temps au cours duquel vous pouvez obtenir des mises jour. Aprs
cette priode, vous devez passer une version plus rcente pour des raisons de scurit.
Disponibilit des sources de paquetages. quoi bon bncier du meilleur systme
de paquetages et des mises jour les plus actuelles si le dpt de paquetages sur Inter-
net nest disponible que la moiti du temps ou sil est horriblement lent ? Il est malheu-
reusement difcile dobtenir des rfrences sur ce point. Les dpts de paquetages de
petites distributions moins rpandues sont souvent plus facilement accessibles que ceux
des grosses distributions, qui distribuent des mises jour des milliers dutilisateurs
Linux Livre Page 9 Mardi, 23. septembre 2008 1:05 13
LINUX 10
quotidiennement. Mais si la distribution devient soudainement populaire, la situation
peut trs vite sinverser... De plus, les grosses distributions ont plus de chances davoir
un ou plusieurs miroirs distribuant leurs mises jour.
Existence dun systme "live". Quelques distributions permettent dutiliser Linux
directement depuis un CD-ROM. Cette utilisation est certes lente et peu souple, mais
permet dessayer Linux trs simplement. De plus, un live CD est une solution idale
pour rparer un systme Linux prsent sur le disque dur, mais endommag.
Plateformes cibles (architecture du processeur). De nombreuses distributions ne fonc-
tionnent que sur les processeurs compatibles Intel ou AMD, et fournissent en gnral
une variante 32 bits et 64 bits. Il existe galement des distributions pour dautres plate-
formes, par exemple Sparc (Sun) ou PowerPC.
Documentation. Il existe de grandes diffrences dans la qualit et la quantit des docu-
mentations disponibles.
Assistance. Quelques distributions fournissent une assistance gratuite pour linstallation
(par courrier lectronique ou tlphone).
Prsence de logiciels commerciaux. Certaines distributions offrent non seulement les
paquetages Linux libres, mais aussi des programmes sous licence commerciale.
Licence. La plupart des distributions Linux sont disponibles sans limitation gratuite-
ment sur Internet. Certaines posent cependant quelques limites. Les distributions
dentreprise de Red Hat et de Novell noffrent un accs au systme de mises jour qu
leurs clients enregistrs. Certaines distributions interdisent la revente. Comme Linux et
la plupart des programmes fournis sont disponibles librement (voir section 1.4 sur les
licences), cette interdiction de revente sapplique principalement lutilisation des mar-
ques dposes. Les restrictions de redistribution sappliquent galement lorsque la distri-
bution fournit des logiciels commerciaux.
Distributions
commerciales
Lallgation de gratuit de Linux est en contradiction avec le prix de certaines distributions,
pour la plupart penses pour les entreprises. On peut cependant en comprendre facilement
la raison : mme si Linux et la plupart des applications sont effectivement disponibles gra-
tuitement sur Internet, lassemblage des composants demande du temps et du savoir-faire.
Un bon programme dinstallation vaut souvent le prix de la distribution ! Il permet dcono-
miser du temps dinstallation et de conguration aux nouveaux venus Linux.
La production dun ou de plusieurs CD, tout comme limpression dun manuel cotent ga-
lement de largent. Un bon service de mises jour est tout aussi important : il propose de
nouvelles versions des programmes impacts par une faille de scurit. Pour nir, il ne faut
pas ngliger lassistance personnelle propose par certaines distributions pour rgler les
problmes dinstallation. Une distribution est dautant plus chre quelle fournit de nombreux
programmes commerciaux.
En dautres mots, dans une distribution commerciale, vous ne payez pas le logiciel en soi,
mais les services associs.
Distributions
gratuites
Malgr la commercialisation grandissante du march Linux, il existe encore de nombreuses
distributions entirement gratuites. Les acteurs populaires sont actuellement Debian,
Fedora, SUSE et Ubuntu.
Dans le cas de ces distributions, vous tlchargez les chiers ISO sur Internet et les gravez
vous-mme en CD ou DVD dinstallation. Si votre accs Internet est trop lent, des entreprises
proposent ces CD et DVD bas prix (par exemple, en France, http://www.ikarios.com/).
Linux Livre Page 10 Mardi, 23. septembre 2008 1:05 13
11 QUEST-CE QUE LINUX ?
Quelle
distribution
pour quel
but ?
Dterminer la meilleure distribution et laquelle conseiller qui tient souvent de la guerre de
religions. Lorsquon a choisi une distribution et que lon sest habitu ses particularits, il
est difcile den changer. Cela nest faisable quen rinstallant lensemble du systme, ce qui
peut savrer fastidieux.
Les critres de choix dune distribution sont lactualit de ses composants (version du noyau
et des programmes importants, comme le compilateur C ou les environnements de bureau),
la qualit des outils dinstallation et de conguration, lassistance fournie, la prsence dun
manuel, etc.
La concurrence des distributions pour leur dveloppement est stimulante ; installer des programmes non four-
nis par la distribution (en particulier, les programmes commerciaux) peut savrer dlicat. Une bibliothque
manquante ou trop ancienne est souvent la raison pour laquelle un programme ne se lance pas. liminer ce
type de problmes est presque impossible, en particulier pour les dbutants. Aujourdhui, certaines entreprises
nassurent lassistance sur leurs produits que lorsquils sont utiliss avec une distribution donne (et la
distribution choisie diffre bien videmment dune entreprise lautre).
Pour viter ce genre de problmes, le projet Linux Standard Base a t cr. La spcification LSB dfinit
des rgles qui sont un dnominateur commun toutes les distributions qui font partie du projet LSB :
http://www.linuxbase.org.
Quelques distributions Linux courantes
La liste suivante des distributions les plus importantes (dans lordre alphabtique et non
exhaustive) offre une premire orientation. Notez cependant que le paysage des distribu-
tions Linux se transforme rapidement. De nouvelles distributions apparaissent et gagnent
vite en popularit (effet de mode important), tandis que dautres perdent rapidement leur
importance ou sont mme abandonnes. Cette section nest quun instantan, en aucun cas
objectif, de la situation du march en 2008.
Debian
www.debian.
org
Debian est la plus ancienne des distributions totalement gratuites. Elle a t compose par
des dveloppeurs Linux engags, qui mettent en avant sa grande stabilit et le respect des
rgles du jeu du logiciel libre. Linterprtation stricte de cette philosophie a entran plu-
sieurs reprises des retards dans lachvement de nouvelles versions. Mais certaines ides de
Debian (par exemple, le gestionnaire de paquetages trs professionnel) ont t dcisives
pour dautres distributions.
Debian contient des versions de programmes plutt anciennes. En raison des aides limites
la conguration, elle nest pas conseille aux dbutants sous Linux. Il existe cependant de
nombreuses distributions drives de Debian (par exemple, Ubuntu et Xandros), plus adaptes
ces derniers.
Fedora
www.fedora
project.org
Fedora (anciennement Fedora Core) est la branche de dveloppement gratuite de Red Hat
Linux. Son dveloppement est gr et assist par Red Hat. La communaut open-source est
invite apporter son aide, mais a peu dinuence sur les dcisions stratgiques.
Linux Livre Page 11 Mardi, 23. septembre 2008 1:05 13
LINUX 12
Une nouvelle version de Fedora sort environ tous les six mois. Les mises jour sont fournies
jusqu un mois aprs la sortie des deux versions suivantes. La dure de vie dune version
est donc denviron 13 mois, ce qui est plutt court. Red Hat fait clairement remarquer que
Fedora ne vise pas une utilisation commerciale. Au cours des dernires annes, elle sest ta-
blie comme une distribution moderne et incroyablement robuste, dont la courte dure de
mises jour est le principal dfaut.
Pour Red Hat, Fedora est une manire de tester les nouvelles fonctionnalits sans mettre en
pril la stabilit des versions entreprise. Les programmes qui font leurs preuves sont plus
tard intgrs ces dernires. Pour les fans de Linux, lintrt de Fedora rside dans le fait
quelle joue un rle de prcurseur dans le dveloppement technique de Linux. Les nouvelles
fonctionnalits de Linux se trouvent bien souvent dabord dans Fedora, avant dtre reprises
dans les autres distributions.
Gentoo
www.gentoo.
org
Gentoo vise les dveloppeurs et les utilisateurs qui dsirent une exibilit et un contrle
optimal de leur distribution. Sa particularit est que chaque paquetage de programme peut
tre compil et ainsi optimis pour le matriel sur lequel il fonctionne. Les professionnels de
Linux peuvent bien sr compiler leurs propres programmes sur nimporte quelle distri-
bution, mais Gentoo les assiste trs bien grce des outils de conguration adapts.
Knoppix
www.knoppix.
net
La spcicit de Knoppix est quelle ne doit pas ncessairement tre installe sur le disque
dur. Elle fonctionne directement depuis le live CD. Knoppix drive de Debian. Parallle-
ment au systme original assembl par Klaus Knopper, il existe dinnombrables variantes,
qui diffrent de par les programmes (par exemple, pour des applications scientiques) ou
les langues proposes (espagnol, japonais, etc.). La version la plus connue de Knoppix en
franais, compose par le groupe Linux Azur, se nomme Kaella.
Il existe de nombreux autres systmes "live", tels que Kantonix, Slax, Ubuntu, Mandriva
One, etc. Cest cependant Klaus Knopper qui a aid rpandre ces systmes.
Mandriva
www.mandri
va.com
Mandriva provient de la fusion entre Mandrake Linux (France) et Connectiva (Brsil). Man-
drake Linux tait lune des plus grandes distributions aux cts de Red Hat et de SUSE.
Aujourdhui, sa popularit tend dcrotre en dehors des pays dorigine (Mandriva reste
nanmoins trs prsente en France).
Novell
www.novell.
com/linux
Novell, qui a achet en novembre 2003 lentreprise allemande SUSE, est actuellement le
numro 2 du march commercial de Linux. Tout comme Red Hat, Novell suit deux chemins.
Dune part, diverses distributions destination des entreprises sont commercialises sous
les noms Novell et SUSE. Dautre part, la distribution openSUSE est gratuite et vise les utili-
sateurs privs et les dveloppeurs de Linux (voir ci-aprs).
Au printemps 2006, Novell a tabli un accord avec Microsoft qui la protge des procs lis aux
brevets de Microsoft. Ce qui semble premire vue un grand pas en avant pour Linux est en fait
considr dun il critique par de nombreux dveloppeurs de logiciels libres : laccord Novell/
Microsoft est-il le pralable des procs sur les brevets envers dautres entreprises Linux ?
Red Hat
www.redhat.
com
Red Hat est lentreprise Linux la plus rpute sur le plan international. Ses distributions
dominent le march amricain. Le systme de paquetages bas sur le format RPM (dve-
lopp par Red Hat) a t repris par de nombreuses distributions.
Red Hat est particulirement connue des entreprises. Les versions entreprise (RHEL ou Red
Hat Enterprise Linux) sont comparativement plus chres, mais offrent une grande stabilit et
Linux Livre Page 12 Mardi, 23. septembre 2008 1:05 13
13 QUEST-CE QUE LINUX ?
une politique de mises jour valable cinq ans. Les dveloppeurs et les utilisateurs enthousias-
tes qui cherchent un systme Red Hat gratuit peuvent se tourner vers Fedora (voir ci-dessus).
Slackware
www.slack-
ware.com
Lance en 1994, Slackware est lune des plus anciennes distributions Linux. lpoque, les
CD nexistaient pas et taient remplacs par des douzaines de disquettes. Aujourdhui,
Slackware ne parvient plus concurrencer les autres distributions en ce qui concerne la
maintenance et linstallation. Elle conserve malgr tout de nombreux fans, qui prfrent
la continuit et la stabilit de jolis outils dinstallation et de conguration.
SUSE/
openSUSE
www.opensu
se.org
SUSE tait, jusqu son rachat par Novell, lentreprise dominante du march Linux euro-
pen, en particulier dans les pays germanophones. Cette marque dpose est utilise pour
diverses distributions commerciales de Novell. Il existe galement la distribution gratuite
openSUSE, qui vise les utilisateurs privs et les dveloppeurs de Linux.
Comme Fedora, openSUSE sert de laboratoire de dveloppement et de test pour les ver-
sions entreprise. Le processus de dveloppement a t rorganis en 2005. Depuis cette
date, les bta-tests, les listes de discussion et la base de donnes de bogues, ainsi que la
distribution termine sont accessibles gratuitement. Contrairement Fedora, openSUSE
est toujours disponible en tant que bote contenant un manuel dutilisation et une assis-
tance. La priode de mises jour de deux ans se dmarque galement de celle de Fedora,
plus minimaliste.
Ubuntu Ubuntu est une distribution rcente trs intressante. Lance en octobre 2004, elle est
aujourdhui la distribution Linux la plus populaire. Une nouvelle version sort tous les six
mois et peut tre utilise pendant au moins 18 mois.
Base sur Debian, Ubuntu est plus simple dutilisation. Le mdia dinstallation est parti-
culirement petit : un seul CD suft. Au besoin, dinnombrables paquetages peuvent tre
installs depuis Internet. Ubuntu, ainsi que ses mises jour, sont disponibles gratuitement.
Elle est commercialement prise en charge par lentreprise Canonical (fonde par le sud-
africain Mark Shuttleworth et dont le sige se situe sur lle de Man).
Ubuntu est base sur Gnome, mais prsente de nombreuses variantes comme Kubuntu
(avec KDE), Xubuntu (avec XFCE comme gestionnaire de fentres), Edubuntu (pour les coles)
et Ubuntu Server (spcialis dans les applications serveur).
Xandros Xandros est une distribution commerciale base sur Corel (Corel a tent dentrer dans le
march Linux en 1999, mais a chou ; Xandros a rachet Corel Linux). Grce une utilisa-
tion simplie, elle vise surtout les dbutants et les personnes venant de Windows. De nom-
breux tests lont dcrite comme la distribution la plus accessible aux utilisateurs. Certaines
versions contiennent CrossOver Ofce, qui permet linstallation et lutilisation de Microsoft
Ofce sous Linux. Xandros a rcemment fait beaucoup parler delle, du fait de son installation
par dfaut sur les PC ultraportables EEE dAsus.
Vous trouverez sur les pages suivantes un aperu des distributions les plus populaires du moment, quelles
soient commerciales ou non : http://www.distrowatch.com/ ; http://lwn.net/Distributions/ ; http:/
/www.linuxhq.com/dist.html
Linux Livre Page 13 Mardi, 23. septembre 2008 1:05 13
LINUX 14
Distributions minimales
En plus des "grosses" distributions prsentes dans la section prcdente, il existe sur Inter-
net dinnombrables assemblages de systmes miniatures (pouvant mme tenir sur une dis-
quette !). Ces distributions se basent pour la plupart sur des versions du noyau plus
anciennes et plus petites. Elles sont conues avant tout pour des tches spcialises, quil
sagisse de maintenance (systme de secours) ou de systmes utilisables sans installation
(qui se lancent directement depuis une ou plusieurs disquettes ou un CD). Celles-ci sont
pratiques pour utiliser Linux sur un ordinateur qui ne vous appartient pas et sur lequel
vous ne voulez ou pouvez pas partitionner le disque.
Devil Linux Devil Linux est un exemple typique de petite distribution Linux, qui vise construire un
pare-feu, un routeur ou une passerelle Internet. Elle fonctionne directement depuis un CD ;
les paramtres de conguration sont enregistrs sur une disquette ou sur une cl USB (le
disque dur est donc accessoire !). Les besoins matriels sont galement trs restreints : un
processeur compatible avec un Intel 486 et 32 Mo de RAM sufsent.
Damn Small
Linux
Damn Small Linux est une autre distribution minimale populaire. Elle tient sur un mini-CD
(environ 50 Mo), mais fournit toutes les fonctions de base dune distribution de bureau.
Problme du choix
lissue des travaux ncessaires cet ouvrage et aprs avoir install de nombreuses distri-
butions Linux, mon rve dassembler tous les avantages dune distribution sans payer le
prix de leurs inconvnients reste inassouvi.
Par consquent, il est difcile de recommander une distribution donne. Les dbutants sous
Linux peuvent nanmoins dabord utiliser une distribution trs rpandue, comme Fedora,
openSUSE, Ubuntu ou Mandriva, car ils nauront aucun problme trouver des informations
sur Internet, dans des livres ou dans la presse. Il est donc plus simple dobtenir de laide en cas
de problme. Les distributions prouves sont galement un bon choix en ce qui concerne les
aides linstallation ou la conguration de matriels inhabituels ou non standard. Pour nir,
elles facilitent largement la recherche de paquetages complmentaires ou de mises jour.
Les utilisateurs de distributions commerciales doivent dcider sils sont prts payer pour une
assistance professionnelle. Dans ce cas, leur choix peut sorienter vers les leaders du march Red
Hat et Novell. Les alternatives gratuites regroupent par exemple Debian, Ubuntu (en particulier,
les versions LTS) et les clones de Red Hat (CentOS, Scientic Linux ou encore White Box Linux).
1.3 Fantasmes et ralit
Cette section regroupe quelques prjugs contre Linux. Mon but est de prsenter une image
non biaise de Linux, sans les exagrations des fans enthousiastes, ni le sombre tableau
dpeint par ses adversaires, qui le rendent bien pire quil nest par crainte de voir leur propre
entreprise en danger.
Linux est plus
rapide que
Windows
Cette phrase nest ni correcte, ni incorrecte. Il existe, en effet, des programmes qui fonction-
nent plus vite sous Linux ou sous Windows. Mais on ne peut en tirer aucune conclusion
Linux Livre Page 14 Mardi, 23. septembre 2008 1:05 13
15 QUEST-CE QUE LINUX ?
gnrale valide. Le rsultat dpend du systme pour lequel le programme a t optimis,
des versions de Windows et de Linux, du matriel utilis, etc.
Linux utilise
moins de
ressources
que Windows
Il est vrai que Linux peut fonctionner sur un PC 486 avec quelques mgaoctets de RAM.
Mais dans cette conguration, il ne fonctionne quen mode texte, avec tout de mme plus de
fonctionnalits quune version de Windows tournant sur le mme ordinateur.
Les choses sont nanmoins diffrentes lorsquon compare une distribution rcente de Linux
avec Windows XP. Pour travailler confortablement dans un environnement graphique, tous
deux ont des besoins matriels relativement similaires.
Linux tient cependant la comparaison par rapport Windows Vista, qui ncessite pour son
interface graphique complte une conguration matrielle norme. Les effets 3D du bureau
fonctionnent sous Linux sur des ordinateurs plus anciens. On peut certes sinterroger sur la
ncessit de ces effets graphiques, que ce soit sous Linux ou sous Windows. Mais, dans tous
les cas, ils sont impressionnants. Un bureau sans effets 3D sera probablement dmod dans
deux trois ans.
Linux est
plus sr que
Windows
Tous les systmes dexploitation souffrent de problmes de scurit. En gnral, Linux sen
sort plutt bien, mais on trouve encore des failles de scurit prsentes depuis plusieurs
annes sous Linux et dautres Unix, y compris dans les programmes rseau. La sret de
Linux dpend galement de son utilisation :
Dans le cadre dune utilisation bureautique, Linux est linverse de Windows pratique-
ment exempt de virus. Il ny a eu jusquici aucun virus notable, alors que sous Windows,
ils paralysent rgulirement des entreprises entires. La raison principale est que
ladministration des droits sous Linux empche les applications courantes dendomma-
ger gravement le systme. la diffrence de Windows, il est galement dconseill sous
Linux de lancer des programmes avec des droits dadministrateur systme lorsque
ceux-ci ne sont pas strictement ncessaires.
Lorsque Linux est utilis comme serveur rseau ou Internet, la scurit dpend large-
ment de la maintenance du systme. Ces dernires annes, presque tous les problmes
de scurit ont t corrigs avant que le risque de scurit ne soit connu et puisse tre
utilis par des pirates. Si vous actualisez rgulirement les logiciels de votre ordinateur,
les intrus ont peu de chances de pouvoir pntrer dans votre systme. La plupart des
distributions fournissent des outils qui facilitent de telles mises jour.
Les grosses distributions Linux offrent en gnral un systme de mises jour pour plusieurs
annes. Vous actualisez ainsi les programmes dj installs ds quil existe une version plus
rcente ou plus sre. Le systme de mises jour fonctionne souvent trs bien, mais ncessite
une bonne connexion Internet : pour la plupart des distributions, il faut prvoir des dou-
zaines de tlchargements, parfois de plus dune centaine de mgaoctets. Les produits
Microsoft disposent dun systme comparable de mises jour depuis Windows XP SP2.
La scurit des systmes Linux dpend galement de ltendue de vos propres compten-
ces. Si un dbutant se prcipite, congure un serveur Internet et le connecte au rseau, il ne
faut pas sattendre ce que ce serveur soit scuris de manire optimale. La littrature ce
propos ne manque pas.
Linux Livre Page 15 Mardi, 23. septembre 2008 1:05 13
LINUX 16
Linux est plus
stable que
Windows
Lorsque Linux est devenu populaire, Windows 95 commenait son avance triomphale.
Lassertion "Linux est plus stable que Windows" tait alors facile corroborer. Entre temps,
Microsoft a commercialis des versions de Windows respectables et stables. Dans tous les
cas, les afrmations quant la stabilit de Linux rclament une diffrentiation importante :
Le noyau est en soi extraordinairement stable. Je travaille depuis de nombreuses annes
sous Linux et jai rarement expriment un plantage complet du systme dexploitation
(il sagissait en gnral dun problme de matriel dfectueux ou mal congur). Les
utilisateurs qui se servent de Linux comme dun serveur rseau parlent souvent de
temps de fonctionnement (uptime) de plusieurs mois. Cela signie que le systme peut
tourner pendant plus dun an sans interruption et fournir ses services sans protester. Les
redmarrages font souvent suite des mises jour du noyau. La stabilit du systme ne
fait donc aucun doute.
En revanche, si on parle de Linux en tant que systme complet avec les applications
associes (et donc dune distribution complte, avec X, KDE ou Gnome, etc.), la stabilit
apparat alors beaucoup moins bonne. En particulier, les grosses applications comme
OpenOfce.org ne sont pas labri dun plantage sous Linux. Les programmes serveur
fonctionnent cependant pour la plupart sans souci.
La stabilit de Linux dpend galement de la manire dont il est utilis. Les meilleurs rsul-
tats sont gnralement obtenus dans un contexte de serveur rseau ou de station de travail
ddie au travail scientique ou la programmation. Plus les programmes sapprochent
dune utilisation bureautique, plus vous risquez de connatre de mauvaises performances
en termes de stabilit.
Linux est
moins cher
que Windows
Cette afrmation est facile argumenter : Linux est disponible gratuitement. Elle est cepen-
dant conteste chez Microsoft, qui indique quil faut aussi prendre en compte les cots de
formation et autres (ce qui prsuppose que la connaissance de Windows est inne, mais pas
celle de Linux). De plus, toutes les distributions Linux ne sont pas gratuites. De nombreuses
entreprises optent pour les offres plus chres de Red Hat ou de Novell, qui fournissent une
meilleure assistance, des mises jour plus longues, de la maintenance, etc. Mme si lon
tient compte de ces lments, largument conomique de Linux nest pas nier.
Linux est
compliqu
installer
Lorsquon achte un PC, Windows est gnralement dj prinstall. Linstallation de Linux
est donc une complication supplmentaire. Mais elle nest pas plus complique que celle de
Windows (mais qui installe Windows soi-mme de nos jours ?).
La prise en charge des matriels rcents est cependant problmatique ; elle est en gnral
meilleure sous Windows, car chaque fabricant de composants fournit un pilote Windows
pour ses priphriques. Les pilotes sous Linux doivent souvent tre dvelopps par la commu-
naut, ce qui peut prendre du temps.
Linux est
complexe
utiliser
Ce prjug est ancien, mais il nest plus vrai, ou alors dans une trs faible mesure. Lutilisa-
tion de Linux est diffrente de celle de Windows, tout comme celle de Mac OS. La prise en
main de Linux nest vraiment pas complique, mais la perte des habitudes prises sous Windows
peut parfois tre difcile.
Linux nest pas
adapt aux
applications
multimdias
Cette afrmation dpend de ce que lon entend par "applications multimdias".
Linux peut lire ou coder les chiers audio. Il peut aussi tre utilis comme enregistreur
numrique de vido, graveur de CD et de DVD, etc. Rcuprer, modier et imprimer
des images numriques ne pose galement aucun problme.
Linux Livre Page 16 Mardi, 23. septembre 2008 1:05 13
17 QUEST-CE QUE LINUX ?
Pour linstant, Linux ne possde pas de systme de DRM (Digital Rights Management,
gestion des droits numriques), ncessaire pour exploiter les tlchargements lgaux
audio et vido. La plupart des distributions Linux ne fournissent pas non plus par
dfaut de lecteur DVD. Il existe des programmes sur Internet prvus pour cela, mais
leur lgalit dpend des pays. De plus, lutilisation des fonctions 3D des cartes graphi-
ques les plus rcentes peut tre difcile. Le matriel multimdia rcent pose galement
souvent problme sous Linux.
La tendance actuelle de lindustrie des mdias est malheureusement de supprimer de plus
en plus de droits aux consommateurs et dempcher lutilisation de Linux comme plate-
forme multimdia. Les brevets et les algorithmes de chiffrement empchent les implmenta-
tions par des logiciels libres. Cest pourquoi Linux nest pas adapt aux applications
multimdias.
Les pro-
grammes
Windows ne
fonctionnent
pas sous Linux
De nombreux programmes, comme Microsoft Ofce ou Adobe Photoshop, ne sont actuel-
lement disponibles que pour Windows et Mac OS. Ce problme peut cependant tre
contourn :
Il existe pour de nombreux programmes des quivalents sous Linux, comme Open-
Ofce.org ou le programme graphique Gimp.
Certains programmes peuvent tre lancs sous Linux grce lmulateur gratuit Wine.
Ce dernier est cependant peu intuitif et donc rserv aux utilisateurs chevronns.
CrossOver, bas sur Wine, augmente cette compatibilit. Il facilite linstallation et lex-
cution de la plupart des composants Ofce, ainsi que de quelques autres programmes.
Les outils de virtualisation tels que VMware ou Xen vont mme plus loin : ils mulent
un ordinateur complet. Vous pouvez y installer Windows et ainsi le lancer dans une
fentre. Cela fonctionne trs bien, mais ncessite du matriel puissant (en particulier,
beaucoup de RAM) et il sagit dune solution relativement chre : vous avez besoin
dune licence Windows, laquelle sajoute ventuellement celle du programme de
virtualisation.
1.4 Licences libres
Cette section traite moins de Linux que de la question des logiciels libres et des diffrentes
licences existantes. Lide de base du logiciel libre est que le code source est disponible libre-
ment et quil peut tre tendu ou modi par quiconque. Une restriction peut nanmoins
sappliquer : quiconque distribue des produits dvelopps partir de code libre doit lui-
mme distribuer librement son code.
Le concept de logiciel libre nempche nullement la vente de produits libres. Cela peut sem-
bler premire vue contradictoire. Mais cette libert sapplique plus au code quau produit
ni. Cette libre disponibilit rglemente aussi la tarication des produits libres : quiconque
vend la compilation dun logiciel libre doit proposer dautres services (manuel, assistance,
Linux Livre Page 17 Mardi, 23. septembre 2008 1:05 13
LINUX 18
etc.) pour survivre. Si le tarif nest pas li des services, dautres entreprises trouveront le
moyen doffrir la mme chose moins cher.
GPL (General
Public License)
Le but dun dveloppeur de logiciels libres est de parvenir un systme dont le code est
librement accessible et quil le reste. Pour viter les abus, de nombreux logiciels libres sont
sous licence GNU General Public License (GPL). La GPL sappuie sur la Free Software
Foundation (FSF). Cette organisation, cre par Richard Stallman (souvent appel RMS et
auteur entre autres de lditeur Emacs), a pour but de mettre disposition du public des
logiciels libres de qualit.
Le principe de base de la GPL est que nimporte qui peut modier le code et mme vendre
le programme rsultant, mais doit alors garantir aux utilisateurs/consommateurs les
mmes droits : avoir le code source disposition, pouvoir le modier et le redistribuer
gratuitement. Tous les programmes GNU doivent tre distribus avec le texte de la GPL.
Cette dernire ne doit pas tre confondue avec le domaine public, o il nexiste aucune licence.
La GPL empche donc que quelquun dveloppe partir dun programme GPL et vende
cette nouvelle version sans fournir les modications sous forme de code source. Chaque
modication prote donc lensemble des utilisateurs.
Le texte de la GPL se trouve ici : http://www.gnu.org/licenses/gpl.html
Une version en franais, mais non valide lgalement, est consultable ladresse suivante :
http://www.linux-france.org/article/these/gpl.html
Lide de base de la GPL est facile comprendre, mais certains dtails soulvent quelques questions, dont
les rponses figurent sur cette page : http://www.gnu.org/licenses/gpl-faq.html
Versions
de la GPL
Les versions les plus utilises de la GPL sont actuellement la GPL 1 (1985) et la GPL 2 (1991).
Sortie en juin 2007, la GPL 3 ne concerne pour linstant que quelques projets. Les principales
nouveauts sont les suivantes :
Linternationalisation. La GPL 3 devrait tre compatible avec la lgislation de davan-
tage de pays.
Les brevets logiciels. Lorsquun logiciel est dvelopp et distribu sous GPL 3, ses
utilisateurs ne peuvent pas intenter de procs sur la base de brevets logiciels.
Les DRM. La GPL 3 prend position contre les DRM et indique que celles-ci sont fonda-
mentalement incompatibles avec lide de la GPL.
Ladoption de la GPL 3 reste voir. Par exemple, de nombreux dveloppeurs du noyau, y
compris Linus Torvalds, sopposent au passage du noyau sous GPL 3. Cela semble gale-
ment difcile en pratique : tous les dveloppeurs ayant particip au noyau doivent saccor-
der. De plus, certains dveloppeurs de logiciels libres sont trs critiques vis--vis des
nouveauts de la GPL 3, en particulier en ce qui concerne les brevets et les DRM. Vous trou-
verez plus dinformations sur la GPL 3 ladresse http://gplv3.fsf.org/.
LGPL (Lesser
General Public
License)
La LGPL (GNU Lesser GPL) est une variante de la GPL. La diffrence majeure est quune
bibliothque sous licence LGPL peut tre utilise par des produits commerciaux, dont le
code nest pas disponible gratuitement. Sans la LGPL, les bibliothques sous GPL ne pour-
raient tre utilises que dans des programmes GPL, ce qui serait bien souvent une restriction
non dsire pour les programmes commerciaux.
Linux Livre Page 18 Mardi, 23. septembre 2008 1:05 13
19 QUEST-CE QUE LINUX ?
Autres licences
libres
Toutes les parties dune distribution ne rpondent pas aux mmes licences. Le noyau et
de nombreux outils dpendent de la GPL, mais certains composants et logiciels ont
dautres licences :
Le systme XWindow a sa propre licence. Il a t au dpart dvelopp par luniversit
amricaine MIT. La licence est drive dune ancienne licence MIT.
Certains outils rseau sont sous licence BSD. BSD est, comme Linux, un systme Unix
libre. Cette licence est moins contraignante que la GPL, car elle permet lutilisation com-
merciale du code sans rediffusion des modications. Elle est donc intressante pour les
dveloppeurs qui ne souhaitent pas ouvrir le code de leurs produits.
Certains programmes sont sous double licence. On peut, par exemple, utiliser MySQL
pour des projets libres sous GPL gratuitement. Le dveloppement dun produit com-
mercial bas sur MySQL et sa vente (sans mettre disposition le code) imposent lutili-
sation de la licence commerciale. La diffusion de MySQL cote alors de largent.
Dautres programmes sont des programmes propritaires, mais utilisables gratuite-
ment. Un exemple connu est Adobe Reader, qui permet de lire des documents PDF.
Il peut tre utilis librement sous Linux, mais son code source nest pas disponible.
Certaines distributions distinguent les produits en fonction des droits lis leur utilisation
ou leur redistribution. Sous Debian, les programmes pouvant poser problme se trouvent
dans le rpertoire non-free.
Le maquis des licences gratuites plus ou moins libres est dlicat apprhender. La marge de concepts est
large entre linterprtation parfois extrmiste de "libre" au sens de la GPL et les clauses limitatives de certaines
entreprises qui dsirent appeler leur logiciel "libre" (puisque cest moderne), mais qui veulent en ralit garder
tout contrle sur leur code.
Pour plus dinformations sur les licences libres et open-source, reportez-vous ladresse
http://www.opensource.org.
Conflits de licences entre les logiciels libres et propritaires
Licences libres
pour les
dveloppeurs
de logiciels
Si vous souhaitez dvelopper des logiciels et les vendre avec Linux, ou combins des logi-
ciels ou des bibliothques libres, vous devrez sans doute vous dbattre dans la problmati-
que parfois complexe des diffrentes licences logicielles. En effet, de nombreuses licences
libres ne permettent la redistribution que si le code source est galement mis disposition
librement dans le cadre dune licence libre.
Il existe cependant des exceptions qui facilitent lutilisation commerciale de composants
libres. Cest par exemple le cas pour Apache et PHP, qui peuvent tre redistribus gratuite-
ment en combinaison avec un programme ferm. En ce qui concerne le serveur de bases de
donnes MySQL, si un client dsire vendre un programme bas sur ce serveur sans en four-
nir le code source, il doit se procurer une licence commerciale et payante de MySQL. Plus les
licences des composants libres sur lesquels vous vous basez sont diffrentes, plus la redistri-
bution est complique.
Linux Livre Page 19 Mardi, 23. septembre 2008 1:05 13
LINUX 20
Le respect des rgles de la GPL peut parfois tre port devant la justice. Divers cas dentreprises
ayant utilis des bibliothques libres sans mettre disposition leur code sont documents sur le
site web http://gpl-violations.org. En gnral, un accord peut tre atteint sans procs.
Problme
des pilotes
Un problme se pose pour certains composants matriels (en particulier, les cartes graphi-
ques dATI ou de NVIDIA) : leurs pilotes se composent dun petit module de noyau (libre)
et de divers programmes ou bibliothques dont le code source nest pas disponible (propri-
taire). Le module du noyau na pour but que de fournir une interface entre le noyau et le
pilote propritaire.
Pour la plupart des utilisateurs de Linux, ces pilotes sont une bonne chose : ils sont gratuits
et permettent dutiliser du matriel pour lequel il nexiste aucun pilote complet. La raison
est que les fabricants de matriel refusent de fournir les informations ncessaires au dve-
loppement de pilotes, puisquelles sont la proprit de lentreprise, qui ne dsire pas les
offrir la concurrence.
La question est donc de savoir dans quelle mesure ces pilotes, en raison des liens troits avec
le noyau (qui est lui soumis la GPL), violent la GPL. Beaucoup de dveloppeurs ne les accep-
tent qu contrecur. Une redistribution directe de ces pilotes avec des produits GPL nest pas
possible ; lutilisateur doit donc gnralement les tlcharger et les installer lui-mme. Il existe
mme des efforts visant modier le noyau pour que ce type de pilotes ne fonctionne plus.
Reste savoir si cette conception des rgles de la GPL prote ou nuit lide du logiciel
libre. Les optimistes pensent quinterdire ces pilotes obligerait les entreprises dvelopper
des pilotes libres ou fournir les spcications ncessaires ce dveloppement. Les pessi-
mistes craignent que le matriel concern ne soit plus facilement utilisable. Lissue de ce
conit nest pour linstant pas en vue.
1.5 Histoire de Linux
1982 : GNU Lhistoire de Linux pourrait dbuter avec celle dUnix, mais la place manque. Cette rtros-
pective commence donc avec la fondation du projet GNU par Richard Stallman. GNU signi-
e GNU is Not Unix, GNU nest pas Unix. Ce projet a dvelopp ds 1982 des outils libres
pour les Unix propritaires. Ces outils ont t utiliss comme version de remplacement des
composants originaux sur de nombreux systmes, quil sagisse du compilateur C GNU
GCC, de lditeur Emacs ou de divers utilitaires comme find et grep.
1989 : la GPL Il tait temps, sept ans aprs le dbut du projet GNU, de crer la premire version de la GPL.
Cette licence sassure que le code reste libre.
1991 :
le noyau Linux
version 0.01
La premire version du noyau Linux (version 0.01) a t dveloppe par Linus Torvalds
Helsinki. Le code du programme a t distribu en septembre 1991 sur Internet. Trs vite,
des programmeurs du monde entier se sont intresss cette ide et ont dvelopp des
extensions : un meilleur systme de gestion de chiers, des pilotes pour divers composants
matriels, des programmes supplmentaires comme un mulateur DOS, etc. Tous ces com-
posants ont t mis disposition gratuitement et le systme complet a grandi une vitesse
hallucinante. Le dveloppement de ce nouveau systme dexploitation naurait pas t possible
sans la communication entre les programmeurs du monde entier via Internet.
Linux Livre Page 20 Mardi, 23. septembre 2008 1:05 13
21 QUEST-CE QUE LINUX ?
Ds que le noyau Linux a t sufsamment dvelopp pour que le compilateur C GNU
fonctionne, la palette des outils GNU est soudain devenue disponible pour Linux. Un sys-
tme complet tait n du noyau brut, ce qui faisait de Linux un environnement de dvelop-
pement bien plus attractif. Les facteurs qui ont fait de Linux un environnement de
dveloppement plus attractif ont t le systme de chiers de Minix, des logiciels rseau
provenant des Unix BSD, le systme XWindow du MIT et le portage de XFree86, ainsi que
de nombreux logiciels libres comme LaTeX.
Linus Torvalds nest donc pas la seule personne lorigine de Linux (mme si, sans lui, il nexis-
terait probablement pas sous sa forme actuelle). Ce systme a t dvelopp par de nombreuses
personnes engages qui ont produit du code libre pendant des annes, que ce soit sur leur
temps libre, dans le cadre de leurs tudes dinformatique ou dun emploi dans des entreprises
comme IBM ou HP. Le noyau Linux reprsente lui seul plusieurs millions de lignes de code !
1994 : les
premires
distributions
Les tudiants passionns dinformatique pouvaient tlcharger, compiler et installer eux-
mmes Linux et ses composants. Son utilisation sest nanmoins largement dveloppe
grce aux premires distributions, qui empaquetaient des logiciels sur des disquettes ou des
CD-ROM et fournissaient un programme dinstallation. Quatre distributions de cette poque
subsistent encore : Debian, Red Hat, Slackware et SUSE.
1996 : le
manchot
En 1996, le manchot Tux devient le logo de Linux. Ils sont depuis insparables.
1998 :
Microsoft
dclare la
guerre Linux
Avec la dferlante Internet, Linux simpose largement sur les serveurs. Une certaine reconnais-
sance de Linux vient avec la phrase de Steve Ballmer : "Microsoft is worried about free
software..." ("Microsoft est inquiet face au logiciel libre"). Un an plus tard, Red Hat fait
une entre spectaculaire en bourse.
2002 : Linux
pour le bureau
Aprs lachat de StarOfce par Sun et louverture de son code source, OpenOfce.org 1.0
voit le jour en 2002. Il sagit dune suite bureautique complte, avec une interface conforta-
ble (KDE ou Gnome). Elle rend Linux utilisable dans les bureaux et auprs du grand public.
Linux sort alors du march des informaticiens et des serveurs, une tape que de nombreux
Unix propritaires nont pas franchie. En 2003, la ville de Munich dcide de remplacer
Windows NT par Linux sur ses postes.
1.6 Brevets logiciels et autres sujets dnervement
De nombreux signes montrent que Linux aura lavenir une diffusion et une importance
plus grande : le dveloppement progresse sur tous les niveaux (noyau, programmes ser-
veur, applications) et de plus en plus dentreprises et dadministrations reconnaissent les
avantages de Linux. Mais certaines embches peuvent se prsenter sur le chemin.
Brevets logiciels
Les brevets logiciels protgent, aux tats-Unis comme dans de nombreux pays, les ides,
concepts et algorithmes de logiciels. Des brevets sont dposs pour tout ce qui est imaginable,
Linux Livre Page 21 Mardi, 23. septembre 2008 1:05 13
LINUX 22
y compris des lments triviaux comme lafchage dune barre de progression ou la clbre
commande en un clic (Amazon). Leur abus et labsurdit des dures de protection en com-
paraison de la vitesse dvolution de linformatique contribuent alimenter la rsistance
contre les brevets logiciels. Ainsi, un programme dpassant quelques lignes de code, quel
quil soit, peut violer un brevet logiciel quelque part dans le monde.
Les grandes entreprises avec des portefeuilles de brevets importants visent principalement
viter des actions rciproques (une sorte dquilibre de la terreur), mais la communaut
libre et certains dveloppeurs se sentent menacs par les brevets logiciels. Ils les considrent
comme nuisibles pour le progrs et la concurrence. Les brevets logiciels pourraient tre une
arme puissante pour Microsoft contre Linux Microsoft na cependant jusquici entrepris
aucune action en ce sens et doit lui-mme lutter contre de nombreux procs lis aux brevets.
La dcision de lOfce europen des brevets contre lintroduction des brevets logiciels en
Europe lt 2005 a t lune des rares lueurs despoir. Mais, comme Linux est galement
employ en dehors de lEurope, les brevets logiciels limitent le champ daction de beaucoup
de distributions : nombre dentre elles, par exemple, ne fournissent pas de bibliothques
pour lire des MP3 par peur des procs, car des algorithmes sont protgs par des brevets.
Chaque utilisateur doit donc installer lui-mme les bibliothques ou programmes corres-
pondants. Ce qui nest que gnant dans le cas des chiers MP3 pourrait dans le cadre
dautres fonctions mener de lourdes limitations des distributions Linux.
Ensemble de
brevets de la
communaut
libre
Mais la situation nest pas sans espoir. En particulier, quelques entreprises pro-Linux comme
IBM disposent dimportants portefeuilles de brevets. Certaines entreprises Linux ont elles-
mmes commenc collecter des brevets, en partie "offerts" par des entreprises pour des
usages libres. La situation est absurde : un droit des brevets mal conu oblige la commu-
naut libre crer des brevets pour pouvoir se protger contre des ventuels procs. Vous
trouverez des dtails sur les outils de la communaut lencontre des brevets aux adresses
suivantes : http://www.patent-commons.org/ ; http://www.openinventionnetwork.com/
Multimdia et DRM
Chiffrement
des DVD
Le march du multimdia est un autre problme. Par exemple, vous ne pouvez pas lire
actuellement vos DVD achets en toute lgalit sous Linux. La limitation est juridique et
non technique. La plupart des DVD sont protgs par un algorithme de chiffrage plutt pri-
mitif. Cette protection pourrait tre facilement leve, mais dans de nombreux pays, la loi
interdit la distribution de la bibliothque ncessaire et la description de son installation.
Les nouveaux disques HD-DVD et Blue-Ray, dj prts pour le march, sont mieux prot-
gs. La protection sapplique toute la chane des composants matriels (carte graphique,
moniteur, etc.). Les DVD haute rsolution ne sont donc pas non plus lisibles sous Linux.
DRM
(Digital Rights
Management)
ou gestion
des droits
numriques
La situation nest pas meilleure pour les donnes (audio, vido et texte) protges par des
DRM. Ces dernires englobent tout dispositif visant rduire lutilisation des donnes, par
exemple une priode de temps ou un ordinateur donn. Cela a pour effet de les limiter
certains matriels (par exemple, liPod) ou systmes dexploitation (Windows ou Mac OS).
Les opposants aux DRM dclinent ce sigle en Digital Restriction Management gestion des
restrictions numriques.
Linux Livre Page 22 Mardi, 23. septembre 2008 1:05 13
23 QUEST-CE QUE LINUX ?
Dvelopper des DRM dans le cadre de logiciels libres nest pas simple : si le code dun pro-
gramme pour dchiffrer des donnes protges par DRM est accessible, il peut tre modi
pour supprimer la restriction des DRM. Le dveloppement de DRM libres nen est donc
qu ses dbuts. Rien ne permet de dire que ces programmes pourront un jour tre utiliss.
lheure actuelle, lutilisation de contenus protgs par DRM est difcile sous Linux. Si
vous ne voulez pas utiliser de logiciels illgaux pour supprimer les protections, vous devez
attendre des programmes propritaires provenant des fournisseurs des DRM. Il nexiste
pour linstant aucun programme de ce type sous Linux. Pour iTunes, la solution est dutiliser
CrossOver et la version Windows diTunes sous Linux.
Procs SCO
Le procs SCO est un vritable roman. Le 7 mars 2003, lentreprise SCO a intent un procs
IBM. Elle laccusait, entre autres, davoir inclus dans le noyau Linux du code dUnix sous
copyright de SCO. Selon elle, toute utilisation de Linux partir du noyau 2.4 tait donc ill-
gale. Pour rgulariser la situation, elle a demand aux utilisateurs de Linux de payer une
licence spciale, au prix fort. En dehors de Microsoft, SCO a trouv peu de clients, de sorte
que loffre de licence nexiste plus sur son site web.
IBM a ragi par un contre-procs, et Red Hat sest joint la bataille en intentant galement
un procs SCO.
De nombreux commentateurs voient dans ce mouvement une guerre par procuration, dans
laquelle Microsoft serait derrire SCO. Dautres pensent que cette dernire ne cherchait qu
augmenter sa valeur boursire.
Les dveloppeurs de la communaut, y compris Linus Torvalds, ont adopt le point de vue
selon lequel les considrations de SCO ne sappliquaient pas. SCO avait elle-mme vendu
une distribution Linux et accept la GPL. Dune manire gnrale, le fait quelle nindiquait
pas prcisment les lignes de code sujettes copyright a t largement critiqu. Cette criti-
que a t renforce par la dclaration lt 2006 du juge charg de laffaire, selon lequel les
deux tiers des points du procs taient considrs comme nuls et non avenus.
Linux Livre Page 23 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 24 Mardi, 23. septembre 2008 1:05 13
2
Installation
Ce chapitre est un aperu de linstallation dun systme Linux sur un PC dot dun proces-
seur compatible Intel Pentium. Il ne sattache pas une distribution spcique, mais parle
des tapes importantes de linstallation, comme le partitionnement du disque. Pour plus
dinformations, reportez-vous lAnnexe B qui offre des liens vers la documentation des
processus dinstallation de nombreuses distributions.
Linstallation de Linux sest grandement simplie ces dernires annes. Dans le cas idal
(matriel standard et espace disponible sur le disque dur), 30 minutes devraient sufre pour
obtenir un systme fonctionnel. Linstallation se complique nanmoins lorsque, comme sou-
vent, lordinateur dispose dj dun systme dexploitation Windows, qui doit tre prserv.
Des problmes lis au matriel peuvent galement surgir lorsque celui-ci est trs vieux, trs
rcent, ou dans le cas de certains ordinateurs portables.
2.1 Prrequis
Pour pouvoir installer Linux, quelques conditions sont ncessaires :
Vous avez besoin dun ordinateur avec un processeur compatible Intel Pentium. Tous les
processeurs 32 et 64 bits dIntel et AMD (depuis le Pentium et le K6) appartiennent cette
catgorie. Il existe galement des distributions pour dautres architectures de processeurs,
comme lIBM PowerPC.
Il faut sufsamment de mmoire vive. Pour utiliser les gestionnaires de bureau KDE et
Gnome confortablement, 256 Mo sont un minimum. Disposer de plus de mmoire est
videmment un avantage.
Une partition libre avec assez de place sur votre disque dur est galement ncessaire.
La quantit despace disponible dpend de la distribution et des programmes installer.
lheure actuelle, 5 8 Go sont une bonne valeur indicative.
Votre matriel doit tre reconnu et pris en charge par Linux. Cest aujourdhui le cas de
la majorit du matriel standard. Les cartes graphiques les plus rcentes, certaines car-
tes Wi-Fi, ainsi que certains ordinateurs portables peuvent poser problme. La plupart
des imprimantes GDI et des Winmodems ne sont pas non plus reconnus (voir section
1.1 pour des liens propos du matriel).
Certains programmes XWindow utilisent le bouton du milieu de la souris. Une souris
trois boutons ou molette est donc pratique. Celles deux boutons peuvent muler le
troisime en appuyant sur les deux boutons simultanment, ce qui est la longue pnible.
Comme nous lavons vu au chapitre prcdent, il existe des distributions minimales qui fonctionnent avec des
besoins matriels plus rduits. Dans ce chapitre, nous considrons cependant que vous installez une distri-
bution "normale", comme Fedora, Debian, Kubuntu, Mandriva, Red Hat, SUSE ou Ubuntu.
Linux Livre Page 25 Mardi, 23. septembre 2008 1:05 13
LINUX 26
Si vous utilisez des programmes de virtualisation comme VirtualBox ou VMware, vous pouvez installer Linux
dans un environnement virtuel contenu dans Windows. Cela facilite linstallation, mais diminue les fonc-
tionnalits (accs limit au matriel, vitesse dexcution rduite, etc.).
32 ou 64 bits ?
Avantages et
inconvnients
De plus en plus dordinateurs portables ou de bureau contiennent un processeur 64 bits. La
principale diffrence avec les processeurs 32 bits est que ces derniers ne peuvent adresser
directement que 2 Go de mmoire. Cest donc un avantage lorsque vous avez plus de 2 Go
de RAM et que vous dsirez faire fonctionner des programmes ayant de gros besoins en
mmoire et si vous utilisez une distribution 64 bits. En pratique, ces conditions sont
runies sur les ordinateurs qui fonctionnent en tant que serveur rseau ou serveur de base
de donnes, ou faisant fonctionner plusieurs systmes Linux en parallle grce la virtua-
lisation. Pour une utilisation bureautique standard, larchitecture 64 bits offre peu davan-
tages et aucune amlioration sensible des performances (bien que lon prtende souvent
linverse).
Larchitecture 64 bits prsente galement certains inconvnients :
La quantit de RAM et la place ncessaire sur le disque dur sont plus importantes.
Certains programmes ne fonctionnent quen mode 32 bits. Pour les faire tourner sur un
systme 64 bits, il faut installer dinnombrables bibliothques en double (en ver-
sion 32 bits et 64 bits). Les distributions soccupent du fonctionnement interne, mais la
solution nest pas trs lgante.
Le troisime problme disparat heureusement avec la monte en popularit des archi-
tectures 64 bits : pour certains composants matriels, il nexiste pas de pilote libre. Pour
utiliser ces composants, il faut installer les pilotes propritaires du fabricant. Si celui-ci
ne fournit que des pilotes 32 bits, ils ne fonctionneront pas avec un systme 64 bits. Vous
aurez alors le choix de ne pas faire fonctionner cet lment ou de rinstaller une distri-
bution 32 bits.
Distributions
64 bits
Les avantages des architectures 64 bits napparaissent, pour des raisons techniques, que
lorsque toute la distribution, ou au moins la majorit des programmes et des bibliothques
est en 64 bits. Une distribution universelle 32/64 bits est donc impossible. Il existe, en revan-
che, pour la plupart des distributions deux versions : une version 32 bits (souvent nomme
i386, i586, i686, selon les familles de processeurs Intel) et une version 64 bits (x86_64 ou
AMD64). SUSE fournit les deux versions sur un seul DVD double-couche, mais il sagit tout
de mme de deux versions diffrentes de la mme distribution.
Les processeurs 64 bits courants sont rtrocompatibles avec les processeurs 32 bits. Il est
donc possible dinstaller au choix sur une architecture 64 bits une distribution 32 ou 64 bits.
Cette dcision est dnitive : changer de modle de distribution ne peut ensuite se faire
quen rinstallant le systme.
Les ordinateurs et systmes dexploitation 64 bits seront probablement la norme dans quel-
ques annes. Il sera alors rare de se demander sil faut installer une version 32 ou 64 bits.
lheure actuelle, largumentation se rsume ainsi : une distribution 64 bits ne prsente
pour un utilisateur normal ni avantage, ni inconvnient majeur mais, comme 64 bits sonne
mieux que 32 bits, la version 64 bits est souvent installe.
Linux Livre Page 26 Mardi, 23. septembre 2008 1:05 13
27 INSTALLATION
2.2 Dmarrage de linstallation de Linux
Pour lancer linstallation, placez le CD ou le DVD de Linux dans votre lecteur et redmarrez
votre machine. la place du dmarrage de votre systme dj install, le programme dins-
tallation devrait dmarrer depuis le CD. Si ce nest pas le cas, il est possible que le BIOS de
votre ordinateur ne permette pas lamorage depuis le CD. Pour vrier cela, vous devez
entrer dans le BIOS de votre ordinateur, grce une touche spciale juste aprs le dmarrage
de lordinateur (souvent Suppr ou F1). Les ventuelles modications dpendent du modle
de votre carte mre et ne sont donc pas dcrites ici (reportez-vous au manuel de votre carte
mre).
Presque toutes les distributions lancent un programme dinstallation graphique. Pour que
celui-ci puisse dmarrer, une carte graphique compatible VGA et sufsamment de RAM
sont ncessaires. Ces conditions sont remplies sur les ordinateurs rcents.
Selon le matriel, il se peut que la carte graphique ne soit pas reconnue ds le dpart ou que
le moniteur devienne noir aprs le dmarrage du programme dinstallation. Ce problme
survient surtout sur les crans plats connects la carte graphique via un cble DVI, si la
carte passe en mode analogique. Dans ce cas, de nombreuses distributions peuvent gale-
ment tre installes en mode texte. Le passage dune installation graphique une installation
en mode texte dpend de la distribution.
Premiers
paramtres
Sur certaines distributions, vous pouvez choisir des paramtres, comme la langue ou la dis-
position du clavier, avant mme le dmarrage du systme (voir Figure 2.1). Dautres distri-
butions vous le proposent quelques secondes aprs le dmarrage.
Figure 2.1
Choix de la langue au
dbut dune installation
de SUSE.
Linux Livre Page 27 Mardi, 23. septembre 2008 1:05 13
LINUX 28
Choix
du clavier
Certains programmes de conguration utilisent le nombre de touches comme signe distinctif
des claviers. Voici quelques valeurs utiles pour dterminer le vtre :
Clavier anglais sans touche Windows 101 touches
Clavier international sans touche Windows 102 touches
Clavier anglais avec touches Windows 104 touches
Clavier international avec touches Windows 105 touches
Vous pouvez aussi activer ou dsactiver les touches mortes. Il sagit, par exemple, des tou-
ches ` ou ~. Cette option nactive pas les touches en soi, mais la composition des lettres avec
ces touches.
Vous pouvez ainsi taper la lettre ? sous la forme ~ N. Pour saisir les signes directement (par
exemple ~), vous devez taper la touche correspondante suivie dun espace.
La dsactivation des touches mortes complique la saisie des caractres trangers, mais
savre sense si vous ne tapez pas de caractres spciaux dans dautres langues et correspond
aux usages sous Windows.
Configuration
de la souris
En gnral, les souris et les pointeurs de portables sont automatiquement reconnus. Si votre
souris ne possde pas de molette, cochez loption Emulate 3 Buttons (mulation du troi-
sime bouton). Ainsi, vous pourrez simuler le clic sur le troisime bouton en cliquant simul-
tanment sur les deux autres.
Messages
du noyau
La plupart des distributions afchent des messages du noyau lors du dmarrage, mais vous
pouvez les ignorer. Ils ne sont utiles que si le programme dinstallation plante au dmar-
rage.
Fonctionneme
nt interne
Les programmes dinstallation fonctionnent eux-mmes sous Linux. Par consquent, un
noyau minimal est charg ds lamorage du support dinstallation, ainsi que certains
modules matriels (disques durs, carte rseau, lecteur CD ou DVD). Si le programme
narrive pas charger les bons modules, vous devez fournir les informations correspondantes.
2.3 Bases du partitionnement du disque
Aprs le dmarrage du programme dinstallation et divers paramtrages lmentaires, le
partitionnement du disque dur est la premire tape importante de linstallation. De nom-
breux programmes dinstallation proposent de le faire automatiquement, mais attention : le
rsultat correspondra rarement vos souhaits.
Quest-ce
quune
partition ?
Les partitions sont des sections sur le disque dur. Sous Windows, elles sont reprsentes par
une lettre (par exemple, C: ou D:) et se comportent comme des disques durs en soi.
Dans le cas le plus simple, il nexiste quune seule partition pour tout le disque. Lorsque
vous achetez un PC avec le systme Windows prinstall, cest souvent le cas.
Pourquoi crer
plus de
partitions ?
Vous avez besoin de plusieurs partitions ds lors que vous dsirez faire fonctionner plu-
sieurs systmes dexploitation sur votre ordinateur. Cela est d au fait que les diffrents sys-
tmes dexploitation ont en gnral des systmes de chiers diffrents. Mme si plusieurs
systmes peuvent utiliser le mme systme de chiers, il est souvent indispensable de les
Linux Livre Page 28 Mardi, 23. septembre 2008 1:05 13
29 INSTALLATION
installer dans des partitions diffrentes, an dviter les doublons et les conits dans les
noms de rpertoires et de chiers.
De plus, sous Linux, il est souvent utile de crer plusieurs partitions : par exemple, une pour
le systme dexploitation, une pour les donnes des utilisateurs et une autre appele partition
dchanges (quivalent au chier dchange sous Windows).
Types
de partitions
Il en existe trois types : les partitions primaires, les partitions tendues et les partitions
logiques.
Un disque dur ne peut contenir que quatre partitions primaires. On peut cependant dnir
lune dentre elles comme une partition tendue. Dans cette dernire, on peut crer plu-
sieurs partitions logiques.
Tout cela provient de la limite historique de quatre partitions primaires. Notez que certains
outils de partitionnement ne font pas la diffrence au niveau de linterface utilisateur entre
les diffrents types de partitions et soccupent eux-mmes de leur rpartition en interne.
Une partition tendue nest quun conteneur pour des partitions logiques. On ne peut enre-
gistrer des donnes que sur les partitions primaires ou logiques.
Le terme "type de partition" est galement utilis dans un autre contexte. Chaque partition
se voit associer un nombre qui indique le systme pour lequel elle est cre (par exemple,
Windows, Linux, Novell Netware, BSD, etc.) ou le rle qui lui est attribu.
Nombre
maximal
de partitions
Le nombre de partitions dpend du type de disque dur (IDE, SATA, SCSI) et de la version de
Linux. Ce dernier peut en effet crer au maximum 16 partitions sur un disque, dont 12 par-
titions logiques. Les disques IDE sont une exception : avec le pilote correspondant sous
Linux, on peut crer 64 partitions (dont 60 logiques). Le pilote IDE est cependant de plus en
plus rarement utilis au prot du pilote SCSI.
Aide
au partition-
nement
Chaque systme dexploitation a son propre outil pour modier la gomtrie dun disque.
Sous Windows 9x/ME, le programme DOS FDISK est encore utilis. Depuis Windows NT,
il existe un outil confortable avec une interface utilisateur graphique. Laccs cet outil
dpend de la version de Windows. Sous Windows Vista, il faut lancer Panneau de con-
guration, Systme et maintenance, Outils dadministration, Gestion de lordinateur, Gestion
des disques. Sous Linux, il existe plusieurs programmes daide au partitionnement. Si
ceux-ci posent problme, les utilisateurs avancs peuvent utiliser les commandes fdisk
ou parted.
Il est trs difficile de modifier rtrospectivement le partitionnement dun disque. En gnral, le contenu dune
partition est perdu lorsque sa taille est modifie. Le dplacement de partitions nest pas non plus prvu. Il
existe des programmes spciaux, commerciaux ou gratuits, qui permettent deffectuer cette tche, mais avec
beaucoup de limitations. Il est donc conseill de bien rflchir au schma de partitions ds le dpart.
Les utilisateurs avancs de Linux savent dpasser ces limitations en utilisant le systme LVM. Il sagit dune
couche intermdiaire entre les partitions et les systmes de fichiers. Comme ladministration de LVM est rela-
tivement complique, cette option nest pas propose aux dbutants.
Linux Livre Page 29 Mardi, 23. septembre 2008 1:05 13
LINUX 30
Systmes de fichiers
Le partitionnement permet de rserver de la place sur un disque. Avant de pouvoir enre-
gistrer des donnes sur une partition, il faut crer un systme de chiers. Celui-ci contient
les chiers et les informations de gestion associes. Windows et Linux proposent diffrents
systmes :
Sous Windows, on peut utiliser le systme VFAT (Windows 9x et Windows ME) ou
NTFS, plus moderne (Windows NT/2000/XP/Vista).
Sous Linux, le systme ext3 est dominant. Les alternatives actuelles sont xfs et reiserfs
(voir section 23.6 pour plus dinformations).
La cration dun systme de chiers sur une partition sappelle le formatage. Sous Windows,
on peut effectuer cette opration via un menu contextuel dans lExplorateur ou avec le pro-
gramme FORMAT. Sous Linux, le programme dinstallation soccupe du formatage et
appelle en arrire-plan des commandes telles que mkfs.ext3 ou mkfs.xfs. Formater une
partition supprime toutes les donnes qui sy trouvent.
Le partitionnement et le formatage de disques effacent, en gnral, les partitions concernes. Il existe quel-
ques exceptions et des outils spciaux pour redimensionner les partitions sans perte.
Nom des partitions
Sous Windows Sous Windows, les partitions utilisables par le systme sont indiques par les lettres des lec-
teurs. A: et B: sont rserves aux lecteurs de disquettes. Les lettres suivantes dsignent les
partitions primaires et logiques du disque (la partition tendue na pas de lettre et nest donc
pas accessible).
Les partitions des systmes de chiers trangers (y compris les partitions Linux) nont pas
de lettre de lecteur et sont inaccessibles la plupart des programmes. Les partitions ne sont
montres que dans les programmes de partitionnement.
Sous Linux Sous Linux, on accde aux disques et aux partitions via les chiers de priphriques. Il existe
deux schmas de nommage de ces chiers. Le schma utilis dpend de deux facteurs : le
systme de bus des disques durs (IDE, SATA ou SCSI) et, pour les disques IDE, du pilote de
disques durs. Nous allons dcrire ci-aprs ces deux schmas (voir Chapitre 25 pour plus
dinformations).
Schma sd-* Le schma sd-* est le schma standard pour tous les disques durs SATA, SCSI, USB et
Firewire, ainsi que pour les disques IDE utilisant le pilote de disques libata (ce qui dpend
de la distribution). Les disques sont alors accessibles par les noms /dev/sda, /dev/sdb, /dev/
sdc, etc.
Pour accder une partition et non lintgralit du disque, on ajoute le numro de la par-
tition au nom du disque. Les chiffres 1 4 dsignent les partitions primaires et tendues. Les
partitions logiques commencent 5, mme lorsquil y a moins de quatre partitions primaires et
tendues.
Linux Livre Page 30 Mardi, 23. septembre 2008 1:05 13
31 INSTALLATION
Schma hd-* Le schma hd-* nest utilis que pour les disques durs IDE, lorsque Linux utilise lancien
pilote IDE. Le cblage physique des disques dcide de leur nom. /dev/hda dsigne le pre-
mier priphrique (matre) du premier canal IDE. /dev/hdb dsigne le second priphrique
(esclave) du premier canal IDE. /dev/hdc et /dev/hdd dsignent respectivement le matre et
lesclave du second canal IDE. La numrotation des partitions est identique celle du
schma sd-*.
Cette dsignation trs technique des partitions ne vous servira normalement que lors de
linstallation et de ladministration. Au quotidien, les partitions actives sont disponibles
comme des rpertoires. linverse de Windows, il ny a pas de lettre de lecteur.
2.4 Partitionnement du disque dur
La cration de nouvelles partitions est lune des tapes les plus importantes de linstallation
de Linux. Tous les programmes dinstallation actuels contiennent un assistant de partition-
nement simple utiliser. La Figure 2.2 montre un exemple dditeur de partitions, celui de
Fedora. Les dtails de lutilisation de cet diteur dpendent de la distribution.
Se pose alors une question fondamentale : combien de partitions devez-vous crer, et de
quelle taille ? Quels effets cela a-t-il sur la vitesse dexcution, la maintenance et une ven-
tuelle rinstallation ?
Figure 2.2
diteur de partitions
de Fedora.
Linux Livre Page 31 Mardi, 23. septembre 2008 1:05 13
LINUX 32
Rduction de la partition Windows
On se trouve souvent dans la situation dun systme Windows dj install sur une seule
partition qui remplit tout le disque. Mme si cette dernire contient des douzaines de
gigaoctets libres, cela ne change rien : Linux a besoin pour son installation dune ou de plu-
sieurs partitions. Et avant de les crer, vous devez rduire la partition Windows, si possible
sans perdre de donnes.
La solution la plus radicale et la plus simple consiste la supprimer. Mais la plupart des
dbutants sous Linux dsirent garder Windows comme systme dexploitation alternatif,
que ce soit pour jouer ou lancer des programmes qui nexistent pas sous Linux. Nous suppo-
serons donc que Windows est dj install et quil sera utilis de nouveau aprs linstallation de
Linux.
Redimen-
sionnement
pendant
linstallation
Pour la plupart des distributions (Debian, Mandriva, SUSE, Ubuntu), le programme dins-
tallation est capable de rduire une partition Windows trop grosse et le systme de chiers
qui sy trouve. Vous pouvez alors modier la taille de la partition dans loutil de partition-
nement ou appeler la fonction de redimensionnement de la partition via un menu. Cette
opration fonctionne pour les systmes de chiers VFAT et NTFS.
Dbut 2007, le redimensionnement des partitions Windows Vista avec des programmes Linux posait
encore dnormes problmes. Lorsque vous lirez ce livre, toutes les distributions actuelles devraient tre
compatibles avec Vista. Cependant, soyez prudent lorsque vous installez des distributions plus anciennes.
Il est plus sr de redimensionner la partition avant linstallation, grce aux outils fournis par Windows Vista.
Redimen-
sionnement
avant
linstallation
Si ce redimensionnement est impossible ou ne fonctionne pas, vous pouvez effectuer cette
opration avec dautres outils :
Directement sous Windows. Windows Vista propose un outil de rduction des partitions.
Lancez Panneau de conguration > Outils dadministration > Gestion de lordinateur >
Gestion des disques. Cliquez du bouton droit sur la partition et lancez Rduire le volume.
Les versions prcdentes de Windows ne permettent pas de redimensionnement. Vous
pouvez supprimer et recrer la partition, mais cela en supprime tout le contenu.
Avec un systme Linux "live". Les systmes live, tels que Knoppix, GParted ou Sys-
temRescueCD, contiennent diffrents programmes pour rduire les partitions Windows.
Lutilisation de ces outils est cependant complexe. Loutil le plus convivial est gparted
(voir Chapitre 23).
Avec des programmes commerciaux. Vous pouvez aussi utiliser des outils com-
merciaux, plus confortables mais coteux. Le plus connu est PartitionMagic de
Norton/Symantec : http://www.symantec.com/norton/products/overview.jsp?pcid
=sp&pvid=pm80.
Rinstaller
Linux et
Windows
Si votre ordinateur ne possde aucun systme dexploitation et si vous dsirez installer Win-
dows et Linux, commencez par Windows. Son installation propose galement de partition-
ner le disque dur. Dans ce cas, indiquez uniquement lespace dont vous avez besoin (par
exemple 50 Go), et non lensemble du disque. Dans le doute, choisissez une valeur plus
petite : il est plus simple dagrandir une partition que de la rduire.
Linux Livre Page 32 Mardi, 23. septembre 2008 1:05 13
33 INSTALLATION
Achat dun
nouvel
ordinateur
Certains revendeurs, chez qui vous pouvez acheter un ordinateur sans Windows, peuvent
galement partitionner le disque. Cela nest gure possible si vous achetez votre machine
dans une grande chane Windows sera alors prinstall.
Nombre et taille des partitions
On me pose souvent la question suivante : si on considre un disque de n Go, quel est le
meilleur partitionnement ? Il nexiste malheureusement pas de rponse universelle. Cette
section propose cependant quelques rgles de base sur le nombre et la taille des partitions.
Il est probable que le concept mme de partitions multiples vous tonne. Puisquune seule
partition suft pour Windows, il devrait en tre de mme pour Linux. Ce dernier peut fonc-
tionner sur une seule partition, mais cest loin dtre optimal. Il est plus courant de partitionner
le disque, comme nous allons le dcrire.
Partition
systme
La partition systme est la seule dont vous ayez vraiment besoin. Elle contient le systme
Linux et tous ses programmes. Cette partition sappelle toujours /. Il sagit du point du sys-
tme de chiers auquel est lie la partition (point de montage). / dsigne aussi la racine,
cest--dire le dbut de larborescence de chiers. Cest pourquoi la partition systme est
parfois aussi appele partition racine ou partition root.
La taille raisonnable pour installer et utiliser une distribution complte varie entre cinq et
dix gigaoctets. Il faut bien sr ajouter lespace ncessaire vos propres donnes (vous pouvez
les enregistrer dans une partition spare).
Vous pouvez installer plusieurs distributions sur un mme ordinateur (comme sur mon
ordinateur de test). Pour cela, vous aurez besoin pour chacune delles dune partition sys-
tme diffrente. Les autres partitions peuvent tre partages entre les systmes. Lorsque le
systme est bien congur, vous pouvez choisir au dmarrage entre Windows et toutes les
distributions Linux installes.
Partition
damorage
Selon les cas, il peut tre conseill de crer une partition damorage nomme /boot. Elle
contient les donnes ncessaires la premire phase du dmarrage de lordinateur. Il sagit
en particulier du chier du noyau, vmlinuz*, du chier de disque virtuel, initrd*, et des
petits chiers ncessaires au gestionnaire damorage. La partition /boot ne contient donc
que quelques mgaoctets de donnes.
La partition damorage peut rgler certains problmes de dmarrage. Vous devez envisager
de lutiliser dans les cas suivants :
Le BIOS de votre carte mre date davant 1998. Vous rencontrerez alors probablement la
limite des 1 024 cylindres. Cela signie que les donnes ncessaires lamorage de
lordinateur doivent se trouver dans les 1 024 premiers cylindres du disque dur, soit en
gnral les 7,9 premiers gigaoctets. Pour satisfaire cette limite, la partition damorage
donc tre place avant les autres partitions. Lordre des partitions suivantes na pas
dimportance.
Vous utilisez pour la partition systme un systme de chiers particulier ou chiffr, LVM
ou RAID. Dans ce cas, le chargeur damorage ne peut pas lire les donnes de la partition
Linux Livre Page 33 Mardi, 23. septembre 2008 1:05 13
LINUX 34
systme. Les donnes utilises par le processus damorage doivent tre enregistres sur
une partition avec un systme de chiers standard, typiquement ext2 ou ext3.
Dans le doute, la cration dune partition damorage ne peut pas nuire. Toutefois, si vous
envisagez dinstaller plusieurs distributions en parallle sur votre disque, la sparation des
diffrentes partitions systme et partitions damorage associes cre une fragmentation
souvent peu claire du disque dur.
Partition
de donnes
Une partition de donnes permet de sparer les donnes systme de vos propres donnes.
Cela prsente un avantage important : vous pourrez par la suite rinstaller une autre distri-
bution ou rinstaller votre systme dans la partition systme sans mettre en danger la partition
de donnes spare.
On utilise gnralement /home comme point de montage pour cette partition de donnes. Je
ne peux pas conseiller de taille pour cette partition, car elle dpend largement de lutilisa-
tion de votre systme Linux.
Partitions
supplmen-
taires
On peut encore diviser le disque en partitions supplmentaires. Si vous utilisez Linux en
tant que serveur rseau ou serveur de bases de donnes, vous pouvez modier les partitions
du systme pour sparer les donnes correspondantes.
Tant quil existe de lespace non partitionn sur votre disque, augmenter le nombre et la
taille des partitions dun systme existant ne pose aucun problme. Si vous ne savez pas
comment rpartir votre espace, vous pouvez toujours laisser une partie du disque vide.
Partition
dchanges
La partition dchanges ou de swap est le pendant du chier dchanges sous Windows.
Lorsque Linux na pas assez de mmoire, il place dans cette partition le contenu de la RAM
qui nest pas utilise cet instant. Utiliser une partition complte (et non un chier comme
sous Windows) amliore les performances en termes de rapidit dexcution. Linux peut
tre congur pour utiliser un chier dchanges au lieu dune partition, mais ce fonction-
nement nest ni courant, ni rapide.
linverse des autres partitions, la partition dchanges na pas de nom (pas de point de
montage). Elle est en effet utilise directement et non via un systme de chiers.
Si vous avez beaucoup de RAM, il peut tre tentant de se passer dune partition dchanges,
mais ce nest pas conseill. Lorsque Linux ne trouve plus de RAM, des processus en cours
dexcution (programmes) doivent tre arrts, sans que lon puisse prvoir lesquels, ce qui
peut avoir des consquences imprvues (voire provoquer un plantage). Sil existe une parti-
tion dchanges, Linux ralentira beaucoup en raison du manque de mmoire, ce qui est cer-
tes dsagrable, mais vous laissera une chance de ragir et de rgler le problme en
terminant le programme fautif vous-mme. La partition dchanges ne sert donc pas tant de
rserve de mmoire que davertissement durgence.
La bonne taille dune partition dchanges se situe entre une et deux fois la taille de votre
mmoire vive si vous avez beaucoup de RAM, une taille quivalente suft. Si vous utilisez
la fonction Suspend to Disk de lordinateur, cette partition doit avoir au moins la taille de
votre RAM.
Sur les systmes 32 bits, sa taille est limite 2 Go. Si vous avez besoin de plus despace,
vous devez crer plusieurs partitions dchanges. Cela est cependant rarement utile : si vos
applications ncessitent autant despace, Linux passe sans cesse les donnes entre les parti-
tions dchanges et la RAM, et nest en pratique plus utilisable. Dans ce cas, il ne faut pas
ajouter de lespace, mais de la RAM.
Linux Livre Page 34 Mardi, 23. septembre 2008 1:05 13
35 INSTALLATION
Rsum
Quel systme de fichiers utiliser ?
Linux prend en charge de nombreux systmes de chiers, parmi lesquels ext2, ext3, ext4, rei-
serfs, reiser4 et xfs (voir Chapitre 23). Tous ces systmes lexception dext2 sont journaliss,
ce qui permet de scuriser les donnes dans le cas dun arrt inopin du systme (par
exemple, lors dun orage).
ext2, ext3,
ext4
Toutes les distributions ne fournissent pas tous les systmes de chiers pendant linstalla-
tion. Je conseille donc aux dbutants dutiliser si possible ext3. Ce systme est mr, stable et
presque considr comme le standard sous Linux. Mme Novell et SUSE, qui ont longtemps
prfr reiserfs, favorisent maintenant ext3 comme systme par dfaut.
lt 2006, le systme de chiers ext4 est n ; il est cens remplacer ext3. Mais jusqu ce
quil soit considr comme sufsamment abouti, mieux vaut lviter.
Bien quancien, ext2 a encore une raison dtre. Il est compatible avec ext3, mais na pas de
fonction de journalisation. Il est donc plus rapide lors des oprations dcriture.
LVM, RAID Certaines distributions permettent de mettre en place un systme LVM ou RAID lors de
linstallation. LVM (Logical Volume Manager ou gestionnaire de volumes logiques) permet de
crer des partitions virtuelles et de les redimensionner alors que lordinateur est en service.
RAID (Redundant Array of Inexpensive Disks ou ensemble redondant de disques durs bon
march) permet de lier une partition plusieurs disques pour obtenir un systme plus
rapide ou plus sr.
LVM et RAID ont linconvnient de rendre ladministration plus difcile. Ils ne sont pas
conseills aux utilisateurs inexpriments. Notez que certaines distributions, comme Red
Hat ou Fedora, font de LVM un standard. Si ce nest pas ce que vous voulez, vous devrez
partitionner le disque manuellement.
Partition
dchanges
La partition dchanges na pas de vrai systme de chiers. Elle doit tre formate avec loutil
mkswap avant sa premire utilisation. Toutes les distributions Linux sen chargent pendant
linstallation.
Rsum
Taille des partitions pour un usage priv
partition dchanges (une deux fois la taille de la RAM)
/ partition systme (5 10 Go ; prvoir plus pour les dveloppeurs)
/home partition de donnes ( adapter selon vos besoins)
Systmes de fichiers pour un usage priv
[swap] pas de systme de fichiers
/boot ext2
/ ext3
/home ext3
Linux Livre Page 35 Mardi, 23. septembre 2008 1:05 13
LINUX 36
2.5 Choix des paquetages
Vous pouvez, dans de nombreuses distributions, choisir lors de linstallation les compo-
sants, programmes et paquetages installer. Il est rarement justi de tout installer, pour les
raisons suivantes :
Le nombre important de logiciels dpasse souvent les utilisateurs inexpriments. Il est
plus clair de procder une installation de base et dajouter au fur et mesure les
programmes ncessaires, ce qui se fait sans problme.
Il existe des programmes incompatibles entre eux. Par exemple, vous ne pouvez pas
avoir deux serveurs de courrier lectronique sur une seule machine ; vous devez en
choisir un.
Si vous utilisez lordinateur en tant que serveur, les risques de scurit augmentent avec
le nombre de services ouverts sur la machine. Les paquetages de fonctions rseau que
vous nutilisez pas ne doivent pas tre installs.
Les paquetages sont souvent choisis grce des groupes prcongurs (voir Figure 2.3).
Dans le cas de certaines distributions, comme Ubuntu, vous navez aucune inuence sur les
paquets installs. Seul le systme de base sera install ; les programmes suivants le seront
lorsque le besoin sen fera sentir.
Les versions actuelles de Red Hat et de Fedora nutilisent le CD/DVD comme source que pendant linstalla-
tion. Si vous avez besoin ensuite dun autre programme, vous devez le tlcharger depuis Internet. Cela fonc-
tionne sans problme et garantit que vous disposez de la version la plus rcente. En revanche, une bonne
connexion Internet est ncessaire. Si ce nest pas le cas, il vaut mieux installer ds le dbut tous les paque-
tages dont vous tes susceptibles davoir besoin.
Figure 2.3
Choix des paquetages
lors dune installation
de Fedora.
Linux Livre Page 36 Mardi, 23. septembre 2008 1:05 13
37 INSTALLATION
Recommandations pour linstallation
Gnome
ou KDE
Certaines distributions proposent de choisir entre les systmes de bureau KDE et Gnome
vous pouvez aussi installer les deux systmes en parallle. Il sagit de deux interfaces utili-
sateur diffrentes pour Linux. En rsum, Gnome est plus simple utiliser, mais KDE pro-
pose davantage de fonctionnalits et de possibilits de conguration. Si vous installez les
deux, vous aurez une souplesse maximale et vous pourrez choisir lors de chaque connexion
de lancer KDE ou Gnome. Nous dcrirons les deux environnements aux Chapitres 4 et 5.
Services
rseau
Pour une utilisation bureautique de Linux, vous navez pas besoin de serveur (que ce soit
un serveur web, NFS ou de courrier lectronique). Il existe cependant trois exceptions :
Pour pouvoir utiliser votre imprimante, vous avez besoin dun serveur dimpression, en
gnral CUPS. Ce dernier est gnralement install par dfaut.
Pour accder votre ordinateur depuis un poste distant, vous devez installer le serveur
SSH sshd.
Si vous dsirez partager des dossiers avec des ordinateurs sous Windows, vous devez
installer Samba.
Outils de
dvelop-
pement et
en-ttes du
noyau
Mme si les utilisateurs dbutants de Linux ont rarement lambition de recompiler leur
noyau, je conseille gnralement linstallation des outils de dveloppement lmentaires,
tels que gcc et make, ainsi que des chiers den-tte du noyau (souvent installs automati-
quement).
Vous pourrez alors compiler des modules du noyau. Cela peut tre utile pour installer les
pilotes de votre carte graphique ou utiliser VMware ou tout autre logiciel de virtualisation
il nest cependant pas ncessaire dinstaller tout le code du noyau.
2.6 Configuration de base
Cette section pose quelques bases pour la conguration de linstallation, qui peut varier
selon la distribution. En effet, certaines distributions rduisent la conguration au mini-
mum. Cette dernire se fait alors dans le systme dj lanc. De manire gnrale, tous les
paramtres de linstallation peuvent tre modis par la suite. Vous pouvez donc reporter la
conguration des lments facultatifs plus tard.
Mot de passe
root
Sous Linux, lutilisateur root est responsable de ladministrateur du systme. Il possde des
droits illimits au systme, ce qui implique un potentiel de dommages non ngligeable.
Il est donc vivement conseill de protger laccs root par un mot de passe.
Certaines distributions, dont Ubuntu, dsactivent compltement le compte root. Il nest
donc pas ncessaire de le protger par un mot de passe. Les tches administratives sont
effectues par des utilisateurs prdtermins, qui doivent chacun fournir leur propre mot de
passe.
Gestion des
utilisateurs
Il est peu courant, sous Linux, de travailler avec lutilisateur root en dehors des tches
administratives. Pour crire une lettre, compiler un programme ou surfer sur Internet, on se
connecte en tant quutilisateur standard. Pendant linstallation, vous pouvez crer un ou
Linux Livre Page 37 Mardi, 23. septembre 2008 1:05 13
LINUX 38
plusieurs utilisateurs, dots chacun dun mot de passe, et par la suite, en crer de nouveaux,
modier les mots de passe, etc.
Les noms des utilisateurs doivent se composer dun maximum de huit lettres ou chiffres.
vitez les caractres accentus ou spciaux cela ne fonctionne pas toujours. Il est courant
dutiliser uniquement des lettres minuscules, mais ce nest pas une obligation.
Les mots de passe doivent contenir entre six et huit signes. Ils sont idalement composs de
lettres majuscules, minuscules, chiffres et caractres spciaux, comme +-*/_.,;:()[]. vitez
les caractres accentus et ceux qui ne sont pas dnis dans la table de caractres ASCII.
Dans de nombreuses distributions, il nest pas possible de tester le clavier avant de taper les diffrents mots
de passe, en particulier root. Si vous narrivez pas vous connecter votre ordinateur aprs linstallation,
il peut sagir dun problme de clavier, par exemple toujours en QWERTY au moment de la saisie du mot de
passe.
Configuration
rseau
Pour connecter votre ordinateur un rseau local, il faut tablir une conguration rseau.
Celle-ci peut tre automatique sil existe un serveur DHCP (serveur qui envoie aux ordina-
teurs du rseau leur conguration rseau). Dans ce cas, elle se rduit souvent un clic sur la
bonne case et ventuellement la saisie dun nom dordinateur.
Lorsque vous congurez votre rseau manuellement, on vous demande les paramtres
suivants (pour plus dinformations, voir Chapitre 26) :
Nom dhte et de domaine. Ils correspondent sous Windows au nom de lordinateur et
du groupe de travail. Dans un rseau local, le nom de domaine est gnralement fourni.
Celui de lhte doit tre unique. Nutilisez pas localhost, qui a une signication parti-
culire.
Adresse IP de lordinateur. Il sagit dune chane de caractres sous la forme a.b.c.d (par
exemple 192.168.27.35) qui identie lordinateur sur le rseau local. Les deux ou trois
premiers chiffres de ladresse sont gnralement xs lavance ; les suivants doivent
tre uniques sur le rseau.
Masque de sous-rseau, adresse du rseau et de broadcast. Un rseau local est dcrit
par deux ou trois masques. Par exemple, si le rseau stend sur tous les numros
192.168.27.x, le masque de sous-rseau est 255.255.255.0 (ce qui est gnralement le cas
pour les petits rseaux locaux). Ladresse du rseau est alors 192.168.27.0 et celle de broad-
cast 192.168.27.255.
Adresse de la passerelle. Lorsquun ordinateur du rseau local fournit laccs Internet
tous les autres ordinateurs du rseau, vous devez indiquer cette adresse.
Adresse du serveur de noms. Le serveur de noms, ou DNS (Domain Name Server), sert
rsoudre les noms rseau en adresses IP. Il permet donc de taper dans un navigateur
http://www.yahoo.com et datteindre automatiquement lordinateur dont lIP corres-
pond ce nom. Il peut galement servir atteindre un ordinateur du rseau local sil
permet la rsolution des noms locaux. Lorsque les adresses du serveur de noms et de la
passerelle sont correctes, vous pouvez accder Internet.
Wi-Fi Congurer une carte Wi-Fi pendant linstallation nest utile que si vous dsirez utiliser
laccs au rseau sans-l pendant linstallation. En plus des paramtres prcdents, vous
Linux Livre Page 38 Mardi, 23. septembre 2008 1:05 13
39 INSTALLATION
devez alors indiquer lidentiant du rseau (SSID ou ESSID), le mode de chiffrement (WEP,
WPA ou WPA2) et le mot de passe. Lorsque le systme fonctionne, le logiciel Network-
Manager est plus confortable utiliser.
Accs
Internet par
modem, RNIS
ou ADSL
Si votre ordinateur ne fait pas partie dun rseau local, vous accdez probablement Inter-
net via un modem, une carte RNIS ou un modem ADSL. Ceux-ci ne fonctionnent demble
que dans les cas simples. Il peut donc tre sage de repousser la conguration dInternet
plus tard (voir Chapitre 27).
Pare-feu La plupart des distributions protgent laccs au rseau ou Internet grce un pare-feu.
Ce dernier laisse passer les connexions inities par le poste, mais bloque les requtes de
connexions entrantes, ce qui augmente signicativement la scurit. Si vous envisagez
de proposer des services rseau sur votre ordinateur (comme un serveur SSH ou web), vous
pouvez dnir des exceptions pour ces services et permettre un accs depuis lextrieur.
Nous parlerons de la mise en place dun pare-feu au Chapitre 29.
SELinux,
AppArmor
Certaines distributions ajoutent au pare-feu des systmes de protection supplmentaires,
qui protgent les programmes importants contre dventuels dysfonctionnements. Red Hat
et Fedora fournissent SELinux, et SUSE, le systme AppArmor. Si vous nutilisez que les
programmes de votre distribution, SELinux et AppArmor fonctionnent sans problme. La
scurit effective de ces systmes est controverse, car ils sont encore neufs et peu utiliss en
pratique. Si vous envisagez dinstaller des programmes rseau compils par vos soins ou si
vos besoins de conguration sloignent de ceux prvus par la distribution, SELinux et
AppArmor peuvent poser problme. La solution est alors de les dsactiver.
Mises jour De nombreuses distributions proposent deffectuer une mise jour du systme avant mme
le premier dmarrage, an dactualiser les programmes critiques concernant la scurit de
lordinateur. Cela dpend bien sr de la conguration de votre accs Internet.
Mode
graphique
La plupart des programmes dinstallation congurent eux-mmes XWindow pour toutes les
sorties graphiques. Les lments critiques de cette conguration sont la reconnaissance de la
carte graphique et la saisie des paramtres du moniteur (rsolution, frquence), sils ne sont
pas reconnus.
Imprimante,
scanner,
carte son
Certaines distributions permettent de congurer une imprimante, une carte son et dautres
priphriques matriels. Si tout fonctionne bien, rien ne sy oppose. Mais en cas de pro-
blme, il vaut mieux reporter la conguration plus tard (voir Chapitre 9 pour les scanners,
Chapitre 20 pour les cartes son et Chapitre 30 pour les imprimantes).
Fuseau horaire An de paramtrer correctement lheure, le programme dinstallation doit savoir si lhorloge
interne (CMOS, au niveau matriel) de lordinateur est rgle lheure locale ou en UTC (Uni-
versal Coordinated Time), et dans quel fuseau horaire vous vous trouvez. Si votre ordinateur dis-
pose dun accs permanent Internet, de nombreuses distributions peuvent tre congures
pour synchroniser lheure avec un serveur de date (serveur NTP) sur Internet.
Langue En gnral, Linux sinstalle dans la langue utilise pendant linstallation pour la plupart
des lecteurs de cet ouvrage, il sagit donc du franais. Il est conseill dinstaller galement
les chiers de langue anglaise (ce dont la plupart des distributions soccupent par dfaut).
Ainsi, vous tes assur davoir au moins le texte anglais sil nexiste pas de traduction fran-
aise.
Linux Livre Page 39 Mardi, 23. septembre 2008 1:05 13
LINUX 40
Si certaines personnes veulent utiliser votre ordinateur dans une autre langue que celle par
dfaut, vous devez installer les paquetages de localisation correspondants. Vous pourrez
alors choisir la langue dsire lors de la connexion au systme.
2.7 Installation du chargeur damorage
Cette section sintresse la manire dont Linux doit tre dmarr. La plupart des distribu-
tions installent cet effet le logiciel GRUB. Il peut aussi sagir du programme dj ancien
LILO, mais cest de plus en plus rare.
Le premier secteur du disque dur est appel MBR (Master Boot Record ou enregistrement
damorage matre), o la plupart des programmes dinstallation placent GRUB et LILO.
Par consquent, le secteur damorage, souvent pralablement occup par Windows, est
cras. GRUB ne sert donc pas seulement amorcer Linux, mais il pointe aussi vers le char-
geur damorage de Windows. Au dmarrage de lordinateur, un petit menu safche. Vous
pouvez alors choisir de dmarrer Linux ou Windows. Si vous optez pour ce dernier, GRUB
active le chargeur damorage de Windows qui se trouve dans le premier secteur de la par-
tition de Windows.
Problmes Installer le chargeur damorage fonctionne dsormais dans presque toutes les congura-
tions matrielles et logicielles. Cependant, dans certains cas rares, un problme survient.
Vous ne pouvez alors lancer ni Windows, ni Linux. Nous parlerons de cette situation la
section 2.10.
Dmarrage de
lordinateur
Si tout se passe bien, vous devriez obtenir lors du dmarrage de lordinateur un menu dans
lequel vous pouvez choisir le systme dexploitation que vous dsirez dmarrer. Laspect de
ce menu dpend du programme dinstallation. Vous pouvez enn faire vos premiers pas
sous Linux (voir Chapitre 3).
2.8 Installations non standard
Cette section voque deux formes dinstallation moins frquentes dans la pratique. Les
dtails dpendent videmment de la distribution choisie.
Installation sur
un disque dur
externe
On peut installer Linux sur un disque dur externe en USB ou en Firewire. Cette variante
peut sembler sduisante, en particulier sur les portables dont le disque dur intgr est plein.
Le problme est le dmarrage du systme Linux. On peut alors procder de deux manires :
Installer le chargeur damorage sur le premier secteur du disque dur externe. Il faut
alors congurer le BIOS pour quil utilise celui-ci comme premier priphrique damor-
age. En dautres termes, si le disque dur externe est branch, Linux dmarre ; sinon, ce
sera Windows install sur le disque interne.
Installer le chargeur damorage sur le premier secteur du disque interne. Dans ce cas, le
processus ne fonctionne que si le chargeur damorage et Linux reconnaissent immdia-
tement le disque externe (sans avoir charger de pilote).
Il nexiste pas de solution universelle, car tout dpend de la manire dont le BIOS gre les
disques externes pendant lamorage.
Linux Livre Page 40 Mardi, 23. septembre 2008 1:05 13
41 INSTALLATION
On peut aussi installer Linux sur une grosse cl USB, qui est alors reconnue comme disque
dur externe.
Installation
rseau
Lors dune installation rseau, les chiers ne sont pas lus sur un CD ou un DVD, mais sur le
rseau. Il existe alors deux variantes qui se diffrencient par la manire dont linstallation
commence :
Dmarrage de linstallation avec un CD contenant le programme dinstallation. Il con-
gure la connexion au rseau et rcupre ensuite toutes les donnes sur le rseau ou sur
Internet via FTP, HTTP, NFS ou SMB. Cette mthode est pratique pour les grosses distri-
butions disponibles gratuitement sur Internet, comme Debian ou openSUSE. Il nest
alors pas ncessaire de tlcharger des ISO volumineuses et de graver plusieurs CD ou
DVD ; il suft de tlcharger une ISO de CD de dmarrage, ne dpassant gnralement
pas les 50 Mo.
Installation rseau. La "vraie" installation rseau implique que votre ordinateur puisse
lire ses donnes damorage sur le rseau. Cest possible sur la plupart des cartes mres,
mais il faut le congurer dans le BIOS et mettre en place un serveur permettant ce type
dutilisation.
Dans les deux cas, il faut prvoir une bonne connexion au rseau ou Internet.
2.9 Problmes lors de linstallation
Cette section traite des problmes typiques que vous pouvez rencontrer pendant linstalla-
tion, et des solutions possibles. Comme nous ne pouvons pas aborder lintgralit de luni-
vers de Linux, vous devez apprendre vous aider vous-mme, et le plus tt sera le mieux.
Saider
soi-mme
Que faire lorsque vous avez un problme dinstallation, que lordinateur ne rpond pas ou
que le matriel nest pas reconnu ? Le premier rexe est vident : avant de dmarrer lins-
tallation, lisez le chier README et les notes de version (Release Notes) qui se trouvent sur
Internet ou sur le CD-ROM.
Le site web de la distribution concerne est galement un bon point de dpart. Il contient
souvent des pages et des forums ddis la rsolution des problmes les plus frquents.
Les groupes de discussion sur Linux sont aussi une source intressante et gnralement
jour. Allez ladresse http://groups.google.fr. Si vous saisissez par exemple "linux" et le
nom dun priphrique, vous trouverez sans doute de nombreuses discussions relatives ce
dernier, et avec un peu de chance et de patience, une rponse votre problme.
Problmes de matriel
Si des composants matriels importants ne sont pas reconnus lors de linstallation, ou si leur
dtection plante, il peut tre utile de passer des paramtres au noyau (voir Chapitre 24).
Linux Livre Page 41 Mardi, 23. septembre 2008 1:05 13
LINUX 42
Problmes lis au clavier
Dans les premires phases de linstallation, il se peut que le clavier franais ne soit pas
encore install et que vous disposiez dun clavier amricain. Cest galement souvent le cas
pendant le dmarrage du chargeur damorage. Le clavier QWERTY US est reprsent
ladresse http://fr.wikipedia.org/wiki/QWERTY ; cette illustration peut tre pratique pour
retrouver des correspondances avec un clavier AZERTY franais.
2.10 Problmes aprs linstallation
Il arrive que linstallation se passe sans soucis et que les problmes commencent aprs le
redmarrage de lordinateur.
Lordinateur ne dmarre plus
Le pire aprs une installation de Linux est que lordinateur ne dmarre plus ou que lun des
systmes dexploitation ne soit plus accessible. Il peut sagir dune des situations suivantes :
Linux plante (problme de matriel). Aprs le redmarrage, lordinateur afche quelques
messages puis plante, avec ou sans message derreur.
Cause probable : il sagit dun problme matriel.
Rsolution : vous pouvez aider Linux dtecter certains composants matriels grce
des options passes au noyau lors de lamorage (voir Chapitre 24). Mais cela ne fonc-
tionne quavec ceux directement accessibles par le noyau, sans module intermdiaire.
On peut passer des options damorage directement au noyau. Dans GRUB, passez du
mode graphique au mode texte grce chap. Choisissez avec les touches de direction
la distribution Linux dmarrer et tapez E. Vous accderez alors lditeur de GRUB,
qui afche quelques lignes comme celles-ci :
kernel (hd0,11)/boot/vmlinuz root=/dev/hda12 splash=silent vga=normal
initrd (hd0,11)/boot/initrd
Choisissez la ligne du noyau (commenant par kernel) et appuyez nouveau sur E
pour lditer. La touche Entre valide les modications et chap revient au menu
damorage do vous pourrez redmarrer Linux. La modication des paramtres ne
fonctionne que pour ce dmarrage et nest pas enregistre pour les suivants.
Linux plante (unable to mount root fs). Le noyau a dmarr, mais Linux na pas pu
trouver sa partition systme.
Cause probable : la conguration de GRUB a chou. Cela peut arriver lorsque le
cblage des disques durs a t modi.
Rsolution : indiquez la bonne partition lors du dmarrage sous la forme root=/dev/
hdb8. Lorsque cela fonctionne, vous pouvez recongurer GRUB et recrer une disquette
damorage. Si le nom de la partition a t modi (par exemple, si le disque a t recbl),
il faut aussi modier le chier /etc/fstab (voir Chapitre 23).
Linux Livre Page 42 Mardi, 23. septembre 2008 1:05 13
43 INSTALLATION
Linux ne dmarre pas. Lorsque lordinateur redmarre, il lance Windows sans poser de
question. Il ne semble pas y avoir trace de Linux.
Cause probable : linstallation de GRUB na pas fonctionn pour une raison ou une
autre.
Rsolution : dmarrez un systme de maintenance ou un live CD et rinstallez GRUB
(voir Chapitre 24).
Windows ne dmarre pas. Aprs le dmarrage, Linux se lance automatiquement. Il ne
semble pas y avoir trace de Windows.
Cause probable : linstallation de GRUB a fonctionn, mais Linux se lance automatique-
ment ou Windows napparat pas dans le menu. Il est possible que le menu napparaisse
que lorsque lutilisateur appuie sur chap.
Rsolution : si un menu safche, choisissez windows avec les touches de direction et
appuyez sur Entre. Dans le cas contraire, dmarrez Linux et explorez la conguration
de GRUB pour y ajouter un lment de menu pour Windows (voir Chapitre 24).
Ni Linux, ni Windows ne dmarrent. GRUB est excut, mais afche rapidement une
liste sans n de messages derreur.
Cause probable : linstallation de GRUB est endommage.
Rsolution : dmarrez un systme de maintenance ou un live CD, et rinstallez GRUB
(voir Chapitre 24).
Le systme graphique ne dmarre pas
Il arrive que le systme dmarre, mais seulement en mode texte. XWindow, la base des
systmes de bureau KDE ou Gnome, ne fonctionne pas.
Dmarrage
automatique
de X
La premire tape consiste vrier si le systme nest pas congur pour dmarrer en
mode texte. Pour dmarrer X manuellement, connectez-vous en mode texte (indiquez votre
nom dutilisateur et votre mot de passe) et lancez la commande startx. Si cela fonctionne, le
systme graphique fonctionne. Il faut alors congurer le systme pour quil lance le systme
graphique au dmarrage. Selon la distribution, il faut modier /etc/inittab ou sassurer
quun script dmarre le gestionnaire dafchage (voir Chapitre 24).
Reconfigurer X Si startx ne fonctionne pas, le problme provient sans doute dune conguration incom-
plte ou errone. Vous trouverez des informations sur la cration dune conguration X
correcte au Chapitre 22.
Le clavier ne fonctionne pas
Les problmes de clavier sont souvent lis la disposition du clavier : Linux pense que vous
tapez avec un clavier US, alors que vous utilisez un modle franais. Cette conguration est
diffrente pour le mode texte et le mode graphique (voir Chapitres 20 et 22).
Linux Livre Page 43 Mardi, 23. septembre 2008 1:05 13
LINUX 44
Les menus sont dans la mauvaise langue
Tous les programmes afchent par dfaut les messages derreur ou les menus en anglais. De
nombreux programmes (en particulier, Gnome et KDE) peuvent aussi les afcher dans plu-
sieurs langues (voir Chapitre 20). En gnral, il faut installer les paquetages correspondant
votre langue, qui assurent la traduction des menus et des autres textes.
Linux Livre Page 44 Mardi, 23. septembre 2008 1:05 13
3
Premiers pas sous Linux
Ce chapitre vise vous aider lors de vos premiers pas sous Linux : comment vous connecter,
lancer des programmes, vous dconnecter ou redmarrer lordinateur. Il vous indique aussi
o trouver de la documentation, que ce soit sur le systme install ou sur Internet.
La difcult est que sous Linux, on peut congurer chaque petit dtail. Ainsi, le menu de
dmarrage du bureau est lgrement diffrent dans chaque distribution. Une combinaison
de touches sous Red Hat peut avoir un effet diffrent sous SUSE. Cest pourquoi nous
emploierons de nombreuses formulations de type "gnralement" ou "la plupart" dans ce
chapitre. La seule alternative serait de dtailler le fonctionnement de chaque distribution,
que vous trouverez dans la documentation correspondante.
3.1 Dmarrer et arrter Linux
Pour dmarrer Linux, vous devez redmarrer votre ordinateur. Vous ne pouvez pas le
dmarrer depuis Windows, moins de le lancer dans un programme comme VMware et de
le faire fonctionner dans un environnement virtuel. Au dmarrage, indiquez dans le menu
que vous dsirez lancer Linux et non Windows.
Le processus de dmarrage dure environ deux minutes, mais varie en fonction de la distri-
bution et du matriel. De nombreuses distributions afchent une barre de progression pen-
dant le dmarrage. Dautres montrent les innombrables dtails du dmarrage du systme.
Ces informations ne sont nanmoins utiles quen cas de dysfonctionnement.
Normalement, le processus damorage se termine par lafchage dun cran de connexion
graphique. Vous pouvez vous connecter avec votre nom dutilisateur et votre mot de passe.
Pour nir, lenvironnement de travail par dfaut de votre distribution, gnralement Gnome
ou KDE, safche. Vous trouverez une description plus dtaille de ces deux environnements
aux Chapitres 4 et 5.
Ne vous connectez pas en tant que root ; utilisez un identiant de connexion sans privilge.
Lutilisateur root a des droits illimits. Il nest pas courant de travailler en root sous Linux.
Seules quelques tches administratives et certains programmes demandent les droits root
auxquels vous pouvez accder en indiquant le mot de passe root ou, sous Ubuntu, votre
propre mot de passe.
Nous expliquerons au Chapitre 20 comment modier le mot de passe root et crer de nouveaux
utilisateurs.
Langue,
bureau
Si vous avez install plusieurs jeux de chiers de localisation (pour plusieurs langues) ou
plusieurs systmes de bureau (par exemple, Gnome et KDE), vous pouvez choisir la langue
et le bureau que vous dsirez lancer lors de la connexion. Les paramtres dpendent de la dis-
tribution, mais prennent souvent la forme dune liste droulante dans la bote de connexion
ou dun menu spar (voir Figure 3.1).
Linux Livre Page 45 Mardi, 23. septembre 2008 1:05 13
LINUX 46
Connexion
automatique
On peut congurer Gnome et KDE pour quils dmarrent automatiquement une session.
Cela est plus confortable, mais nest pas optimal du point de vue de la scurit (voir Chapi-
tres 4 et 5).
Connexion en
mode texte
On peut galement accder de nombreuses fonctionnalits de Linux en mode texte. Une
installation serveur supprimera souvent le systme XWindow et son dmarrage automatique
sera dsactiv. Vous devrez donc vous connecter en mode texte (voir Chapitre 12).
Lorsque le systme XWindow est install, vous pouvez le dmarrer depuis une console avec
la commande startx. Si cette dernire afche des erreurs, X nest pas bien congur. Nous
expliquerons comment rgler ce problme au Chapitre 22.
Dconnexion
Les menus KDE et Gnome proposent tous deux une commande pour se dconnecter. La
dnomination exacte varie selon les distributions et lenvironnement. Elle termine tous les
programmes qui fonctionnent dans lenvironnement graphique (enregistrez au pralable
tous vos chiers) et ramne lutilisateur la bote de connexion, partir de laquelle il peut
se reconnecter ou teindre lordinateur.
Changement
dutilisateur
sans
dconnexion
Pour changer dutilisateur, il faut thoriquement se dconnecter et se reconnecter sous un
autre nom. Gnome et KDE permettent cependant de le faire sans dconnexion. Pour cela, le
systme graphique est dmarr une seconde fois (deux systmes sont lancs en mme
temps), ce qui ncessite plus de ressources. On peut alors changer dutilisateur rapidement
avec un raccourci clavier.
Figure 3.1
cran de connexion
sous Ubuntu.
Linux Livre Page 46 Mardi, 23. septembre 2008 1:05 13
47 PREMIERS PAS SOUS LINUX
Dconnexion
du mode texte
Si vous travaillez en mode texte, utilisez la combinaison de touches Ctrl+D ou la commande
exit pour vous dconnecter.
teindre Linux
Les utilisateurs dinterface graphique ont une commande dans le menu pour teindre lordi-
nateur ou une option dans la fentre de connexion. En mode texte, il faut utiliser la commande
shutdown -h now. Elle ne peut tre excute que par root.
3.2 Clavier, souris et presse-papiers
Raccourcis clavier importants
Les raccourcis clavier dpendent du mode dans lequel vous travaillez : graphique ou texte.
Cette section prsuppose que vous avez ouvert une session graphique. Les raccourcis sont
dnis selon trois niveaux de programmes :
Le systme XWindow, pour les fonctions lmentaires du systme graphique, dnit
peu de raccourcis clavier.
Les environnements Gnome et KDE sont construits au-dessus de X. Ils dnissent ga-
lement peu de raccourcis. Ceux-ci ont t harmoniss ces dernires annes pour quils
soient identiques sous Gnome et KDE, au moins pour les fonctions les plus importantes.
Prcisons que les raccourcis concerns sont en fait grs par le gestionnaire de fentre, et
non par le gestionnaire de bureau (voir Chapitre 22).
Les raccourcis clavier restants proviennent naturellement des diffrents programmes.
Ils dpendent donc de ce que vous tes en train de faire : surfer sur le web avec Firefox,
crire une lettre avec OpenOfce.org ou modier du code avec lditeur Emacs. Il existe
une multitude de raccourcis que nous ne pouvons pas dcrire ici.
Cependant, de nombreuses applications graphiques utilisent les mmes raccourcis que
sous Windows. Par exemple, on copie du texte dans le presse-papiers avec Ctrl+Inser ou
Ctrl+C ; on colle du texte avec Maj+Inser ou Maj+V et on enregistre un chier avec Ctrl+S.
Nous ne pouvons malheureusement pas garantir que les raccourcis suivants fonctionnent
pour toutes les distributions. Certaines sloignent des conventions, mais ils peuvent tous
tre recongurs.
Raccourcis clavier sous X
c+a+B arrte le systme X en entier
c+a+1 6 passe du mode graphique aux consoles texte 1 6
a+7 passe du mode texte au mode graphique
a+c+7 8 etc. passe dun mode graphique un autre, si par exemple plusieurs utilisateurs
sont connects
Linux Livre Page 47 Mardi, 23. septembre 2008 1:05 13
LINUX 48
Saisie de
caractres
trangers
Si vous devez saisir des caractres dans une langue trangre, il se peut que vous ne dispo-
siez pas de la touche correspondante sur votre clavier. Gnome et KDE fournissent tous deux
des outils de table de caractres : gucharmap sous Gnome, KCharMap sous KDE. Open-
Ofce.org a galement une fentre qui permet la saisie de tels caractres.
Utilisation de la souris
Linux tend de plus en plus sorienter vers les conventions dutilisation de Windows ou de
Mac OS. Il existe cependant certaines particularits relatives au bureau qui sont regroupes
dans cette section.
Clic simple ou
clic double
Sous Gnome, il faut pour de nombreuses oprations (y compris louverture dun chier)
double-cliquer sur llment concern. Sous KDE, il est en revanche plus courant dutiliser
le simple clic.
Copier et coller
du texte la
souris
Dans presque tous les programmes Linux, vous pouvez copier et coller du texte la souris.
Pour marquer le texte copier, slectionnez-le avec le bouton gauche. Le texte ainsi marqu est
copi dans un tampon. Lorsque vous appuierez ensuite sur le bouton du milieu, il sera coll
lendroit o le curseur se trouve, dans la mme application ou dans une application diffrente.
Attention, lorsque vous serez habitu ce fonctionnement, il sera difcile de vous en passer
en particulier sous Windows.
3.3 Documentation sous Linux
La documentation sous Linux est impressionnante. Elle est en partie fournie avec le systme
et disponible sur Internet. Les experts peuvent galement jeter un il au code source, qui est
souvent bien document. Cette section prsente un aperu des principales sources dinfor-
mation.
Plus la documentation est volumineuse, plus il est difcile de trouver la rponse un pro-
blme. Lastuce qui rgle tout est souvent perdue au milieu dinformations primes, de cas
spciques une version ou une distribution, et de discussions sans n. Notez cependant
que la comprhension de langlais est un avantage. Quil sagisse de laide dun programme
ou de la description dun service, les traductions en franais sont, pour autant quelles existent,
souvent incompltes ou obsoltes.
Aide des
applications
Presque tous les programmes graphiques fournissent une aide lie lapplication lorsquon
appuie sur F1. Si cela ne fonctionne pas, assurez-vous que les donnes daide sont installes.
Raccourcis clavier importants du bureau (Gnome, KDE)
a+t change la fentre courante
a+1 affiche le menu du bureau
a+2 dmarre un programme
a+3 affiche le menu de la fentre courante
a+4 ferme la fentre et termine le programme
Linux Livre Page 48 Mardi, 23. septembre 2008 1:05 13
49 PREMIERS PAS SOUS LINUX
Dans certaines grosses applications, comme Gimp ou OpenOfce.org, laide peut se trouver
dans un paquetage part qui nest pas install par dfaut.
man et info Pour de nombreuses commandes en mode texte, man nom ou info nom fournissent une des-
cription de la commande et une rfrence de la syntaxe. Nous en parlerons plus en dtail au
Chapitre 12.
Documen-
tation des
paquetages
Sous Linux, les programmes sont installs sous forme de paquetages. Un paquetage
contient tous les chiers ncessaires une application et, bien souvent, des chiers de
documentation. Celle-ci se trouve, selon la distribution, dans /usr/share/doc/nom_du_paque-
tage (sous Debian, Fedora, Red Hat et Ubuntu) ou /usr/share/doc/packages/
nom_du_paquetage (sous SUSE).
Que faire lorsque vous cherchez la documentation dune commande sans savoir quel
paquetage elle appartient ? La premire tape est de trouver le nom exact de la commande.
Lancez pour cela la commande which -a commande :
utilisateur$ which -a cp
/bin/cp
Il faut ensuite dterminer quel paquetage appartient le chier. Cette opration dpend
de votre distribution. La commande suivante indique que cp fait partie du paquetage
coreutils :
utilisateur$ rpm -qf /bin/cp
coreutils-6.9.43
utilisateur$ dpkg -S /bin/cp
coreutils: /bin/cp
La commande rpm est utilise dans les distributions Fedora, Red Hat, SUSE ou Mandriva, et
dpkg sous Debian et Ubuntu.
Forums et
wikis sur
Internet
Il existe dinnombrables forums, wikis et pages web sur Linux, maintenus par les acteurs du
march et les utilisateurs enthousiastes. Une numration serait ici inutile : une simple
recherche des termes "fedora forum" ou "ubuntu wiki" propose de nombreuses pages. En ce
qui concerne les questions spciques une distribution, vous aurez plus de chances de
trouver votre bonheur si votre distribution est populaire.
Groupes de
discussion
Les groupes de discussion sont principalement utiliss par des utilisateurs expriments de
Linux. Vous ny trouverez peut-tre pas de discussions courantes faciles suivre, mais
vous pourrez chercher des informations dans les archives. En particulier, les problmes
de conguration ou de matriel ont probablement t rencontrs par quelquun dautre.
Le moteur de recherche le plus utilis pour les groupes de discussion est Google :
http://groups.google.com.
Linux Docu-
mentation
Project
Le Linux Documentation Project (projet de documentation de Linux) a pour but de rassem-
bler la documentation autour de Linux. Vous trouverez plus dinformations son sujet sur
la page du projet : http://www.tldp.org/.
La documentation se divise principalement en trois types : les HOWTO ou guides prati-
ques, les FAQ (Foires aux Questions) et les guides (sous forme de livres). Mais de nombreux
Linux Livre Page 49 Mardi, 23. septembre 2008 1:05 13
LINUX 50
textes du LDP ne sont plus maintenus et sont obsoltes. De plus en plus de projets de documen-
tation utilisent un wiki, que tous les utilisateurs peuvent le cas chant corriger.
Une partie de la documentation du LDP est traduite en franais par le projet http://www.tra-
duc.org. Les mmes rserves quant lactualit des documentations sappliquent, dautant
plus quune traduction peut ne pas tre jour par rapport la version originale.
Documen-
tations en
franais
Notons pour terminer deux sites utiles en franais.
Le premier, La Linux (http://www.lea-linux.org), est un site de documentation en fran-
ais. On y trouve normment dinformations utiles, en particulier en ce qui concerne le
matriel. Tous les publics (du dbutant au professionnel) sont viss par les diffrents articles du
site.
Le second, Unix Garden (http://www.unixgarden.com), est un site gr par les ditions Dia-
mond qui ditent entre autres les magazines GNU/Linux Magazine France et Linux Pratique.
Unix Garden reprend, quelques mois aprs leur publication sous forme papier, les articles
de ces magazines. On peut donc y trouver des articles pratiques intressants, mme sil ne
sagit pas proprement parler dun site dentraide ou de documentation.
Linux Livre Page 50 Mardi, 23. septembre 2008 1:05 13
4
Gnome
Lorsque vous travaillez sous Windows ou Mac OS, il nexiste quune seule interface utilisa-
teur qui fait partie du systme dexploitation. La situation est diffrente sous Linux. Le sys-
tme dexploitation ne sert quaux oprations de base. Linterface utilisateur est un
programme situ un niveau au-dessus. Il existe de nombreux systmes de bureau. Les plus
populaires sont actuellement Gnome et KDE (voir Chapitre 5).
Quil sagisse de Gnome ou de KDE, les fonctions de base dun gestionnaire de bureau sont
les mmes et regroupent :
la gestion du bureau, compos dune ou deux barres (ou panneaux) contenant le menu
de dmarrage, le gestionnaire de tches et dautres mini-applications ;
un gestionnaire de fentres servant rgler le comportement des fentres (comment
changer de fentre active, comment les dplacer, etc.) ;
de nombreuses applications et programmes de conguration.
Ce chapitre se consacre aux fonctions basiques de Gnome. Mais attention : deux instal-
lations de Gnome se ressemblent rarement. Dune part, une nouvelle version sort tous les six
douze mois mais les changements visibles pour les utilisateurs ont t plutt modestes au
cours des dernires annes. Dautre part, chaque distribution modie Gnome sa discrtion :
la construction du menu de dmarrage, les effets graphiques du bureau et le choix des pro-
grammes et logiciels de conguration peuvent varier fortement. Ce chapitre se base sur la
version 2.22 de Gnome, telle que congure dans Ubuntu 8.04.
De nombreux programmes ajoutant des fonctionnalits et des lments graphiques au
bureau sont installs avec Gnome.
Gnome contre
KDE
Pour des raisons historiques, il existe deux environnements de bureau concurrents sous
Linux. Le projet KDE se basait sur la bibliothque Qt de lentreprise TrollTech. Les premires
versions de Qt taient considres comme restrictives par rapport la GPL (elle est depuis
compltement compatible). Une partie de la communaut Linux trouvait que ces restrictions
allaient trop loin et a fond le projet concurrent Gnome.
La question de savoir lequel de Gnome ou de KDE est le meilleur gestionnaire de bureau
chauffe encore aujourdhui les esprits. Les deux bureaux sont tout fait adapts une uti-
lisation bureautique standard. Gnome est plus accessible et plus simple apprendre, mais
KDE fournit aux utilisateurs avancs davantage de possibilits de conguration et de per-
sonnalisation. Ces derniers ont donc une prfrence pour KDE, tandis que Gnome joue un
grand rle dans lenvironnement commercial de Linux (Red Hat et Novell sont plutt orients
vers Gnome).
De nombreuses distributions laissent leurs utilisateurs le choix entre les bureaux et propo-
sent des paquetages pour les deux environnements. Il est donc possible dinstaller les systmes
en parallle et de choisir un bureau lors de la connexion.
Linux Livre Page 51 Mardi, 23. septembre 2008 1:05 13
LINUX 52
Plus important encore : vous pouvez parfaitement utiliser ces deux programmes en paral-
lle. Par exemple, si vous utilisez Gnome comme environnement de bureau, rien ne vous
empche dutiliser KDE K3b pour graver vos CD et DVD. Ils sont dailleurs compatibles entre
eux au point que mme les commandes de glisser-dposer fonctionnent sans problme.
Travailler
sans environ-
nement de
bureau
Gnome et KDE fournissent certes de nombreuses fonctionnalits, mais ils demandent des
capacits assez importantes en termes de mmoire vive et de processeur. Sur les ordinateurs
limits en ressources, il est prfrable de se passer dun environnement de bureau. Si vous
dsirez une interface graphique, utilisez pour la gestion de vos fentres un gestionnaire de
fentres, comme XFCE. Il existe des distributions, comme Xubuntu, qui sont optimises
pour ce choix de paquetages. Vous pouvez aussi choisir de fonctionner en mode texte. Cest
largement sufsant pour les serveurs rseau ou les pare-feu.
4.1 Conception du bureau
Connexion et
dconnexion
Avant de pouvoir travailler sous Gnome, vous devez vous connecter avec votre nom dutili-
sateur et votre mot de passe. Sur lcran de connexion, il existe un menu Options (gnrale-
ment en bas gauche), dans lequel vous pouvez choisir la langue et lenvironnement de
bureau que vous souhaitez lancer lorsquil en existe plusieurs.
Pour vous dconnecter ou redmarrer lordinateur, choisissez llment correspondant du
menu Systme (qui peut, selon les distributions, sappeler Quitter, Terminer, Se dconnecter,
etc.). Selon le matriel, vous pouvez aussi lancer le mode dhibernation ou dconomie
dnergie de lordinateur.
Changement
dutilisateur
Gnome permet de changer dutilisateur sans que lutilisateur courant ait se dconnecter.
Le plus lgant est dutiliser le programme fast-user-switch-applet prsent depuis la ver-
sion 2.20. Cette application safche normalement droite du tableau de bord et indique par
dfaut le nom de lutilisateur connect. Un clic de souris afche une liste de tous les utilisa-
teurs et dsigne ceux qui sont dj connects avec une coche. Choisir un lment dans ce
menu afche, pour des raisons de scurit, une nouvelle bote de dialogue de connexion.
En interne, un nouveau systme graphique (nouveau serveur X) est dmarr pour chaque
utilisateur, ce qui ncessite beaucoup de ressources. Lutilisation par plusieurs utilisateurs
en parallle ne fonctionne donc correctement que sous les ordinateurs rapides. Pour changer
dutilisateur, on utilise les combinaisons de touches suivantes :
Ctrl+Alt+F7 premier utilisateur
Ctrl+Alt+F8 deuxime utilisateur
Ctrl+Alt+F9 troisime utilisateur
Certaines distributions rservent le F8 un cran de journalisation et les utilisateurs sont
donc dcals (F7 pour le premier, F9 pour le deuxime, F10 pour le troisime, etc.).
Si lapplication de changement dutilisateur nest pas sur le tableau de bord, on peut la lan-
cer manuellement en cliquant du bouton droit sur le tableau de bord et en choisissant Ajouter
au tableau de bord... puis, dans la fentre qui safche, Outil de changement dutilisateur.
Bureau Aprs la connexion, vous vous trouvez sur le bureau Gnome. Son apparence dpend beaucoup
des distributions. La Figure 4.1 illustre Gnome sous Ubuntu.
Linux Livre Page 52 Mardi, 23. septembre 2008 1:05 13
53 GNOME
Le bureau se compose habituellement des lments suivants :
deux "barres" ou tableaux de bord, en haut et en bas de lcran ;
le menu Gnome dans le tableau de bord du haut ;
la liste des tches dans le tableau de bord du bas ;
des icnes et diverses applications daide (applets) dans les deux tableaux de bord ;
la zone de travail effective entre les deux tableaux de bord.
Les lments du bureau sont congurables presque sans limite. Vous pouvez, par exemple,
placer les deux tableaux de bord dun seul ct, supprimer des lments des tableaux de
bord, en ajouter dautres, en modier les proprits, etc. Vous pouvez accder aux botes
de conguration correspondantes avec le bouton droit.
Zone de travail Au dpart, la zone de travail est presque vide, lexception de quelques icnes pour les lec-
teurs externes. Selon la conguration, on peut aussi trouver des icnes supplmentaires
pour la corbeille, le rpertoire personnel, etc.
On peut crer des chiers et des rpertoires sur la zone de bureau. Ceux-ci sont alors repr-
sents par des icnes. Il sagit physiquement des chiers crs dans le rpertoire ~/Desktop.
La reprsentation et la gestion des icnes (aspect, emplacement, etc.) sont gres par le
gestionnaire de chiers de Gnome, Nautilus. Leurs proprits sont enregistres dans
le rpertoire ~/.nautilus/metafiles/*.
Tableaux
de bord
Un tableau de bord est une zone rectangulaire situe sur lun des cts de lcran (habituel-
lement, en haut ou en bas). Il na en soi aucune fonction ; il nest quun conteneur pour
dautres lments du bureau (les applets, comme le menu et la liste des tches).
Figure 4.1
Le bureau Gnome.
Linux Livre Page 53 Mardi, 23. septembre 2008 1:05 13
LINUX 54
On peut dplacer facilement les tableaux de bord la souris. La plupart des applications
sont prvues pour des tableaux de bord horizontaux. Si ces derniers sont placs sur le ct
droit ou gauche de lcran, cela peut mener des rsultats non optimaux.
Il est galement possible de runir les lments des deux tableaux de bord par dfaut dans
un seul. Les distributions de SUSE et de Novell sont congures ainsi.
Applets Les applets sont des programmes excuts dans les tableaux de bord. En plus de celles pr-
sentes par dfaut, il en existe dinnombrables dont les plus importantes sont prsentes ci-
aprs. Pour ajouter une applet un tableau de bord, cliquez sur celui-ci du bouton droit et
lancez Ajouter au tableau de bord (voir Figure 4.2).
Vous pouvez modier certaines proprits des applets dans le menu contextuel qui souvre
avec le bouton droit.
Lapplet la plus importante est sans doute le menu Gnome (voir Figure 4.1). Il se compose
de trois groupes : Applications pour dmarrer les programmes, Raccourcis pour ouvrir des
rpertoires ou dmarrer le gestionnaire de chiers Nautilus, et Systme pour congurer,
administrer et quitter le systme.
La clart de ce menu dpend largement de la conguration. Ubuntu est exemplaire, car le
menu ne contient que les programmes les plus utiliss. linverse, la conguration de
base de Debian est systmatique et exhaustive, redondante, et souvent droutante pour
les dbutants.
Vous pouvez glisser-dposer un programme souvent utilis dans un endroit vide du tableau de bord. Licne
qui apparat vous permet de dmarrer rapidement lapplication en question.
Vous pouvez aussi modifier vous-mme le menu. Pour cela, utilisez lditeur de menu alacarte qui se
trouve sous Ubuntu dans Systme > Prfrences > Menu principal. Il contient de nombreuses lignes que
vous pouvez activer ou dsactiver. Vous pouvez aussi dfinir de nouveaux lments de menu ou les grou-
per diffremment.
Figure 4.2
Ajouter des applets.
Linux Livre Page 54 Mardi, 23. septembre 2008 1:05 13
55 GNOME
Novell, mcontent du menu Gnome, a dvelopp son propre menu. Il facilite laccs aux
programmes les plus utiliss, et aux documents et rpertoires rcemment ouverts (voir
Figure 4.3).
Liste des
fentres
Lapplet Liste des fentres afche une icne qui correspond la barre des tches de Windows.
Dans la bote de dialogue de conguration, vous pouvez choisir si les fentres dun programme
(par exemple, celles de Gimp ou les documents OpenOfce.org ouverts) doivent tre groupes
par programme. Cela amliore la vue densemble lorsque beaucoup de fentres sont ouvertes,
mais augmente le nombre de clics ncessaires pour changer de fentre.
Certains comportements des fentres, comme le dplacement, lagrandissement ou la mini-
misation, dpendent du gestionnaire de fentre. Gnome en fournit plusieurs ; cest gn-
ralement le programme metacity qui est utilis par dfaut.
Espaces de
travail
Les espaces de travail permettent de partager les fentres de programmes sur plusieurs
bureaux virtuels et de passer dun bureau lautre. Cela facilite le travail et amliore la vue
densemble lorsque plusieurs fentres sont ouvertes simultanment. Vous pouvez, par
exemple, lancer le programme graphique Gimp sur son propre espace de travail. Ainsi, tou-
tes ses fentres seront sur un seul et mme espace, tandis que les autres fentres seront sur
un second espace de travail.
Lapplet Slecteur despaces de travail gre des espaces de travail. Dans Prfrences, vous
pouvez choisir le nombre despaces souhait.
Il est possible de congurer une fentre donne an quelle soit visible sur tous les espaces
de travail. Ouvrez le menu de la fentre avec le bouton droit ou Alt+Espace, puis activez
loption Toujours sur lespace de travail visible.
Zone de
notification
Lorsque le tableau de bord afche la zone de notication, les programmes en tche de
fond peuvent y laisser des notications, par exemple lorsque de nouvelles mises jour
Figure 4.3
Variante du menu
Gnome fournie par
openSUSE 10.3.
Linux Livre Page 55 Mardi, 23. septembre 2008 1:05 13
LINUX 56
sont disponibles ou lorsquun nouveau courrier lectronique est arriv. Cette zone na en soi
aucune fonction ; il sagit plutt dun conteneur pour les icnes des autres programmes.
4.2 Nautilus
Le programme Nautilus est le gestionnaire de chiers de lenvironnement de bureau
Gnome. Il permet daccder aux chiers et rpertoires de lordinateur, ainsi quaux lecteurs
externes et aux rpertoires rseau, de graver des CD et des DVD, etc. Nautilus est un pro-
gramme plutt universel (voir Figure 4.4).
Cette section traite de lutilisation de Nautilus, mais ne rentre pas dans les dtails de la gestion des fichiers
sous Linux. Ce thme fait lobjet dun chapitre complet, le Chapitre 13.
Dmarrage On dmarre gnralement Nautilus depuis le menu Gnome en choisissant Raccourcis >
Dossier personnel. Le menu Raccourcis contient galement des autres lments qui facilitent
laccs dautres rpertoires.
Le gestionnaire de chiers afche par dfaut le contenu du rpertoire choisi sous forme de
symboles. Chaque chier est reprsent par une icne qui, pour certains, donne un aperu
du contenu. Cet aperu ne fonctionne par dfaut que pour les chiers locaux (et non pour
les rpertoires rseau) et ceux relativement petits. Vous pouvez modier ce comportement
dans dition > Prfrences > Aperu.
Pour ne pas avoir regnrer sans cesse les aperus, Nautilus enregistre les images dans le
rpertoire ~/.thumbnails. La plupart des programmes Gnome utilisent ce rpertoire.
Figure 4.4
Nautilus.
Linux Livre Page 56 Mardi, 23. septembre 2008 1:05 13
57 GNOME
Cliquez sur Afchage > Zoom avant et Afchage > Zoom arrire pour modier la taille des
icnes. Pour afcher les informations dtailles des chiers, choisissez Afchage > Voir en
tant que liste dans le menu.
Barre latrale Le panneau gauche de la fentre contient normalement une barre latrale, qui permet de
passer rapidement dans plusieurs rpertoires importants (il sagit de raccourcis). Vous pou-
vez cependant y afcher dautres choses, comme larborescence des rpertoires, des infor-
mations sur le rpertoire courant ou une liste des derniers rpertoires visits (Historique).
F9 masque ou afche cette barre latrale.
Changer de
rpertoire
Sous les diverses icnes, se trouvent des boutons qui permettent de changer rapidement de
rpertoire. Ils indiquent le chemin du rpertoire courant (par exemple, en bas gauche de la
Figure 4.4, le chemin est /usr/bin).
Nautilus peut aussi afcher un chemin complet en tant que barre dadresse, ce qui facilite la
saisie rapide dun autre rpertoire. Il est possible de passer dun mode lautre en cliquant
sur le bouton Bascule entre le mode texte et boutons de la barre demplacement ( gauche
de la barre en question).
Certaines distributions configurent Nautilus en mode spatial. Cela signifie que lorsquon change de rper-
toire, une nouvelle fentre souvre. Certains dveloppeurs de Gnome trouvent ce mode plus intuitif, mais
tous les utilisateurs ne sont pas de cet avis. Pour modifier ce comportement, activez loption Toujours ouvrir
dans des fentres de navigation dans dition > Prfrences > Comportement.
Ouvrir des
fichiers
La plupart des chiers souvrent avec un double-clic. Le gestionnaire de chiers ouvre automa-
tiquement le programme correspondant. Si le type de chier nest pas connu, cliquez dessus du
bouton droit et lancez Ouvrir avec une autre application. Souvre alors une bote de dialogue
dans laquelle vous pouvez choisir la plupart des programmes installs sur lordinateur.
Certains chiers peuvent tre ouverts avec plusieurs programmes. Par exemple, on peut
ouvrir les images avec un outil de visualisation, lditeur graphique Gimp ou Firefox. Lun
de ces programmes est dni par dfaut. Pour le modier, cliquez du bouton droit sur le
chier, choisissez Proprits > Ouvrir avec et indiquez le programme de votre choix. Cette
proprit sappliquera tous les chiers du mme type, comme par exemple tous les chiers
PNG.
Dplacer et
copier des
fichiers
Les chiers slectionns sont copis avec Ctrl+C, coups avec Ctrl+X (et supprims de leur
endroit dorigine) et colls avec Ctrl+V.
Il est nanmoins plus simple de dplacer les chiers la souris, et non au clavier, en les pas-
sant dune fentre du gestionnaire de chiers lautre grce un glisser-dposer. Ils sont
alors normalement dplacs et non copis. Mais il existe des exceptions cette rgle, lorsque
par exemple lopration de glisser-dposer part dun CD ou dun lecteur rseau. Dans ce
cas, le curseur de la souris est agrment dun symbole plus (+), pour que la signication de
lopration soit claire.
Si vous dsirez copier plutt que dplacer des chiers, appuyez pendant le glisser-dposer
sur la touche Ctrl. Si vous souhaitez que le navigateur vous demande quoi faire, commencez
Linux Livre Page 57 Mardi, 23. septembre 2008 1:05 13
LINUX 58
le glisser-dposer, puis appuyez sur Alt avant de dposer le chier. Lorsque vous relchez la
souris, un menu apparat : vous pouvez alors copier ou dplacer le chier, ou encore crer
un raccourci (lien).
Chercher des
fichiers
La commande Aller > Recherche des chiers offre une vue peu intuitive pour chercher des
chiers. Nautilus fait la liste de tous les chiers dont le nom correspond au terme saisi dans
le champ de recherche. Il nest pas possible deffectuer une recherche sur le texte des
chiers. Une limitation des rsultats sur un type de documents donn est normalement pr-
vue, mais mes tests sous Ubuntu 8.04 nont pas t concluants ce sujet. Notez que, par
dfaut, le rpertoire racine est parcouru (et non le rpertoire courant).
Vous pouvez aussi utiliser la commande Raccourcis > Rechercher des chiers dans le menu
Gnome. Cela lance le programme gnome-search-tool. Ce dernier permet dutiliser davan-
tage de critres de recherche, mais il est relativement lent. Les outils de recherche tels que
Beagle ou Tracker sont bien plus efcaces (voir Chapitre 13).
Fichiers cachs Sous Linux, tous les chiers et dossiers dont le nom commence par un point sont considrs
comme cachs. Cela signie quils ne sont pas afchs par le gestionnaire de chiers, ni par
les botes de dialogue de choix de chier. Ils contiennent souvent des paramtres de congura-
tion ou dautres chiers qui ne doivent pas tre modis directement. Laccs direct ces chiers
nest, en gnral, appropri que dans des cas exceptionnels (par exemple, lorsque vous dsi-
rez faire une copie de sauvegarde de votre rpertoire de courrier lectronique ~/.mozilla-
thunderbird). Pour les afcher dans le gestionnaire de chiers, cliquez dans le menu sur
Afchage > Afcher les chiers cachs.
Droits daccs Un utilisateur ne peut pas lire ou modier tous les dossiers ou rpertoires. Linux enregistre
donc pour chaque chier et rpertoire le propritaire et les droits daccs. Les concepts sous-
jacents seront expliqus au Chapitre 13. Pour modier ces droits, cliquez du bouton droit
sur le chier ou le rpertoire, puis allez dans Proprits, Permissions (voir Figure 4.5).
Figure 4.5
Permissions dun fichier.
Linux Livre Page 58 Mardi, 23. septembre 2008 1:05 13
59 GNOME
Supprimer un
fichier
Lorsque vous supprimez un chier, il atterrit dabord dans la corbeille. Vous pouvez voir le
contenu de cette dernire dans le gestionnaire de chiers grce la commande Aller > Cor-
beille, ou en cliquant directement sur son icne. Les chiers ne sont supprims que lorsque
vous les slectionnez et appuyez sur Suppr.
Par dfaut, le gestionnaire de chiers ne permet pas de supprimer directement des chiers.
Si cest ce que vous souhaitez, dans la fentre dition, Prfrences, Comportement, activez
loption Inclure une commande supprimer qui ignore la corbeille.
Supports
externes
Si vous insrez un CD ou un DVD, ou si vous branchez un lecteur USB, Firewire ou eSATA,
une nouvelle fentre Nautilus souvre automatiquement pour prsenter le contenu de ce
nouveau support. Depuis Gnome 2.22, Nautilus se lance lui-mme ou soccupe de lancer un
programme adapt. Les paramtres associs sont dnis dans la bote de dialogue dition,
Prfrences, Supports.
Noubliez pas de dconnecter explicitement les disques durs externes et les cls USB avant de les dbran-
cher de lordinateur. Pour cela, cliquez du bouton droit sur licne du support et choisissez Dmonter.
Adresses
spciales de
Nautilus
On peut indiquer des adresses spciales dans le champ dadresse de Nautilus ou dans Aller
> Emplacement. Cest souvent le moyen le plus rapide douvrir des rpertoires rseau
dans Nautilus. Le tableau suivant rsume les adresses et protocoles importants :
La version 2.22 de Gnome peut avoir des problmes sur les accs FTP et Samba qui ne fonctionnent plus
comme avant. Laffichage des polices et des thmes ne fonctionne plus non plus. Esprons que les mises
jour et la version 2.24 rgleront ces problmes.
Adresses spciales de Nautilus
computer: liste de tous les supports de donnes
fonts: liste de toutes les polices disponibles (ne fonctionne pas sous Gnome 2.22)
ftp://nomdhte accs un serveur FTP
network: utilisation comme navigateur rseau
sftp://nomdhte accs un serveur SFTP (protocole SSH)
smb: utilisation comme navigateur rseau Windows
smb://nomdhte accs un rpertoire rseau dun ordinateur sous Windows
themes: liste de tous les thmes du bureau Gnome (ne fonctionne pas sous Gnome 2.22)
trash: corbeille (fichiers supprims sous Nautilus)
Linux Livre Page 59 Mardi, 23. septembre 2008 1:05 13
LINUX 60
Graver des CD et des DVD
CD et DVD de
donnes
Rien de plus simple que de graver quelques chiers ou un rpertoire sur un CD ou un DVD.
La fentre Crateur de CD/DVD apparat automatiquement lorsquon place un CD ou un
DVD dans le lecteur. Si ce nest pas le cas, dmarrez le programme avec Raccourcis > Cra-
teur de CD/DVD. Dplacez ensuite vos chiers ou rpertoires sauvegarder par glisser-
dposer depuis une autre fentre. Pour nir, lancez Fichier > Graver un disque, puis congurez
si ncessaire la vitesse de gravure et quelques options, et cest parti !
Il nexiste malheureusement pas de fonction de vrication pour sassurer que le CD ou le
DVD grav na pas derreur.
Copier des CD
et des DVD
Pour copier un CD ou un DVD, placez-le dans le lecteur et lancez dans le menu Systme
Raccourcis > Poste de travail. Cliquez du bouton droit sur licne du CD, puis lancez Copier
le disque.
Fichiers ISO Les chiers ISO sont pour la plupart de gros chiers qui regroupent lensemble du contenu
dun CD ou dun DVD dans un format spcial. Pour graver un tel chier, cliquez dessus du
bouton droit et choisissez Graver un disque.
Vous pouvez auparavant visualiser le contenu du chier ISO. Double-cliquez dessus pour
ouvrir le gestionnaire darchives qui gre le chier ISO exactement comme un chier Zip. En
revanche, vous ne pouvez pas modier son contenu.
Vous pouvez aussi crer vous-mme une ISO de CD ou de DVD. Dans le crateur de CD/DVD,
il suft de choisir Image de chier dans la commande Graver un disque.
Accder aux rpertoires rseau
Partages
Windows
La commande Raccourcis, Rseaux lance une fentre Nautilus qui afche aprs quelques
secondes des icnes pour tous les rseaux reconnus. En pratique, il sagit souvent dune
seule icne. Lorsquon double-clique dessus, cela afche tous les rseaux Windows reconnus.
Un double-clic supplmentaire permet daccder tous les ordinateurs sur un rseau
donn. Si lon double-clique sur lun de ces ordinateurs, on peut voir les ressources quil met
disposition (ce quon appelle les partages Windows). Un dernier double-clic permet
douvrir le rpertoire en question (voir Figure 4.6).
Si le rpertoire est protg par un mot de passe, il faut fournir lidentiant de connexion et
le mot de passe. Il est alors possible denregistrer ces donnes dans une base de donnes de
mots de passe protge par un mot de passe matre.
Si Nautilus ne trouve pas de serveurs Windows, la cause est probablement un pare-feu trop
restrictif entre votre machine et les ordinateurs sous Windows. Vous pouvez essayer de saisir
directement ladresse smb://<nom du serveur>.
Notez que, sil est gnralement simple daccder un rpertoire rseau, travailler directe-
ment depuis celui-ci ne lest pas forcment. Par exemple, de nombreux programmes, dont
Gimp, ne savent pas ouvrir un chier sur un lecteur rseau et renvoient souvent des erreurs.
Le contournement de ce problme est de copier les chiers sur un systme local.
Rpertoires
FTP
Nautilus peut galement fonctionner comme client FTP. Indiquez dans la barre dadresse le
chemin du rpertoire FTP (par exemple ftp://serveur.com/repertoire). Une fois la connexion
tablie, une bote de dialogue apparat, dans laquelle vous pouvez vous connecter de manire
Linux Livre Page 60 Mardi, 23. septembre 2008 1:05 13
61 GNOME
anonyme ou via un identiant et un mot de passe. Si vous le dsirez, Nautilus peut enregistrer
les donnes de connexion pour accder plus rapidement un rpertoire donn.
Connexion
permanente
un rpertoire
rseau
Pour faciliter laccs un rpertoire rseau, vous pouvez aussi connecter le lecteur rseau de
manire permanente. Pour cela, lancez Raccourcis > Se connecter un serveur..., puis choi-
sissez le protocole rseau (partage Windows, FTP, WebDAV ou SSH par exemple) et indi-
quez les informations de connexion correspondantes (voir Figure 4.7). Gnome enregistre ces
informations, augmente le menu Raccourcis dune nouvelle ligne et place une icne sur le
bureau. Il suft alors dun clic pour ouvrir le rpertoire correspondant.
Figure 4.6
On accde un partage
Windows en cinq tapes.
Figure 4.7
Connecter un partage
Windows de manire
permanente.
Linux Livre Page 61 Mardi, 23. septembre 2008 1:05 13
LINUX 62
Selon mes tests sous Ubuntu 8.04 et Fedora 9, tenter de connecter un rpertoire rseau Windows gnre
un message derreur. Deux icnes identiques apparaissent sur le bureau, mais disparaissent la connexion
suivante. Esprons que ce problme sera bientt rgl par une mise jour de Gnome.
Les connexions rseau permanentes ne peuvent pas tre modifies. Pour les supprimer, cliquez du bouton
droit sur licne et lancez Dmonter le volume.
4.3 Programmes Gnome
Outils de
configuration
Gnome propose des outils pour la conguration de linterface graphique et divers aspects
de ladministration de lordinateur. Ces programmes se trouvent dans les menus Systme >
Paramtres et Systme > Administration.
Il est probable que les futures versions de Gnome utilisent gnome-control-center pour lancer
ces applications (voir Figure 4.8). Ce programme est dj fourni par la plupart des distri-
butions, au moins en tant que paquetage optionnel.
Console :
gnome-
terminal
Le programme gnome-terminal est la variante Gnome de la fentre de shell (interprteur de
commandes) xterm. Ce programme se distingue par quelques particularits :
Les adresses web sont soulignes automatiquement lorsque la souris passe dessus.
Le bouton droit permet de dmarrer un navigateur web pour afcher la page.
Si vous glissez-dposez un chier ou un rpertoire depuis Nautilus dans la fentre de la
console, le nom complet du chier est insr.
Ctrl++ et Ctrl+ permettent de modier la taille de la police.
On peut ouvrir un second terminal dans la mme fentre laide de Ctrl+Maj+T ou
Fichier, Ouvrir un onglet. On peut naviguer entre les onglets grce Ctrl+PgPrc et
Ctrl+PgSuiv.
Le menu dition, Prols permet de dnir certaines options et comportements. Chaque
terminal peut se voir associer un prol propre.
Figure 4.8
Le centre de contrle
de Gnome.
Linux Livre Page 62 Mardi, 23. septembre 2008 1:05 13
63 GNOME
diteur de
texte : gedit
Lditeur de texte par dfaut de Gnome est gedit. Ce programme est facile prendre en
main et trs pratique pour les tches simples.
Afficher des
fichiers PDF
ou PostScript :
evince
Lorsquon double-clique sur un chier PDF ou PS, le programme Evince dmarre et afche
le document. Vous pouvez le parcourir, imprimer des pages, etc. Les PDF plus complexes
safcheront mieux sous Adobe Reader (en particulier, les PDF comportant des champs
remplir), qui est gratuit, mais pas libre.
Archiver
des fichiers :
file-roller
Pour envoyer plusieurs chiers par courrier lectronique ou faire des copies de sauvegarde,
il est souvent pratique de compresser plusieurs chiers ou le contenu dun rpertoire. Pour
cela, on utilise le gestionnaire darchives file-roller. Ce dernier permet galement de
visualiser et de dcompresser des archives.
Occupation du
disque dur :
baobab
Pour connatre les lments les plus coteux en termes de place sur votre disque dur, lancez
Applications, Accessoires, Analyseur dutilisation des disques. Ce programme, appel Bao-
bab, afche sous une forme graphique les rpertoires et sous-rpertoires qui contiennent
beaucoup de chiers. Les diffrents boutons de la barre permettent diffrentes analyses ;
notez quune analyse dun systme complet peut tre assez longue.
Gestion des
mots de passe
et des cls :
seahorse
Divers programmes Gnome ncessitent la saisie didentiants utilisateur et de mots de
passe. Pour que ces programmes naient pas grer eux-mmes les mots de passe, leur
gestion est centralise dans Gnome. Elle est utilise entre autres dans Nautilus, Evolu-
tion et NetworkManager. La base de mots de passe est scurise par un mot de passe
matre, demand lors de la premire utilisation du programme. Les accs suivants la
base sont autoriss sans nouvelle saisie de ce mot de passe. Pour supprimer un lment
de cette base de donnes, lancez le programme seahorse via le menu Systme, Prfren-
ces, Chiffrement et trousseaux. seahorse peut aussi tre utilis pour grer les cls GPG
et SSH.
Gravure
de CD audio :
Serpentine
Pour graver un CD audio, lancez Applications > Sons et vidos > Serpentine Audio CD Crea-
tor. Serpentine ne fait pas partie de linstallation de base dUbuntu 8.04. Vous devrez donc
probablement linstaller vous-mme grce au gestionnaire de paquetages. Le fonctionne-
ment du programme est simple : ajoutez les chiers audio par glisser-dposer, puis cliquez
sur Graver sur le disque.
Gravure de CD
de donnes :
GnomeBaker
et Brasero
La gravure de CD intgre Nautilus est simple utiliser, mais fournit peu de fonctions, par
exemple pour graver des CD multisessions. Il faut pour cela utiliser des programmes plus
avancs, tels que GnomeBaker ou Brasero.
4.4 Trucs et astuces
Connexion
automatique
Lorsque vous dmarrez votre ordinateur, vous devez vous connecter avant de pouvoir com-
mencer travailler. Si vous tes le seul utilisateur et quaucune autre personne ne peut y
accder, vous pouvez automatiser la premire connexion lors du dmarrage.
Linux Livre Page 63 Mardi, 23. septembre 2008 1:05 13
LINUX 64
Pour cela, lancez le programme gdmsetup dans Systme, Administration, Fentre de
connexion. Dans longlet Scurit, cochez loption Activer la connexion automatique, puis
choisissez votre identiant dans la liste droulante (qui ne contient gnralement que votre
nom).
Si Gnome et KDE sont installs en parallle sur votre ordinateur, il est probable que la connexion soit
gre par KDM et non par GDM. Il faut alors configurer la connexion automatique avec le programme
KDE kcmshell. Pour savoir quel gestionnaire de connexion fonctionne, utilisez la commande
utilisateur$ ps ax |egrep gdm|kdm
Dans les distributions SUSE et Novell, la configuration de cette fonctionnalit est indpendante du gestion-
naire de bureau. Elle est enregistre dans le fichier /etc/sysconfig/displaymanager. Ne modifiez
donc pas la configuration via les outils KDE ou Gnome, mais par le biais de YaST, sans quoi les modifications
seront annules la premire occasion.
Dmarrage
automatique
Lorsque vous vous dconnectez, les programmes sont arrts. Si vous dsirez les redmar-
rer lors de votre prochaine connexion, lancez Systme > Prfrences > Sessions, puis activez
loption Se souvenir automatiquement des applications en cours dexcution lors de la
dconnexion.
Lorsque vous vous reconnecterez, tous les programmes en cours redmarreront. Certains
rechargent mme les documents ouverts mais cela ne fonctionne que pour les programmes
Gnome.
Gnome enregistre les programmes dmarrer automatiquement dans des chiers .desktop
situs dans le rpertoire ~/.configu/autostart. Les chiers suivants sont pris en compte :
~/.config/autostart/*.desktop conguration personnelle
/usr/share/gnome/autostart/*.desktop conguration globale de Gnome
/etc/xdg/autostart/*.desktop conguration globale pour tous les bureaux, y
compris Gnome et KDE
diteur de
configuration
gconf-editor
La bote de dialogue de conguration des programmes Gnome (en gnral ditions > Prf-
rences) ne contient que les options les plus importantes. Pour la plupart des utilisateurs, ces
options sufsent et les botes de conguration sont ainsi plus simples utiliser.
Les utilisateurs avancs qui dsirent accder aux options supplmentaires peuvent lancer
lditeur de conguration gconf-editor, depuis un terminal ou loutil dexcution auquel
on accde grce Alt+F2.
La Figure 4.9 montre un exemple de lditeur de conguration. Si vous dsirez que le gra-
veur de CD de Nautilus utilise la fonction burnproof de votre graveur, activez loption apps/
nautilus-cd-burner/burnproof.
Dfinir les
programmes
par dfaut
Par dfaut, Gnome utilise Firefox comme navigateur web, Evolution comme programme de
courrier lectronique et gnome-terminal comme programme de console. Si vous dsirez
changer ces applications, allez dans Systme > Prfrences > Applications prfres, ou
dans le programme gnome-default-application-properties. Les applications associes
aux divers supports amovibles sont dnies dans gnome-volume-properties (ou dans
Systmes > Prfrences > Priphriques et mdias amovibles).
Linux Livre Page 64 Mardi, 23. septembre 2008 1:05 13
65 GNOME
Surveillance
du systme
En gnral, jaime savoir comment se porte mon systme. Jai donc plac sur mon tableau de
bord les deux applets Moniteur systme et Moniteur de changements de frquence du pro-
cesseur. La premire montre la charge processeur courante et, selon la conguration, lutili-
sation de la mmoire, lactivit rseau, etc. La seconde indique la frquence du processeur,
ce qui est pratique pour les processeurs dont la frquence sadapte leur utilisation. Si vous
avez un ordinateur multiprocesseurs ou multicurs, utilisez une applet par cur de processeur.
Raccourcis
clavier
Certaines oprations courantes peuvent tre effectues plus rapidement au clavier qu la
souris. Le programme gnome-keybindings-properties rsume les diffrents raccourcis
clavier et permet den dnir de nouveaux. On y accde grce Systmes > Prfrences >
Raccourcis clavier.
Configuration
du clavier
Le clavier est congur via le systme graphique X, mais les utilisateurs de Gnome peuvent
surcharger cette conguration grce Systme > Prfrences > Clavier qui lance le pro-
gramme gnome-keyboard-properties. Les personnes travaillant en plusieurs langues sou-
haitent souvent changer facilement de clavier. Pour cela, le plus simple est dutiliser lapplet
Indicateur de claviers.
Figure 4.9
gconf-editor.
Linux Livre Page 65 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 66 Mardi, 23. septembre 2008 1:05 13
5
KDE
KDE est une alternative populaire lenvironnement de bureau Gnome, prsent au chapi-
tre prcdent. Il rpond en principe aux mmes besoins, mais se diffrencie par son aspect et
utilise en interne des bibliothques et des protocoles diffrents. Lacronyme KDE, qui signi-
ait au dpart Kool Desktop Environment, sest plus tard dclin en K Desktop Environment.
KDE fournit, comparativement Gnome, plus de fonctionnalits et de possibilits de con-
guration qui sadressent plutt aux utilisateurs expriments de Linux. Son utilisation est
un peu plus complique, ce qui explique pourquoi de nombreuses distributions se basent
par dfaut sur Gnome. KDE est alors fourni en option. Mais ne vous laissez pas impression-
ner. Si votre distribution fournit les paquetages appropris, rien ne soppose une installa-
tion de KDE et de Gnome en parallle. Vous pourrez alors choisir lenvironnement que vous
dsirez lancer lors de la connexion.
KDE se base sur Qt, une bibliothque commerciale de lentreprise TrollTech. Qt est sous
licence GPL dans le cadre de projets libres. Son utilisation commerciale nest ncessaire que
lorsquelle est la base dun logiciel dvelopp sous licence propritaire.
Comme Gnome, KDE diffre largement dune distribution une autre, que ce soit au niveau
de lcran de connexion, des lments du menu de dmarrage, du comportement du bureau
et du choix des programmes. Dans ce chapitre, nous nous baserons sur la version 4.0.3 de
KDE dopenSUSE 11. openSUSE 11 est, lheure o nous crivons ces lignes, la distribution
qui offre les meilleurs paquetages de KDE 4.
KDE 4.0 Ces dernires annes, les dveloppeurs de KDE ont travaill sur une toute nouvelle version du
bureau. La version 4.0, disponible en janvier 2008, a t la source de nombreuses dceptions. En
effet, elle ne proposait que les bases du futur systme de bureau : diverses bibliothques et inter-
faces, dont Phonon (une API multimdia) et Solid (interactions avec le matriel). Vous trouverez
plus dinformations ce sujet aux adresses http://phonon.kde.org et http://solid.kde.org.
Malheureusement, de nombreuses applications de KDE 4.0 nutilisent pas encore ces biblio-
thques et font toujours appel celles de KDE 3. De plus, les "vraies" applications KDE 4
laissent encore dsirer en termes de stabilit. En rsum, lutilisation de KDE 4.0 nest
conseille quaux dveloppeurs de KDE et aux passionns. Elle ne fonctionnera probable-
ment bien que pour les versions 4.1, voire 4.2. En attendant, les utilisateurs ont le choix entre
un KDE 3.5, stable mais un peu dat, et Gnome.
KDE et la
souris
Lune des diffrences les plus frappantes entre KDE et les autres interfaces utilisateur est le
comportement de la souris. Sous KDE, un seul clic (et non un double-clic) suft pour ouvrir
des chiers, ainsi que pour les oprations similaires. Cela peut tre droutant au dpart,
mais permet de travailler de manire plus efcace et confortable. De plus, si vous ne vous
habituez pas au simple clic, vous pouvez recongurer KDE dans ce sens. Pour cela, lancez le
programme Conguration du systme, puis choisissez le module Clavier & Souris, ouvrez
longlet Souris et activez loption Utiliser le double-clic pour ouvrir les dossiers et les chiers.
Linux Livre Page 67 Mardi, 23. septembre 2008 1:05 13
LINUX 68
5.1 Conception du bureau
Connexion et
dconnexion
Avant de pouvoir travailler avec KDE, vous devez saisir votre identiant utilisateur et votre
mot de passe. Lcran de connexion dispose dun menu Type de session (gnralement, en
bas gauche). Si vous avez install un autre environnement de bureau ou gestionnaire de
fentre, vous pouvez choisir le programme lancer.
Pour vous dconnecter ou redmarrer lordinateur, choisissez llment correspondant du
menu KDE (selon la distribution, Terminer, teindre, Quitter, Se dconnecter, etc.). Si le
matriel le permet, vous pouvez aussi mettre lordinateur en veille ou en hibernation.
Changement
dutilisateur
Dans le menu KDE, la commande Quitter > Changer dutilisateur permet de se connecter
avec un second nom dutilisateur sans que lutilisateur courant ait fermer ses programmes.
En interne, un nouveau systme graphique (nouveau serveur X) est dmarr pour chaque
utilisateur, ce qui ncessite beaucoup de ressources. Lutilisation par plusieurs utilisateurs
en parallle ne fonctionne donc correctement que sur les ordinateurs rapides. Pour changer
dutilisateur, on utilise les combinaisons de touches suivantes :
Ctrl+Alt+F7 premier utilisateur
Ctrl+Alt+F8 deuxime utilisateur
Ctrl+Alt+F9 troisime utilisateur
Bureau Laspect du bureau dpend largement de la distribution. La Figure 5.1 prsente le bureau
dopenSUSE 11. Il se compose par dfaut dun tableau de bord en bas de lcran et dun
espace de travail. Le tableau de bord contient le menu KDE, quelques icnes pour dmarrer
rapidement certaines applications, une liste des tches avec les icnes de toutes les fentres
ouvertes et divers programmes daide (applets).
Figure 5.1
Le bureau KDE.
Linux Livre Page 68 Mardi, 23. septembre 2008 1:05 13
69 KDE
Plasma La nouveaut graphique la plus visible de KDE 4 est Plasma. Ce composant permet de pla-
cer des objets interactifs sur le bureau ou le tableau de bord, et de les utiliser. Cette fonction-
nalit est comparable celle de Dashboard dApple. De plus, Plasma est responsable de
lafchage des icnes sur le bureau et le tableau de bord.
Zone de travail La zone de travail est au dpart plutt vide, en dehors de quelques icnes pour la corbeille,
des programmes importants et les supports de donnes externes. Vous pouvez crer
dautres chiers et rpertoires sur le bureau ils seront reprsents sous la forme dicnes.
Dans KDE 4, on peut lancer des petits programmes, appels plasmodes, directement sur le
bureau. Vous pouvez les ajouter en quelques clics partir de licne Plasma en haut droite
de lcran. Le choix est encore limit, mais cela voluera probablement avec les prochaines
versions de KDE. Lhorloge en haut droite de la Figure 5.1 sur le bureau en est un exemple.
Si vous utilisez des icnes et des plasmodes sur votre bureau, le raccourci Ctrl+F12 peut
tre utile : il minimise toutes les fentres et nafche que les lments du bureau. Si vous
saisissez nouveau ce raccourci, les fentres reviennent leur position initiale.
La position et la taille des icnes et des plasmodes est enregistre dans le chier ~/.kde4/
share/config/plasma-appletrc. Lorsque vous crez des chiers et des dossiers sur le
bureau, ils sont en ralit enregistrs dans ~/Desktop.
Tableaux de
bord
Un tableau de bord est une zone rectangulaire situe sur lun des cts de lcran (habituel-
lement, en bas). Il na en soi aucune fonction ; il nest quun conteneur de plasmodes. Cer-
tains lments de base comme le menu et la barre des tches sont, sous KDE 4, des
plasmodes. On peut donc, mme si ce nest pas courant, placer le menu, la liste des tches
et dautres contenus habituels du tableau de bord directement sur le bureau. Lavantage
principal du tableau de bord est quil nest pas recouvert par les fentres.
Le menu contextuel Options pour tableau de bord > Paramtres du panneau permet den
modier la taille et la position. Il est cependant dconseill de le placer droite ou gauche,
car il nest pas optimis pour une reprsentation verticale.
Menu KDE Le plasmode le plus important est sans doute le menu KDE (voir Figure 5.2). Compltement
refondu depuis KDE 3, il se divise en cinq catgories :
Favoris contient les principaux programmes de lutilisateur. La liste nest pas actualise
automatiquement (en se basant, par exemple, sur la frquence laquelle les program-
mes sont utiliss). Il faut indiquer explicitement dans longlet Applications ceux qui
doivent sy trouver laide du menu contextuel.
Applications contient une liste hirarchise de tous les programmes. La navigation est
diffrente de celle dun menu habituel et demande un peu dhabitude.
Poste de travail permet de lancer divers programmes dadministration et douvrir cer-
tains rpertoires importants : le rpertoire personnel, le rpertoire racine, la corbeille,
divers supports de donnes externes, etc.
Utilis rcemment contient une liste des programmes, chiers et rpertoires utiliss
rcemment.
Quitter contient les commandes pour se dconnecter, changer dutilisateur et redmarrer
lordinateur.
Linux Livre Page 69 Mardi, 23. septembre 2008 1:05 13
LINUX 70
Indpendamment de ces catgories, le menu KDE contient une fonction de recherche. Elle
est particulirement utile pour lancer des programmes rapidement sans avoir naviguer
dans le menu Applications.
Selon la distribution, vous pouvez aussi utiliser lancienne forme du menu. Pour cela, cliquez du bouton droit
sur le bouton du menu et choisissez Passer au style de menu KDE classique.
Liste des
tches
Le plasmode Liste des tches afche une icne pour chaque fentre et correspond la barre
des tches de Windows. Malheureusement, il ne permet que des modications de congu-
ration limites, contrairement celui sous KDE 3.
Cest le gestionnaire de fentres qui gre le comportement des fentres : dplacement,
agrandissement, minimisation, etc. Sous KDE, cest le rle du programme KWin. Le module
Comportement des fentres de la Conguration du systme permet de modier de nom-
breuses proprits : ce que font les boutons de la souris lorsquon les utilise dans la barre de
titre dune fentre, sous quels critres une nouvelle fentre est place, le verrouillage ventuel
des fentres contre le dplacement, etc.
On peut aussi effectuer de nombreuses oprations sur les fentres au clavier. Les raccourcis cor-
respondants se trouvent dans le menu Clavier & Souris de loutil de conguration du systme.
Espaces de
travail
Les espaces de travail permettent de partager les fentres de programmes sur plusieurs
bureaux virtuels et de passer dun bureau un autre. Cela facilite le travail et amliore la
vue densemble lorsque plusieurs fentres sont ouvertes simultanment. La gestion de ces
espaces est dlgue au plasmode Bip (Congurer les mini-bureaux). La bote de conguration
permet dindiquer le nombre de bureaux souhaits, ainsi que dautres options.
Pour les fentres importantes, on peut dnir si elles doivent se trouver sur tous les bureaux
(et non sur un seul). Pour cela, activez loption Vers le bureau, Tous les bureaux dans le
menu de la fentre.
Figure 5.2
Le menu KDE.
Linux Livre Page 70 Mardi, 23. septembre 2008 1:05 13
71 KDE
Bote
miniatures
Lorsque le panneau contient une bote miniatures, les programmes en tche de fond peu-
vent afcher une notication dans le tableau de bord (par exemple, lorsquune mise jour
est disponible ou quun courrier lectronique vient darriver). Cette bote se trouve gnra-
lement droite ou en bas du panneau. Elle na en soi aucune fonction : il sagit dun conteneur
o les autres programmes peuvent reprsenter une icne.
Notification
de nouveaux
priphriques
Le plasmode Notication de nouveaux priphriques indique quun nouveau support de
donnes est connect et permet douvrir le systme de chiers ou de dmonter larbores-
cence correspondante.
5.2 Dolphin
Sous KDE, Dolphin est le gestionnaire de chiers par dfaut.
Vues En gnral, vous pouvez lancer Dolphin via le menu KDE dans Poste de travail, Dossier per-
sonnel. Au centre de la fentre safchent les chiers pour lesquels il existe trois modes de
reprsentation (voir Figure 5.3) : Icnes, Dtails et Colonnes. Le mode Colonnes afche chaque
sous-rpertoire dans une nouvelle colonne.
Le bouton Aperu active, quel que soit le mode dafchage, un aperu des documents. La
taille de cet aperu peut tre modie dans Conguration > Congurer Dolphin > Modes de
vue > Icnes.
Pour les oprations de copie et de dplacement, on peut scinder la fentre horizontalement
ou verticalement, grce au bouton Scinder.
Figure 5.3
Les trois modes
de reprsentation
de Dolphin.
Linux Livre Page 71 Mardi, 23. septembre 2008 1:05 13
LINUX 72
Le rpertoire courant safche dans une barre de navigation sous le menu. Ctrl+L permet de
basculer entre deux vues de cette barre : en tant que boutons, ce qui permet de changer rapi-
dement de rpertoire, ou sous forme de texte, ce qui permet de saisir rapidement un nouveau
chemin. Indpendamment du mode de cette barre, F6 permet de saisir un nouveau chemin.
Barres
complmen-
taires
gauche, droite et en bas du contenu de la fentre, vous pouvez afcher, partir du menu
Afcher, Barre ou grce aux touches F4, F7, F9 et F11, un terminal, la hirarchie des rpertoi-
res, une liste des emplacements les plus souvent utiliss ou encore des informations sur un
chier donn.
Accs aux
supports de
donnes
Le menu KDE afche dans le groupe Poste de travail, Stockage amovible, toutes les parti-
tions montes, ainsi que les supports externes (CD, DVD, etc.). Lorsque vous connectez un
lecteur USB ou Firewire, le tableau de bord afche linformation correspondante. Un clic
permet douvrir le gestionnaire de chiers et dafcher le contenu du support. Avant de
dbrancher le lecteur, vous devez lancer la commande jecter du menu contextuel ou Reti-
rer en toute scurit dans la barre Emplacements de Dolphin. Cest la seule manire de
sassurer que tous les chiers sont ferms et quaucune perte de donnes ne surviendra.
Accs aux
rpertoires
rseau
La barre Emplacement de Dolphin permet aussi daccder au rseau local. Mes tests nont
pas t concluants quant au parcours du rseau. En revanche, le fait dindiquer directement
une adresse sous la forme smb://nom_du_serveur/rpertoire fonctionne.
5.3 Konqueror
Le programme Konqueror est un gestionnaire de chiers pour les utilisateurs avancs, un
navigateur web, un client rseau (FTP, SCP, rpertoires Windows, etc.) et une visionneuse de
documents (images, chiers daide, etc.).
En raison des nombreuses fonctions de Konqueror, son menu est malheureusement sur-
charg et peu clair. De plus, mes tests ont mis en vidence une grande instabilit de Konque-
ror de nombreuses oprations qui fonctionnaient sans problme sous KDE 3 sont
actuellement plus dlicates sous KDE 4.
Utilisation en tant que gestionnaire de fichiers
Pour utiliser Konqueror en tant que gestionnaire de chiers (voir Figure 5.4), cliquez sur le bou-
ton Dbut ou saisissez ~/ dans la barre dadresse. Dans le menu Afchage, vous pouvez choisir,
comme dans Dolphin, entre trois modes de reprsentation. La quatrime vue, Afcheur de
taille de chiers, permet de visualiser la place ncessaire aux diffrents dossiers et rpertoires.
F9 permet dafcher ou de masquer la barre de navigation sur le ct droit. On y trouve,
entre autres, des signets, diffrents services, une arborescence de rpertoires et un explorateur
rseau.
Lutilisation du simple clic pour ouvrir des chiers induit une particularit quant la slec-
tion des chiers. Il faut, pour ne pas ouvrir le chier considr, appuyer en mme temps sur
Ctrl ou Maj.
Lorsque vous cliquez sur un chier Zip ou Tar (se terminant par .tar, .tar.gz, .tgz, .zip,
etc.), le contenu de larchive safche dans un nouveau rpertoire.
Linux Livre Page 72 Mardi, 23. septembre 2008 1:05 13
73 KDE
Pour copier ou dplacer des fichiers, vous utiliserez souvent deux fentres de Konqueror. Il existe une alter-
native : vous pouvez aussi scinder une fentre en deux grce Fentre, Scinder la vue gauche/droite ou
Fentre, Scinder la vue haut/bas.
Images
daperu
Konqueror peut afcher des images daperu pour tous les formats de chiers quil connat
(choisir Afchage, Aperu dans le menu). On peut modier la taille des icnes daperu
grce Ctrl++ et Ctrl+. Pour des raisons defcacit, les images daperu ne safchent que
pour les chiers dont la taille est infrieure une taille donne, limite que lon peut modier
dans Conguration > Congurer Konqueror > Aperus & Mta-informations. Les images
sont mises en cache dans le rpertoire ~/.thumbnails.
Fichiers cachs Pour afcher les chiers cachs (dont le nom commence par un point), lancez Afchage >
Afcher les chiers cachs.
Droits daccs Un utilisateur ne peut pas lire ou modier tous les dossiers ou rpertoires. Linux enregistre
donc pour chaque chier et rpertoire le propritaire et les droits daccs. Les concepts sous-
jacents seront expliqus au Chapitre 13. Pour modier ces droits, cliquez du bouton droit
sur le chier ou le rpertoire, puis allez dans Proprits > Droits daccs (voir Figure 5.5).
Supprimer
des fichiers
Lorsque vous supprimez des chiers et des dossiers, ceux-ci arrivent dabord dans la cor-
beille. Vous pouvez en voir le contenu dans le gestionnaire de chiers grce Aller > Corbeille.
Pour les supprimer dnitivement, slectionnez-les dans la corbeille et appuyez sur Suppr.
Pour les supprimer sans quils passent par la corbeille, appuyez sur Maj+Suppr.
Utilisation du
disque dur
Si vous dsirez savoir dans quels rpertoires se trouvent les plus grosses quantits de don-
nes, vous pouvez utiliser le mode Afchage de la taille de chiers. Konqueror afche un
graphique qui se compose de rectangles, dont la surface reprsente la taille des chiers.
Ce graphique peut aussi safcher sans les lments spciques Konqueror, grce la
commande fsview.
Figure 5.4
Konqueror en tant que
gestionnaire de fichiers.
Linux Livre Page 73 Mardi, 23. septembre 2008 1:05 13
LINUX 74
Accs aux rpertoires rseau
Navigateur
web
Pour utiliser Konqueror en tant que navigateur web, saisissez simplement une adresse web dans
la barre dadresse. Nous parlerons de Konqueror en tant que navigateur web au Chapitre 6.
FTP Lorsque ladresse commence par ftp://, Konqueror passe automatiquement en mode FTP.
Linterface et lutilisation sont alors comparables lutilisation du programme en tant que
gestionnaire de chiers. Si vous dsirez vous connecter au serveur FTP avec un nom dutili-
sateur particulier, vous devez crire ladresse sous la forme ftp://nom@adresse. Une fois la
connexion tablie, une bote de dialogue safche pour la saisie du mot de passe.
SSH Konqueror permet aussi de communiquer avec un ordinateur via le protocole SSH et de
copier des chiers. Pour cela, indiquez ladresse fish://nom@ordinateur. Konqueror montre
alors tous les chiers de lordinateur distant.
Partages
Windows
Konqueror permet dexplorer des serveurs Windows ou Samba sur le rseau local. Pour
cela, il suft de taper smb:/ dans la barre dadresse. Pour accder directement un partage,
utilisez la syntaxe smb://nom_du_serveur/nom_du_partage. Celle-ci est particulirement
importante lorsque le parcours du rseau nest pas possible, quil sagisse dun problme de
pare-feu ou de conguration rseau.
Adresses spciales
La liste suivante indique les adresses spciales les plus importantes de Konqueror.
Figure 5.5
Droits daccs un fichier.
Adresses spciales de Konqueror
Fichiers locaux
file:/etc/fstab fichier local
tar:/fichierarchive accs un fichier Tar
zip:/fichierarchive accs un fichier Zip
audiocd:/ accs un CD audio
trash:/ corbeille
Linux Livre Page 74 Mardi, 23. septembre 2008 1:05 13
75 KDE
5.4 Applications KDE
Cette section prsente quelques programmes KDE frquemment utiliss. Notez quil sagit
encore pour la plupart de la version KDE 3. Leur portage sous KDE 4 nest attendu que pour
KDE 4.1 au plus tt.
Configuration
de KDE
Les divers modules de conguration de KDE 4 sont regroups dans un nouveau pro-
gramme de conguration systme (systemsettings, voir Figure 5.6). Comme il nest pas
toujours facile de trouver tout de suite le bon module, il existe une fonction de recherche
dans laquelle vous pouvez saisir des mots cls. Si vous tes dj dans un module, vous pouvez
revenir la liste des modules grce au bouton Vue globale.
Vous pouvez aussi lancer des modules individuels via la commande kcmshell
nom_du_module. Une liste de tous les modules disponibles est accessible avec la commande
kcmshell -list. Les modications sont enregistres ds que vous cliquez sur le bouton
Appliquer.
KDE contient, comme Gnome, des modules de conguration qui ne sappliquent pas au
bureau, mais au systme (rseau, imprimantes, etc.). Ils sont trs utiles sur les distributions
qui ne fournissent pas leurs propres outils. Cependant, sils existent, utilisez de prfrence
les programmes de conguration de votre distribution.
kprinter Dans tous les programmes KDE, loption Fichier > Imprimer afche une bote de dialogue
confortable, dans laquelle vous pouvez choisir votre imprimante. Vous pouvez aussi imprimer
vers un chier PostScript ou PDF.
Rseau
http://www.pearson.fr adresse web
ftp://utilisateur@mars/rpertoire serveur FTP sur lordinateur mars
sftp://utilisateur@mars/rpertoire serveur SFTP sur lordinateur mars
fish://utilisateur@mars/rpertoire accs SSH lordinateur mars
smb://mars/partage partage Windows
Aide
man:ls page de manuel de la commande ls
info:emacs page info du programme emacs
help:kmail aide KDE du programme kmail
Autres
applications:/ liste de tous les programmes
fonts:/ liste de toutes les polices
remote:/ navigateur rseau
settings:/ module de configuration du centre de contrle
Linux Livre Page 75 Mardi, 23. septembre 2008 1:05 13
LINUX 76
La commande kprinter peut galement remplacer lpr. Elle imprime le chier ou les don-
nes qui lui sont passes via un redirecteur pipe, |. La bote de dialogue KDE dimpression
safche alors.
utilisateur$ kprinter fichier
utilisateur$ ls -l | kprinter
Archiver des
fichiers : Ark
Konqueror permet de visualiser et dextraire les chiers qui se terminent par *.tar.gz,
*.tgz et *.zip. Cependant, vous ne pouvez pas crer de nouvelle archive ou en modier
une existante par ce biais. Pour cela, il faut utiliser Ark, qui fonctionne dune manire tout
fait comparable WinZip.
Application
de terminal :
Konsole
konsole permet de lancer un ou plusieurs interprteurs de commandes dans une console
texte. Vous pouvez passer dun terminal un autre avec Maj et les ches de direction.
Ctrl+Maj et les ches de direction permettent de changer lordre des onglets. Pour crer un
nouvel onglet, double-cliquez dans la barre.
Notez la possibilit, fort pratique, de copier des noms de chiers par glisser-dplacer depuis
Konqueror.
Gestion des
mots de
passe :
KWallet-
Manager
Lorsque vous remplissez un formulaire de connexion pour la premire fois (par exemple, lors-
que vous utilisez un outil web de courrier lectronique comme IMP), un assistant de congura-
tion du gestionnaire de portefeuilles apparat. Le programme KWalletManager aide scuriser
les donnes. Lors dune utilisation ultrieure de la mme page, il remplira le formulaire pour
vous. Il est galement utilis pour centraliser les mots de passe et autres informations critiques
dans KMail/Kontact, dans NetworkManager et dans divers autres programmes KDE.
Laccs ces donnes, chiffres dans KWalletManager, est scuris grce un mot de
passe matre. Lors dune session KDE, il suft de saisir une seule fois le mot de passe matre.
Lors de la premire utilisation de KWalletManager, un assistant vous aide la conguration
de base du programme. Celle-ci se limite valider lutilisation de KWalletManager comme
Figure 5.6
Le centre de contrle
de KDE.
Linux Livre Page 76 Mardi, 23. septembre 2008 1:05 13
77 KDE
gestionnaire de mots de passe et saisir un mot de passe matre. Pour des raisons de scu-
rit, ce dernier doit tre diffrent du mot de passe associ au compte.
PDF et
PostScript :
Okular
Lorsque vous cliquez sur un chier *.pdf ou *.ps, le programme Okular se lance et afche
le document. Vous pouvez alors le parcourir, imprimer des pages, etc.
Gestion des
cls GPG :
Kgpg
Si vous utilisez des cls GPG pour chiffrer ou signer vos courriers lectroniques, ou dans
dautres programmes, il est utile de disposer dun outil central de gestion des cls. Sous
KDE, cest le programme Kgpg qui sen charge.
diteurs de
texte : KEdit,
KWrite, Kate
Selon la distribution, trois diteurs de texte peuvent tre installs avec KDE : KEdit, KWrite
et Kate. Les deux premiers sont simples utiliser, mais ne fournissent que les fonctions de
base. Kate se positionne comme un diteur pour les programmeurs et les utilisateurs avan-
cs. Vous pouvez regrouper plusieurs chiers ouverts dans une session, replier des parties
de code (fonctions, classes), etc.
Presse-
papiers :
Klipper
Le programme Klipper est normalement lanc sous KDE. Son fonctionnement de base est de
mmoriser le dernier lment insr dans le presse-papiers. Le contenu de cet lment est ana-
lys et peut dclencher des actions. Par exemple, un lment commenant par http:// peut
entraner louverture dune fentre qui permet douvrir ladresse web dans un navigateur.
Renommage
de fichiers :
KRename
KRename permet de renommer efcacement des chiers, de les numroter ou encore de
modier des informations, telles que la date. On peut utiliser cette n les expressions
rationnelles. Avant toute opration, KRename afche un rsum des anciens et des nouveaux
noms de chiers.
Gravure de CD
et de DVD :
K3b
K3b est le programme de gravure le plus polyvalent sous Linux. Sa multitude de fonctions attire
mme certains utilisateurs convaincus de Gnome. Il permet de graver des CD et des DVD, y
compris multisessions, avec de nombreuses options. On peut aussi copier des CD et des DVD,
ou encore graver des images ISO. K3b nest pas encore port compltement sous KDE 4 et utilise
des bibliothques KDE 3. Le grand nombre doptions et de botes de dialogue disponibles peut
paratre effrayant premire vue, mais les choix par dfaut sont gnralement senss.
5.5 Trucs et astuces
Connexion
automatique
Lorsque vous dmarrez votre ordinateur, vous devez vous connecter avant de pouvoir com-
mencer travailler. Si vous tes le seul utilisateur de lordinateur et quaucune autre personne
ne peut y accder, vous pouvez automatiser la premire connexion lors du dmarrage.
La fonction de connexion automatique est congure dans le module Avanc > Gestionnaire
de connexion > Commodits des paramtres systme, quil faut lancer avec des privilges
root. Cochez loption Activer la connexion automatique, puis choisissez lutilisateur dsir
pour la connexion automatique.
Si Gnome et KDE sont installs en parallle sur votre ordinateur, il est probable que la connexion soit gre par
KDM et non par GDM. Il faut alors configurer la connexion automatique avec le programme KDE kcmshell.
Pour savoir quel gestionnaire de connexion fonctionne, utilisez la commande
utilisateur$ ps ax |egrep gdm|kdm
Linux Livre Page 77 Mardi, 23. septembre 2008 1:05 13
LINUX 78
Dans les distributions SUSE et Novell, la configuration de cette fonctionnalit est indpendante du gestion-
naire de bureau. Elle est enregistre dans le fichier /etc/sysconfig/displaymanager. Ne modifiez
donc pas la configuration via les outils KDE ou Gnome, mais par le biais de YaST, sans quoi les modifications
seront annules la premire occasion.
Dmarrage
automatique
Lorsque vous vous dconnectez, les programmes sont arrts. la connexion suivante,
KDE tente de les redmarrer et de rtablir la session. Pour les programmes KDE, cela fonc-
tionne relativement bien. Pour dautres, cela fonctionne avec certaines limitations (par
exemple, le document ouvert nest pas recharg), voire pas du tout. Les dtails de ce compor-
tement se rglent dans le module Avanc > Gestionnaire de session.
Indpendamment de la session, vous pouvez enregistrer les programmes dmarrer automati-
quement dans le rpertoire ~/.kde[4]. KDE sattend trouver dans ce dossier des chiers
*.desktop qui dnissent le programme lancer. Il arrive quun programme soit alors lanc en
double : une fois pour le rtablissement de la session et une fois par le dmarrage automatique.
KDE utilise plusieurs rpertoires pour connatre les applications lancer :
~/.kde[4]/Autostart/ conguration personnelle
/usr/share/autostart/ conguration globale de KDE
/etc/xdg/autostart/ conguration globale pour tous les bureaux, y compris Gnome
et KDE
Administration
distante
Lorsque vous avez un problme avec votre ordinateur, par exemple lorsquun programme
ne fonctionne pas correctement, un ami peut vous aider grce ladministration distance.
Il peut ainsi voir dans une fentre de son ordinateur le contenu de votre cran et utiliser tous
les programmes avec la souris et le clavier.
Rpertoires de
configuration
La plupart des programmes KDE enregistrent leurs options dans des chiers du rper-
toire ~/.kde/ ou ~/.kde4/. Plusieurs sous-rpertoires sont crs, et en particulier les
rpertoires suivants :
~/.kde[4]/Autostart/ conguration personnelle du dmarrage automatique
~/.kde[4]/share/config/ paramtres de conguration
~/.kde[4]/share/apps/ chiers spciques aux programmes
Icne de
connexion
Lcran de connexion peut associer une petite image chaque utilisateur. Pour la modier,
lancez la commande kcmshell kcm_useraccount. Vous pouvez changer votre mot de passe,
licne de connexion, ainsi que dautres paramtres personnels. Licne de connexion est
enregistre au format PNG dans le chier ~/.face.icon.
Dfinir les
programmes
par dfaut
Par dfaut, KDE utilise Konqueror comme navigateur web, Kontact comme programme de
courrier lectronique et Konsole comme programme de console. Si vous dsirez changer ces
applications, allez dans le module Applications par dfaut de la Conguration du systme.
Raccourcis
clavier
Certaines oprations courantes peuvent tre effectues plus rapidement au clavier qu la
souris. Des raccourcis peuvent safcher et tre modis dans le module Clavier & Souris >
Raccourcis clavier.
Vous pouvez aussi dnir des raccourcis pour dmarrer des programmes. Utilisez pour cela
kmenuedit et associez un raccourci clavier un lment du menu KDE.
Linux Livre Page 78 Mardi, 23. septembre 2008 1:05 13
PARTIE 2 LA BUREAUTIQUE SOUS LINUX
6
Navigateurs Internet
(Firefox, Konqueror)
Ce chapitre se focalise essentiellement sur les deux navigateurs Internet les plus
populaires sous Linux, Firefox et Konqueror. Si je naborderai que brivement
leur utilisation (vous savez dj comment naviguer sur le Web), vous trouverez
en revanche ici des astuces de conguration, dinstallation de greffons (Adobe
Reader, Flash, Java), etc.
E-mail, FTP,
SSH
Les clients de lecture et de composition de-mails seront prsents au prochain
chapitre. Vous trouverez au Chapitre 16 les astuces concernant le tlchar-
gement de chiers par FTP, wget et Torrent, et celles traitant de la manipulation
de SSH et scp.
Messagerie
instantane,
VoIP
Les services Internet IRC (Internet Relay Chat) et IM (messagerie instantane ou Ins-
tant Messaging) ne seront pas traits dans le cadre de cet ouvrage : dans les deux
cas, il sagit de formes de communication dynamiques impliquant un contact
direct entre les interlocuteurs (cest--dire que les deux personnes doivent tre en
ligne simultanment). Si vous souhaitez utiliser uniquement IRC, le programme
XChat (http://www.xchat.org/) est un bon choix. Les programmes Kopete (http://
kopete.kde.org/) et Konversation (sous KDE) ainsi que Pidgin (http://www.pid-
gin.im/) (sous Gnome et anciennement connu sous le nom gaim) sont quant eux
des clients universels qui prennent en charge divers protocoles de messagerie ins-
tantane en plus dIRC (par exemple AIM, ICQ, MSN et Yahoo!) [http://lwn.net/
Articles/216456/ (article en anglais)].
Un autre point que nous laisserons de ct dans cet ouvrage est le sujet de la
Voix sur IP (abrg en VoIP) et de la tlphonie sur Internet. Le programme le
plus connu pour cet usage est le logiciel commercial Skype (http://
www.skype.com/download/skype/linux/). La version Linux en est gratuite,
mais elle est quelque peu obsolte compare son homologue Windows. Ekiga
(http://ekiga.org/) est, par exemple, une alternative open-source intressante
Skype.
6.1 Firefox
Histoire
et nom
Firefox peut se rjouir dune adoption croissante sous Windows, mais il est ga-
lement et de trs loin le navigateur Internet le plus populaire sous Linux. Voici,
rapidement, quelques mots prsentant lorigine du logiciel : en 1998, la socit
Netscape a "libr" le code source de Netscape Navigator, qui est donc devenu
un projet open-source. Dans le cadre du projet Mozilla a vu le jour la suite appli-
cative Mozilla, qui comprenait un navigateur web, un client de courrier lectro-
nique et de news, ainsi quun diteur HTML, le tout en une seule application.
En 2002, parce que le code tait devenu illisible, les dveloppeurs ont dcid
Linux Livre Page 79 Mardi, 23. septembre 2008 1:05 13
LINUX 80
den sparer les diffrents composants. Depuis lors, le nouveau logiciel Mozilla Firefox ne
contient que les fonctionnalits de navigation web, tandis que le logiciel Mozilla Thunder-
bird (que nous prsentons au chapitre suivant) gre les fonctionnalits de courrier lectroni-
que et de news. Dautres rejetons de ce projet, que nous ne prsentons pas dans cet ouvrage,
sont lditeur HTML Nvu et lagenda Mozilla Sunbird.
Certains dveloppeurs du projet Mozilla, sceptiques quant la sparation des fonctionnali-
ts, ont fond un nouveau projet dnomm Seamonkey et destin unier de nouveau tou-
tes ces fonctions dans un mme logiciel. AOL a par ailleurs un temps propos sa propre
version personnalise, fonde sur le code de Mozilla. Ce chapitre ne sintressera toutefois
qu la version 3.0 de loutil Mozilla Firefox en tant que tel.
Firefox et
Debian
Par le pass, les termes de licence plutt drastiques du projet Firefox ont caus des remous
chez bien des dveloppeurs Linux : bien quil sagisse de code open-source, un programme
ne peut sappeler Firefox que sil contient du code source "ofciel" produit par les dve-
loppeurs Firefox. Ce qui a en particulier conduit des problmes frquents lors des mises
jour : de nombreuses distributions Linux proposaient une version de Firefox intgre la
distribution et lui ajoutaient toutes les mises jour de scurit au fur et mesure, plutt que
systmatiquement contraindre leurs utilisateurs mettre niveau leur installation vers la
dernire version de Firefox. De telles mises jour de scurit ne rpondaient toutefois pas
aux conditions dutilisation de la licence Firefox.
Mme si, sur ce point, les camps de Linux et Firefox sont parvenus un compromis grce Mark
Shuttleworth (Ubuntu), Debian a choisi dintgrer le navigateur Web Firefox et le client de cour-
rier lectronique Thunderbird sa distribution sous des noms qui lui sont propres. Ainsi, sous
Debian, Firefox sappelle Iceweasel et Thunderbird sappelle Icedope. Ceci permet Debian de
proposer des modications du code ou des icnes propres sans avoir se proccuper de Firefox.
Fonctionnalits de base
Lutilisation du navigateur ne prsente rien de nouveau par rapport ce quoi vous tes
habitu avec nimporte quel autre navigateur : vous cliquez sur des liens, enregistrez des
signets pour les pages importantes, etc. Je ne reviendrai pas ici sur ces fonctionnalits lmen-
taires, je pense que vous les matrisez dj.
Comme tous les navigateurs Internet modernes, Firefox peut ouvrir plusieurs pages au sein
dune mme fentre, laide des onglets. Pour ouvrir une nouvelle sous-fentre, on utilise
soit la combinaison de touches Ctrl+T, soit un clic droit de la souris sur un lien pour choisir
Ouvrir le lien dans un nouvel onglet, dans le menu contextuel qui apparat. Les combinai-
sons de touche Ctrl+PgPrc ou Ctrl+PgSuiv permettent de passer dun onglet lautre.
Ctrl+W permet de fermer longlet courant.
Fentres
pop-up
De nombreux sites web utilisent JavaScript pour ouvrir des fentres "pop-up" de publicit.
Firefox lempche dans la plupart des cas et afche un avertissement sous la barre dadresse.
Si vous le souhaitez, vous pouvez, en cliquant sur cet avertissement, autoriser louverture
de la fentre pop-up qui a t bloque ou autoriser systmatiquement les fentres pop-up
pour le site web concern. Par exemple, le systme de gestion des comptes en ligne de ma
banque ne fonctionne que par fentre pop-up. Jai donc exclu le site de ma banque de la
protection contre les fentres pop-up.
Linux Livre Page 80 Mardi, 23. septembre 2008 1:05 13
81 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
Pour congurer la gestion des fentres pop-up ainsi que la liste des sites autoriss, passez
par la bote de dialogue dition > Prfrences > Contenu.
Affichage des
caractres
trangers
Firefox tente de reconnatre automatiquement le jeu de caractres des pages web, ce qui
fonctionne gnralement bien. Dans certains cas rares, toutefois, le navigateur choue et
afche alors mal les caractres trangers (y compris les caractres accentus franais, par
exemple). Dans de tels cas, vous devez participer la reconnaissance du jeu de caractres.
Essayez par exemple de choisir Afchage > Encodage des caractres > Unicode (UTF-8) ou
> Occidental (ISO-8859-1).
Recherche
de texte
dition > Rechercher ou la combinaison de touches Ctrl+F permettent douvrir une bote de
dialogue de recherche. Plus rapide encore, toutefois, la combinaison / A B C permet de loca-
liser le texte abc. Ctrl+G ritre la recherche. Utiliser A B C constitue une variante qui permet
de rechercher des liens contenant le texte abc.
Recherche web Pour effectuer une recherche Google, plutt que vous rendre sur la page www.google.com
ou www.google.fr, vous pouvez saisir le mot-cl de votre recherche directement dans le
champ gurant droite de la barre de navigation. Outre Google, dautres moteurs de
recherche y sont galement prcongurs. Le menu de slection vous permet galement
de dnir un nouveau moteur de recherche. Lentre de menu Ajouter des moteurs de
recherche vous conduit une page du site Firefox grce laquelle vous intgrerez au menu
de recherche, en un seul clic de souris sur le lien correspondant, le moteur que vous aurez
choisi parmi un grand nombre de moteurs de recherche populaires proposs.
Marque-pages
(Bookmarks)
Vous pouvez consulter les marque-pages dans Firefox dans trois endroits diffrents : par le biais
du menu Marque-pages, dans une barre doutils (Afchage > Barre doutils) ou dans le panneau
latral, que vous pouvez activer ou dsactiver par la combinaison de touches Ctrl+B. Pour enre-
gistrer un nouveau signet, vous utiliserez au choix la combinaison de touches Ctrl+D ou un glis-
ser-dposer de ladresse courante dans la barre de signets ou dans le panneau latral.
Lorsque vous souhaitez rorganiser vos signets, passez par Marque-pages > Grer les mar-
que-pages. Une mme bote de dialogue vous permet deffacer, de dplacer, de renommer,
de trier, dexporter ou dimporter tous vos marque-pages. En interne Firefox, les marque-
pages sont stocks dans une base de donnes SQLite correspondant au chier :
~/.mozilla/firefox/nnnn.default/places.sqlite
Figure 6.1
Le navigateur
web Firefox.
Linux Livre Page 81 Mardi, 23. septembre 2008 1:05 13
LINUX 82
Marque-pages
intelligents
Les marque-pages intelligents sont une nouveaut de Firefox 3 : ils vous donnent un accs
rapide aux dix signets les plus utiliss et aux dix derniers marque-pages enregistrs.
Flux RSS De nombreux sites web prsentent rgulirement des nouveauts et proposent galement
des liens vers les articles sous la forme de ux RSS. Il sagit l de chiers XML spcialement
mis en forme qui, chaque nouveaut, proposent une description succincte ainsi quun lien.
Firefox peut prsenter un ux RSS de ce type sous la forme de marque-pages dynamiques. Le
contenu du marque-page se met jour automatiquement lorsque de nouvelles informations
sont disponibles. chaque site web proposant un ux RSS, Firefox prsente au ct droit de la
barre dadresse un symbole orange ("Sabonner cette page..."). Cliquez sur ce symbole et
conrmez ensuite la bote de dialogue de conguration. Le marque-page dynamique apparat
maintenant comme un groupe de marque-pages renvoyant aux entres effectives du ux.
Historique Firefox conserve pour quelques jours le nom et ladresse de chaque site web consult. Cet
historique de navigation peut tre afch dans le panneau latral par le biais de la combinai-
son de touches Ctrl+H, o vous pouvez galement effectuer des recherches. Vous modie-
rez la dure de stockage des pages visites, qui est en standard congure 90 jours, dans
dition > Prfrences > Vie prive.
Tlchar-
gements
Pour tlcharger un chier sur votre ordinateur, il suft dans la plupart des cas de cliquer sur le
lien correspondant. Firefox vous demande alors si vous souhaitez ouvrir le chier laide dun
programme externe ou lenregistrer sur le disque dur. Si cela ne fonctionne pas, effectuez un
clic droit sur le lien et choisissez Enregistrer la cible sous. Pour les tlchargements dont la
dure dpasse quelques secondes, une bote de dialogue dtat apparat automatiquement.
Par dfaut, les tlchargements Firefox sont enregistrs dans le dossier ~/Desktop. Si vous
souhaitez indiquer manuellement lemplacement chaque tlchargement, ouvrez dition
> Prfrences > Gnral et activez loption Me demander o enregistrer chaque chier.
Mots de passe Lorsque vous remplissez des formulaires de connexion (par exemple pour utiliser un ser-
vice de webmail), une bote de dialogue apparat qui vous demande si les informations de
connexion doivent tre enregistres. Cela vous pargne le fait de devoir saisir nouveau
toutes les informations la visite suivante.
Ce confort possde naturellement un prix : lorsquune personne trangre a accs votre ordi-
nateur, Firefox lui donne galement accs tous les sites web scuriss par un mot de passe. Par
consquent, vous pouvez protger tous les mots de passe enregistrs par le biais dun mot de
passe dit principal. Celui-ci sert protger lensemble des autres mots de passe. Par la suite,
vous devrez saisir le mot de passe principal chaque session lorsque Firefox accde pour la
premire fois la base de donnes des mots de passe. Pour dnir ce mot de passe,
ouvrez dition > Prfrences > Scurit et activez loption Utiliser un mot de passe principal.
Impressions Avant de lancer limpression, vous pouvez choisir par le biais de Fichier > Mise en page la taille
du papier ainsi que lorientation du document (portrait ou paysage). Fichier > Aperu avant
impression vous permet davoir une ide de la mise en forme avant limpression effective.
Fichier > Imprimer lance limpression de la page et vous permet de choisir limprimante sou-
haite ainsi que lchelle appliquer ou encore diverses options pour limpression des cadres.
Dans de nombreuses distributions, Firefox utilise le format de papier amricain US Letter, ce qui peut (sui-
vant limprimante) conduire des problmes en Europe. Pour fixer le format standard au format A4, ouvrez
Linux Livre Page 82 Mardi, 23. septembre 2008 1:05 13
83 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
dans Firefox la page about:config, recherchez loption print.postscript.paper_size et modifiez-en la valeur
par un double-clic sur A4. La nouvelle configuration est prise en compte ds que vous relancez Firefox.
Mises jour
de Firefox
Vous tes peut-tre familiaris avec les mises jour automatiques de Firefox disponibles
dans la version Windows. Sous Linux, ce type de mise jour nest pas possible. Ici, cest
loutil de gestion centralise des paquetages qui gre lensemble des mises jour. La plupart
des distributions Linux proposent un paquetage Firefox mis jour chaque fois quune
mise jour Firefox est publie.
Configuration
Fichiers de
configuration
Firefox gnre son premier lancement le rpertoire ~/.mozilla/firefox/profil.default,
o profil est une chane de caractres alatoire. Dans ce rpertoire, Firefox enregistre tous
les paramtres, les marque-pages, le cache, etc.
Proxy (serveur
mandataire)
Si votre ordinateur est connect Internet ou un rseau local mais que vous ne parveniez
pas naviguer sur le Web, il est possible que votre rseau local utilise un serveur proxy, ou
serveur mandataire. Cest un ordinateur plac entre votre PC et Internet. Il sert de stockage
intermdiaire et acclre ainsi laccs des pages frquemment consultes. Le proxy peut
galement servir bloquer laccs certaines pages donnes ou journaliser tous les accs
web. Nous verrons au Chapitre 29 comment mettre en place un serveur proxy sous Linux.
Pour utiliser un serveur mandataire avec Firefox, ouvrez la bote de dialogue dition > Pr-
frences > Avanc, onglet Rseau puis bouton Paramtres, et renseignez ladresse obliga-
toire du ou des serveurs proxy. En rgle gnrale, il suft de remplir les champs
correspondant aux serveurs proxy HTTP et FTP. Le numro de port appropri est le 8080. Si
vous ne connaissez pas ladresse de votre proxy, contactez votre administrateur systme.
Taille des
caractres
Si la taille des caractres dune page donne est trop grande ou trop petite votre got, vous
pouvez jouer sur le facteur dagrandissement au moyen des combinaisons de touches
Ctrl++ ou Ctrl+. Vous pouvez galement faire tourner la molette de votre souris tout en
appuyant sur la touche Ctrl.
Pour modier de faon permanente la taille par dfaut des caractres, ouvrez la bote de dialo-
gue dition > Prfrences > Contenu et congurez-y la police par dfaut et sa taille dafchage.
Le bouton Avanc vous permet aussi de paramtrer une taille minimale pour les polices.
Java et
JavaScript
Par dfaut, Java et JavaScript sont activs. Vous trouverez les options correspondantes dans
la bote de dialogue dition > Prfrences > Contenu. Toutefois, Java ne fonctionnera que si
un environnement Java est install conjointement un greffon Mozilla (voir un peu plus
loin dans ce chapitre).
Cookies Les cookies sont de minuscules chiers stocks sur votre ordinateur. Ils permettent un
site web de vous reconnatre lors dune visite ultrieure et denregistrer des informations
contextuelles. Par ailleurs, les cookies sont frquemment ncessaires dans le cadre de
transactions commerciales (identication, panier dachats).
Les cookies ne sont pas dangereux et amliorent dans bien des cas le confort de navigation.
Par consquent, Firefox accepte par dfaut les cookies de la majorit des sites web. Lusage
des cookies peut toutefois, dans une certaine mesure, tre dtourn pour garder une trace des
Linux Livre Page 83 Mardi, 23. septembre 2008 1:05 13
LINUX 84
sites web que vous consultez. Pour cette raison, la bote de dialogue dition > Prfrences >
Vie prive permet de refuser la totalit ou une partie des cookies.
Cache local Firefox gre un cache local dans lequel sont enregistres les dernires pages web, images,
etc. consultes. Si vous ouvrez ultrieurement la mme page web et quelle nait pas chang
entre-temps, cette page peut alors tre charge directement depuis le cache local, ce qui est
naturellement beaucoup plus rapide. Par dfaut, 50 Mo despace disque sont rservs pour
le cache. Vous pouvez augmenter ou diminuer ce volume par le biais de loption dition >
Prfrences > Avanc > Rseau > Stockage hors connexion ; et galement y vider le contenu
du cache. Dans la fentre principale, ladresse about:cache vous renvoie la liste de tous les
chiers actuellement stocks dans le cache.
about:config Vous pouvez modier les paramtres de conguration essentiels grce au confort des botes
de dialogue proposes par dition > Prfrences. Il existe par ailleurs dinnombrables options
supplmentaires, plus rarement utilises. Lorsque vous saisissez ladresse about:cong dans
la barre dadresse de Firefox, puis que vous appuyez sur la touche Entre (voir Figure 6.2),
vous obtenez une liste alphabtique de ces options ainsi que leurs valeurs courantes. Le
champ de texte Filtre vous permet de limiter la liste des options afches celles correspon-
dant au texte fourni. Pour modier la valeur dune option, effectuez un double-clic sur celle-ci.
Bouton central
de la souris
Firefox propose une fonctionnalit particulirement utile vous permettant douvrir rapidement
des URL fournies sous la forme de texte (et non de liens). Pour ce faire, slectionnez ladresse en
question laide de la souris. Il vous suft alors de cliquer sur le bouton central de la souris
pour ouvrir directement ladresse, entre-temps enregistre dans le presse-papiers.
Sur certaines distributions, en particulier Ubuntu, cette fonctionnalit est malheureusement
dsactive. Pour lactiver, saisissez dans la barre dURL ladresse about:cong et recherchez
ensuite loption middlemouse.content-LoadURL. Un double-clic sur cette option vous permet
alors de la faire basculer de la valeur false la valeur true.
MIME Lacronyme MIME signie Multipurpose Internet Mail Extensions. MIME sert indiquer au
navigateur web quel programme celui-ci doit lancer lorsque vous cliquez sur le lien corres-
pondant un chier MP3 ou PDF. Firefox prend en compte les paramtres MIME gnraux
de Linux ainsi que les informations MIME de tous les greffons installs (voir un peu plus
loin dans ce chapitre). Le chier XML ~/.mozilla/firefox/profil/mimeTypes.rdf (difcile
lire) contient des paramtres supplmentaires pour la gestion des types MIME.
La bote de dialogue Ouvrir (qui apparat systmatiquement lorsque Firefox reconnat un
type MIME mais ne parvient pas identier le programme associ) est la mthode la plus
simple pour enregistrer de nouveaux paramtres MIME ou modier des paramtres exis-
tants. Vous pouvez alors choisir un programme parmi la liste propose ou fournir le chemin
Figure 6.2
Configuration de Firefox.
Linux Livre Page 84 Mardi, 23. septembre 2008 1:05 13
85 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
complet dun autre programme (sous Linux, la plupart des programmes sont situs dans le
rpertoire /usr/bin).
La bote de dialogue dition > Prfrences > Applications vous donne une vue densemble de
tous les paramtres MIME spciques Firefox. Vous pouvez galement y modier ou suppri-
mer des paramtres existants, mais non y ajouter de nouvelles entres (voir Figure 6.3).
Xulrunner La plupart des distributions installent des paquets distincts pour Firefox (linterface utilisa-
teur) et xulrunner (lexcutable de rendu). Les chiers xulrunner sont responsables de la pr-
sentation effective des pages web, cest--dire de leur rendu. XUL est lacronyme de XML
User Interfaces Language et comprend, outre lexcutable de rendu proprement parler (qui
se trouve dans la bibliothque Gecko), divers composants supplmentaires.
La sparation entre Firefox et xulrunner prsente lavantage de permettre dautres pro-
grammes devant galement assurer le rendu de pages HTML (par exemple le client e-mail
Thunderbird) daccder au paquetage commun xulrunner. Par le pass, chaque programme
devait installer son propre excutable de rendu. Ceci conduisait donc des redondances et
des problmes de maintenance.
Extensions (fichiers XPI)
Les chiers XPI (cross platform installation) contiennent des extensions Firefox dont les
chiers dinstallation sont empaquets dans une archive conjointement du code dinstalla-
tion JavaScript. Lventail des extensions disponibles est trs large et couvre aussi bien des
utilitaires de blocage de la publicit (par le biais dextensions de linterface utilisateur) ou
daide au tlchargement que des outils de dveloppement HTML (par exemple pour tester
les chiers CSS).
Figure 6.3
Paramtres MIME
de Firefox.
Linux Livre Page 85 Mardi, 23. septembre 2008 1:05 13
LINUX 86
La bote de dialogue Outils > Modules complmentaires > Catalogue propose quelques-
unes des extensions les plus populaires en tlchargement direct. Vous trouverez par
ailleurs des extensions supplmentaires en cliquant sur le lien Parcourir tous les modules
complmentaires, qui conduit la page suivante : https://addons.mozilla.org/fr/refox
Pour installer des extensions, il vous suft alors de cliquer sur le lien du chier XPI corres-
pondant. De nombreuses extensions ne prennent effet que lorsque vous relancez Firefox.
Outils > Modules complmentaires > Extensions vous donne un aperu de toutes les exten-
sions dj installes et vous permet galement de les dsinstaller.
Ubuntu propose certaines des extensions les plus populaires dans des paquetages propres. Ceci prsente
lavantage de pouvoir installer et mettre jour ces extensions dans le cadre de la gestion des paquetages
dUbuntu (lien Obtenir les extensions Ubuntu dans la bote de dialogue Outils > Modules complmentaires
> Catalogue).
Avant lexcution du code dinstallation XPI, Firefox vous adresse un avertissement : les fichiers XPI peuvent ga-
lement contenir du code malveillant. Prenez cet avertissement trs au srieux. Les risques potentiels poss par
les extensions Firefox sont comparables ceux des fichiers ActiveX de Microsoft Internet Explorer ! Ninstallez
pas une extension si vous ntes pas convaincu de sa ncessit et de sa scurit.
Par dfaut, Firefox autorise linstallation de fichiers XPI provenant uniquement des sites web
addons.mozilla.org et update.mozilla.org. Si vous souhaitez accepter dautres sites web ou dautres
sources de fichiers XPI, vous devrez modifier dans la bote de dialogue dition > Prfrences > Scurit le
paramtrage correspondant loption Prvenir lorsque les sites essaient dinstaller des modules compl-
mentaires.
6.2 Konqueror
Le programme Konqueror, dj prsent au chapitre relatif KDE, est un navigateur univer-
sel. Il permet de prsenter des chiers locaux, des pages web, des rpertoires FTP, des ima-
ges, etc. Nous nallons toutefois dcrire ici que quelques particularits relatives son
utilisation en tant que navigateur web.
Configuration Il nexiste probablement aucun autre navigateur sur lequel vous puissiez modier autant de
paramtres de conguration. La bote de dialogue accessible par Conguration > Congurer
Konqueror prsente 18 modules, chacun comprenant lui-mme plusieurs pages de paramtres !
Recherche
rapide
Outre les recherches web traditionnelles, que vous pouvez effectuer de la mme manire
que sur tout autre navigateur dans un champ de texte, vous pouvez aussi rechercher un
terme directement depuis la barre dadresse. Des raccourcis spciaux sont dnis cet
effet. Si, par exemple, vous saisissez dans la barre dadresse gg:abc, une recherche sur le
terme abc est effectue dans http://www.google.com. Vous pouvez complter la liste des
raccourcis existants avec vos propres entres par le biais du module de conguration Raccourcis
Web.
Mots de passe Konqueror enregistre les mots de passe et les informations de connexion dans le systme de
gestion des mots de passe Kwallet de KDE (voir Chapitre 5).
Linux Livre Page 86 Mardi, 23. septembre 2008 1:05 13
87 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
Extensions Konqueror utilise en rgle gnrale les mmes extensions que Mozilla (mais on parle dans le
cadre de Konqueror de "modules externes"). Lorsque celles-ci ne fonctionnent pas, jetez un
coup dil au module de conguration Modules externes : vous pourrez y vrier quelles
extensions Konqueror a identies et congurer dans quels rpertoires rechercher des
extensions. Le bouton Rechercher de nouveaux modules externes vous permet dimporter
dans la liste des extensions disponibles pour Konqueror celles que vous venez dinstaller et
qui ny apparaissent pas encore.
Lorsque Konqueror identie certaines extensions Firefox et dautres non, la cause probable
en est que Konqueror ignore le nouveau rpertoire dextensions xulrunner. Vous devez alors
ajouter (suivant votre distribution) le rpertoire /usr/lib/xulrunner/plugins ou /usr/lib/
xulrunner-addons/plugins.
Outre les extensions Firefox, Konqueror propose galement des extensions propres, spci-
ques KDE. Parmi les fonctionnalits les plus populaires, on trouve la traduction des pages
web, une fonctionnalit de rafrachissement automatique (Auto-refresh) des pages web
aprs un temps donn, ainsi quun afcheur DOM permettant de visualiser la structure
HTML dune page web. Ces extensions doivent, bien souvent, tre installes sparment.
Sur Fedora, elles sont par exemple regroupes dans le paquetage konq-plugins.
Java Konqueror nutilise pas directement lextension Java mais fait appel KJAS (KDE Java applet
server, chier kjavaappletviewer.so). KJAS lance lui-mme linterprteur Java et donc le pro-
gramme java. Si Konqueror rencontre des difcults pour trouver ce chier, vous pouvez en
obtenir le chemin complet par le biais de la commande which java, puis copier le rsultat de
cette commande dans le module de conguration de Konqueror intitul Java et JavaScript.
6.3 Navigateurs en mode texte
Vous vous demandez probablement quel intrt peut avoir un navigateur web en mode
texte. De fait, il nest pas rare de travailler dans la console texte sous Linux et davoir besoin
de consulter rapidement une page web ou une documentation HTML, ce que permettent
Figure 6.4
Konqueror en tant
que navigateur web.
Linux Livre Page 87 Mardi, 23. septembre 2008 1:05 13
LINUX 88
justement les programmes elinks, lynx et w3m. Par ailleurs, vous pouvez galement utiliser
ces programmes pour convertir des documents HTML en texte simple.
Lutilisation de ces trois programmes est similaire. Les pages de manuel ainsi que le systme
daide intgr documentent leurs nombreuses options ainsi que leurs raccourcis clavier.
Pour des raisons de place, je ne prsenterai donc ici titre dexemple que le programme le
plus connu, Lynx.
Lynx Lutilisation de Lynx est simple : vous lancez en gnral ce programme avec, en paramtre,
lURL dun site web ou le chemin dun chier HTML. Lynx charge le document et prsente
la premire page, o les titres et liens sont identis par des couleurs diffrentes. Lorsque
vous lancez Lynx avec loption -use_mouse, vous pouvez galement faire appel la souris :
un clic gauche vous permet de suivre un lien, le bouton central afche un menu contextuel,
tandis que le bouton droit vous permet de revenir la page prcdente.
Par dfaut, Lynx utilise pour lafchage le jeu de caractres Latin-1. Pour reprsenter cor-
rectement les caractres spciaux dans une console Unicode, saisissez galement loption
-display_charset=utf-8.
La commande suivante vous montre comment utiliser Lynx pour convertir du HTML en
texte simple :
utilisateur$ lynx -dump source.html > cible.txt
6.4 Plugins (Adobe Reader, Flash, Java)
Les plugins sont des programmes dextension permettant dajouter des fonctionnalits au
navigateur web. Il est plutt rjouissant de constater que Firefox et Konqueror utilisent le
mme systme de Plugins Mozilla pour grer ces plugins. Une fois installs, ils fonctionnent
aussi bien pour lun que pour lautre de ces programmes. Dans la suite de ce chapitre, je sup-
poserai toutefois que vous travaillez avec Firefox. Ces extensions ne peuvent tre utilises avec
un navigateur en mode texte.
Lorsque Firefox rencontre une page dont le contenu rclame un plugin non encore install,
il prsente un avertissement adapt ainsi quun bouton dinstallation. Toutefois, linstalla-
tion dun plugin depuis Firefox et sous Linux ne fonctionne fondamentalement pas ! De
nombreux plugins ne sont disponibles que pour Windows et non pour Linux. Et, mme
lorsquil existe des versions pour Linux, linstallation se fait obligatoirement manuellement,
comme vous allez le voir plus en dtail pour les trois plugins suivants : le lecteur de PDF
Adobe Reader, Flash (Adobe/Macromedia) et Java (Sun). Un autre plugin disponible pour
Linux est le lecteur audio Real Player, dont linstallation sera dcrite au Chapitre 11.
Il nest pas ncessaire, pour ces plugins, de congurer le type MIME. Les chiers du plugin
contiennent tous les paramtres requis.
Synthse des
plugins
Vous pouvez obtenir un aperu de tous les plugins actuellement installs, ainsi que des for-
mats de chiers grs par ceux-ci, lorsque vous saisissez dans la barre dadresse de votre
navigateur about:plugins avant dappuyer sur Entre. La bote de dialogue Outils > Exten-
sions complmentaires > Plugins (une nouveaut de Firefox 3) vous indique galement la
liste de tous les plugins. Vous pouvez y dsactiver des plugins individuels mais cela na pas
systmatiquement fonctionn correctement lors de mes tests.
Linux Livre Page 88 Mardi, 23. septembre 2008 1:05 13
89 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
Rpertoires Suivant la distribution Linux et la version de Firefox que vous utilisez, vous trouverez les
chiers de plugins dans lun ou lautre des emplacements suivants :
dans le rpertoire /usr/lib[64]/xulrunner/plugins ;
dans le rpertoire /usr/lib[64]/xulrunner-addons/plugins ;
dans le rpertoire /usr/lib[64]/firefox/plugins ;
dans le rpertoire /usr/lib[64]/mozilla/plugins ;
dans le rpertoire ~/.mozilla/plugins ;
dans tous les rpertoires que renvoie la variable denvironnement MOZ_PLUGIN_PATH.
La multiplicit des rpertoires possibles conduit ce que, sur de nombreux ordinateurs, les
plugins ne soient pas installs un seul emplacement commun pour tous mais quils soient
disperss sur lensemble du disque dur. Pour des raisons de compatibilit, xulrunner tient
galement compte des rpertoires spciques de Mozilla et Firefox.
libstdc++ Certaines versions anciennes des plugins dcrits ci-aprs ncessitent la bibliothque libs-
tdc++.so.5. Assurez-vous pralablement quun tel chier est bien prsent dans le rpertoire
/usr/lib ; dans le cas contraire, installez le paquetage contenant ce chier. Sous Fedora, ce
paquetage porte le nom compat-libstdc++-33, car cette bibliothque est compatible avec le
compilateur GCC 3.3.
Plugins 64 bits Pour divers plugins commerciaux, comme Adobe Reader ou Adobe Flash, il nexiste mal-
heureusement quune version compile pour 32 bits. Pour rendre compatibles des plugins
32 bits avec la version 64 bits de Firefox, la plupart des distributions utilisent le programme
nspluginwrapper : http://gwenole.beauchesne.info/projects/nspluginwrapper/
Adobe Reader
Adobe Reader est un programme qui permet de consulter des documents PDF. Il existe cet
effet divers autres programmes Linux (Evince dans lenvironnement Gnome, KPDF et Okular
dans KDE, ghostscript, etc.), mais Adobe Reader prsente plusieurs avantages :
meilleure qualit de rendu ;
fonctionnalit dimpression sophistique ;
confort dutilisation ;
diverses fonctionnalits supplmentaires (saisie de formulaires PDF, possibilit de raliser
des modications simples sur certains chiers PDF spciaux).
Le lecteur Adobe Reader est certes disponible gratuitement sur Internet mais, pour des rai-
sons de licence, la plupart des distributions ne sont pas en mesure dintgrer des paquetages
Adobe Reader ofciels leur produit. Pour cette raison, vous devrez dans la trs grande
majorit des cas tlcharger directement le programme depuis le site web dAdobe et lins-
taller manuellement.
Installation
manuelle
Vous trouverez ladresse suivante une version 32 bits du lecteur Adobe Reader sous la
forme dun paquetage Debian, dun paquetage RPM ou dune archive tar :
http://www.adobe.com/products/acrobat/readstep2_allversions.html
Linux Livre Page 89 Mardi, 23. septembre 2008 1:05 13
LINUX 90
Ces trois variantes comprennent galement le plugin Firefox ainsi que la prise en charge du
JavaScript.
Pour installer le paquetage Debian ou RPM, procdez comme laccoutume avec la com-
mande dpkg -i ou rpm -i. Pour installer larchive TAR, excutez dans une console la srie
de commandes ci-aprs :
root# tar xzf Desktop/AdobeReader_n.n.tar.gz
root# cd AdobeReader
root# ./INSTALL
Durant linstallation, conrmez le rpertoire dinstallation /usr/local/Adobe/Acrobatn
ainsi que linstallation automatique du plugin Mozilla en appuyant sur la touche Entre. Les
commandes de lancement pour les menus Gnome et KDE sont galement ajoutes lors de
linstallation.
Utilisation
en tant que
plugin Firefox
Le lecteur Adobe Reader de Firefox peut tre utilis de deux manires diffrentes : soit en
tant que plugin, soit en tant que programme externe. De nombreux utilisateurs sont habi-
tus la premire variante car cest le fonctionnement par dfaut une fois Acrobat install.
Toutefois, titre personnel, je prfre la seconde utilisation et utiliser les fonctionnalits
dAdobe Reader dans une fentre propre. Pour ouvrir les documents PDF dans une fentre
distincte, ouvrez la bote de dialogue dition > Prfrences > Applications et, dans le menu
droulant correspondant lentre "Document PDF", choisissez Autre... et saisissez alors le
chemin /usr/bin/acroread (ou, si loption est disponible, choisissez Utiliser Adobe Reader
(par dfaut), qui diffre de loption Utiliser Adobe Reader (dans Firefox), en ouvrant le
document dans une fentre Adobe Reader propre).
Adobe Reader prend en charge JavaScript. Ce langage de script peut tre utilis pour de nombreuses
fonctionnalits utiles, mais il prsente galement un risque de scurit potentiel et peut servir envoyer
des informations la lecture dun document PDF. Ceci constitue une invasion de votre vie prive. Vous
pouvez consulter sur ce site (en anglais) des informations supplmentaires ce propos :

http://lwn.net/Articles/129729/
Pour dsactiver JavaScript au sein dAdobe Reader, ouvrez la bote de dialogue dition > Prfrences >
JavaScript et dcochez loption correspondante.
Adobe/Macromedia Flash
Le lecteur Adobe Flash Player (autrefois dnomm Macromedia Flash) permet de jouer des
animations Flash. Ce programme est conu comme un plugin, cest--dire que les anima-
tions apparaissent directement dans le navigateur web (souvent lintrieur mme dune
page dont les autres lments sont statiques). Flash est, le plus souvent, utilis pour de la
publicit. Il existe toutefois des applications utiles de Flash, par exemple pour lire des
vidos, utiliser des cartes interactives, etc. De nombreux sites web (mal conus) ne peuvent
par ailleurs tre consults quavec Flash.
Installation Le plugin Adobe Flash est, comme Adobe Reader, disponible gratuitement, mais pour le
moment uniquement en version 32 bits. Malheureusement, ses termes de licence empchent la
plupart des distributions de mettre la disposition des utilisateurs le paquetage correspondant.
SUSE et Mandriva, qui ont contract des accords avec Adobe, sont toutefois deux exceptions
cette rgle.
Linux Livre Page 90 Mardi, 23. septembre 2008 1:05 13
91 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
Certaines distributions proposent un petit paquetage contenant un script dinstallation qui
se charge de tlcharger et dinstaller le plugin Flash dans sa version courante. Par exemple,
le paquetage flashplugin-nonfree dUbuntu (source multiverse) joue ce rle dinstallateur
de Flash. Lorsque vous souhaitez ultrieurement mettre jour le plugin Flash, vous pouvez
excuter la commande update-flashplugin.
Lorsquil nexiste pour votre distribution ni paquetage Flash ni script dinstallation, vous
devez installer vous-mme Flash. La page suivante vous propose de tlcharger Flash soit
sous la forme dun paquetage RPM, soit sous forme darchive TAR :
http://www.adobe.com/fr/products/ashplayer/
Sur les distributions comprenant un systme de gestion des paquetages RPM, il vous suft
dexcuter la commande rpm -i nom_du_paquetage pour installer le plugin. Sur toute autre
distribution, excutez la srie de commandes prsente ci-aprs. Flash est alors install dans
le rpertoire de plugins de votre dossier personnel. Si vous souhaitez installer Flash pour
lensemble de votre systme, vous devez excuter le programme dinstallation en tant
quutilisateur root.
utilisateur$ tar xzf Desktop/install_flash_player_9_linux.tar.gz
utilisateur$ cd install_flash_player_9_linux/
utilisateur$ ./flashplayer-installer
Lorsque vous voulez supprimer Flash, il vous suft deffacer le chier libflashplayer.so
des rpertoires /usr/lib/mozilla/plugins et ~/.mozilla/plugins.
Si vous utilisez la version 64 bits de Fedora 9, le plugin Flash 32 bits ne fonctionnera
quaprs linstallation de quelques paquetages supplmentaires, ainsi que la dclaration
explicite du plugin auprs de nspluginwrapper.
Tester Flash Aprs avoir redmarr Firefox, ouvrez la page suivante pour tester votre installation :
http://www.adobe.com/shockwave/welcome/
Figure 6.5
Tester Flash.
Linux Livre Page 91 Mardi, 23. septembre 2008 1:05 13
LINUX 92
Cette page de test contient deux animations (voir Figure 6.5) : la premire est base sur
Shockwave for Director (ou, plus simplement, Shockwave), la seconde, sur Shockwave
Flash (ou, plus simplement, Flash). Comme vous navez install que le plugin Flash, seul le
second lment de cette page de test fonctionne. Il nexiste malheureusement aucun plugin
Shockwave pour Linux.
FlashBlock Aussi sympathiques que soient les animations Flash, leur omniprsence pour la publicit
devient particulirement pesante. Cest ici quintervient lextension Firefox FlashBlock. Tous
les objets Flash dune page web apparaissent alors sous la forme de boutons "f" : lanimation
se lance uniquement lorsque vous cliquez sur lun de ces boutons (voir Figure 6.6). Vous
trouverez cette extension Firefox particulirement utile en saisissant ashblock dans le
champ de recherche de la bote de dialogue Outils > Modules complmentaires > Catalogue.
Vous pourrez alors installer lextension en cliquant sur le bouton Ajouter Firefox... Pour
que linstallation prenne effet, vous devrez relancer Firefox.
gnash et
swfdec
Les composants logiciels importants qui ne sont pas distribus sous licence libre sont une
pine dans le pied de la communaut open-source. Il nest donc pas surprenant quil existe
galement des alternatives open-source Flash, savoir Gnu ash movie player (abrg en
gnash), ainsi que la bibliothque swfdec. Ces deux projets comptent galement un plugin
pour navigateur web. Ils ne sauraient toutefois constituer un substitut part entire du
plugin Flash dorigine, dans la mesure o ils prsentent encore des limitations non ngligea-
bles en termes de compatibilit et de qualit de rendu. Vous trouverez davantage dinformations
sur ces deux projets aux adresses :
http://www.gnu.org/software/gnash/ ; http://swfdec.freedesktop.org/wiki/
Sun Java
Pour tre en mesure dutiliser des applets Java dans votre navigateur web, vous aurez
besoin dun plugin Java. Suivant votre distribution, vous aurez le choix entre, dune part, la
version dorigine de Sun (qui nest toutefois disponible quen version 32 bits et ne peut col-
laborer avec loutil nspluginwrapper) et, dautre part, deux implmentations open-source
fondes sur IcedTea ou OpenJDK. Bien que la qualit de ces deux solutions open-source soit
devenue, avec le temps, satisfaisante et quOpenJDK couvre environ 99 % des fonctionnali-
ts de Sun Java, les utilisateurs de distributions 32 bits prfrent gnralement utiliser la
Figure 6.6
FlashBlock en pratique.
Linux Livre Page 92 Mardi, 23. septembre 2008 1:05 13
93 NAVIGATEURS INTERNET (FIREFOX, KONQUEROR)
version de Sun. Pour lutilisateur dune distribution 64 bits souhaitant bncier de Java
dans son navigateur web, OpenJDK est la solution privilgier.
Depuis 2006/2007, Sun a non seulement pass la majeure partie du code de Java sous
licence GPL, mais galement facilit de manire substantielle la redistribution de loutil Sun
Java dorigine. Certaines distributions peuvent donc proposer des paquetages Sun Java que
vous pouvez installer sans difcult avec votre gestionnaire de paquetages (par exemple
openSUSE ou Ubuntu).
Installation Sil nexiste aucun paquetage Sun Java pour votre distribution, vous devrez mettre la main
la pte. Vous trouverez sur le site web ci-aprs les chiers dinstallation pour les systmes 32
et 64 bits, au choix sous la forme dun paquetage RPM ou dune archive auto-extractible :
http://www.java.com/fr/download/manual.jsp
Pour les distributions proposant un systme de gestion des paquetages RPM, il vous suft alors
dexcuter la commande rpmi -i nom_du_paquetage pour mener bien linstallation. Sur toute
autre distribution, vous devrez excuter la srie de commandes prsente ci-aprs :
root# mkdir /usr/local/java
root# cd /usr/local/java
root# chmod u+x jre-6u6-linux-i586.bin
root# ./jre-6u6-linux-i586.bin
Au cours de linstallation, un accord de licence vous sera prsent. Pour en interrompre laf-
chage, appuyez sur la touche Q ; pour conrmer votre accord, saisissez yes puis appuyez sur la
touche Entre. Linstallation se poursuit alors sans ncessiter dintervention supplmentaire de
votre part. Toutefois, le chier de plugin Java nest pas install dans le rpertoire de plugins
Mozilla. Vous devez donc mettre en place vous-mme un lien symbolique :
root# cd /usr/lib/mozilla/plugins/
root# ln -s /usr/local/java/jre1.6.0_06/plugin/i386/ns7/libjavaplugin_oji.so .
Si vous avez install Java sous la forme dun paquetage RPM, les chiers Java se trouvent alors
dans le rpertoire /usr/java. La commande ln correspondante a alors lallure suivante :
root# cd /usr/lib/mozilla/plugins/
root# ln -s /usr/java/jre1.6.0_06/plugin/i386/ns7/libjavaplugin_oji.so .
Test Pour conrmer que tout fonctionne correctement, ouvrez la page web suivante dans votre
navigateur. Une applet avec le petit bonhomme dansant doit normalement apparatre. Cette
applet vous renseigne galement sur la version de Java installe (voir Figure 6.7).
http://www.java.com/fr/download/help/testvm.xml
Il est possible dinstaller en parallle plusieurs environnements Java. Il ne doit toutefois y avoir quun seul
plugin Java pour votre navigateur web ! Si vous installez Sun Java mais que vous souhaitiez conserver un
environnement Java open-source existant, vous devrez alors dsinstaller le paquetage de plugin correspon-
dant (par exemple sur Fedora, java-1.6.0-openjdk-plugin).
Linux Livre Page 93 Mardi, 23. septembre 2008 1:05 13
LINUX 94
Figure 6.7
Page de test
pour le plugin Java.
Linux Livre Page 94 Mardi, 23. septembre 2008 1:05 13
7
E-mail (Thunderbird, Evolution,
Kontact)
Ce chapitre prsente lutilisation des trois clients de courrier lectronique les plus populaires
sous Linux :
Thunderbird est dj bien connu de nombreux utilisateurs provenant du monde Win-
dows. Il sagit du composant e-mail correspondant Firefox. Le client e-mail possde
une prsentation fonctionnelle et nest pas surcharg de fonctionnalits accessoires.
Evolution est le client e-mail par dfaut de lenvironnement de bureau Gnome. Ce pro-
gramme a t conu, ds le dbut, comme une alternative Outlook. Par consquent, il
prsente de nombreuses fonctionnalits auxiliaires : outre les e-mails, il vous permet
galement de grer vos rendez-vous et votre carnet dadresses, de synchroniser ces don-
nes avec un PDA, etc. Evolution peut galement tre utilis avec un serveur Microsoft
Exchange ou avec Groupwise.
Kontact est lhomologue dEvolution pour KDE. Kontact propose une interface unie
pour plusieurs composants individuels de KDE permettant de grer les e-mails, le car-
net dadresses, les rendez-vous, etc. Si vous recherchez uniquement une fonctionnalit
de courrier lectronique, utilisez KMail plutt que Kontact.
E-mail en
mode texte
De nombreux afcionados de Linux et dUnix prfrent lire et composer leurs e-mails dans une
console. cet effet, on dispose dun large ventail de programmes, par exemple cone, mutt et
pine. Les amateurs dEmacs nont pas besoin de quitter leur diteur favori, grce au mode e-mail
quil propose. Pour qui souhaite automatiser lenvoi de courriers par le biais dun script, un coup
dil la commande mail devrait se rvler protable. Dans ce chapitre, je ne dcrirai toutefois
que les trois clients graphiques dj cits et prsenterai trs rapidement lutilisation de mutt.
Serveur de
courrier
lectronique
Un autre sujet que nous ne pourrons aborder dans ce livre faute de place est la mise en place
de votre propre serveur de courrier. Il existe pour cela aussi toute une palette de program-
mes, par exemple sendmail, postfix, qmail ou encore exim. Dans la nomenclature Unix, on
parle pour ce type doutil de MTA (Mail Transfer Agent), tandis que lon dsigne les clients
e-mails comme Thunderbird par le terme de MUA (Mail User Agent).
Outils pour le
courrier
lectronique
Entre les MUA et MTA, de nombreux outils peuvent intervenir dans la chane de transmis-
sion du courrier, pour ltrer les spam ou les virus (bogofilter, spamassassin), traiter auto-
matiquement les e-mails ou automatiser les rponses (procmail), rcuprer les courriers
depuis un serveur POP par le biais dune commande (fetchmail), etc. Toutefois, je ne peux
ici que mentionner ces quelques commandes sans les dtailler, sous peine de transformer ce
chapitre en un livre lui seul.
7.1 Bases
Du point de vue de lutilisateur, il est trivial denvoyer et de recevoir des e-mails. Cest tou-
tefois loin dtre le cas de tous les mcanismes intervenant en coulisse. Cette section vise
Linux Livre Page 95 Mardi, 23. septembre 2008 1:05 13
LINUX 96
donc fournir quelques informations de base sur le fonctionnement du courrier lectroni-
que. Si vous tes uniquement la recherche dun client e-mail facile utiliser, vous pouvez
tout simplement sauter cette section.
Compte Lorsque votre fournisseur daccs Internet ou votre socit vous met disposition une
adresse e-mail, on dsigne galement ce service par le terme de compte. Comme il est cou-
rant aujourdhui, pour un utilisateur, de possder plusieurs adresses lectroniques, la majo-
rit des clients de courrier peut grer plusieurs comptes la fois.
Pour pouvoir lire des e-mails depuis votre compte et en envoyer, votre fournisseur de services
vous met disposition un certain nombre dinformations qui sont gnralement compa-
rables celles du tableau ci-dessous.
Bien souvent, on utilise ladresse e-mail en guise didentiant de connexion la bote aux
lettres. Dans de nombreux cas, lidentiant de connexion au serveur SMTP et le mot de
passe sont les mmes que ceux de la bote aux lettres. Il nest pas rare non plus quaucune
authentication ne soit ncessaire au niveau du serveur SMTP ou que lauthentication
auprs du serveur de courrier entrant sufse pour se connecter au serveur sortant. Les
comptes e-mails conus pour tre lus dans un navigateur web (webmail) requirent souvent
de modier pralablement certaines options de scurit pour permettre une utilisation en
mode POP ou IMAP.
Lignes den-
tte
Au dbut de chaque e-mail gurent un certain nombre de lignes den-tte comprenant les
adresses de lmetteur et du destinataire, lobjet, ainsi que diverses autres informations.
Informations relatives au compte e-mail illustres par des exemples
Adresse e-mail catherine.hofer@societe.fr ou
catherine.hofer@fai.fr
Adresse du serveur entrant (POP ou IMAP) imap.societe.fr ou pop.fai.fr
Nom dutilisateur/Identifiant de connexion la bote aux lettres chofer ou 12345678
Mot de passe pour la bote aux lettres xxxxxxxx
Adresse du serveur sortant (SMTP) smtp.societe.fr ou mail.fai.fr
Nom dutilisateur/Identifiant de connexion au serveur SMTP chofer ou 12345678
Mot de passe pour le serveur SMTP xxxxxxxx
Lignes den-tte dun e-mail
Subject: objet description succincte du contenu (une ligne)
From: adresse adresse e-mail de lexpditeur
To: adresse adresse e-mail du destinataire
Reply-To: adresse en cas de rponse, envoyer le-mail non pas ladresse From: mais ladresse
fournie ici
CC: adresse envoyer une copie de le-mail ladresse Cc: (carbon copy)
Bcc: adresse similaire Cc:, mais les destinataires To: et Cc: du courrier ne peuvent voir
les destinataires Bcc: (blind carbon copy)
Linux Livre Page 96 Mardi, 23. septembre 2008 1:05 13
97 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
MIME La notion de MIME (Multipurpose Internet Mail Extensions) est utilise de deux manires dif-
frentes au niveau des clients de courrier. Dune part, une conguration approprie des
types MIME permet au client e-mail de grer correctement les pices jointes et, par exemple,
de bien ouvrir un chier MP3 envoy par e-mail avec un lecteur de MP3. Nous donnerons
plus dinformations sur la conguration des types MIME au chapitre 13.
Dautre part, MIME peut galement intervenir au niveau du codage du texte de le-mail.
lorigine, le systme de courrier lectronique na t conu que pour les caractres ASCII
cods sur 7 bits. Les courriers comprenant des caractres spciaux (et tout caractre dont le
code est suprieur 127) prsentent donc des difcults. Pour contourner ces problmes,
diffrents types MIME ont t dnis pour lencodage des e-mails.
Signature Trs souvent, vous devrez conclure tous vos e-mails de la mme manire, savoir une ou
plusieurs lignes contenant le nom de votre socit, une adresse, etc. Pour ne pas avoir sai-
sir systmatiquement les mmes lignes chaque nouveau courrier, vous pouvez dnir
dans la plupart des clients de courrier lectronique ce que lon appelle une signature. Les
clients utilisent automatiquement cet effet le chier ~/.signature.
Protocoles Les trois abrviations POP, SMTP et IMAP dsignent diffrents protocoles de transport des
e-mails entre votre ordinateur et le fournisseur de services grant votre courrier :
POP. Pour le transport des e-mails depuis le serveur jusqu votre ordinateur, cest gnra-
lement le protocole POP (Post Ofce Protocol) qui est utilis. Pour que le client de courrier
puisse communiquer avec le prestataire, il a besoin de trois informations : ladresse
du serveur POP, le nom dutilisateur et le mot de passe du compte sur le serveur POP.
IMAP. Le protocole IMAP (Internet Message Access Protocol) constitue une alternative
POP. La diffrence principale avec POP rside dans le fait que les courriers sont gnra-
lement stocks sur le serveur IMAP. Le client de courrier lectronique ne sert alors dans
ce cas qu communiquer avec le serveur. IMAP est une solution optimale lorsque vous
souhaitez pouvoir grer votre courrier depuis diffrents ordinateurs sans pour autant
devoir subir les inconvnients dun systme par webmail. IMAP est principalement uti-
lis dans les grandes entreprises. En revanche, assez peu de prestataires de-mails pro-
posent des services IMAP. En effet, lIMAP impose des exigences assez fortes au niveau
des ressources. Tous les clients prsents dans ce chapitre prennent en charge lIMAP
mais, faute de prestataire proposant ce protocole, je nai pas pu le tester moi-mme.
SMTP. Enn, pour lenvoi des e-mails, cest le protocole SMTP (Simple Mail Transfer Pro-
tocol) qui intervient. Pour communiquer avec le serveur SMTP du prestataire, le client
de courrier na besoin que de ladresse de ce serveur. Cest le prestataire qui dnit si
lauthentication sur ce serveur est obligatoire ou non. Avec certains fournisseurs, une
authentication POP pralablement russie suft pour accder automatiquement au
serveur SMTP. Dautres fournisseurs exigent une authentication SMTP distincte.
Lors de la configuration de votre compte, vous pouvez pour de nombreux clients e-mails configurer le
numro de port associ POP, IMAP et SMTP. Ce nest toutefois que rarement ncessaire car ce sont gn-
ralement les valeurs standard qui sont utilises (POP = 110, IMAP = 143, SMTP = 25). Vous trouverez au
chapitre 29 une explication sur les ports et leur utilisation.
Linux Livre Page 97 Mardi, 23. septembre 2008 1:05 13
LINUX 98
Rouages internes de la gestion des e-mails
Il existe diffrentes manires de grer vos e-mails :
Logiciel autonome local. Cest le cas le plus courant, qui consiste grer vos e-mails sur
votre ordinateur local laide dun client de courrier (MUA) comme Thunderbird. Ce
logiciel soccupe de tous les aspects de la gestion des e-mails, depuis la rception jusqu
lmission en passant par la rdaction ou le stockage. Cest ainsi que fonctionnent les trois
clients prsents dans ce chapitre.
Partage local des tches. Cette seconde variante correspond la mthodologie Unix
usuelle, qui consiste rpartir des tches individuelles entre diffrents programmes : dans
ce cas, vous utilisez un serveur de-mail local (MTA) pour lenvoi des courriers, fetchmail
pour la rcupration de nouveaux e-mails sur le serveur POP de votre fournisseur et,
enn, un client de courrier de votre choix qui fait appel ces deux autres outils.
Cette conception tait autrefois trs rpandue sous Unix/Linux mais elle se fait mainte-
nant de plus en plus rare cause du surcrot de travail de conguration quelle occa-
sionne. Elle est toutefois obligatoire lorsque vous utilisez des clients de courrier en
mode texte. Ces programmes ne sont en effet pas en mesure de rcuprer ou denvoyer
des e-mails par eux-mmes.
Webmail. Une dernire alternative consiste aussi utiliser lun des nombreux systmes
de webmail votre disposition (par exemple Yahoo!, Gmail, etc.). Pour cela, vous avez
besoin non pas dun logiciel ddi au traitement du courrier mais uniquement dun
navigateur web. Dans ce cas, ce chapitre ne vous est daucune utilit.
Courrier local
Traditionnellement, Unix et Linux utilisent les e-mails comme un moyen de communication
locale. De nombreux services rseau consignent ainsi les erreurs survenues non seulement
dans un chier journal mais galement par envoi de-mails lutilisateur root. Du fait que de
nombreux utilisateurs de Linux ne remarquent jamais lexistence de tels e-mails, le courrier
local devient de plus en plus pass de mode. De nombreuses distributions utilisent toutefois
encore ce systme pour mettre divers avertissements (par exemple Red Hat et Fedora). Pour
tre en mesure de lire ces e-mails, vous devez connatre le mcanisme qui les sous-tend.
Lmission de courrier local intervient entirement indpendamment de votre client de courrier
et fonctionne uniquement parce que, sur de nombreuses distributions Linux, un logiciel
denvoi de-mails (ou, a minima, dmission locale) tel que sendmail est install par dfaut.
Inbox "mission locale" signie que le courrier est ajout la n du chier /var/spool/mail/
nom_d_utilisateur. Ce chier, au format mbox, contient pour chaque utilisateur tous les nou-
veaux courriers (cest--dire tous ceux qui nont pas encore t consults). On dsigne donc
plus simplement ce chier par lappellation Inbox. Par ailleurs, le logiciel fetchmail mentionn
ci-dessus ajoute cet Inbox les courriers rcuprs depuis un serveur POP externe.
Lire des
courriers
locaux
Le risque que vous ne soyez jamais amen voir ces e-mails est grand, et ce pour deux rai-
sons : tout dabord, la majorit des clients de courrier graphiques ignorent /var/spool/
mail/nom_d_utilisateur ; par ailleurs, les e-mails systme sont majoritairement adresss
lutilisateur root, tandis que vous travaillez gnralement en tant quutilisateur normal.
Linux Livre Page 98 Mardi, 23. septembre 2008 1:05 13
99 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
La solution au premier problme consiste utiliser, pour lire le courrier local, un pro-
gramme qui prend en considration /var/spool/mail/nom_d_utilisateur. Cest le cas, entre
autres, de tous les logiciels de courrier en mode texte (par exemple cone, mail, mutt et pine).
Pour contourner le second obstacle, vous avez le choix entre deux mthodes : soit vous vous
identiez en tant quutilisateur root (su -l ou sudo -s) avant de lancer un logiciel de cour-
rier en mode texte, soit vous ajoutez au chier /etc/aliases une ligne redirigeant tous les
e-mails adresss root vers votre propre bote aux lettres locale.
mutt Pour lire les e-mails locaux, vous disposez du client en mode texte mutt, install par dfaut
sur Red Hat et Fedora et disponible pour lensemble des autres distributions. Dans une
console, commencez par excuter la commande su -l pour vous identier en tant quutili-
sateur root, puis lancez le programme avec la commande mutt. Les titres de tous les e-mails
apparaissent alors sur la page principale : laide des ches du clavier, vous pouvez vous
dplacer dans la bote aux lettres. La touche Entre afche le texte complet de le-mail slec-
tionn. La touche Espace vous permet de parcourir le contenu du courrier. La touche J vous
permet de passer le-mail suivant, tandis que la touche I vous ramne la bote aux lettres.
La touche ? afche un texte daide prsentant les principaux raccourcis clavier. La touche Q
permet de quitter le programme.
/etc/aliases Il est naturellement bien plus lgant de rediriger tous les e-mails adresss lutilisateur
root vers la bote aux lettres de lutilisateur normalement responsable de ladministration
de la machine. Lorsque sendmail est install comme MTA, il vous suft pour cela dajouter
la n du chier /etc/aliases une ligne construite sur le modle suivant. lavenir, lutili-
sateur kofler recevra tous les e-mails adresss root.
# la fin de /etc/aliases
...
root: kofler
Cette modication prendra effet seulement aprs que vous aurez excut la commande
newaliases. Pour lire les e-mails, vous pouvez maintenant vous passer de la commande su
-l ; vous devrez en revanche toujours faire appel un programme capable de lire la bote
aux lettres locale. Outre les outils en mode texte tels que mutt, Evolution et Kontact entrent
galement dans cette catgorie (cela ncessite toutefois de congurer un compte suppl-
mentaire en consquence). Malheureusement, ce nest plus le cas de Thunderbird depuis sa
version 2.
Formats de botes aux lettres et conversion
Format mbox Tous les logiciels de courrier offrent la possibilit denregistrer les courriers que vous avez
reus et envoys dans des rpertoires de votre ordinateur. Cest ici quintervient frquem-
ment le format mbox : tous les e-mails dun rpertoire (dossier) sont simplement concatns
dans un chier unique qui peut devenir trs volumineux. Les lignes commenant par From
marquent la sparation entre deux e-mails.
Linux Livre Page 99 Mardi, 23. septembre 2008 1:05 13
LINUX 100
Si vous avez install le programme mutt, vous pourrez obtenir avec la commande man mbox
davantage dinformations sur ce format. Il est galement document sur Internet, par exemple
la page : http://www.qmail.org/qmail-manual-html/man5/mbox.html
La plupart des clients e-mails gnrent, outre les chiers mbox, des chiers supplmentaires
de gestion indexant les chiers de botes aux lettres. Ces chiers permettent un accs plus
rapide aux e-mails individuels, mais ils sont incompatibles dun client lautre.
La prise en charge (quand elle existe) des hirarchies de rpertoires de courrier et sa mise en
uvre dpendent galement du client de courrier. Il nexiste pas de standard commun sur
ce point.
Le format mbox facilite le passage dun client e-mails un autre. En rgle gnrale, il vous
suft pour cela de copier les chiers mbox (sans les chiers de gestion) dans le rpertoire o
le nouveau client e-mail sattend les trouver.
Format maildir Outre le format mbox, de nombreux clients e-mails (par exemple Kontact/KMail) prennent
galement en charge le format maildir. Avec ce format, chaque e-mail est enregistr dans un
chier propre. Une bote aux lettres est donc alors constitue de tous les chiers dun mme
rpertoire. Lavantage vident de ce format est quil permet deffacer plus facilement des
courriers individuels.
Autres formats Sous Windows, il nest naturellement pas question de trouver un standard commun pour la
sauvegarde des e-mails. Il existe certes quelques programmes Windows utilisant le format
mbox, mais une majorit dentre eux reposent sur leur propre format denregistrement.
Si vous souhaitez importer vos e-mails depuis un ordinateur Windows vers un systme
Linux, vous devrez les convertir au format mbox. Par chance, plusieurs clients de courrier
disposent doutils daide la conversion justement pour ces cas de gure (cest par exemple
le cas de Thunderbird et de Kontact). En outre, il existe divers programmes de conversion
spcialiss (il vous suft par exemple de rechercher sur Internet les termes mbox conversion
outlook eudora). En rgle gnrale, il est judicieux, avant de lancer une quelconque conver-
sion, de compresser les rpertoires de courrier. Tous les e-mails effacs seront alors effectivement
supprims des chiers de bote aux lettres.
Pour un utilisateur dOutlook Express sous Windows souhaitant passer Thunderbird sous Linux, il faut
passer par une tape intermdiaire et installer tout dabord la version Windows de Thunderbird. De cette
manire, les e-mails peuvent tre imports depuis Outlook Express. Il suffit ensuite de copier le rpertoire de
courrier rsultant vers Linux.
Signature et chiffrement de-mails
Si le courrier lectronique est bien plus rapide que le systme postal usuel, sa scurit est en
revanche beaucoup plus relative : pour toute personne ayant quelques connaissances
techniques, il nest pas difcile dmettre des e-mails en falsiant ladresse de lexpditeur,
de lire ou mme de modier les courriers que vous adressez dautres personnes. Pour cette
raison, vous ne devriez jamais envoyer de donnes personnelles importantes (par exemple
un numro de carte bancaire) dans un e-mail qui nest pas chiffr.
La signature et le chiffrement permettent de scuriser notablement vos communications
lectroniques. Tous les clients de courrier que nous prsentons dans ce livre sont en mesure
Linux Livre Page 100 Mardi, 23. septembre 2008 1:05 13
101 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
de signer et de chiffrer les e-mails et peuvent naturellement aussi grer la rception des
e-mails signs et chiffrs.
Malgr les avantages indniables que reprsentent la signature et le chiffrement des e-mails,
en pratique vous ne rencontrerez que rarement de tels courriers. La perte de confort occa-
sionne, la gestion relativement complexe du chiffrement ainsi que lincompatibilit entre
les deux standards utiliss (PGP et S/MIME) constituent des obstacles notoires au dvelop-
pement de ces pratiques.
Cl Pour la signature et le chiffrement, on utilise une cl. Une cl lectronique est tout simplement
un code numrique trs long.
Cl publique
et cl prive
Pour la signature et le chiffrement des e-mails, on procde de manire dite asymtrique.
Chaque cl est donc constitue de deux parties : dune part la cl prive, qui nest normale-
ment enregistre que sur le disque dur de son propritaire, dautre part la cl publique, qui
est par exemple publie sur Internet. La particularit de ce fonctionnement asymtrique
rside dans le fait quune partie de la cl est utilise pour la signature ou le chiffrement, tandis
que lautre partie de la cl sert contrler la signature ou dchiffrer.
Signer Signer un e-mail signie quune somme de contrle est calcule avant lenvoi du courrier. Cette
somme de contrle est chiffre et, partir de celle-ci, le destinataire peut vrier que le-mail
provient effectivement de lexpditeur annonc et quil na pas t manipul depuis son envoi.
Lorsque vous signez un e-mail, votre client de courrier utilise votre cl prive. Pour le
contrle de la signature, la cl publique est toutefois sufsante. Cela signie que vous seul
pouvez signer vos e-mails (car vous tes lunique propritaire de votre cl prive).
Nimporte qui peut en revanche contrler lauthenticit des e-mails que vous avez signs,
car nimporte qui peut accder votre cl publique sur Internet.
Nimporte qui peut lire les e-mails que vous avez signs, mme si le destinataire de votre
e-mail ne connat pas votre cl publique ou sil utilise un client de courrier sans fonctionna-
lit de signature (par exemple une interface webmail). Dans de tels cas, le code de signature
gure en n du courrier. Ce code nempche pas la lecture du contenu effectif de le-mail.
Un destinataire ne pouvant pas grer les signatures ne peut toutefois vrier que vous tes
bien lauteur de le-mail.
Chiffrement Le chiffrement dun e-mail signie que le courrier est envoy non pas en texte clair mais
sous forme chiffre. Personne ne peut lire le contenu de ce courrier moins de connatre la
cl permettant de le dchiffrer.
Pour le chiffrement, on utilise la cl publique du destinataire du courrier. Par consquent, si
vous souhaitez envoyer un e-mail Alice, vous devez pralablement connatre la cl publi-
que dAlice. Le courrier ainsi chiffr ne peut alors tre dchiffr qu laide de la cl prive
du destinataire. Alice tant le seul dtenteur de cette cl prive, elle est la seule pouvoir le
lire : mme si vous tes lauteur du message, vous ne pouvez plus le lire !
Votre e-mail chiffr ne peut tre lu que par son destinataire, qui possde la partie prive de
la cl dont la partie publique a servi au chiffrement. Lorsque le destinataire perd ou efface
accidentellement sa cl prive ou lorsquil utilise un client de courrier sans fonctionnalits
de chiffrement, il ne voit apparatre quune longue liste de chiffres et de codes. Le courrier
na donc aucun sens.
Linux Livre Page 101 Mardi, 23. septembre 2008 1:05 13
LINUX 102
PGP et S/MIME Il serait bien trop simple de navoir quune seule mthode pour la signature, le chiffrement
et la gestion des cls ! Il existe deux mthodes tablies, aussi sres lune que lautre :
PGP, GPG, OpenPGP. lorigine se trouvait le projet logiciel PGP (Pretty Good Privacy).
PGP tant devenu un produit commercial, la communaut open-source a lanc sa pro-
pre implmentation compatible avec PGP, GPG (GNU Privacy Guard). Enn, OpenPGP
est un standard Internet public correspondant aussi bien PGP qu GPG.
Par dfaut, PGP ne permet de signer ou de chiffrer que le courrier lui-mme. Si vous
souhaitez galement signer ou chiffrer les pices jointes, vous devez utiliser sa variante
PGP/MIME.
Laspect le plus remarquable de PGP, dun point de vue utilisateur, est probablement la
facilit avec laquelle il permet de gnrer soi-mme les cls. Pour cette raison, PGP est
adapt pour lutilisation aussi bien dans de grandes entreprises que dans des PME.
Mme au sein du monde Linux et open-source, PGP domine le march. Gnome aussi bien
que KDE proposent des outils arrivs maturit technique pour la gestion des cls. Malheu-
reusement, de nombreux clients de courrier sous Windows ne prennent pas en charge PGP
ou, pour certains, seulement aprs linstallation de greffons ou dextensions.
S/MIME. S/MIME (Secure Multipurpose Internet Mail Extension) se fonde sur dautres
algorithmes de chiffrement. En guise de cl S/MIME, on doit utiliser ce que lon dsigne
par le terme de certicat X.509.
Des documents signs ou chiffrs par S/MIME ont, vis--vis de certaines organisations
publiques, la mme valeur quun document papier sign. Ceci vaut toutefois unique-
ment lorsque le certicat X.509 utilis a t mis par une autorit de conance autorise
(CA ou Certicate Authority) aprs contrle de donnes didentication personnelles
(par exemple le passeport). De tels certicats sont par consquent trs coteux, du fait
de limportant travail administratif requis, mais ils sont beaucoup plus ables que les
certicats crs manuellement.
S/MIME est trs rpandu dans le monde Windows et il est galement pris en charge par
les trois clients de courrier prsents dans ce chapitre (mme sil est en partie moins bien
gr que PGP). Lobstacle principal pour les utilisateurs privs rside probablement
dans la difcult gnrer sa propre cl S/MIME.
Malheureusement, ces deux modes de fonctionnement sont incompatibles entre eux. Un
courrier chiffr par PGP ne peut tre lu au moyen de S/MIME, et vice versa. Il existe certes
des clients de courrier qui grent les deux mcanismes de chiffrement, mais dans ce cas vous
aurez besoin dune cl diffrente pour chaque mcanisme. De surcrot, un courrier ne peut tre
chiffr que par une seule mthode, pas les deux la fois. Pour faire simple et court : en ltat
actuel, PGP offre tout le ncessaire pour communiquer de faon sre et sans surcot. Lavantage
de S/MIME est la valeur juridique que confre lutilisation des certicats X.509 qualis.
Gestion
des cls
La plupart des clients de courrier peuvent grer eux-mmes les cls ncessaires lenvoi et
la rception de courrier, voire gnrer au besoin une nouvelle cl. Toutefois, comme les
cls peuvent galement servir dans dautres contextes, il est pratique de sparer la gestion
des cls du client de courrier. cet effet, Gnome propose le programme Seahorse, tandis
que KDE propose KGpg et Kleopatra (pour S/MIME).
La tche principale en terme de gestion des cls consiste rassembler les cls publiques de
tous vos interlocuteurs au sein dun "porte-cls". limport dune nouvelle cl, vous devez
Linux Livre Page 102 Mardi, 23. septembre 2008 1:05 13
103 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
la "signer". Cela signie que vous tes convaincu que la cl importe provient effectivement
de la bonne personne. Si vous travaillez avec des cls PGP, vous trouverez tous les chiers de
gestion dans le rpertoire ~/.gnupg.
7.2 Thunderbird
Le client de courrier Thunderbird mane, comme Firefox, du projet Mozilla. Mme sil est
intgr la quasi-totalit des distributions, il nest que rarement install. En effet, aussi bien
Gnome que KDE possdent leur propre programme quils tablissent comme client de cour-
rier par dfaut (voir les deux sections suivantes). Personnellement, je prfre Thunderbird
pour diverses raisons :
Thunderbird est un client de courrier pur. Cela rend son utilisation plus claire.
Le programme est galement disponible pour Windows et convient donc aux utilisateurs
souhaitant grer leur archive de courrier dans un format compatible Windows.
Le ltre antispam fonctionne bien et est facile utiliser.
Cette section prsente la version 2.0 de Thunderbird.
Installation Sur de nombreuses distributions, Thunderbird est partag en plusieurs paquets. Lun deux
contient les fonctionnalits de base, tandis que les autres paquets contiennent les textes des
menus et botes de dialogue dans diffrentes langues. Noubliez donc pas dinstaller aussi le
paquetage francophone ! Dans Gnome et KDE, vous devrez ensuite tablir Thunderbird en tant
que client de courrier par dfaut (voir les chapitres 4 et 5 sur les environnements de bureau).
Configuration dun compte
Au premier lancement de Thunderbird, lassistant de cration de compte apparat automa-
tiquement pour vous aider dans la conguration. Vous pouvez galement lancer lassistant,
au besoin, par le biais des menus ditions > Paramtres des comptes puis du bouton Ajouter
un compte.
Dans lassistant, commencez par choisir le type Compte courrier lectronique et renseignez
votre nom ainsi que votre adresse e-mail. Dans la bote de dialogue suivante, choisissez
entre les protocoles POP et IMAP pour la rcupration du courrier depuis votre bote aux
lettres. Renseignez galement ladresse du serveur POP ou IMAP correspondant (bote
aux lettres pour le courrier entrant) ainsi que le serveur SMTP (courrier sortant).
la bote de dialogue suivante, lassistant sattend recevoir les identiants employer pour la
rcupration des e-mails entrants et pour lenvoi des courriers. Bien souvent, ces deux noms
dutilisateur sont identiques ; il est galement possible quaucun identiant ne soit demand
pour lenvoi des courriers. ce stade, vous ne pouvez pas encore fournir de mot de passe :
Thunderbird vous le demandera la premire tentative de rcupration ou denvoi dun e-mail.
Enn, vous devez donner au compte un nom : cest sous ce nom que le compte apparatra
dans Thunderbird. Le nom facilite lorientation lorsque vous possdez plusieurs comptes de
courrier. Thunderbird afche enn une synthse de la conguration : normalement, aucune
Linux Livre Page 103 Mardi, 23. septembre 2008 1:05 13
LINUX 104
modication supplmentaire nest ncessaire et vous pouvez donc conclure le processus de
conguration par le biais du bouton Terminer.
Au besoin, vous pouvez congurer de nombreuses options supplmentaires par le biais des
menus dition > Paramtres des comptes (voir Figure 7.1). Lors des premiers tests, il est
intressant de proter de loption Paramtres serveur > Laisser les messages sur le serveur :
de cette manire, Thunderbird nefface pas les courriers sur le serveur aprs les avoir rcu-
prs. Si vous souhaitez ultrieurement changer de client de courrier, vous pourrez nouveau
tlcharger ces e-mails.
Fonctionnalits de base
Une fois la conguration termine apparat la fentre de courrier Thunderbird. Lorsque vous
cliquez pour la premire fois sur le bouton Relever ou que vous utilisez la combinaison de tou-
ches Maj+Alt+T pour rcuprer vos nouveaux e-mails, vous devrez fournir le mot de passe de
votre bote aux lettres. Thunderbird enregistre votre mot de passe, aprs un avertissement de
scurit, dans un chier de conguration. Tout comme pour Firefox, il est fortement conseill
de protger les mots de passe par le biais dun mot de passe principal que vous pourrez con-
gurer en passant par les menus dition > Prfrences > Condentialit > Mots de passe.
Lire des
e-mails
Les nouveaux e-mails sont dposs dans le dossier Courrier entrant (voir Figure 7.2). Dun
double-clic sur lun des lments de la liste afche, vous ouvrez une nouvelle fentre pour
consulter le-mail correspondant. Ceci vous permet de lire plus confortablement les e-mails
plus volumineux. Les chiers et images contenus dans les e-mails HTML ne sont pas chargs,
par scurit : au besoin, utilisez le bouton Tlcharger les images.
Figure 7.1
Configuration
dun compte dans
Thunderbird.
Linux Livre Page 104 Mardi, 23. septembre 2008 1:05 13
105 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
Afficher les fils
de discussion
Lorsque plusieurs courriers provenant de la mme discussion (par exemple le courrier dorigine
ainsi que diverses rponses et ractions dautres personnes) gurent dans un mme dossier, il
est possible de les afcher suivant une structure arborescente par le biais des menus Afchage >
Trier par > Discussions groupes. Le ux de courriers est ainsi afch de manire plus synth-
tique (et lon voit donc plus facilement qui a rpondu quel courrier et quelle date).
Pices jointes Souvent, les e-mails contiennent des pices jointes, cest--dire des chiers distincts du cour-
rier proprement parler. Ils sont indiqus dans la liste des e-mails par un petit trombone.
Dans le courrier, vous pouvez ouvrir les pices jointes par un double-clic ou faire appel au
menu contextuel pour enregistrer les chiers localement, les supprimer de le-mail ou
encore les dtacher. "Dtacher" signie ici que le chier est dabord enregistr en local puis
effac du message. Cest donc une solution pratique lorsque vous ne souhaitez conserver
que le texte dun e-mail mais pas les pices jointes, parfois extrmement volumineuses.
Thunderbird sait, grce la conguration MIME, quel programme il doit utiliser pour
ouvrir un chier dun type donn. MIME est lacronyme de Multipurpose Internet Mail Exten-
sions. Thunderbird tient compte des paramtres MIME gnraux de Linux (voir le Chapitre 13
sur ce point) ainsi que des paramtres qui lui sont propres, enregistrs dans le chier
XML ~/.thunderbird/xxxxxxxx.default/mimeTypes.rdf. Il nest toutefois pas possible
dajouter de nouveaux types de donnes Thunderbird. Lorsque celui-ci ne reconnat pas
un type de chier, vous devez enregistrer la pice jointe en tant que chier puis ouvrir celui-
ci par le biais du gestionnaire de chiers de votre environnement de bureau.
Rdiger
un e-mail
Dans la fentre de rdaction dun e-mail, vous trouverez un grand nombre de boutons de
mise en forme et dinsertion dobjets divers. Les menus Insrer et Format proposent encore
davantage de possibilits. Attention, toutefois, un point : les e-mails construits de cette
manire sont envoys au format HTML. De nombreux utilisateurs refusent tout simplement
de tels e-mails ou considrent quils prsentent un risque de scurit. Thunderbird
Figure 7.2
Gestion des e-mails.
Linux Livre Page 105 Mardi, 23. septembre 2008 1:05 13
LINUX 106
demande par consquent lenvoi (Ctrl+Entre) si vous souhaitez envoyer le courrier au
format texte, HTML ou dans les deux formats.
Si vous envisagez de rdiger un e-mail en texte simple uniquement, choisissez Options >
Format > Texte seulement dans la fentre crire ou appuyez sur la touche Maj lorsque vous
cliquez sur le bouton crire ou Rpondre. Si, comme beaucoup dutilisateurs avancs, vous
souhaitez rdiger vos courriers uniquement au format texte simple, vous pouvez dsactiver
entirement les fonctionnalits de rdaction au format HTML : pour cela, ouvrez la bote de
dialogue de conguration dition > Paramtres des comptes > Rdaction et adressage et
dcochez loption Rdiger les messages en HTML.
Au premier envoi de courrier, Thunderbird vous demande de fournir le mot de passe pour
le serveur SMTP devant grer les courriers sortants. Si le serveur sortant de votre socit ou
de votre fournisseur daccs ne ncessite aucune authentication, ouvrez la fentre dition
> Paramtres des comptes > Serveur sortant (SMTP), cliquez sur le bouton Modier pour
ouvrir une bote de dialogue de conguration et dsactivez-y loption Utiliser un nom duti-
lisateur et un mot de passe.
Vous rpondez un e-mail soit avec la combinaison de touches Ctrl+R (rpondre lauteur),
soit avec Ctrl+Maj+R (rpondre tous). Pour rpondre des e-mails au format texte, vous
devrez parfois faire appel au menu dition > Reformater pour reformater le texte et le rendre
plus facile lire.
Rechercher
des e-mails,
dossiers
virtuels
Dans le champ de recherche gurant droite de la barre doutils courrier, vous pouvez saisir un
mot-cl qui sera recherch soit dans ladresse de lexpditeur, soit dans le sujet, soit dans le
contenu du courrier. Thunderbird afche alors uniquement les e-mails rpondant ce critre.
Le menu dition > Chercher > Rechercher... (ou, plus rapidement, Ctrl+F) offre des possibi-
lits de recherche supplmentaires. En particulier, vous pouvez par ce biais effectuer une
recherche simultane dans plusieurs dossiers. Vous pouvez enregistrer vos paramtres de
recherche en tant que "dossiers virtuels" : les dossiers virtuels se prsentent de la mme
faon que les dossiers de courrier habituels, mais ils contiennent des rsultats de recherche.
Vous pouvez par exemple dnir un nouveau dossier virtuel pour les courriers rpondant
au critre "statut nest pas lu". Ce dossier prsentera alors lensemble des e-mails non encore
lus, indpendamment du dossier dans lequel ces courriers sont effectivement enregistrs.
Carnet
dadresses
Dans la fentre de carnet dadresses, vous pouvez grer diffrentes listes dadresses. Par
dfaut, deux listes sont prvues : Adresses personnelles et Adresses collectes. la cration
dun nouveau courrier, Thunderbird enregistre automatiquement ladresse utilise dans les
Adresses personnelles. Si vous ne voulez pas de ce fonctionnement ou si les adresses en
question doivent tre enregistres dans une autre liste, vous trouverez les paramtres cor-
respondants dans la bote de dialogue dition > Prfrences > Rdaction > Adressage. Vous
pouvez galement enregistrer manuellement les adresses e-mail par le menu contextuel.
Pour grer les adresses, ouvrez le carnet dadresses par le biais du menu Outils. Vous pou-
vez alors y rechercher des adresses, exporter et importer des adresses dans diffrents
formats, etc.
Filtre antispam Thunderbird intgre un ltre antispam. Vous pouvez lactiver par le biais de la bote de dia-
logue dition > Prfrences > Condentialit > Indsirables (voir Figure 7.3). Du fait que la
reconnaissance du spam ne fonctionne pas parfaitement au dbut, il est conseill de ne pas
activer immdiatement loption Les dplacer dans le dossier "indsirables". De cette
Linux Livre Page 106 Mardi, 23. septembre 2008 1:05 13
107 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
manire, les e-mails souponns dtre du spam seront conservs dans le dossier "Courrier
entrant" mais seront identis par une icne "spam".
Pour faire progresser la reconnaissance du spam, vous devez passer quelques jours "entra-
ner" votre ltre. Pendant cette priode, pour chaque e-mail que Thunderbird naura pas correc-
tement identi comme spam, cliquez sur le bouton Indsirable. Il est encore plus efcace pour
cela dutiliser le clavier : la touche J permet de classer un e-mail en tant que spam, tandis que la
combinaison Maj+J permet de lever le marquage "indsirable" sur un courrier acceptable.
Le ltrage antispam ne fonctionne que pour les e-mails reus aprs activation du ltre. Pour
traiter les courriers gurant dj dans le dossier courant, passez par le menu Outils > Traquer
les indsirables dans le dossier.
Indpendamment du ltrage antispam, vous pouvez dnir des rgles de ltrage suppl-
mentaires par le biais du menu Outils > Filtres de messages... De cette manire, vous pouvez
automatiquement marquer ou dplacer vers un rpertoire donn tous les e-mails entrants
rpondant un critre donn. Cest une fonctionnalit particulirement pratique pour traiter
automatiquement les e-mails provenant de listes de diffusion.
Extensions et fonctionnalits additionnelles
Modules
compl-
mentaires
Comme Firefox, Thunderbird permet lajout de fonctionnalits additionnelles sous la forme
de modules complmentaires. La bote de dialogue Outils > Modules complmentaires
donne un aperu de tous les modules complmentaires dj installs :
http://addons.mozilla.org/fr/thunderbird
Les extensions de Thunderbird se prsentent, comme celles de Firefox, sous la forme de
chiers XPI. Pour les installer, vous devez tlcharger le chier XPI et lenregistrer dans un
rpertoire local. Utilisez ensuite le bouton Installer de la bote de dialogue Outils > Modules
complmentaires et slectionnez le chier installer. Une installation directe par un clic de
souris dans Firefox nest pas possible, car Firefox nest pas en mesure de distinguer les
Figure 7.3
Configurer le filtre
antispam.
Linux Livre Page 107 Mardi, 23. septembre 2008 1:05 13
LINUX 108
extensions conues pour lui de celles prvues pour Thunderbird. Les extensions ne sont
effectivement utilisables quaprs avoir relanc Thunderbird.
Signer/chiffrer
des e-mails
Les fonctionnalits de chiffrement pour S/MIME sont intgres par dfaut dans Thunder-
bird. Vous trouverez tous les lments de conguration ncessaires dans la bote de dialo-
gue dition > Paramtres des comptes > Scurit. Le bouton Afcher les certicats vous
conduit une bote de dialogue de gestion des certicats X.509, jouant le rle de cls dans le
cadre de S/MIME.
Pour pouvoir lire ou rdiger dans Thunderbird des e-mails chiffrs ou signs par PGP, vous
devez ajouter le module complmentaire Enigmail. Vous trouverez le chier XPI correspon-
dant sur le site web dAdd-ons mentionn ci-dessus. Ce module ncessite toutefois que
gnupg soit pralablement install sur lordinateur. Cest le cas pour la majorit des distribu-
tions. Toutes les fonctionnalits de chiffrement sont alors accessibles depuis le menu
OpenPGP dans la fentre principale ainsi que dans la fentre crire.
Lire/rdiger
des news
Avec Thunderbird, vous pouvez galement lire et rdiger des messages des groupes de
news Usenet. Pour ce faire, congurez un nouveau Compte forums de discussion par le
biais des menus dition > Paramtres des comptes > Ajouter un compte. Vous devrez alors
fournir ladresse dun serveur de news auquel vous avez accs. La plupart des fournisseurs
daccs Internet vous mettent disposition un tel serveur. Vous pourrez ensuite accder ce
compte dans la fentre principale de Thunderbird et vous abonner des groupes de discussion.
Vous pourrez alors lire et rdiger les messages exactement comme des e-mails.
Si vous souhaitez uniquement lire les messages et y effectuer des recherches, il est prfrable dutiliser
pour cela Google. Lavantage de Google est quil vous permet galement daccder des messages
anciens. Sur les serveurs de news, les messages ne sont conservs que quelques semaines, pour des raisons
de place. http://groups.google.com
Icne du
tableau de
bord pour
signaler un
nouvel e-mail
Thunderbird vous informe de larrive dun nouveau courrier par un bip sonore et en fai-
sant apparatre en surimpression quelques informations synthtiques sur le courrier en
question. Les options correspondant cette fonctionnalit se trouvent dans la bote de dialo-
gue dition > Prfrences > Gnral. Personnellement, toutefois, je prfrerais que Thun-
derbird fasse apparatre une petite icne dans le tableau de bord Gnome ou KDE ds quun
nouvel e-mail est disponible. Thunderbird nen est tonnamment pas capable. Il existe
toutefois un module complmentaire assurant cette fonctionnalit :
http://moztraybiff.mozdev.org/
Dictionnaires la rdaction dun e-mail, Thunderbird souligne les mots quil suppose tre errons. Cette
fonctionnalit ainsi que la langue par dfaut sont actives par le biais des menus dition >
Prfrences > Rdaction > Orthographe. Les langues disponibles sont toutefois limites
celles pour lesquelles un dictionnaire a t install. Certaines distributions sont livres avec
les chiers de dictionnaires ncessaires pour les principales langues ou, a minima, mettent
la disposition des utilisateurs les paquetages correspondants. Si ce nest pas le cas de votre
distribution, vous pouvez galement installer manuellement le dictionnaire ncessaire.
Pour ce faire, tlchargez le chier XPI correspondant depuis le site web suivant et installez-
le exactement comme un module complmentaire :
https://addons.mozilla.org/fr/thunderbird/browse/type:3
Linux Livre Page 108 Mardi, 23. septembre 2008 1:05 13
109 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
Importer ou synchroniser des e-mails Windows
Import Si vous aviez jusqu prsent utilis un autre client de courrier lectronique (sous Win-
dows), vous souhaiterez peut-tre importer vos anciens e-mails. La version Linux de Thun-
derbird nest toutefois pas dune grande aide sur ce point : Outils > Importer... ouvre certes
un assistant dimport, mais celui-ci ne prend en charge quun unique format, celui des
anciennes versions de Netscape.
La version Windows de Thunderbird est toutefois bien plus utile. Son assistant dimport est
livr avec les formats de courrier utiliss par Microsoft Outlook, Outlook Express et Eudora.
Une fois les courriers convertis sous Windows, il ne vous reste alors plus qu recopier les e-
mails depuis le rpertoire Windows vers le bon rpertoire Linux. Ces rpertoires peuvent
toutefois tre un peu fastidieux localiser :
Sous Windows, le rpertoire contenant les e-mails Thunderbird correspond au chemin
suivant :
C:\Documents and Settings\nom_d_utilisateur\Application Data\Thunderbird\Pro-
files\Default\xxxxxx.xxx\Mail\Local Folders\
Depuis Linux, vous pourrez en rgle gnrale accder ce rpertoire par le chemin
/media/sdan, o sdan correspond au nom de priphrique de la partition Windows.
Vous devrez remplacer tous les caractres \ par des barres obliques /. Lorsque votre distri-
bution ne monte pas par dfaut les partitions Windows dans votre arborescence de rper-
toires, vous devrez procder manuellement (voir ce sujet le Chapitre 23). xxxxxx.xxx est
un nom de rpertoire gnr par Thunderbird et constitu de caractres alatoires.
Sous Linux, le rpertoire vers lequel copier les chiers possde le chemin suivant :
~/.thunderbird/xxxxxx.xxx.default/Mail/Local Folders/
Les anciennes versions de Thunderbird utilisent encore ~/.mozilla-thunderbird au lieu
de ~/.thunderbird.
Avant de copier les chiers de-mail dun rpertoire vers lautre, noubliez pas de fermer
Thunderbird !
Synchroni-
sation des
e-mails
Si vous travaillez aussi bien sous Windows que sous Linux, vous avez la possibilit de syn-
chroniser le rpertoire de-mails dans son ensemble. Une condition pralable essentielle au
bon fonctionnement de ce systme est davoir install la mme version de Thunderbird sur
les deux systmes dexploitation.
Ce passage sadresse aux utilisateurs de Linux ayant dj une certaine exprience derrire eux et sapplique
Thunderbird 2.0. On ne peut pas encore prdire si et comment une synchronisation des rpertoires de-mails
fonctionnera dans les versions futures de Thunderbird.
Sur mon ordinateur de test, la synchronisation des e-mails fonctionne depuis un peu plus de un an et elle est
galement passe avec succs de la version 1.5 la version 2.0. Cette mthode nest toutefois pas exempte de
problmes. Thunderbird est toujours persuad quil doit rindexer les e-mails de chaque dossier ; il oublie fr-
quemment le dernier ordre de classement dfini ; etc. Une certaine prudence est par ailleurs de rigueur. Une sau-
vegarde rgulire du rpertoire complet, mme sans synchronisation avec Windows, devrait aller de soi. Lorsque
vous ralisez votre sauvegarde, noubliez pas de fermer Thunderbird !
Linux Livre Page 109 Mardi, 23. septembre 2008 1:05 13
LINUX 110
Dans ce qui suit, je pars du principe que vous avez jusqu prsent gr vos e-mails avec
Thunderbird sous Windows. Vous souhaitez maintenant accder aux courriers avec Thun-
derbird sous Linux. Du moment que vous avez accs en criture, depuis Linux, sur votre
partition Windows comprenant les e-mails, vous navez pas besoin de modier quoi que ce
soit dans Windows. Cest le cas si vous utilisez un systme de chiers VFAT sous Windows
ou si vous avez mis en place le pilote ntfs-3g sous Linux (qui vous permet dcrire sur un
systme de chiers NTFS, voir le Chapitre 25 sur ce sujet).
Lancez Thunderbird sous Linux et congurez un nouveau compte pour votre service de
courrier. Avant de tlcharger le moindre e-mail, ouvrez la bote de dialogue dition > Para-
mtres des comptes > Paramtres du serveur et modiez le Rpertoire local. Renseignez-y le
chemin du rpertoire dans lequel sont enregistrs les e-mails sous Windows. Procdez exac-
tement de la mme manire pour le rpertoire du pseudo-compte Dossiers locaux (les "Dos-
siers locaux" dnissent lendroit o sont enregistrs tous les courriers entrants ainsi que
tous les dossiers de courrier que vous avez crs). Et cest ni !
Si vous navez pas accs en criture, depuis Linux, au dossier de-mails de Windows, vous
devrez copier le rpertoire de-mails en question vers un nouveau rpertoire hberg sur
une partition VFAT (opration raliser sous Windows). Ensuite, ouvrez Thunderbird sous
Windows et modiez les paramtres du serveur de manire que Thunderbird lise et enregistre
tous les e-mails depuis ce nouvel emplacement.
Synchroniser
le carnet
dadresses
Pour synchroniser galement le carnet dadresses, fermez Thunderbird sous Linux et
passez dans le rpertoire ~/.thunderbird/xxxxxx.xxx.default. Commencez par y faire
une copie de sauvegarde du chier abook.mab et crez ensuite un lien vers le chier qui-
valent sous Windows (ce qui suppose l encore que vous ayez accs en criture au sys-
tme de chiers Windows). Vous trouverez davantage dastuces sur ce point ladresse
suivante :
http://kb.mozillazine.org/Sharing_address_books
Configuration
dun compte
Lorsque vous accdez plusieurs comptes e-mail depuis Thunderbird, il est particulire-
ment fastidieux de recongurer chaque compte lors dun passage de Windows Linux. Le
module complmentaire Accountex facilite quelque peu cette tche. Vous trouverez
Accountex sur le site web des extensions Thunderbird que nous avons dj mentionnes :
https://addons.mozilla.org/fr/thunderbird
7.3 Evolution
Le logiciel Evolution, dvelopp par la socit Ximian (qui a depuis t intgre la socit
Novell), a t conu comme une alternative Microsoft Outlook. Non seulement Evolution
peut tre utilis pour la lecture et la rdaction de-mails, mais il propose galement des fonc-
tionnalits de gestion des adresses et rendez-vous, la synchronisation de ces donnes avec
un PDA compatible Palm ainsi quavec un serveur Microsoft Exchange, le chiffrement des e-
mails avec PGP ou S/MIME, etc. Evolution runit toutes ces fonctionnalits sous une mme
interface utilisateur : le client de courrier par dfaut de lenvironnement de bureau Gnome.
Il nest donc pas tonnant que son adoption ait connu un fort dveloppement.
Linux Livre Page 110 Mardi, 23. septembre 2008 1:05 13
111 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
Les utilisateurs avancs de Linux restent nanmoins quelque peu sceptiques vis--vis de ce
logiciel. Ceci est en particulier d au fait quEvolution a, par le pass, toujours connu des
problmes de stabilit et de rapidit, ce qui a nui son image.
Configuration dun compte
Au premier lancement dEvolution apparat un assistant de conguration dun compte e-mail.
Cet assistant doit tre parcouru intgralement avant de pouvoir utiliser Evolution.
La conguration commence par la saisie de vos nom et adresse e-mail. la bote de dialogue
suivante, vous fournissez les paramtres du serveur de courrier hbergeant votre bote aux let-
tres : vous indiquez ici le type de serveur (par exemple POP ou IMAP), son adresse ainsi que
votre nom dutilisateur. Cest lors de votre premire tentative de connexion au serveur que le
mot de passe vous sera demand. De nombreux hbergeurs de courrier vous permettent de
transfrer les donnes par le biais dune connexion chiffre par SSL, ce qui en amliore la scu-
rit. Dans la bote de dialogue suivante, vous pouvez congurer diverses options, par exemple
la vrication automatique de nouveaux courriers intervalles rguliers.
ltape suivante, vous congurez le serveur de courrier sortant (SMTP) vers lequel vous
envoyez les e-mails. Vous devez non seulement fournir le nom de cette machine mais gale-
ment congurer les options dauthentication. Dans la plupart des cas, le type dauthentica-
tion choisir est "connexion". Le nom dutilisateur correspond lidentiant de connexion au
serveur SMTP. Le mot de passe vous est demand lorsque vous tentez pour la premire fois
denvoyer un e-mail. De nombreux prestataires de courrier exigent une authentication de
type "POP avant SMTP". Dans ce cas, aucun mot de passe SMTP nest ncessaire.
Enn, vous devez fournir un nom au compte que vous venez de congurer (par dfaut, cest
votre adresse e-mail qui est utilise) et renseigner votre fuseau horaire pour quEvolution
puisse correctement congurer lheure dmission des e-mails.
Si vous souhaitez ultrieurement modier la conguration ou mettre en place des paramtres
supplmentaires, vous accderez par le biais des menus dition > Prfrences > Comptes de
messagerie la bote de dialogue correspondante (voir Figure 7.4).
Signature Lorsque vos courriers doivent systmatiquement se conclure par le mme texte (par exem-
ple "Cordialement, un_nom"), vous pouvez crer une signature dans la bote de dialogue
dition > Prfrences > Prfrences de lditeur > Signatures. Dans la fentre de rdaction
dun e-mail, vous pourrez alors insrer la signature au moyen dun bouton. Evolution nest
toutefois pas en mesure dinsrer automatiquement une signature par dfaut.
Fonctionnalits de base
Lire des
e-mails
Lorsque vous cliquez pour la premire fois sur le bouton Envoyer/Recevoir ou que vous
appuyez sur la touche F9 pour tlcharger les nouveaux e-mails, vous devez fournir le mot
de passe pour votre bote aux lettres.
Linux Livre Page 111 Mardi, 23. septembre 2008 1:05 13
LINUX 112
Les nouveaux e-mails sont rassembls dans le dossier local intitul Bote de rception (voir
Figure 7.5). La liste des courriers apparat dans la partie suprieure de la fentre, tandis que le
texte du courrier slectionn est afch dans la partie infrieure. Dun double-clic sur un lment
de la liste, vous pouvez ouvrir un courrier dans une fentre distincte, ce qui en facilite la lecture.
Lorsque plusieurs courriers provenant de la mme discussion gurent dans un mme dos-
sier, il est possible de les afcher suivant une structure arborescente par le biais des menus
Afchage > Grouper par ls de discussion. Avec cette vue, vous pouvez immdiatement
identier qui a rpondu quel courrier et quelle date.
Envoyer
des e-mails
Vous pouvez rdiger un nouveau courrier avec la combinaison de touches Ctrl+N et
lenvoyer avec Ctrl+Entre. Au premier envoi, Evolution vous demande le mot de passe
Figure 7.4
Configuration dun
compte dans Evolution.
Figure 7.5
Gestion des e-mails
dans Evolution.
Linux Livre Page 112 Mardi, 23. septembre 2008 1:05 13
113 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
daccs au serveur SMTP devant grer lenvoi du courrier. Vous pouvez rpondre des
e-mails dj reus grce la combinaison de touches Ctrl+R (rpondre lauteur) ou
Ctrl+Maj+R (rpondre tous). Ctrl+F vous permet de faire suivre un courrier un autre
destinataire. Le-mail dorigine est alors ajout en tant que pice jointe.
Courriers au
format HTML
Il existe fondamentalement deux types de-mails : les courriers au format texte simple, sans
mise en forme, et les messages HTML avec toutes les possibilits de mise en forme que pro-
pose le HTML (diffrentes tailles, couleurs, etc. de polices). Les courriers au format HTML
ont toutefois, par le pass, conduit des problmes de scurit avec de nombreux logiciels
de courrier (particulirement avec Microsoft Outlook). De nombreux utilisateurs refusent
donc tout simplement de tels e-mails ou considrent quils prsentent un risque de scurit.
Pour des raisons de scurit, Evolution ne charge aucun des chiers (donc aucune image) uti-
liss dans un e-mail au format HTML. Vous pouvez modier ce comportement par le biais de
la bote de dialogue dition > Prfrences > Prfrences du courriel > Courriel HTML.
Par dfaut, vous ne pouvez rdiger dans Evolution que des e-mails au format texte simple.
Pour crire des courriers au format HTML, choisissez Format > HTML dans la fentre de
rdaction. Divers boutons et menus de mise en forme et dinsertion vous permettront alors
dappliquer toutes les modications que vous souhaitez.
Si vous souhaitez rdiger systmatiquement vos e-mails au format HTML, passez par les
menus dition > Prfrences et, dans la bote de dialogue Prfrences de lditeur > Gnral,
cochez loption Formater les messages en HTML.
Rechercher
des e-mails
Evolution prsente, directement sous la barre doutils, un champ permettant deffectuer des
recherches rapides parmi les e-mails. Si vous utilisez rgulirement les mmes critres de
recherche, il peut tre intressant de crer un dossier de recherche (ou "dossier virtuel").
Pour ce faire, passez par dition > Dossiers de recherche ou Recherche > Crer un dossier de
recherche partir dune recherche...
Filtrage
antispam
Evolution utilise automatiquement spamassassin pour lidentication des e-mails indsira-
bles, condition que ce logiciel soit install. Pour appliquer le ltrage antispam sur les cour-
riers existant dj dans un dossier, slectionnez lensemble des e-mails avec Ctrl+A puis
excutez Message > Filtrer le pourriel. Cette opration peut prendre un temps important sur
les dossiers comprenant beaucoup de courriers. Les courriers identis comme spam sont
dplacs dans le dossier Pourriels.
Le ltre antispam est initialement assez prudent pour viter de classer indment comme
pourriel des e-mails qui ne le sont pas. Pour cette raison, il est souvent ncessaire, durant les
premires semaines, dindiquer manuellement pour chaque courrier sil sagit dun spam.
Pour ce faire, slectionnez le-mail en question et cliquez sur le bouton Pourriel ou utilisez la
combinaison de touches Ctrl+J. Le ltre antispam tente de dcouvrir dans le courrier ainsi
marqu un motif qui pourra laider, par la suite, correctement trier les e-mails. Ainsi, le
ltrage antispam samliore continuellement.
loccasion, il arrive malheureusement quun courrier soit indment class comme spam. Vous devez par
consquent jeter un coup dil rgulier au dossier Pourriel afin de vrifier sil sy trouve de tels e-mails.

Linux Livre Page 113 Mardi, 23. septembre 2008 1:05 13
LINUX 114
Pour viter que cette identification errone ne se reproduise, cliquez sur le bouton Non pourriel pour le
courrier concern.
Daprs mon exprience, le filtrage antispam dEvolution fonctionne moins bien que celui de Thunderbird.
Il ne peut rivaliser avec celui de Thunderbird ni en terme de rapidit de traitement ni en vitesse dappren-
tissage.
Filtres Outre le ltrage antispam, Evolution peut, grce des rgles de ltrage, dplacer automati-
quement des e-mails vers certains dossiers ou mme effacer des courriers. Cest pratique
lorsque vous avez un grand nombre de-mails traiter et que vous souhaitez organiser
ceux-ci suivant un motif particulier (par exemple la prsence dun mot donn dans le sujet).
Cest typiquement le cas lorsque vous tes abonn plusieurs listes de diffusion.
La mthode la plus simple pour dnir une nouvelle rgle de ltrage consiste slectionner
le courriel puis excuter Message > Crer une rgle > Filtrer sur la liste de diffusion. Lors-
que Evolution ne parvient pas reconnatre correctement la rgle de ltrage, vous pouvez la
modier ou lui ajouter des critres.
Fonctionnalits supplmentaires
Gestion des
adresses et
contacts
Le carnet dadresses dEvolution est, en ralit, un vritable systme de gestion des contacts
dans lequel vous pouvez enregistrer un grand nombre dinformations en plus du nom et de
ladresse e-mail. Vous pouvez accder au carnet dadresses soit par le biais des menus Af-
chage > Fentre > Contacts, soit plus rapidement par la combinaison de touches Ctrl+F2.
Fichier > Importer > Importer un seul chier vous permet dimporter des chiers de carnet
dadresses au format LDIF (Lightweight Directory Interchange Format). Malheureusement,
cest le seul format pris en charge.
Calendrier et
gestion des
rendez-vous
Le module Calendriers vous permet de grer vos rendez-vous. Les rendez-vous peuvent
tre prsents dans diverses vues : tous les rendez-vous dune journe, dune semaine
ouvre, dune semaine complte ou dun mois. Vous pouvez personnaliser de nombreux
dtails de prsentation (par exemple les horaires de travail habituels ou les couleurs des
polices) par le biais ddition > Prfrences > Calendriers et tches.
Pour crer un nouveau rendez-vous, passez par les menus Fichier > Nouveau > Rendez-
vous ou double-cliquez sur lemplacement correspondant au rendez-vous dans le calen-
drier. Pour les rendez-vous devant se rpter intervalles rguliers (chaque semaine, mois,
anne, etc.), renseignez lintervalle dans la bote de dialogue laide du bouton Rcurrence,
et prcisez au besoin une date de n pour cette rptition.
Liste de tches Evolution compte galement un module de gestion de tches (une sorte de to do-list). Vous pou-
vez afcher les tches soit dans une vue propre, soit comme partie intgrante du calendrier.
Synchroni-
sation avec
un PDA
Pour tout possesseur de PDA, il est naturellement intressant de pouvoir synchroniser ses
donnes avec Evolution. Cette possibilit existe de fait pour les PDA compatibles Palm.
Avant la premire synchronisation, vous devez congurer le priphrique par le biais ddi-
tion > Options de synchronisation. En coulisse, cest le programme gnome-pilot qui est
charg de la conguration et du transfert des donnes. Mon exprience montre toutefois
que la synchronisation ne fonctionne pas de manire trs able, ce qui rend cet outil plus
adapt aux exprimentateurs qu ceux qui souhaitent lutiliser quotidiennement.
Linux Livre Page 114 Mardi, 23. septembre 2008 1:05 13
115 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
7.4 Kontact
Kontact est un programme universel de gestion des e-mails, contacts, rendez-vous, tches,
notications ainsi que pour lafchage de ux RSS. Kontact propose, comme Evolution, une
synchronisation des donnes avec un PDA. De fait, Kontact nest quune interface utilisateur
unie pour diffrents programmes KDE fonctionnant en coulisse.
Cette section se focalise sur le composant e-mail derrire lequel se cache le programme
KMail. Attention au fait que le menu de Kontact change suivant le composant actif ! Les
indications de menu qui suivent ici ne valent que lorsque le composant de courrier est actif.
Si vous ntes intress que par les fonctionnalits de-mail, vous pouvez galement lancer
KMail en tant que programme autonome.
Des trois logiciels de courrier prsents dans ce chapitre, Kontact (et Kmail) est celui dont
lorientation technique est la plus forte. Ce programme prsente dinnombrables fonction-
nalits et permet aux utilisateurs avancs de Linux de travailler trs efcacement. Son utili-
sation nest toutefois pas toujours trs intuitive. Par consquent, ce logiciel nest pas
forcment le plus conseill pour les dbutants sous Linux.
Configuration
dun compte
Conguration > Congurer KMail vous conduit une bote de dialogue de conguration. Par
dfaut, le systme a congur une "identit par dfaut". Le bouton Modier vous permet ici de
congurer vos nom et adresse e-mail effectifs ainsi que, au besoin, dautres options.
La conguration effective du compte a lieu dans le module Comptes. Vous devez y congu-
rer au moins un compte de rception et un compte denvoi. Pour commencer, en gnral,
vous utiliserez le bouton Ajouter pour congurer la bote aux lettres entrante de votre ser-
veur POP ou IMAP. Pour le courrier sortant est prvu le programme sendmail, mais il nest
en rgle gnrale congur que pour lmission de courrier local. Par consquent, vous
devez congurer une bote aux lettres SMTP supplmentaire (voir Figure 7.6), que vous pouvez
slectionner comme bote aux lettres par dfaut.
Ds que vous quittez la bote de dialogue de conguration, Kontact enregistre les mots de
passe dans une base de donnes centrale par le biais de KDEWallet. Par consquent, vous
devez fournir le mot de passe matre pour KDEWallet (voir Chapitre 5).
Figure 7.6
Configuration dun
compte dans Kontact.
Linux Livre Page 115 Mardi, 23. septembre 2008 1:05 13
LINUX 116
Lire des
e-mails
Les nouveaux e-mails sont rassembls dans le dossier Bote de rception. La liste des cour-
riers apparat dans la partie suprieure de la fentre, tandis que le contenu de le-mail slec-
tionn est afch dans la partie infrieure. Au besoin, vous pouvez ouvrir un courrier dans
une fentre spare en double-cliquant dessus dans la liste.
Les e-mails HTML ont, par le pass, conduit des problmes de scurit avec de nombreux
clients de courrier. Par consquent, pour de tels e-mails, KMail ne prsente par dfaut
quune version texte ou le code source HTML. Si vous souhaitez consulter le-mail avec sa
mise en forme HTML complte, vous devez cliquer sur le lien correspondant.
Si vous souhaitez afcher systmatiquement les e-mails HTML en tant que tels, passez par
Dossier > Prfrer le HTML au texte brut. Ce paramtrage ne vaut toutefois que pour le dossier
en cours.
KMail prsente ct de chaque message une barre verticale qui, suivant le type de-mail,
indique "Message HTML" ou "Message non HTML". Si cette barre vous drange, vous pou-
vez la dsactiver par le biais de la bote de dialogue Conguration > Congurer KMail >
Apparence > Fentre des messages (dcochez loption Afcher la barre dtat pour les mes-
sages HTML). La partie infrieure de la zone dafchage du courrier indique les parties
constitutives de le-mail. Si ces informations ne vous intressent pas, choisissez loption Ne
jamais afcher pour llment Conguration > Congurer KMail > Apparence > Disposition
> Afchage de la structure du message.
Rdiger un
e-mail
Un nouvel e-mail est, par dfaut, rdig en texte brut. Si vous souhaitez appliquer une mise
en forme HTML, passez par Options > Formatage (HTML). Une fois le courrier rdig, vous
pouvez lenvoyer avec la combinaison de touches Ctrl+Entre.
Pour rpondre un courrier, vous pouvez utiliser les touches R (rpondre lauteur) et A
(rpondre tous). Le texte complet de le-mail est automatiquement insr en citation dans
Figure 7.7
Grer les e-mails
avec Kontact.
Linux Livre Page 116 Mardi, 23. septembre 2008 1:05 13
117 E-MAIL (THUNDERBIRD, EVOLUTION, KONTACT)
la rponse (chaque ligne est donc prcde du caractre >). Si vous ne souhaitez rappeler
dans votre rponse quune partie du message dorigine, slectionnez la partie correspon-
dante dans le-mail avant de faire appel une commande Rpondre.
KMail excute automatiquement une vrication orthographique et colore tous les mots
non reconnus en rouge. Afchage > Dictionnaire vous permet de choisir le dictionnaire
appropri parmi plusieurs (anglais, franais, etc.).
Spam KMail nintgre aucun outil didentication du spam mais peut dlguer cette tche
dautres programmes. Un assistant auquel vous pouvez accder par Outils > Assistant de
gestion des messages non sollicits vous aide congurer un ltre antispam. Vous navez
qu choisir un des programmes de gestion du spam install sur votre ordinateur et lassis-
tant gre tout le reste. Les courriers identis comme indsirables seront ds lors envoys
directement vers la Corbeille. Comme avec les autres logiciels de courrier, lefcacit du l-
trage augmente lorsque vous corrigez les erreurs didentication en marquant manuellement
un courrier comme indsirable ou non.
Linux Livre Page 117 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 118 Mardi, 23. septembre 2008 1:05 13
8
OpenOffice
OpenOfce est le plus puissant et le plus populaire de tous les paquetages bureautiques
libres disponibles sous Linux. Ses principaux avantages sont les suivants :
Une grande compatibilit avec Microsoft Ofce jusqu sa version 2003 ; cela concerne
aussi bien lutilisation de la suite que limport et lexport de chiers.
Une prise en charge des systmes dexploitation Linux, Windows, Mac OS et Sun Solaris ;
cela permet ainsi dchanger sans difcult des documents dans des environnements
htrognes ; il nexiste pas encore de version OpenOfce ofcielle pour Mac OS, mais
les utilisateurs de Mac peuvent toutefois installer le portage gratuit NeoOfce.
Des fonctionnalits trs larges, y compris pour des tches avances (par exemple la
rdaction dune thse).
Sa stabilit, sa sret et sa maturit.
Ce chapitre dcrit tout dabord quelques particularits dOpenOfce 2n, puis prsentera
rapidement chacun des composants Writer, Calc, Impress et Base. De faon gnrale, je pars
dans ce chapitre du principe que vous matrisez les fonctionnalits de base dOfce. La
place manque ici pour expliquer comment passer le texte en gras ou comment fonctionnent
les formules dans un tableur. Nous ne pouvons que vous conseiller de vous procurer un
livre entirement ddi OpenOfce ou StarOfce, ce que vous pourrez trouver dans
nimporte quelle librairie.
OpenOfce est disponible pour la quasi-totalit des distributions et peut tre install sim-
plement laide du gestionnaire de paquetages. Si ce nest pas le cas ou si vous souhaitez
installer une version plus rcente, vous devrez rcuprer les chiers dinstallation depuis le
site ofciel : http://www.openofce.org
OpenOfce nest en aucun cas lunique paquetage bureautique pour Linux. Les principales
alternatives seront rapidement prsentes dans la dernire section de ce chapitre.
8.1 Introduction
Avant de prsenter chacun des composants OpenOfce dans les sections suivantes de ce
chapitre, nous donnons ici quelques informations gnrales sur le paquetage OpenOfce.
Java Quelques fonctionnalits dOpenOfce requirent la prsence de Java. Pour cette raison,
vous devez installer avant OpenOfce une version rcente de Java. De nombreuses distribu-
tions proposent par dfaut des paquetages Java. Si ce nest pas le cas de la vtre, vous pou-
vez tlcharger gratuitement la dernire version de lenvironnement dexcution Java de
Sun (J2SE JRE) depuis le site web suivant : http://java.sun.com/j2se/downloads.html
OpenOfce reconnat automatiquement lenvironnement Java disponible lors de linstallation.
Si vous mettez en place Java aprs avoir install OpenOfce, vous devrez paramtrer Java
manuellement par le biais de la bote de dialogue Outils > Options > OpenOfce > Java.
Linux Livre Page 119 Mardi, 23. septembre 2008 1:05 13
LINUX 120
Lancement du
programme
Si vous travaillez sous KDE ou Gnome, le menu de dmarrage correspondant devrait com-
prendre les icnes OpenOfce ds linstallation termine. Si ces icnes manquent, vous pouvez
naturellement aussi lancer les composants dOpenOfce par la ligne de commande :
ooffice, oowriter, oocalc, ooimpress, oobase
Les noms des commandes varient sur certaines distributions. Quoi quil en soit, chacune de
ces commandes lance un seul et mme programme qui contient lensemble des composants
de traitement de texte, tableur, prsentation, etc. Pour cette raison, le lancement initial peut
sembler un peu long. Si vous avez ouvert plusieurs composants OpenOfce simultanment,
il ny a en ralit quun seul programme qui sexcute en coulisse. Vous navez donc pas
besoin de vous inquiter : chacune des fentres OpenOfce ouvertes ne requiert pas une
quantit de RAM abusive.
Formats de
fichiers
OpenOffice
Avec OpenOfce, vous pouvez ouvrir et enregistrer vos documents dans plusieurs formats
de chiers diffrents. Les trois formats principaux sont les suivants :
Format OpenDocument ou OASIS (*.odt pour les chiers de texte, *.ods pour les
feuilles de calcul, *.odp pour les prsentations). Ce format a t introduit avec Open-
Ofce 2.0. Cest le format par dfaut et qui devrait tre utilis autant que possible. Il faut
toutefois veiller, lors de lchange de documents, ce que le destinataire du chier dis-
pose au moins dOpenOfce 1.1.5 ou de StarOfce 9 sil doit travailler sur ces chiers.
OASIS est lacronyme dOrganization for the Advancement of Structured Information
Standards.
Format OpenOfce 1.n (*.sxw, *.sxc, *.sxi). Ce format tait le format par dfaut pour
OpenOfce 1.0 et 1.1, ainsi que pour StarOfce 7 et 8.
Format Microsoft Ofce (*.doc, *.xls, *.ppt). Ce format est adapt pour lchange de
chiers avec des utilisateurs de Microsoft Ofce.
Depuis sa version 2.3, OpenOfce peut galement ouvrir des chiers Ofce 2007 (for-
mat OpenXML, *.docx, *.xlsx, *.pptx) mais non enregistrer dans ce format. Si vous
souhaitez ou devez rester compatible avec le monde Microsoft, utilisez simplement
pour enregistrer vos documents le format Ofce pass.
La section suivante prsentera quelques remarques supplmentaires sur la compatibilit
avec MS-Ofce.
Vous devriez autant que possible utiliser le format OpenDocument. Cest le seul format qui
permet de garantir labsence de changements louverture ou lenregistrement. Si vous
choisissez denregistrer votre document sous un autre format, une demande de conrmation
de scurit apparat automatiquement.
Intgration
lenviron-
nement de
bureau
Par dfaut, OpenOfce utilise ses propres botes de dialogue pour le chargement et lenre-
gistrement de chiers. Pour faire en sorte quOpenOfce utilise plutt les lments de dialo-
gue standard de votre environnement de bureau et quil sintgre ainsi plus
harmonieusement KDE ou Gnome, vous pouvez dsactiver loption Utiliser les botes de
dialogue OpenOfce.org dans la fentre de conguration Outils > Options > OpenOfce >
Gnral. Cette option nest toutefois disponible que si OpenOfce peut effectivement utiliser
les botes de dialogue de lenvironnement de bureau courant.
Dossiers
rseau
Windows
Les versions rcentes dOpenOfce vous permettent de travailler directement sur des
chiers provenant de rpertoires rseau Windows et Samba (vous pouvez donc les ouvrir
Linux Livre Page 120 Mardi, 23. septembre 2008 1:05 13
121 OPENOFFICE
par double-clic dans votre gestionnaire de chiers et enregistrer ultrieurement les modi-
cations apportes).
Ceci ne fonctionne toutefois pas sur les anciennes versions dOpenOfce. Pour modier des
documents Ofce hbergs sur un rseau Windows, vous avez deux possibilits :
copier pralablement le chier vers un rpertoire local, utiliser cette copie pour la modi-
er puis recopier le chier rsultant dans le rpertoire rseau laide du gestionnaire de
chiers ;
monter le rpertoire rseau Windows dans le systme de chiers Linux laide de mount
(voir Chapitre 23) ; ceci ncessite toutefois de possder les droits root.
OpenOffice face Microsoft Office
OpenOfce peut-il totalement se substituer MS-Ofce ou non ? Cette question appelle en
fait plusieurs rponses. Pour lutilisateur de base, OpenOfce propose certainement plus
quassez de fonctionnalits. Mme la migration depuis Microsoft Ofce, jusqu sa ver-
sion 2003, ne devrait pas poser de problme : les menus sont structurs de manire trs sem-
blable. Si, toutefois, vous appartenez au groupe des utilisateurs avancs, vous devrez tre
conscient de certaines limitations :
MS-Ofce 2007. OpenOfce prsente une compatibilit trs leve avec les anciennes
versions de Microsoft Ofce. Cela ne vaut toutefois pas pour MS-Ofce 2007.
Jai par ailleurs dj mentionn que le nouveau format de chier OpenXML nest pas
encore pris en charge. Novell travaille des convertisseurs OpenXML qui seront proba-
blement intgrs ofciellement OpenOfce lavenir.
Import/Export. Les fonctionnalits dimport et dexport pour les formats Microsoft
Ofce (*.doc, *.xls, *.ppt) sont plutt bonnes mais ne sufsent pas pour garantir
labsence totale de problme lchange de documents. Lorsque deux personnes tra-
vaillent alternativement sur un texte ou une feuille de calcul avec MS-Ofce et OpenOf-
ce, quelques surprises peu agrables sont prvoir : problmes de mise en forme,
prsentation errone des caractres spciaux cause des polices, sauts de pages et de
colonnes manquants, gestion errone des lignes den-tte et de pied de page, prsenta-
tion incorrecte des diagrammes, couleurs errones, liaisons manquantes vers des chiers
externes (images), etc.
OpenOfce nest pas capable douvrir des chiers MS-Ofce protgs par un mot de
passe. Vous devrez pralablement ouvrir de tels chiers dans MS-Ofce puis les y enre-
gistrer, cette fois sans protection.
Rapidit. Certaines fonctionnalits OpenOfce sont notoirement plus lentes que leurs
homologues MS-Ofce. Cest en particulier le cas de louverture et de lenregistrement
de documents volumineux. De surcrot, MS-Ofce peut pendant ce temps excuter en
tche de fond diverses oprations consommatrices de temps, tandis quOpenOfce est
totalement bloqu.
Linux Livre Page 121 Mardi, 23. septembre 2008 1:05 13
LINUX 122
Raccourcis clavier. De nombreux raccourcis clavier possdent une signication diff-
rente dans OpenOfce et MS-Ofce. Il est nanmoins toujours possible de modier les
raccourcis existants et de dnir des raccourcis personnaliss.
Access et Base. Le composant de base de donnes dOpenOfce Base nest pas compa-
rable Access. Vous pouvez certes utiliser Base pour accder des bases de donnes
externes ou crer vos propres bases, mais le spectre de fonctionnalits dAccess nest
que trs partiellement couvert par Base.
Programmation/VBA. OpenOfce utilise un langage de programmation de macros
relativement mal document et, par consquent, employ presque uniquement par les
utilisateurs avancs dOpenOfce.
VBA, langage de programmation de macros intgr Microsoft Ofce, nest ofcielle-
ment pas pris en charge. Toutefois, il existe une extension dveloppe par la socit
Novell spcialement pour OpenOfce Calc qui permet dexcuter des macros VBA sim-
ples. Daprs mon exprience, la compatibilit dOpenOfce 2.2 avec Microsoft Excel est
encore malheureusement trs insufsante. Lexcution de macros VBA occasionne des
erreurs, voire des plantages.
Cette liste ne devrait toutefois pas vous empcher de migrer vers OpenOfce, dautant plus
que celui-ci propose dautres fonctionnalits absentes de MS-Ofce. titre personnel, juti-
lise depuis plusieurs annes dj OpenOfce pour mes documents personnels. Si je signale
ici les problmes potentiels, cest avant tout pour viter les dceptions face ce produit.
8.2 Traitement de texte (OpenOffice Writer)
Writer est le composant OpenOfce essentiel pour la majorit des utilisateurs. Toutefois, la
place nous manque ici pour dcrire en profondeur lensemble de ses fonctionnalits. Nous
devrons donc nous contenter ici de donner les grandes lignes de son fonctionnement, sans
nous attarder sur des considrations de base (comment passer le texte en gras ou en italique)
que vous matrisez dj.
Styles Comme de nombreux autres logiciels de traitement de texte, OpenOfce gre ce que lon
appelle les styles, qui permettent de mettre en forme de manire cohrente sur lensemble
dun document des caractres, paragraphes, etc. Modier un style impactera lapparence du
document dans son ensemble car tous les lments mis en forme avec ce style changeront
dallure. Lutilisation des styles prsente de trs nombreux avantages par rapport la mise
en forme manuelle (prsentation unie dun document et cohrence entre documents utili-
sant les mmes styles, facilit pour modier un style sur lensemble dun document).
Lutilisation des styles est particulirement recommande pour la cration dun document
volumineux.
OpenOfce propose un outil dnomm Styles et mise en forme pour la gestion des styles (voir
Figure 8.1). Il sagit dune fentre complmentaire que vous pouvez ouvrir ou fermer laide
de la touche F11. Vous pouvez galement lamarrer la fentre principale en le faisant glisser
avec la souris. Les styles sappliquent plusieurs niveaux : paragraphes, caractres, cadres,
pages et listes, chacun de ces niveaux correspondant un onglet distinct dans Styles et mise en
forme.
Linux Livre Page 122 Mardi, 23. septembre 2008 1:05 13
123 OPENOFFICE
Pour appliquer un style un lment de texte donn, slectionnez le texte puis double-
cliquez, dans Styles et mise en forme, sur le style choisi. Vous pouvez aussi modier un style
par le biais du menu contextuel, dun clic droit sur son intitul dans Styles et mise en forme.
Vous pouvez enn dnir vos propres styles en slectionnant llment de texte dont la mise
en forme doit tre enregistre, puis en cliquant dans Styles et mise en forme sur le bouton
Nouveau style partir de la slection. Attention, toutefois, au fait que les modications
apportes aux styles ne peuvent tre annules (contrairement beaucoup dautres oprations)
par le biais des touches Ctrl+Z. Vous devez donc les enregistrer rgulirement.
Tabulations et
tableaux
OpenOfce prvoit par dfaut des intervalles de 1,25 cm pour les tabulations. Vous pouvez
toutefois modier ce comportement par le biais de longlet Tabulations dans la bote de dia-
logue Format > Paragraphe. La touche Tab insre une tabulation dans la ligne en cours, ce
qui suft pour les tableaux trs simples.
Pour les tableaux plus complexes, vous devrez utiliser le menu Insertion > Tableau. Vous
pouvez modier diverses proprits du tableau par le biais du menu Proprits du tableau
(dans la fentre de gestion des tableaux ou dans le menu contextuel).
Pour insrer des cellules depuis Calc dans Writer, copiez les cellules concernes dans Calc
laide des touches Ctrl+C. Pour les insrer dans Writer en tant que tableau, utilisez le menu
dition > Collage spcial puis Texte non format. Les donnes apparaissent alors sous forme
de texte tabul, que vous pouvez transformer en tableau par le biais de Tableau > Convertir
> Texte en tableau (en choisissant, dans la bote de dialogue de conversion, la tabulation
comme caractre sparateur). Si vous cherchez insrer directement les cellules dans Writer,
Figure 8.1
La fentre OpenOffice
standard avec Styles et
mise en forme.
Linux Livre Page 123 Mardi, 23. septembre 2008 1:05 13
LINUX 124
vous produirez non pas un tableau classique mais un objet OLE dont les donnes sont lies
au chier dorigine : ce type de liaison nest que rarement utilis.
Titres
numrots
Si votre document est structur en chapitres et sections, les titres doivent tre mis en forme
laide des styles Titre 1 Titre 10 (ce qui facilite par ailleurs la gnration dune table des
matires). Ces titres ne comprennent toutefois pas de numrotation : pour insrer des num-
ros, utilisez le menu Outils > Numrotation des chapitres. La bote de dialogue qui apparat
vous permet de congurer la numrotation pour chacun des niveaux envisags.
Vrification
orthogra-
phique
OpenOfce nintgre pas directement de dictionnaire pour la vrication orthographique. Il
existe toutefois de nombreux dictionnaires disponibles sur Internet (voire livrs avec votre
distribution) que vous pouvez installer. Le menu Fichier > Assistants > Installer de nouveaux
dictionnaires peut galement vous aider dans cette tche.
Veillez congurer correctement la langue du texte pour assurer un bon fonctionnement de
la vrication orthographique. La langue standard est congure par le biais dOutils >
Options > Paramtres linguistiques > Langue. Pour les textes multilingues, Format > Carac-
tres permet de dnir la langue avec une granularit plus ne.
Coupure
des mots
OpenOfce permet de couper les mots soit manuellement, soit automatiquement. Pour lan-
cer la coupure manuelle, passez par le menu Outils > Langue > Coupure des mots. OpenOf-
ce ajoute alors les tirets soit lensemble du texte situ aprs le curseur, soit sur une partie
du texte pralablement slectionne (vous pouvez aussi utiliser les touches Ctrl+"moins"
pour insrer une coupure manuelle). Chaque coupure doit tre conrme mais vous pouvez
dsactiver ce fonctionnement dans Outils > Options > Paramtres linguistiques > Linguistique.
La coupure automatique est nettement plus pratique utiliser. Toutefois, seuls les paragraphes
pour lesquels loption de coupure automatique (Format > Paragraphe > Enchanements) a
t active seront traits par ce biais.
Insrer
des images
Pour insrer une image dans un document, utilisez les menus Insertion > Image > partir
dun chier. Dans la bote de dialogue de slection du chier, vous pouvez basculer entre
deux modes diffrents grce la discrte option Lien :
Insrer limage dans le texte. Lorsque Lien nest pas coche, le chier graphique est
intgr au chier OpenOfce lenregistrement. Cela signie que la taille du chier
augmente avec le volume de chaque image et le nombre total de celles-ci. La transmis-
sion de tels documents ne pose toutefois aucun problme puisque toutes les images sont
intgres au chier.
Insrer un lien vers le chier. Lorsque Lien est coche, OpenOfce nenregistre effective-
ment dans le chier que le chemin vers limage. Cette mthode est recommande pour les
documents comprenant beaucoup dimages. Attention, toutefois, au fait quelle ncessite
de ractualiser tous les liens si lemplacement du document ou des images change.
Champs Les champs sont des formules ou des variables qui peuvent tre insres dans le texte.
limpression, cest la valeur correspondante qui apparat dans le texte. Les champs vous
permettent de numroter automatiquement des gures, dafcher automatiquement la date
dimpression en en-tte, de crer des sries de lettres standard avec quelques lments person-
naliss, etc.
Vous pouvez utiliser Insertion > Champ pour quelques-uns des champs les plus couram-
ment utiliss (numros de page, date, etc.). Pour disposer dautres champs, passez par le
sous-menu Autres (Ctrl+F2). OpenOfce peut afcher le nom ou la valeur des champs :
Linux Livre Page 124 Mardi, 23. septembre 2008 1:05 13
125 OPENOFFICE
pour basculer dun mode lautre, utilisez les menus Afchage > Noms de champs ou, plus
rapidement, la combinaison de touches Ctrl+F9 (si vous ne travaillez pas sous KDE).
Table des
matires
Lorsque vous souhaitez ajouter une table des matires votre document, utilisez les styles
de titres Titre 1 Titre 10. De cette manire, vous pouvez construire la table des matires
avec un minimum de travail : il vous suft alors de passer par les menus Insertion > Index >
Index puis de slectionner le type Table des matires. Prcisez que la table des matires doit
tre fonde sur la structure et, au besoin, limitez le nombre de niveaux (trois est un bon
choix, quatre, un maximum) pour garder la lisibilit de la table. Longlet Entres vous per-
met de dnir plus prcisment la mise en forme de chaque ligne. Pour mettre jour la table
des matires aprs avoir modi le document, effectuez un clic droit dessus et, dans le menu
contextuel, slectionnez Actualiser lindex.
Index lexical La premire tape de la cration dun index consiste dnir les mots indexer. Le plus
simple est pour cela de slectionner les mots concerns, puis de passer par les menus Inser-
tion > Index > Entre. Une bote de dialogue souvre alors avec, dans le champ Entre, le
texte slectionn. Cliquez sur Insrer pour conrmer la nouvelle entre. Pour dnir
dautres entres, gardez cette bote de dialogue ouverte et marquez les mots mesure que
vous avancez : ds que vous revenez la bote de dialogue, le champ Entre contient le mot
que vous venez de slectionner. Si vous souhaitez modier lintitul exact de lentre, saisissez
le nouveau texte dans le champ.
Les mots pour lesquels une entre dindex a t dnie apparaissent dsormais en gris. Le
texte de lentre apparat lorsque vous passez la souris sur le surlignement gris. Une fois
que toutes les entres sont dnies, la cration de lindex effectif est alors trs simple : pas-
sez par les menus Insertion > Index > Index et choisissez dans la bote de dialogue le type
Index lexical. Et cest termin ! Comme pour la table des matires, vous pouvez modier ou
actualiser lindex par le biais du menu contextuel.
Impression Limpression par Fichier > Imprimer (Ctrl+P) ne pose en gnral pas de problme. La bote
de dialogue vous permet au besoin de prciser quelles pages imprimer ou quelle imprimante
utiliser, et le bouton Options vous donne accs plus de possibilits.
Pour imprimer au format paysage, vous devez passer par le format de page : Format > Page
> Page pour activer loption Orientation paysage. Attention au fait quun tel paramtre est
prvu dans la bote de dialogue dimpression, mais quil est gnralement ignor !
Export PDF Depuis la version 1.1, OpenOfce permet dexporter des chiers directement au format PDF
grce Fichier > Exporter au format PDF. Toutes les polices (sauf les polices standard PostS-
cript) sont insres directement dans le chier PDF : plus vous utilisez de polices, plus le
document devient donc volumineux. Il nest pas possible de congurer les paramtres de
lexport PDF.
Gestion des
polices
Depuis sa version 2.0, OpenOfce est en mesure dutiliser sans conguration particulire
lensemble des polices disponibles sur votre ordinateur. Pour les polices PostScript, il existe
toutefois une limitation : OpenOfce ne peut les utiliser correctement que si les chiers de
mtrique *.afm des polices sont galement installs dans le mme chier que les chiers
*.pfa ou *.pfb.
Linux Livre Page 125 Mardi, 23. septembre 2008 1:05 13
LINUX 126
Il nest pas possible de garantir un rendu exactement identique dun mme document sur deux ordinateurs
diffrents. Suivant les polices installes, la mise en page peut tre trs lgrement modifie : lorsque la pr-
sentation doit absolument tre identique quel que soit le lecteur, vous devez transmettre vos documents au
format PDF.
8.3 Tableur (OpenOffice Calc)
Saisie de
formule
Pour la saisie de formules complexes, vous pouvez vous faire aider dun assistant par le
biais du menu Insertion > Fonction. Pour lutilisateur plus avanc, Insertion > Liste des
fonctions peut se rvler encore plus protable : ce menu ouvre une fentre donnant
lensemble des formules et fonctions, parmi lesquelles vous pouvez choisir dun double-clic
pour les insrer dans la cellule ou formule en cours. Les formules prsentent des emplacements
rservs pour indiquer les paramtres.
Comme dans tout tableur, vous pouvez renseigner les rfrences des cellules soit de faon
relative (en fournissant les indications de "dplacement" par rapport la cellule en cours),
soit de faon absolue (en donnant les coordonnes de la cellule cible de manire xe, ce qui
maintient leur valeur mme par copier-coller). Pour basculer du mode relatif au mode
absolu, utilisez la combinaison de touches Maj+F4.
Format de
cellule
Comme dans Writer, Calc vous propose laide de Styles et mise en forme pour assurer la
mise en forme des cellules. Pour appeler ou fermer la fentre Styles et mise en forme, utilisez
la touche F11. Vous pouvez galement prciser le format dune cellule par le biais du menu
Format > Cellule, en particulier pour grer la prsentation des donnes numriques de
diffrents types.
Fonctions
danalyse de
donnes
OpenOfce propose une longue liste de fonctions permettant danalyser de grands volumes
de donnes. La condition pralable remplir pour cela, gnralement vrie, est que les
donnes doivent gurer dans un tableau dun seul tenant. Si ce nest pas le cas (par exemple
cause de lignes ou de colonnes vides), vous pouvez utiliser avec prot le menu Donnes >
Dnir la plage.
Donnes > Trier vous permet de trier les donnes. Il est intressant de noter que vous
pouvez fournir plusieurs critres de tri (le second critre tant utilis en cas dgalit sur
le premier critre).
Donnes > Filtre > AutoFiltre vous permet de rduire les lignes visibles dans le tableau
celles rpondant un critre donn.
Donnes > Sous-totaux vous permet de partager le tableau en groupes suivant trois cri-
tres au maximum et, pour chaque groupe, de calculer les sous-totaux correspondants.
Ceci entrane lafchage en marge (ligne ou colonne) dicnes + ou permettant de
dplier ou de replier les groupes ainsi constitus. Pour ne plus afcher les sous-totaux,
cliquez sur le bouton Supprimer de la bote de dialogue Sous-totaux.
Donnes > Plan est une fonctionnalit comparable aux Sous-totaux. Vous pouvez y
regrouper des ensembles de lignes ou de colonnes. Les boutons + et vous permettent
de dplier ou de replier les groupes correspondants. La diffrence avec les Sous-totaux
est toutefois que le plan est gnr manuellement et quaucun sous-total nest calcul.
Linux Livre Page 126 Mardi, 23. septembre 2008 1:05 13
127 OPENOFFICE
Donnes > Pilote de donnes est une fonctionnalit avance. Lide sous-jacente est
dutiliser au moins deux critres pour classer les donnes et de calculer des sous-totaux
intermdiaires.
Format de
page
Calc connat deux formes de prsentation de page : Afchage > Normal correspond laf-
chage habituel dans lequel une seule page est visible. Afchage > Aperu des sauts de page
propose toutefois une vue plus synthtique : lensemble du tableau est prsent et les limi-
tes de page sont clairement indiques. De surcrot, le numro de chaque page apparat en
gris en surimpression.
Pour basculer entre les orientations Portrait et Paysage, ainsi que pour congurer de nom-
breuses autres options, vous devrez passer par le menu Format > Page. Ce paramtrage vaut
pour lensemble du chier (donc pour toutes les feuilles de calcul). Si vous souhaitez une mise
en page spcique pour certaines feuilles de calcul, vous devrez faire appel Styles et
mise en forme pour crer des styles de page particuliers correspondant votre besoin.
Impression Par dfaut, toutes les feuilles de calcul non vides sont imprimes. Si vous ne souhaitez
imprimer que la feuille de calcul active ou les feuilles de calcul slectionnes, activez
loption Imprimer uniquement les feuilles slectionnes dans la bote de dialogue Outils >
Options > Calc > Impression.
Si vous ne souhaitez pas imprimer la totalit de la feuille de calcul, vous pouvez dterminer par
le biais de Format > Zones dimpression la section imprimer. La zone dimpression dnie
couramment apparat alors en couleur dans le mode dafchage Aperu des sauts de page.
Pour limpression dun document sur plusieurs pages, il est souhaitable de rpter sur cha-
que page les cellules de titres pour les lignes et colonnes. Pour ce faire, congurez en cons-
quence les champs Ligne rpter et Colonne rpter dans la bote de dialogue Format >
Zones dimpression > diter.
8.4 Prsentation (OpenOffice Impress)
Impress est le composant du paquetage OpenOfce qui permet de crer des prsentations.
Parmi les points forts de ce programme, citons par exemple les nombreux formats dexport,
qui facilitent grandement lchange de prsentations. Toutefois, les dbuts avec Impress
peuvent se rvler peu intuitifs.
Lorsque vous lancez Impress, un assistant vient votre aide pour la cration de nouvelles
prsentations. Pour faire ses premiers pas dans Impress, cet assistant est plutt pratique.
Choisissez la premire tape Prsentation vierge, slectionnez la seconde larrire-plan
qui vous convient et concluez le processus en cliquant sur le bouton Crer. Si lassistant, la
longue, vous parat pesant, vous pouvez dsactiver son afchage automatique dans la bote
de dialogue Outils > Options > Impress > Gnral.
Premiers pas Le travail de cration dune nouvelle prsentation consiste en fait structurer les pages (dia-
positives) de la prsentation et y insrer texte et images. Pour crer une nouvelle diaposi-
tive, choisissez Insertion > Diapo ou cliquez sur le bouton correspondant dans la barre
doutils.
Linux Livre Page 127 Mardi, 23. septembre 2008 1:05 13
LINUX 128
Pour choisir la mise en page de la diapo, il vous suft de cliquer sur licne correspondante
dans le panneau Mise en page qui se trouve droite de la fentre (voir Figure 8.2). Cette
mise en page dtermine la structure globale de la page. Le panneau de droite de la fentre
(panneau des tches) vous permet non seulement de dnir la mise en page de la diaposi-
tive en cours, mais galement de grer des transitions et animations ou de dnir des pages
matresses.
Les mises en page prdnies sont en fait des variations de structures constitues de quatre
lments de base : titre, sous-titre, texte (ou plan) et objets insrer (images, tableaux Calc, etc.).
Avant de pouvoir saisir un texte dans un cadre, vous devez cliquer sur ce cadre. Pour les lis-
tes puces, il existe une particularit : si vous placez le curseur en dbut de ligne ou que
vous slectionniez plusieurs lignes, vous pouvez modier le niveau dindentation et le type
de puce par le biais des touches Tab et Maj+Tab. La taille de la police et la mise en forme du
texte sont galement modies en consquence. Pour saisir un texte sans puce, cliquez sur le
bouton (Ds)activer les puces dans la barre doutils.
Le panneau de gauche de la fentre vous permet de naviguer rapidement dune diapositive
lautre. Vous pouvez par ailleurs y dnir pour chaque page un intitul plus parlant : pour
ce faire, cliquez sur la diapositive concerne du bouton droit de la souris et choisissez
Renommer la diapo.
Visionner le
diaporama
Pour dmarrer la prsentation, il vous suft dappuyer sur la touche F5. Ds que la prsen-
tation est lance, vous pouvez la parcourir laide des touches Entre, Espace ou des ches
du clavier. Un simple clic de souris vous amne la page suivante, le bouton droit de la souris,
la page prcdente. Echap met n la prsentation en cours.
La combinaison de touches Maj+Ctrl+F5 permet dafcher la fentre de navigation en cours
de prsentation, ce qui est utile si vous souhaitez passer une diapositive ultrieure sans
devoir parcourir toutes les pages intermdiaires.
Normalement, le changement de page ncessite un clic de souris ou une touche du clavier.
Pour automatiser le passage la diapositive suivante, choisissez la vue Trieuse de diapositi-
ves. Dans le panneau des tches, choisissez alors le domaine Transition et activez-y loption
Figure 8.2
La fentre
Impress standard.
Linux Livre Page 128 Mardi, 23. septembre 2008 1:05 13
129 OPENOFFICE
Automatiquement aprs : vous pouvez alors dnir la dure dafchage de la diapositive
pour chaque page. Si cette dure doit tre identique pour toutes les diapositives, cliquez sur
le bouton Appliquer toutes les diapos.
Mise en forme La mise en forme des textes et la gestion de larrire-plan pour lensemble des diapositives
suivent des rgles diffrentes de celles de Calc et de Writer. Vous devez en particulier vous
familiariser avec lutilisation des styles prdnis. Ceux-ci sont fortement lis aux cadres de
texte. Ainsi, un titre se verra toujours appliquer le style Titre et il ne sera pas possible de lui
appliquer un autre style. Cela vaut aussi pour les plans et les diffrents niveaux de puces :
pour en changer lapparence, placez-vous en dbut de ligne et utilisez la touche Tab.
Pages
matresses
Les pages matresses dterminent lapparence commune toutes les diapositives dune pr-
sentation : arrire-plan, taille et couleur des polices, etc. Vous pouvez dnir ces paramtres
pour chaque diapositive mais il est plus efcace de les tablir pour lensemble de la prsenta-
tion par le biais des pages matresses. Pour slectionner la page matresse utiliser, il vous
suft de cliquer dessus. Pour modier la prsentation de la page matresse, passez en mode
ddition grce Afchage > Arrire-plan > Masque des diapositives (autre terme pour dsi-
gner les pages matresses). Ce masque prsente lensemble des styles utiliss dans la prsen-
tation, et chaque modication apporte ici sera rpercute sur lensemble du document.
Arrire-plan Larrire-plan est normalement commun toutes les diapositives dune prsentation. Pour
choisir un arrire-plan, le plus simple est de passer par la bote de dialogue Format > Page >
Arrire-plan, et ce pour une diapositive individuelle ou pour lensemble de la prsentation
grce la page matresse. La bote de dialogue vous donne le choix entre une couleur simple,
un dgrad, des hachures ou une image Bitmap.
Animations Impress vous permet de mettre en place des effets danimation sur deux niveaux : dune
part pour la transition entre deux diapositives, dautre part pour lafchage dobjets au sein
dune page. Pour congurer les transitions entre diapositives, utilisez la section Transitions
du panneau des tches ; pour ajouter des animations dans une diapositive, passez par la section
Animation personnalise.
Impression Limpression des prsentations est plutt simple : passez par les menus Fichier > Imprimer,
choisissez dans les Options ce que vous souhaitez imprimer, et vous voil par ! Quelques
remarques toutefois sur les options dimpression :
Contenu dnit ce qui doit tre imprim. Dessin inclut les diapositives de la prsenta-
tion. Notes permet dimprimer les notes associes aux diapositives, Brochure, de pr-
senter plusieurs pages par feuille (par dfaut, 4). Enn, Plan permet dafcher la vue
Plan du diaporama.
Qualit dnit la qualit dimpression de diapositives couleur sur une imprimante noir
et blanc. Loption Noir et blanc imprime, indpendamment de tout autre paramtrage,
le texte en noir sur fond blanc.
Options de la page permet doptimiser lchelle des diapositives (Adapter au format de
la page) ou limpression de brochures plier (Prospectus).
Export PDF Pour lancer lexport PDF, passez par les menus Fichier > Exporter au format PDF ou, plus
rapidement, par le bouton PDF qui gure dans la barre doutils. Impress gnre alors un
chier PDF comprenant sur chaque page une diapositive de la prsentation.
Linux Livre Page 129 Mardi, 23. septembre 2008 1:05 13
LINUX 130
8.5 Bases de donnes (OpenOffice Base)
Le composant Base est une nouveaut dOpenOfce 2. Cest aussi la raison pour laquelle ce
composant est loin davoir atteint la maturit des autres composants dOpenOfce. Sur cer-
taines distributions, Base doit mme tre install comme paquetage complmentaire distinct
pour que les fonctionnalits de base de donnes soient effectivement disponibles. Quoi quil
en soit, Java doit tre pralablement install, car de nombreuses fonctionnalits daccs aux
bases de donnes reposent sur lui.
Base vous permet aussi bien de crer une nouvelle base de donnes dans le format propre
OpenOfce que dtablir une connexion une base de donnes existante (en particulier des
bases MySQL).
Assistant de
base de
donnes
Pour ouvrir un nouveau projet de base de donnes, passez par les menus Fichier > Nouveau >
Base de donnes. La premire bote de dialogue vous propose soit de crer une nouvelle base,
soit douvrir un chier existant, soit daccder une base existante. Les botes de dialogue sui-
vantes dpendent du choix effectu ici et vous permettent au besoin de tester la conguration
de votre ordinateur (un pilote spcial est par exemple ncessaire pour se connecter une base
de donnes MySQL : lassistant peut vous servir vrier que ce pilote est bien install).
Ce nest quune fois toutes les tapes de lassistant parcourues que la fentre de Base appa-
rat. Elle intgre les quatre modules Tables, Requtes, Formulaires et Rapports dans la fen-
tre principale. Si vous avez ouvert un chier existant ou accd une base de donnes
existante, les tables correspondantes apparaissent galement sur cette page. Vous devrez en
revanche crer vous-mme les requtes et autres objets de bases de donnes. Vous pouvez
afcher le contenu de la table courante en slectionnant Document dans la liste droulante
qui apparat en bas droite de la fentre.
Tables Le module Tables fournit une liste de toutes les tables et vues disponibles. Diverses possibi-
lits ddition vous sont offertes, par exemple :
Ouvrir une table. Un double-clic sur le nom de la table en ouvre la vue. Vous pouvez
alors parcourir celle-ci, insrer, modier ou effacer des donnes. Et galement slectionner
Figure 8.3
Le composant de gestion
de bases de donnes
Base.
Linux Livre Page 130 Mardi, 23. septembre 2008 1:05 13
131 OPENOFFICE
des lignes dans la table laide des touches Ctrl ou Maj pour les copier dans le presse-
papiers ou les insrer par glisser-dposer dans dautres documents OpenOfce.
Crer une nouvelle table. Vous pouvez crer une nouvelle table, au choix, laide dun
diteur simple (mode bauche) ou laide dun assistant. Lassistant vous permet de
choisir parmi diffrentes congurations de tables prdnies, ce qui peut vous cono-
miser un temps certain.
Personnaliser une table. Le menu contextuel Modier vous permet daccder la vue
dune table en mode bauche. Vous pouvez alors y insrer des colonnes, en modier ou
en supprimer, etc.
Copier des donnes dans le presse-papiers. Lentre de menu contextuel Copier copie
lensemble des donnes de la table courante dans le presse-papiers. Il est alors possible
dinsrer ces donnes dans dautres documents OpenOfce.
Crer une nouvelle vue. Ce point conduit un diteur de requtes pour crer une nou-
velle requte. Une nouvelle vue sera alors cre partir de cette requte et stocke dans
la base de donnes.
Supprimer une table ou une vue. Le menu contextuel vous permet aussi deffacer des
objets. Attention au fait que, si vous avez tabli une connexion sur une base de donnes
existante et que vous en effaciez une table, celle-ci est irrmdiablement dtruite : lop-
ration seffectue bien dans la base et non sur une copie locale des donnes !
Requtes Le module Requtes est llment le plus intressant de Base : il vous permet de crer de
nouvelles requtes laide dun assistant ou en mode bauche. Lassistant nest toutefois
adapt que pour construire des requtes traitant des donnes qui proviennent dune unique
table. Le mode bauche est donc en gnral plus adapt.
Dans la fentre de cration de requte, vous pouvez insrer par double-clic toutes les tables
dont les donnes doivent tre utilises dans la requte. Ltape suivante consiste transfrer
par glisser-dposer tous les champs de jointure entre les tables.
Formulaires,
rapports et
fonctionnalits
additionnelles
Les modules Formulaires et Rapports, ainsi que le menu Outils, vous donnent accs de
nombreuses fonctionnalits supplmentaires que nous ne pouvons quefeurer ici. Le pro-
blme est que ces fonctionnalits sont relativement nouvelles et manquent donc de matu-
rit, ce qui peut conduire des difcults mme dans des situations trs simples.
Le module Formulaires vous permet de crer des formulaires de saisie et ddition. De tels
formulaires facilitent la saisie et ldition des donnes de la base, plutt que travailler direc-
tement dans les tables. Pour la cration de formulaires, Base vous offre le choix entre le
mode bauche et un assistant (recommand pour les utilisateurs dbutants).
Le module Rapports vous permet de dnir un rapport de base de donnes laide dun
assistant. Grce aux rapports, vous prsenterez de manire plus agrable une table, une vue
ou une requte. Les rapports ne peuvent travailler que sur les donnes provenant dun
mme objet de base de donnes. Si vous souhaitez gnrer un rapport sur des donnes pro-
venant de plusieurs tables, vous devez tout dabord crer une requte approprie puis en
extraire un rapport. Il nest pas possible de modier ultrieurement un rapport : le menu
contextuel Modier ouvre certes le rapport dans Writer, mais vous ne pouvez y apporter
que des modications mineures de mise en page.
Linux Livre Page 131 Mardi, 23. septembre 2008 1:05 13
LINUX 132
Outils > Relations devrait vous conduire un diteur dans lequel vous pouvez paramtrer
les jointures entre les tables dune base de donnes si jamais Base ne les reconnat pas par
lui-mme. Ce menu conduit toutefois dans divers cas une erreur du type "La base de donnes
ne supporte pas les relations !".
Outils > Gestion des utilisateurs afche une bote de dialogue pour la gestion des utilisateurs
dans MySQL, mais dont les informations sont gnralement errones. Mon exprience a mon-
tr que cette bote de dialogue cause plus de mal que de bien : tenez-vous-en donc lcart !
Vue des
sources de
donnes
Indpendamment du composant Base, il existe dans OpenOfce une vue des sources de
donnes. Vous pouvez faire apparatre ou disparatre cette vue laide de la touche F4 ou
du menu Afchage > Sources de donnes et ainsi insrer des informations depuis des bases
de donnes externes dans Calc, Writer, etc.
Cette vue prsente toutes les sources de donnes connues de Base. Pour dnir une nouvelle
source de donnes, passez par le menu Fichier > Nouveau > Base de donnes. Vous pourrez
au besoin dnir la correspondance entre le nom de la source de donnes et le chier Base
grce la bote de dialogue Outils > Options > Base > Bases de donnes.
Dans cette vue des sources de donnes, vous pouvez slectionner une table ou une requte
et travailler par double-clic. Vous insrerez la table complte ou certaines lignes seulement
(pralablement slectionnes avec la souris et les touches Ctrl ou Maj) dans une feuille de
calcul ou un document texte.
8.6 Programmation de macros
OpenOfce est dot depuis longtemps dun langage de programmation comparable Basic
(autrefois nomm StarBasic). Vous pouvez intgrer du code en langage Basic nimporte
quel chier OpenOfce. Le dialecte Basic dOpenOfce nest toutefois pas compatible avec
le clbre VBA de MS-Ofce.
Laccs aux divers objets dOpenOfce (documents, paragraphes, feuilles de calcul, cellules,
etc.) intervient par le biais de lAPI (Application Programming Interface) StarOfce. LAPI peut
tre utilise aussi bien avec du code Basic quavec divers autres langages de programmation
(par exemple Java ou C++).
Cette section se contente de dresser les grandes lignes de la programmation Basic pour Open-
Ofce. Vous trouverez plus dinformations sur la programmation de macros en Basic dans
le manuel en ligne ainsi que sur les sites web suivants : http://scripting.openofce.org/ ;
http://api.openofce.org/ ; http://udk.openofce.org/ ; http://www.pitonyak.org/oo.php/
Gestion du
code VBA
OpenOfce introduit normalement dans le code VBA, limport de documents MS-Ofce,
des commentaires de manire rendre le code inoprant. lexport, ces commentaires sont
supprims de manire permettre nouveau lutilisation du code VBA sous MS-Ofce.
Calc constitue toutefois une exception : grce une extension dveloppe par Novell, les
versions actuelles de Calc peuvent excuter directement du code VBA (ce qui nest toutefois
pas exempt de problmes). On ne sait pas encore si dautres composants OpenOfce
deviendront compatibles avec VBA lavenir.
Protection
contre les virus
Les macros offrent des possibilits dutilisation trs intressantes mais peuvent galement
servir programmer des virus ou tre employes pour dautres buts peu louables (les
macros ayant accs au systme de chiers dans les limites autorises par les droits daccs,
Linux Livre Page 132 Mardi, 23. septembre 2008 1:05 13
133 OPENOFFICE
cela reprsente par exemple un danger potentiel : nexcutez jamais une macro dorigine
inconnue si vous utilisez OpenOfce en tant quutilisateur root !).
louverture dun document contenant du code Basic, OpenOfce demande systmatique-
ment si le code doit tre excut. Vous pouvez dailleurs indiquer si le rpertoire do pro-
vient le chier est considr comme sr, ce qui conduit ne plus afcher lavertissement
pour tout chier de ce rpertoire. Il est possible de modier tous ces paramtres (et dautres)
par le biais de la bote de dialogue Outils > Options > OpenOfce > Scurit. Lavertis-
sement apparat galement limport de chiers MS-Ofce, mme sil na gure de sens vu
que le code VBA dans son ensemble est automatiquement comment.
Enregistrer
une macro
Le menu Outils > Macros > Enregistrer une macro vous permet de consigner dans une nouvelle
macro toutes les oprations conduites partir de ce moment. Lenregistrement dmarre automa-
tiquement et se termine lorsque vous cliquez sur le bouton Terminer lenregistrement. Vous
devez ensuite indiquer dans quel chier (parmi tous ceux ouverts) la macro doit tre enregistre.
Dans le chier concern, choisissez la bibliothque de votre choix (il peut en exister plusieurs
mais Standard est toujours prsente) puis renseignez le nom choisi pour le module. La structu-
ration en bibliothques et modules permet de faciliter lorganisation dun code volumineux.
Vous pouvez galement enregistrer les macros dans Mes macros plutt que dans les chiers :
celles-ci sont alors toujours disponibles, indpendamment du chier OpenOfce actuelle-
ment ouvert. En interne, ces macros sont enregistres sous la forme dun chier de texte
dans ~/.openoffice/user/basic/Standard.
Excuter
des macros
Outils > Macros > Excuter la macro vous conduit une bote de dialogue o vous pouvez
slectionner la macro de votre choix parmi toutes celles disponibles et lancer son excution.
Raccourcis
clavier
La bote de dialogue Outils > Personnaliser > Clavier vous permet dassocier chaque
macro un raccourci clavier. Mes macros y sont classes dans User.
Modifier
une macro
Si vous souhaitez consulter ou modier le code dune macro, choisissez la macro dans
Outils > Macros > Grer les macros et cliquez ensuite sur le bouton diter. Vous tes alors
conduit lenvironnement de dveloppement Basic, o vous pouvez choisir la bibliothque
et le chier souhaits. Vous y crerez galement vos propres macros.
8.7 Alternatives OpenOffice
Sun StarOffice OpenOfce est un rejeton de StarOfce. Ce dernier est une suite bureautique dveloppe il
y a dj plusieurs annes par la socit Star Division, en Allemagne. En 1999, Sun a rachet
StarOfce et a, par la suite, rendu librement disponible le code source de StarOfce. Depuis,
aussi bien des employs de Sun que dinnombrables programmeurs bnvoles travaillent
son dveloppement.
Il existe lheure actuelle plusieurs versions de la suite bureautique : les deux plus populai-
res sont la variante Open Source prsente dans ce chapitre, OpenOfce (sous licence LGPL),
et son homologue commerciale Sun StarOfce. Ces deux versions sont de trs loin les plus
compatibles lune avec lautre, StarOfce intgre toutefois des composants supplmentaires
(entre autres une meilleure correction orthographique, des fontes supplmentaires, des cliparts,
etc.). De surcrot, une assistance traditionnelle est disponible avec StarOfce, suivant le
Linux Livre Page 133 Mardi, 23. septembre 2008 1:05 13
LINUX 134
souhait de nombreuses socits. Avec OpenOfce, lorsque vous rencontrez un problme,
Internet est a priori votre seule source daide.
Ces bonus ne sont naturellement pas gratuits. Il existe toutefois toujours une version dva-
luation gratuite tlcharger sur le site de StarOfce :
http://wwws.sun.com/software/star/starofce
KOffice KOfce est la suite bureautique de lenvironnement KDE. Les composants essentiels (kword,
kspread et kpresenter) ont atteint une certaine maturit. Il existe de nombreux autres com-
posants (par exemple pour concevoir des diagrammes ou grer des bases de donnes) qui
nen sont encore qu leurs balbutiements.
De faon gnrale, la compatibilit avec Microsoft Ofce est moindre que celle dOpenOf-
ce. Cela ne concerne pas uniquement limport et lexport de chiers, mais galement le
paradigme global dutilisation. On remarque, avec la conception KOfce, quil sagit dun
dveloppement entirement nouveau (ce qui va de pair avec de nombreux avantages). La
version actuelle de KOfce prend en charge, outre un format de chier propre, le format
OpenDocument dOpenOfce / StarOfce.
La force de KOfce rside dans son intgration impeccable lenvironnement KDE. La col-
laboration entre composants est galement remarquable et se fait particulirement sentir
lintgration de diffrents types de documents dans un autre. En comparaison avec Open-
Ofce, les composants KOfce reposent sur des programmes notoirement plus petits, qui se
lancent plus rapidement et qui sont moins exigeants vis--vis des ressources matrielles.
http://www.kofce.org/
Gnome Office Au contraire de ceux dOpenOfce et de KOfce, les composants de Gnome Ofce sont des
programmes individuels qui nont que peu voir entre eux. Il nexiste ni format de chier
uni ni un paradigme dutilisation commun. Le tableur gnumeric est extrmement avanc,
il se distingue par une grande compatibilit avec Microsoft Excel et propose de trs nom-
breuses fonctionnalits auxiliaires pour les mathmatiques nancires. Le programme de
traitement de texte abiword est galement trs utilisable.
http://www.gnome.org/gnome-ofce/
CrossOver
Office et
VMware
Malgr les nombreux paquetages bureautiques Linux, il existe des utilisateurs qui ne peuvent
ou ne veulent renoncer la suite Microsoft Ofce dorigine. La solution qui semble tre la plus
confortable dans ce cas est propose par la socit CodeWeaver sous la forme du produit com-
mercial CrossOver. Il sagit non pas dune suite bureautique proprement parler mais dune
version spciale de lmulateur Windows WINE amliore au point que la plupart des compo-
sants de Microsoft Ofce 97, 2000, XP et 2003 peuvent tre installs et utiliss sans problme.
Une autre alternative consiste congurer une machine virtuelle sous Linux laide de
KVM, Xen, VirtualBox ou VMware et dy installer Windows. Cette solution propose une
bien meilleure compatibilit mais elle est plus coteuse. Vous aurez besoin de licences pour
Microsoft Windows, Microsoft Ofce, sans oublier VMware. Vous trouverez partir du
Chapitre 31 des astuces concrtes pour les logiciels de virtualisation cits ici.
Scribus Scribus est, lheure actuelle, le logiciel de publication le plus abouti de Linux. Si vous sou-
haitez concevoir une brochure, un dossier, un journal simple, vous devriez jeter un coup
dil ce programme. Il est livr avec la majorit des distributions Linux. Vous en trouverez
la dernire version ainsi que la documentation ladresse suivante :
http://www.scribus.net/
Linux Livre Page 134 Mardi, 23. septembre 2008 1:05 13
9
Appareils photo numriques,
numrisation, gestion des photos
Ce chapitre dcrit comment, sous Linux, transfrer des images depuis un appareil photo
numrique ou un scanner et comment grer vos photographies. Pour ces trois tches et, en
particulier, pour la gestion des photos, il existe de trs nombreux programmes. Aprs quel-
ques informations introductives sur les appareils photo numriques et la numrisation, je
prsenterai un peu plus en dtail les logiciels suivants :
gThumb, import de photos et gestion dimages pour Gnome ;
digiKam, import de photos et gestion dimages pour KDE ;
F-Spot, gestion dimages base sur la bibliothque MONO ;
KPhotoAlbum, gestion dimages pour KDE ;
XSane, interface de numrisation indpendante de lenvironnement de bureau.
Pour le choix du programme, ne vous limitez pas aux outils par dfaut proposs par votre
environnement de bureau ! Rien ninterdit, par exemple, dinstaller sous Gnome un pro-
gramme KDE pour numriser des images ou de mettre en place sous KDE le programme
F-Spot prvu pour lunivers Gnome.
Programmes
supplmen-
taires
La place manque ici pour voquer tous les logiciels de gestion et de traitement de photos.
Le tableau suivant vous donne un aperu rapide de quelques programmes disponibles.
Pour grer vos photos, vous pouvez naturellement aussi faire appel votre gestionnaire de
chiers (Nautilus, Konqueror). Toutefois, ces programmes proposent lheure actuelle
moins de fonctionnalits de traitement et doptions de prsentation.
Si vous souhaitez approfondir le sujet de la gestion des images et aller au-del de loptimi-
sation du contraste ou dun redimensionnement de vos photos, vous devriez jeter un coup
Nom Site web Description
eog http://www.gnome.org/projects/eog/ afficheur de photos Gnome, peu de fonction-
nalits
Feh http://linuxbrit.co.uk/feh/ afficheur de photos orient ligne de commande
GnomeScan http://live.gnome.org/GnomeScan interface de numrisation pour Gnome, pas
encore arrive maturit
Gqview http://gqview.sourceforge.net/ afficheur de photos Gnome
Gwenview http://gwenview.sourceforge.net/ afficheur de photos KDE
Kooka http://kooka.kde.org interface de numrisation pour KDE
Kuickshow http://kuickshow.sourceforge.net/ afficheur de photos KDE, plus maintenu
Picasa http://picasa.google.fr/ gestionnaire dimages de Google, gratuit mais non
open-source
xv http://www.trilon.com/xv/ afficheur de photos antdiluvien, non open-source
Linux Livre Page 135 Mardi, 23. septembre 2008 1:05 13
LINUX 136
dil au prochain chapitre. Nous y prsenterons trs rapidement Gimp, le programme de
traitement dimages le plus avanc sous Linux. Il propose des fonctionnalits trs comparables
celles dAdobe Photoshop !
Si vous cherchez automatiser la conversion ou certains traitements sur de grands volumes
dimages, le Chapitre 15 devrait vous tre protable.
La quasi-totalit des programmes prsents ici comptent des fonctionnalits dimpression,
dont les limitations sont toutefois rapidement atteintes : en particulier, limpression sans
bord sur du papier photo ou limpression de plusieurs photos sur une mme page posent
frquemment des problmes. Le logiciel gnome-photo-printer (malheureusement pas
encore totalement arriv maturit) peut vous aider sur ce point.
9.1 Appareils photo numriques
Cette section traite non pas de lutilisation des appareils photo numriques, mais du trans-
fert des images depuis lappareil vers lordinateur Linux. La plupart des appareils photo uti-
lisent pour cela un cble USB. Le protocole de transfert des donnes est toutefois loin dtre
standard parmi les fabricants dappareils photo. Ainsi, on peut rencontrer :
Une connexion USB de type lecteur. Cest le cas le plus simple pour le transfert de don-
nes. Linux considre alors lappareil photo comme un disque dur ou une cl USB.
Le protocole PTP. De nombreux appareils photo prennent galement en charge le proto-
cole PTP (Picture Transfer Protocol). Celui-ci propose non seulement des commandes
pour le transfert des photos, mais galement des fonctionnalits de pilotage (par exem-
ple pour dclencher une photographie depuis lordinateur).
Un protocole propritaire. Il existe enn certains modles dappareils photo utilisant
uniquement un protocole propritaire. Parmi ces appareils, bon nombre de modles
populaires sont pris en charge sous Linux, mais ce nest pas le cas de tous.
Mme si votre appareil photo nest pas gr par Linux, le transfert des images reste possible.
Vous aurez pour cela besoin dun lecteur de cartes externe qui pourra alors tre vu par Linux
comme un disque dur externe. Cette mthode a par ailleurs lavantage de ne pas solliciter la
batterie de votre appareil photo.
Pour le transfert des images, vous aurez le choix entre diffrents programmes Linux suivant
le protocole utilis. Pour les appareils de la premire catgorie, nimporte quel gestionnaire
de chiers peut faire laffaire : lappareil doit toutefois pralablement tre mont dans le sys-
tme de chiers. Dans de nombreuses distributions, une fentre du gestionnaire de chiers
apparat automatiquement au branchement de lappareil photo ou du lecteur de cartes,
ainsi quune icne de raccourci sur le bureau. Si ce nest pas le cas, vous devrez monter
manuellement lappareil photo dans larborescence des rpertoires en tant que lecteur USB
(voir le Chapitre 23). Le navigateur universel de KDE, Konqueror, est galement en mesure
dinterprter directement le protocole PTP. Il vous suft pour cela de donner ladresse
camera:/.
gphoto2 Pour communiquer avec les appareils photo PTP ou avec ceux utilisant un protocole pro-
pritaire, la bibliothque gphoto2 met disposition toutes les fonctionnalits requises.
Vous pouvez utiliser cette bibliothque directement par le biais de la commande ponyme.
Linux Livre Page 136 Mardi, 23. septembre 2008 1:05 13
137 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
Par exemple, la commande gphoto2 --auto-detect tente de reconnatre lappareil photo
branch et afche les informations correspondantes. gphoto2 --get-all-thumbnails trans-
met vers le rpertoire local des aperus de taille rduite de toutes les images stockes dans
lappareil photo. Il est intressant de noter quavec de nombreux appareils photo gphoto2 --
capture-image permet galement de prendre une photographie en ligne de commande,
de sorte que lappareil photo peut tre utilis en tant que webcam ou pour effectuer une
surveillance. Vous trouverez davantage dinformations relatives gphoto2 sur le site web
suivant :
http://gphoto.sourceforge.net/
En pratique, il nest toutefois pas courant dutiliser directement les fonctions de gphoto.
gThumb et digiKam constituent des interfaces graphiques confortables pour Gnome et KDE
et facilitent grandement limport des images. Ces deux programmes seront rapidement pr-
sents dans la suite.
Images RAW La plupart des appareils photo numriques enregistrent les images au format JPEG, qui
reprsente un bon compromis entre qualit de limage et taille du chier. Certains appareils
permettent galement denregistrer les images dans un format dit RAW. Il sagit de formats
propritaires garantissant quaucune information relative limage ne sera perdue. Toute-
fois, les chiers RAW sont gnralement trs volumineux et ne peuvent tre ouverts quavec
des logiciels spciaux.
Assez peu de logiciels Linux dafchage ou de gestion des photographies parviennent
grer correctement les chiers RAW. La commande dcraw issue du paquetage ponyme
vous permet de convertir manuellement les chiers RAW vers dautres formats. Si vous tra-
vaillez avec Gimp, le paquetage complmentaire gimp-dcraw fournit un confort supplmen-
taire. Gimp peut alors charger directement les chiers RAW de la majorit des fabricants
dappareils photo. Vous trouverez davantage dinformations sur dcraw la page suivante :
http://www.cybercom.net/~dcofn/dcraw/
9.2 Numrisation
Les scanners existant lheure actuelle sont, pour la plupart, connects par une interface
USB ; les anciens modles utilisaient galement les ports parallle ou SCSI. Fondamentale-
ment, Linux peut prendre en charge ces trois types de connexions, mais cest le modle de
scanner qui dtermine sil pourra tre gr correctement par Linux ou non. Renseignez-vous
imprativement au moment de lachat pour savoir si lappareil est compatible avec Linux :
http://www.sane-project.org/sane-supported-devices.html
Configuration
de SANE
Cest le paquetage SANE (Scanner Access Now Easy) qui assure laccs au scanner. Dans
de nombreux cas, votre scanner sera reconnu ds le branchement par le programme de
numrisation (XSane ou Kooka, par exemple). Si ce nest pas le cas, vous devrez prala-
blement congurer SANE. Sur certaines distributions, vous disposez doutils de congu-
ration pour vous aider dans cette tche (par exemple, sur SUSE, le module YaST Matriel
> Scanner).
Linux Livre Page 137 Mardi, 23. septembre 2008 1:05 13
LINUX 138
Si aucun outil de conguration de ce type nest disponible, vous devrez modier manuel-
lement le chier de conguration situ dans le rpertoire /etc/sane.d/*. Ce rpertoire
contient un chier pour chaque fabricant de scanners, dans lesquels vous ne devriez norma-
lement trouver que quelques entres chaque fois. Les quelques lignes suivantes montrent
par exemple le contenu du chier epson.conf. Elles sufsent pour reconnatre tous les scanners
USB et SCSI de la marque Epson pris en charge par le systme.
# /etc/sane.d/epson.conf
usb
scsi EPSON
scsi "EPSON SC"
Les appareils trs rcents peuvent poser des problmes si leur numro didentiant ne
gure pas encore dans la base de donnes USB de la base de matriel pour Linux. Dans
de tels cas, vous devrez dterminer le numro didentiant laide de la commande
lsusb puis, comme dans lexemple qui suit, ajouter une ligne dans le chier de conguration
concern :
utilisateur$ lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 04b8:010b Seiko Epson Corp. Perfection 1240
...
# Complment dans /etc/sane.d/epson.conf
usb 0x04b8 0x010b
Du moment que le paquetage sane-utils est install, les commandes sane-find-scanner et
scanimage -L devraient dsormais reconnatre le scanner :
utilisateur$ sane-find-scanner
No SCSI scanners found ...
Found USB scanner (vendor=0x04b8 [EPSON], product=0x010b [Perfection1240])
at libusb:002:002
Your USB scanner was (probably) detected. It may or may not be supported by
SANE. Try scanimage -L and read the backends manpage.
user$ scanimage -L
device `epson:libusb:002:002 is a Epson Perfection1240 flatbed scanner
Sane ne prend en considration que les fichiers de fabricants figurant dans /etc/sane.d/dll.conf.
Lorsque SANE ne reconnat pas votre scanner alors quil doit en principe le prendre en charge (vrifiez bien
ce point), vous devriez jeter un coup dil dll.conf et y vrifier si le nom du fabricant de votre scanner
nest pas comment.
Numriser
avec SANE
Normalement, vous ne communiquerez pas directement avec la bibliothque SANE pour
numriser des images, mais vous utiliserez une des interfaces utilisateur disponibles. La
plus populaire est Xsane (voir un peu plus loin dans ce chapitre), mais il existe galement
Kooka pour KDE. Si vous souhaitez automatiser la numrisation par un script, vous trouverez
la commande scanimage dans le paquetage sane-utils.
Linux Livre Page 138 Mardi, 23. septembre 2008 1:05 13
139 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
9.3 gThumb
Le programme gThumb tait, jusqu la version 2.20 de Gnome, loutil par dfaut pour le
transfert de photos depuis des appareils numriques ainsi que pour la gestion des images.
Les forces de ce logiciel rsident dans la gestion systmatique des images quil propose :
vous pouvez commenter, classer et insrer dans des catalogues toutes les images. Ces infor-
mations complmentaires peuvent par ailleurs faire lobjet de recherches.
Import de
photographies
Lorsque lenvironnement de bureau Gnome est correctement congur et que votre appareil
est reconnu, une bote de dialogue apparat automatiquement lorsque vous branchez
lappareil photo pour vous demander si vous souhaitez importer les images. Choisir Impor-
ter des photos lance alors le programme gThumb. Suivant le type dappareil apparat alors
soit une bote de dialogue, soit un aperu des images disponibles (dont la gnration peut
prendre un certain temps). Pour transfrer les images depuis laperu vers le disque dur
local, passez par le menu Fichier > Importer des photos.
Dans la bote de dialogue dimport, slectionnez les photos importer laide de la souris
ou de la combinaison de touches Ctrl+A (voir Figure 9.1). Par dfaut, gThumb enregistre les
photos importes dans un nouveau rpertoire de votre dossier personnel, dont le nom est
constitu partir de la date et de lheure courantes. En revanche, si vous renseignez une
valeur dans le champ Film, les images seront enregistres dans le dossier photos/
nom_du_film au lieu de cet emplacement par dfaut. Vous pouvez ensuite affecter les photos
importes une ou plusieurs catgories.
Figure 9.1
Importer des photos
avec gThumb.
Linux Livre Page 139 Mardi, 23. septembre 2008 1:05 13
LINUX 140
En option, vous pouvez indiquer si les images doivent tre effaces de lappareil aprs leur
transfert et si les noms de chiers originaux doivent tre conservs. Normalement, gThumb
attribue aux chiers de nouveaux noms de la forme 000001.jpg, 000002.jpg, etc.
Lorsque vous devez importer un grand nombre de photos, il est possible que la camra steigne (par mesure
dconomie dnergie) au cours du transfert. Sensuivent des messages derreur, des fichiers dimages dfec-
tueux ou vides. Une solution : effacez les fichiers problmatiques de votre ordinateur, rallumez lappareil
photo et importez nouveau les images dont le transfert a t interrompu. Avec de nombreux appareils
photo, vous pouvez contourner le mode dconomie dnergie en appuyant de temps autre sur un des bou-
tons de lappareil durant le transfert.
Si la bote de dialogue napparat pas automatiquement lorsque vous branchez un appareil photo
(noubliez pas dallumer lappareil !), lancez le programme gThumb la main et passez par le menu Fichier
> Importer des photos ; cliquez alors sur licne en forme dappareil photo et slectionnez vous-mme le
modle de votre appareil. Si vous ne trouvez ni votre appareil ni un modle qui lui soit compatible dans la
longue liste propose, essayez loption USB PTP Class Camera. Si cela ne donne aucun rsultat, cest que
gThumb ne peut pas communiquer avec votre appareil. Dans ce cas, vous devrez lire directement le
contenu de la carte mmoire laide dun lecteur de cartes.
Gestion des
images
gThumb connat trois modes dafchage, parmi lesquels vous pourrez basculer laide des
boutons correspondants, du menu Afchage ou des touches Alt+1 Alt+3 :
Lafchage par dossiers. gThumb vous permet de slectionner, dans le panneau de gau-
che, un rpertoire du disque dur et afche dans la partie droite un aperu de toutes les
photos quil contient (voir Figure 9.2).
Lafchage par catalogue. gThumb prsente dans le panneau de gauche tous les catalo-
gues et bibliothques dnis (dont nous parlerons davantage un peu plus loin) et, dans
la partie droite, un aperu de toutes les photos sy trouvant.
Lafchage par image. gThumb prsente une image en taille maximale. Les boutons Prc-
dent et Suivant ou les touches Page prcdente et Page suivante vous permettent de passer
dune photo lautre. Vous pouvez appliquer des traitements (correction des couleurs,
redimensionnement, etc.) limage courante grce aux commandes du menu Image.
Figure 9.2
Affichage par dossier
avec la sous-fentre
dinformations dtailles.
Linux Livre Page 140 Mardi, 23. septembre 2008 1:05 13
141 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
Lafchage par dossier et par catalogue est adapt pour slectionner et copier/dplacer/modi-
er plusieurs images. Ces vues fournissent galement un bon aperu lorsquil y a beaucoup
dimages. Afchage > Afcher/Cacher > Aperu de limage vous permet douvrir une sous-
fentre supplmentaire prsentant au choix ( laide des icnes gurant ct du nom du
chier) un aperu de plus grande taille pour limage slectionne, les proprits EXIF du chier
(donnes de luminosit, contraste, etc.) ou encore un commentaire optionnel (voir Figure 9.2).
Orienter
correctement
les photo-
graphies
La premire tape dans le traitement dun grand nombre de photos consiste gnralement
corriger, le cas chant, lorientation des images. Suivant le niveau de sophistication de
votre appareil photo, cela peut aller trs vite ou ncessiter un certain travail manuel :
Tourner automatiquement les images. De nombreux appareils photo enregistrent, en
mme temps que la photo, la position dans laquelle celle-ci a t prise. Si cest le cas de
votre appareil, slectionnez lensemble des images du dossier courant avec les touches
Ctrl+A puis excutez lopration Outils > Pivoter les images : activez les options Apply
to all images (appliquer toutes les images) et Apply physical transform (appliquer la
transformation physique) avant de cliquer sur le bouton Appliquer.
Pivoter manuellement les images. Si ltape prcdente na aucun effet, vous devrez inter-
venir manuellement et avez pour cela le choix entre deux manires de procder. La
mthode la plus simple consiste slectionner nouveau lensemble des photos par le
biais de Ctrl+A, puis dexcuter Outils > Pivoter les images. Vous pouvez alors corriger
lorientation de limage courante et enregistrer la modication laide du bouton Appli-
quer. Limage suivante apparat alors dans la bote de dialogue. Pour les images qui nont
pas besoin dtre corriges, cliquez sur Appliquer sans pivoter pralablement limage. De
cette manire, vous parcourez lensemble des images et corrigez celles qui le ncessitent.
Il est toutefois plus efcace de slectionner pralablement toutes les images devant
subir une rotation identique (par exemple 90 droite). Appelez nouveau Outils >
Pivoter les images et corrigez la premire image. Avant de cliquer sur le bouton Appli-
quer, activez loption Apply to all images (qui devrait, de fait, sintituler Appliquer
toutes les images slectionnes).
La rotation des images au format JPEG seffectue sans la moindre perte de qualit. Nor-
malement, toute modication une image JPEG implique une lgre dgradation, car
les images doivent tre compresses chaque enregistrement. Cette rgle nest toutefois
pas valable pour les rotations dun facteur multiple de 90, grce un algorithme intel-
ligent.
Catgories,
commentaires,
catalogues et
bibliothques
Il est fondamentalement judicieux denregistrer les images correspondant des thmes diff-
rents dans des rpertoires ou sous-rpertoires ddis (par exemple photos/2007/Nol ou pho-
tos/2008/Vacances_au_Japon). Ce systme de regroupement simple ne suft toutefois plus
pour retrouver rapidement une photo lorsque le nombre total de celles-ci atteint des propor-
tions importantes. gThumb propose par consquent dautres solutions pour identier les ima-
ges. Cela implique naturellement des efforts supplmentaires de votre part, mais pour
lesquels vous serez rcompens ds que vous utiliserez pour la premire fois dition > Search.
Catgories. Chaque image peut tre affecte une ou plusieurs catgories. Pour ce
faire, slectionnez les images concernes, excutez dition > Catgories et choisissez la
Linux Livre Page 141 Mardi, 23. septembre 2008 1:05 13
LINUX 142
ou les catgories concernant les images. gThumb connat un certain nombre de cat-
gories standard (anniversaire, famille, vacances, etc.) que vous complterez par vos
propres catgories.
Commentaires. dition > Comment vous permet denregistrer un texte court relatif aux
images slectionnes.
Catalogues. Un catalogue fonctionne comme une liste dimages qui, en ralit, peuvent
tre enregistres dans des rpertoires diffrents. Pour dnir un nouveau catalogue,
activez la vue Catalogue et ouvrez ensuite Fichier > Nouveau catalogue. Revenez
ensuite la vue par dossiers, slectionnez quelques images et excutez dition > Ajouter
au catalogue.
Les catalogues peuvent sembler identiques des rpertoires, mais ils se comportent dif-
fremment. Les images ne sont pas copies lors de linsertion un catalogue. Au lieu de
cela, le chemin des images slectionnes est ajout la liste dlments du catalogue. Les
catalogues offrent donc une mthode de regroupement dimages respectueuse de
lespace disque. Laide en ligne compare un catalogue gThumb une liste de lecture
pour un lecteur audio.
Bibliothques. Lorsque vous avez dni plusieurs catalogues, vous pouvez les rassem-
bler au sein de bibliothques. Pour ce faire, excutez Fichier > Nouvelle bibliothque en
vue par dossiers. Cliquez ensuite du bouton droit de la souris sur un catalogue et slec-
tionnez Dplacer, pour laffecter une bibliothque.
Les informations relatives aux catgories, commentaires, catalogues et bibliothques sont enregistres non
pas dans les fichiers dimage directement mais dans des fichiers complmentaires. Par consquent, ces don-
nes ne peuvent tre utilises que par gThumb et pas par dautres programmes. La correspondance entre
images et informations complmentaires est perdue lorsque les images sont renommes ou dplaces vers
dautres rpertoires !
Traitement
dimages
En vue image, gThumb peut galement raliser des oprations simples de traitement des
images (redimensionner limage, optimiser la luminosit, supprimer les yeux rouges, etc.).
Toutes les commandes correspondantes se trouvent dans le menu Image.
Fonctionnalits
additionnelles
gThumb propose encore diverses fonctionnalits que nous ne pouvons que mentionner ici
faute de place :
Le bouton Diaporama lance une prsentation automatique de lensemble des photos
contenues dans le rpertoire courant. Le programme passe donc en mode plein cran.
dition > Prfrences > Diaporama vous permet de xer la dure de prsentation des
images, dactiver un mode alatoire, etc. La touche Echap met n au diaporama.
Outils > Utiliser limage comme papier peint dnit limage en cours comme fond
dcran.
Outils > Convert Format gnre des copies des images slectionnes vers un autre format
(JPEG, PNG, TGA ou TIFF).
Outils > Change Date tablit la date de cration des images slectionnes une date
particulire ou ramne cette valeur la date de cration originelle.
Linux Livre Page 142 Mardi, 23. septembre 2008 1:05 13
143 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
Outils > Create Index Image gnre des images dindex pour les photos slectionnes.
Le bouton Style vous permet de paramtrer diverses caractristiques des images
dindex, par exemple le nombre dimages rduites par page (par dfaut, trois lignes et
quatre colonnes), la taille des images rduites (par dfaut 128 128 pixels), etc.
dition > Renommer permet de donner de nouveaux noms aux images slectionnes
(par exemple suivant un format particulier tel que 001.jpg, 002.jpg, etc.).
Fichier > Write To CD grave les images slectionnes ou la totalit du rpertoire courant
sur un CD ou un DVD. La commande se contente de transmettre les images au gestionnaire
de chiers.
9.4 digiKam
digiKam est un programme KDE aux multiples facettes et qui permet dimporter des photos
depuis un appareil numrique, de grer les images et de raliser certains traitements de
base. Comme gThumb, ce programme offre plusieurs moyens de classer les images. digi-
Kam peut tre tendu au moyen dun systme de greffons. Grce ceux-ci, il peut travailler
directement sur les chiers RAW, grer des prols de couleurs, appliquer divers ltres sur
les images, etc.
Au premier lancement du programme, vous devez dnir un rpertoire de base pour vos
images (par dfaut, ~/Pictures. Au besoin, vous pouvez modier ultrieurement ce rper-
toire par le biais de Conguration > Congurer digiKam > Albums.
Import de
photographies
Avant de tenter le premier transfert de photos, vous devez procder une tape de
conguration. Dans la plupart des cas, il suft de cliquer sur le bouton Dtecter automati-
quement de la bote de dialogue Conguration > Congurer digiKam > Appareils photo.
Lappareil apparat alors dans le menu intitul Appareil photo. Lorsque vous excutez
Appareil photo > Nom_de_l_appareil ou Appareil photo > Nom_de_la_carte_mmoire, digi-
Kam gnre un aperu de toutes les images. Le bouton Transfrer vous permet dimporter
lensemble ou une slection des images dans le sous-rpertoire Nom_d_album du rpertoire
de base.
Gestion des
images
digiKam ne vous permet de grer que les images qui se trouvent dans le rpertoire de base.
Vous devrez donc y copier toutes les images qui auraient t jusqu prsent stockes
ailleurs (Album > Importer).
digiKam dsigne chaque rpertoire du rpertoire de base comme un album. Alternative-
ment, vous pouvez aussi rechercher des images en vue par date (voir Figure 9.3). Un clic de
souris sur une image slectionne permet de lagrandir, un second clic vous ramne la vue
par album. Les lments du menu Image vous permettent de modier ou dajouter divers
commentaires, caractristiques et mots-cls supplmentaires pour limage. Ces donnes
supplmentaires, qui seront trs utiles ultrieurement lors des recherches dimages, sont
enregistres non pas directement dans les images mais dans le chier digikam3.db qui se
trouve dans le rpertoire de base. Le panneau droit de la fentre principale vous permet de
ltrer les images par tiquette.
Linux Livre Page 143 Mardi, 23. septembre 2008 1:05 13
LINUX 144
Pivoter les
images
Tant que lappareil enregistre lorientation des images dans les chiers EXIF, Image > Corri-
ger lorientation EXIF devrait vous permettre de corriger lorientation pour toutes les ima-
ges du rpertoire courant qui en auraient besoin. Si cela ne fonctionne pas, les combinaisons
de touches Ctrl+Maj+Flche gauche ou Ctrl+Maj+Flche droite permettent de pivoter les
images slectionnes de 90 vers la gauche ou vers la droite.
Traitement
dimages
En vue par dossiers, vous ne pouvez raliser que des oprations lmentaires (par exemple
pivoter les images). Le menu contextuel dition vous offre toutefois des possibilits plus
avances. digiKam afche alors limage dans une nouvelle fentre, o vous pouvez lenca-
drer, lui donner un titre, en optimiser les couleurs et la luminosit, y supprimer les yeux rou-
ges, la redimensionner, etc. Les modications sont normalement enregistres directement
dans le chier. Si vous ne souhaitez pas en perdre la version originelle, enregistrez la version
corrige par le biais de Menu > Enregistrer sous.
Fonctionnalits
supplmen-
taires
La plupart des fonctionnalits supplmentaires sont accessibles depuis le menu Outils. Vous
pouvez y convertir ou modier par lot toutes les images slectionnes, lancer un afcheur
en mode pleine page, exporter des images vers un iPod, etc. Le menu Album > Export pr-
sente galement des fonctions supplmentaires. Vous y trouverez des commandes pour gra-
ver un CD de photos, transfrer des images vers ou depuis un serveur Flickr, gnrer une
galerie HTML, etc.
De trs nombreuses fonctionnalits de digiKam sont conues sous la forme de greffons
KIPI (KDE Image Plugin Interface). Lorsque vous ne trouvez pas certaines fonctionnalits
individuelles dans digiKam, vriez si les greffons sont installs et activs dans les botes
de dialogue Conguration > Congurer digiKam > Modules externes KIPI et > diteur
dimages.
Figure 9.3
Gestion des images
avec digiKam.
Linux Livre Page 144 Mardi, 23. septembre 2008 1:05 13
145 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
9.5 F-Spot
Le programme F-Spot (voir Figure 9.4) est le nouveau programme par dfaut pour la ges-
tion des images depuis la version 2.22 de Gnome. Mes impressions quant ce programme
taient plutt partages. Dun ct, F-Spot possde une interface bien adapte et quelques
ides intressantes : par exemple, toute modication sur des images nest jamais enregistre
directement dans le chier dorigine mais lest dans des "versions". Vous pouvez ainsi bas-
culer tout moment entre la version dorigine et la version modie dune image et navez
pas vous inquiter denregistrer par erreur des modications irrversibles dans loriginal.
Lorganisation des images suivant un axe temporel est galement une particularit intres-
sante, surtout lorsque le nombre dimages augmente.
Mais, dun autre ct, ce programme se distingue aussi par quelques lourdeurs : F-Spot ne
peut grer que les images quil a pralablement "importes". Normalement, les images sont
copies limport vers le rpertoire ~/Photos, o est cr un sous-rpertoire pour chaque date
de cration de photos. Si vous avez dj organis vos images sur votre disque dur, vous pou-
vez renoncer toute copie physique lors de limport : dans ce cas, F-Spot enregistre diverses
informations dans sa propre base de donnes (chier ~/.gnome2/f-spot/photos.db).
On constate que F-Spot nest pas encore tout fait arriv maturit. Son utilisation peut se
rvler irritante : il nexiste par exemple aucune fonction Annuler directe pour le traitement
des images, non plus quune information claire indiquant sil existe plusieurs versions
dune mme image. Les changements dafchage font constamment perdre de vue limage
en cours. De surcrot, cest un programme exigeant en matire de ressources. Tant quil
sexcute, la charge CPU est toujours proche de 100 % alors quil est parfois difcile de com-
prendre ce que fait vraiment le programme (certaines critiques rendent la dpendance du
programme la bibliothque Mono responsable de cette gourmandise).
Figure 9.4
Gestion dimages
avec F-Spot.
Linux Livre Page 145 Mardi, 23. septembre 2008 1:05 13
LINUX 146
Pour faire court, certains utilisateurs disposant dun ordinateur rapide apprcieront cet outil
pour ses fonctionnalits innovantes. Les autres, insatisfaits par les concepts peu habituels et
limplmentation encore problmatique de cet outil, devront revenir gThumb ou trouver
un autre programme utiliser.
Utilisation F-Spot se comporte diffremment suivant la faon dont il a t lanc. Lune des variantes
consiste ouvrir une image depuis le gestionnaire de chiers par le menu contextuel Ouvrir
avec > F-Spot. Dans ce cas, linterface utilisateur de F-Spot est trs limite. Vous pouvez af-
cher et pivoter limage, mais aucun autre traitement nest disponible. Fichier > Ouvrir le
dossier conduit aux autres images du rpertoire courant.
Pour pouvoir utiliser F-Spot avec lensemble de ses fonctionnalits, vous devez le lancer
directement depuis le menu Gnome ou KDE ou par la commande f-spot. Importez ensuite
les images que vous souhaitez y grer. F-Spot afche alors un aperu des images. Vous pou-
vez modier la taille de laperu par le biais de la rgle en bas droite. Un double-clic sur
une image conduit au mode ddition. Les modications apportes une image sont enregis-
tres dans un nouveau chier qui se trouve dans le mme rpertoire que loriginal. Au nom
dorigine est ajout un complment indiquant la version. Cest la liste droulante Version, en
bas gauche, qui indique quelles versions dune image sont disponibles. Fichier > Version vous
permet de basculer dune version lautre. Pour revenir une version antrieure, slectionnez
la version annuler et effacez-la par le menu Fichier > Supprimer la version.
Pour mieux organiser vos images, vous pouvez leur attribuer par glisser-dposer des ti-
quettes. F-Spot prvoit par dfaut cinq tiquettes (Favoris, Masqu, Lieu, Personnes, vne-
ments). Vous pouvez dnir les tiquettes de votre choix, affecter plusieurs tiquettes une
mme image, etc. Un double-clic sur une de ces tiquettes restreint lafchage aux images
portant effectivement cette tiquette. Pour afcher nouveau toutes les photos, vous devez
supprimer le ltre Rechercher.
9.6 KPhotoAlbum
KPhotoAlbum (anciennement KimDaBa) est un autre programme de gestion des images et
vidos. Ses points forts sont ses fonctionnalits puissantes de recherche et dorganisation.
Pour lenregistrement des donnes relatives aux images, KPhotoAlbum utilise une base de
donnes SQLite. KPhotoAlbum est, par divers aspects, lhomologue de F-Spot pour KDE.
Toutefois, il nest pas tout fait aussi fonctionnel.
KPhotoAlbum prsuppose que tous les chiers images et vidos se trouvent dans un rper-
toire de base (par dfaut ~/Images). Ce rpertoire est mis en place au premier lancement sil
nexiste pas encore. Vous devrez y copier manuellement des images existantes (KPhotoAl-
bum ne prvoit tonnamment pas de fonctionnalit dimport de photos). Chaque fois que le
contenu de ce rpertoire est modi, KPhotoAlbum doit resynchroniser sa base de donnes :
pour ce faire, excutez Maintenance > Rescan for images.
KPhotoAlbum accde aux mmes modules KIPI que digiKam. Vriez donc pralablement
que ces plugins sont installs (en gnral, il sagit du paquetage kipi-plugins).
Donner des
informations
contextuelles
Lutilisation de KPhotoAlbum nest intressante que si vous vous donnez la peine de fournir
pour toutes les images (ou, a minima, pour un grand nombre dentre elles) des informations
contextuelles. Qui ou quoi gure sur cette image ? O a-t-elle t prise ? quelle catgorie
Linux Livre Page 146 Mardi, 23. septembre 2008 1:05 13
147 APPAREILS PHOTO NUMRIQUES, NUMRISATION, GESTION DES PHOTOS
appartient-elle ? Pour fournir ces informations, commencez par slectionner une ou plusieurs
images puis, par le menu contextuel, excutez Set properties for individual images ou Set
properties for multiple images at a time. Vous arrivez alors la bote de dialogue prsen-
te la Figure 9.5. Saisissez-y les informations de votre choix. Lutilisation de cette bote
de dialogue est tonnamment efcace et la procdure pour chaque image ne dure que
quelques secondes. Le classement dune base de donnes dimages complte peut toute-
fois prendre un certain temps.
Rechercher
des images
Une fois que les informations contextuelles sont disponibles pour toutes les images, il est
possible de rechercher des images dans la fentre principale de KPhotoAlbum en quelques
clics de souris, toujours suivant le modle : "me montrer uniquement les images sur lesquel-
les on peut voir un jardin et qui ont t prises au Japon". La recherche parmi les aperus est
de surcrot facilite par une chelle de temps.
Figure 9.5
Classer des images
dans KPhotoAlbum.
Figure 9.6
Aperu des images
dans KPhotoAlbum.
Linux Livre Page 147 Mardi, 23. septembre 2008 1:05 13
LINUX 148
9.7 XSane
XSane est un programme aussi confortable que riche en fonctionnalits pour scanner des
images. Avant de scanner la premire image, basculez du mode Noir et blanc soit vers
Niveaux de gris, soit vers Couleurs, puis choisissez la rsolution souhaite. Par dfaut,
XSane utilise la valeur 72 DPI, ce qui est une rsolution trs faible.
Le bouton Acquisition de laperu de la fentre Aperu vous permet dexcuter une premire
numrisation. Grce au bouton Slectionne laire visible, vous pouvez limiter le domaine
scann la taille de votre choix. Si vous souhaitez excuter une balance des blancs, slection-
nez avec la pipette Choisissez un point blanc sur un point blanc et Choisissez un point noir sur
un point noir. Les pros de la numrisation pourront entreprendre des corrections de couleurs
plus pousses laide de lhistogramme (Fentre > Montrer lhistogramme).
Le bouton Numriser de la fentre principale vous permet de raliser le scan effectif dans la
rsolution choisie. XSane prsente le rsultat du scan dans une nouvelle fentre o vous
pouvez pivoter limage, ladoucir et en modier lchelle. Filtres > Dparasiter limage tente
de supprimer les erreurs de numrisation et les parasites que peut prsenter limage. Pour
les images volumineuses, ce processus risque de prendre un temps relativement long et
naboutit que rarement une amlioration notoire de la qualit de limage. Enn, vous pouvez
enregistrer votre image laide de Fichier > Enregistrer.
Produire des images de haute qualit est un art en soi. Laide de XSane renvoie vers quelques sites web pr-
sentant des astuces ce sujet.
Il est encore plus dlicat de raliser ultrieurement des impressions de qualit des images scannes. La plu-
part du temps, limage numrise doit pralablement tre optimise par le biais dun logiciel de traitement
dimages tel que Gimp. Si vous rencontrez des difficults avec les motifs de type moir, essayez le filtre Flou
> Flou gaussien ou Amlioration > Antiparasites.
Reconnais-
sance de texte
Si le programme gocr (du paquetage ponyme) est install, vous pouvez excuter une
reconnaissance de texte sur limage scanne. Le texte reconnu est enregistr dans un chier
propre (en gnral out.txt). Mes expriences avec cette fonctionnalit ont toutefois t
dcevantes.
Linux Livre Page 148 Mardi, 23. septembre 2008 1:05 13
10
Gimp
Derrire l'acronyme Gimp (Gnu Image Manipulation Program) se cache un logiciel de traite-
ment qui prsente de nombreuses fonctionnalits comparables celles du logiciel commer-
cial Adobe Photoshop. Il existe toutefois une diffrence notable entre les deux : Gimp est un
logiciel libre sous licence GPL. Gimp vous permet, entre autres :
d'ouvrir et d'enregistrer des chiers bitmap dans diffrents formats (parmi lesquels GIF,
JPEG, PNG ou TIFF) ;
d'importer des chiers PostScript (EPS/PS) et Photoshop (PSD) ;
de retravailler des photographies et images numrises (modier la luminosit, le
contraste, les couleurs, etc.) ;
d'appliquer divers ltres (par exemple pour amliorer l'image, crer des effets d'optique,
etc.) ;
de slectionner une partie d'une image, de la dcouper, de la traiter sparment et de la
coller dans d'autres images (montage photo) ;
d'insrer de nouveaux lments graphiques dans une image (lignes, motifs de remplis-
sage, texte, etc.) ;
d'automatiser des oprations Gimp ;
de raliser des traitements par lots sur un grand volume de chiers ;
d'imprimer et d'enregistrer les images rsultantes (en tant que chiers bitmap, PostScript
ou encore dans le format propre de Gimp, XCF, qui enregistre non seulement l'image,
mais aussi des informations sur les modications apportes : masques, calques, etc.).
Ce chapitre est une introduction trs rapide Gimp, sur la base de sa version 2.4. Certaines
distributions proposent encore la version 2.2, qui ne diffre que trs peu de la version 2.4 : ce
chapitre devrait donc, quelques rares exceptions prs (certains raccourcis clavier ont t
entre-temps modis), s'appliquer aussi Gimp 2.2. Vous devez toutefois veiller, si vous tra-
vaillez avec Gimp 2.4, enregistrer rgulirement vos documents : cette nouvelle version
n'est pas encore aussi robuste que la 2.2.
Comme il ne nous est pas possible de dcrire en dtail toutes les fonctionnalits de Gimp, ce
chapitre ne vous prsente qu'un survol des fonctionnalits essentielles. Pour vous documen-
ter de faon plus approfondie sur le sujet, vous pourrez trouver de nombreux ouvrages sur
Gimp ainsi que des sites trs complets, par exemple : http://www.gimp.org/ ; http://
www.gimp.org/docs/ ; http://gimp-savvy.com/ ; http://manuel.gimp.org/
Assimiler les fonctionnalits de Gimp n'est toutefois que la premire tape. Il est galement
essentiel de comprendre comment mettre en pratique ces fonctions de manire approprie.
Avant de pouvoir faire imprimer vos travaux en format poster, vous devrez aussi vous proc-
cuper de calibrer votre cran et votre imprimante : un ouvrage sur les bases du graphisme
pourra donc galement se rvler un investissement judicieux pour tout utilisateur de Gimp.
Linux Livre Page 149 Mardi, 23. septembre 2008 1:05 13
LINUX 150
Rve et ralit Gimp est un logiciel polyvalent et trs puissant. Toutefois, il existe un risque non ngligea-
ble que vos premires expriences soient dcevantes et vous conduisent l'effacer rapide-
ment de votre disque dur. Il existe deux raisons cela : d'une part, ce logiciel demande un
temps d'appropriation et un apprentissage intensif avant de pouvoir tre utilis de manire
efcace ; d'autre part, Gimp est gourmand en ressources matrielles. Pour travailler confor-
tablement, vous aurez besoin de sufsamment de mmoire, d'un processeur rapide et d'un
cran large.
Gimp est frquemment dcrit comme une alternative gratuite, diffrente mais aux fonction-
nalits quivalentes Photoshop, ce qui contribue forger des espoirs ultrieurement
dus. Cette description est un peu trop supercielle :
L'utilisation de Gimp diffre sur certaines parties trs notoirement de celle de Pho-
toshop. Les vrais fans de Gimp afrmeront naturellement que leur logiciel favori est
plus intuitif et plus efcace. C'est vrai pour certaines fonctionnalits, mais d'autres
donnent la nette impression que le logiciel a t conu par des techniciens, pour des
techniciens. De surcrot, il est souvent difcile pour les utilisateurs de Photoshop
migrant vers Gimp de localiser les fonctions recherches dans l'imbrication des
menus.
Il est plus difcile de gnrer des chiers (PostScript) pour une impression profession-
nelle avec Gimp qu'avec d'autres logiciels. La gnration d'images comprenant des tons
directs ou couleurs d'accompagnement (format d'image en couleurs directes) est en
thorie possible, mais les fonctions associes offrent peu de confort. Il manque une prise
en charge directe des couleurs Pantone, mais ce point devrait tre rsolu l'avenir par la
mise disposition de greffons commerciaux.
Alternatives
Gimp
Si Gimp vous parat trop complexe, les logiciels de gestion d'images prsents au Chapitre 9
vous proposent galement quelques fonctions lmentaires de traitement graphique. Si
vous n'avez besoin que d'optimiser rapidement le contraste d'une image, ces outils vous
sufront largement.
Si vous recherchez un logiciel simple de dessin du type Microsoft Paint, un coup d'il au
programme KDE kolourpaint devrait se rvler intressant.
En termes de complexit et de fonctionnalits, krita se situe mi-chemin entre Gimp et
kolourpaint. Ce programme fait partie de la suite bureautique KDE. Elle conjugue une uti-
lisation relativement simple avec des fonctionnalits avances (y compris la gestion des calques
et de trs nombreux ltres).
Si vous ne souhaitez pas renoncer aux fonctionnalits de Gimp, mais que vous recherchiez une
utilisation proche de Photoshop, prenez le temps de tester le portage GimpShop.
Les commandes de conversion d'images vers diffrents formats seront prsentes au Chapi-
tre 15.
Gimp et toutes les alternatives que nous venons de prsenter sont des logiciels de traite-
ment d'images bitmap (travaillant sur des pixels). Il existe galement sous Linux divers
programmes de dessin vectoriel : le composant OpenOfce Draw, le logiciel Inkscape ou
encore krita.
Linux Livre Page 150 Mardi, 23. septembre 2008 1:05 13
151 GIMP
10.1 Formats de fichiers
Gimp prend en charge de nombreux formats graphiques pour l'ouverture et l'enregistre-
ment des chiers. Cette section donne un aperu des formats essentiels et tente d'expliquer
quelles utilisations est adapt chaque format.
Cette astuce vaut pour tous les formats pris en charge par Gimp : lorsque, l'enregistrement, vous ajoutez
l'extension *.gz ou *.bz2, le fichier est de surcrot compress. Ceci n'a toutefois de sens que pour les formats
de fichiers non comprims par ailleurs.
Les fichiers portant cette extension seront automatiquement dcompresss l'ouverture. bzip2 compresse
un peu mieux que gzip, mais il est notoirement plus lent.
XCF et PSD XCF est le format de chier propre Gimp. C'est le seul format pour lequel toutes les infor-
mations de travail et de construction de l'image (calques, masques, slection en cours, etc.)
sont effectivement enregistres. Lorsque vous travaillez sur une image, XCF est le seul format
rellement adapt pour les copies de travail.
Le format PSD est l'homologue du format XCF pour Photoshop.
Formats
bitmap
Les formats bitmap ne permettent d'enregistrer qu'un seul calque. Si votre image est consti-
tue de plusieurs calques, ceux-ci doivent tre fusionns l'enregistrement. Si vous rouvrez
ultrieurement ce chier, seul cet unique calque fusionn sera disponible : vous aurez perdu
toute possibilit de modier l'image. Pour cette raison, un avertissement est afch avant
l'enregistrement effectif du chier et vous devez conrmer la fusion en cliquant sur le bou-
ton Exporter. Vous devez obligatoirement enregistrer aussi votre travail au format Gimp
XCF si vous souhaitez pouvoir le modier ultrieurement sans contrainte !
BMP. Ce format sert uniquement pour l'change de chiers avec le monde Microsoft
Windows.
GIF. Le format GIF est adapt pour l'enregistrement de petites images et animations lors-
que l'on cherche conomiser l'espace disque. Les bitmaps sont comprims de manire
efcace et sans perte, mais ils sont limits 256 couleurs. Ce format gre la transparence.
Pour enregistrer des images Gimp en tant que GIF, vous devez pralablement les passer
en mode 256 couleurs l'aide du menu Image > Mode > Couleurs indexes.
JPEG. Ce format se distingue par un algorithme de compression trs efcace particuli-
rement adapt pour les photographies (nettement moins pour les captures d'cran ou le
dessin technique). La compression JPEG s'effectue avec perte de qualit, c'est--dire que
les images JPEG diffrent des originaux. Ces diffrences ne sont en gnral pas visibles
l'il nu lorsque le facteur de qualit choisi l'enregistrement est sufsamment lev.
La valeur par dfaut (75 %) est gnralement raisonnable. Pour les images trs dtailles
ou avec des contours trs marqus, vous devriez passer cette valeur 90 %.
Lorsque vous ouvrez, modifiez puis enregistrez une image JPEG plusieurs reprises, la qualit diminue
chaque fois. Si les pertes occasionnes par la compression sont, la premire application de l'algorithme,
Linux Livre Page 151 Mardi, 23. septembre 2008 1:05 13
LINUX 152


peine visibles l'il nu, les modifications s'accumulent ensuite de faon peu esthtique. Le format JPEG
n'est donc absolument pas adapt pour faire des copies de travail ! Enregistrez uniquement l'image finale
au format JPEG et archivez une copie XCF du fichier de travail !
PNG. Ce format a t conu comme un successeur de GIF et il lui est tout point de vue
suprieur : pas de limitation 256 couleurs, malgr une compression de meilleure qua-
lit et sans perte, etc. De plus, la majorit des navigateurs web utiliss aujourd'hui peut
grer sans problme les images PNG.
TIFF. Ce format est apprci des graphistes professionnels. Les images sont enregistres
sans perte. Grce l'algorithme de compression LZW, la taille des chiers pour les cap-
tures d'cran ou les dessins techniques devient trs faible. Toutefois, Microsoft Word
rencontre des problmes pour l'afchage et l'impression de chiers compresss en tant
que TIFF.
Il existe de nombreuses variantes du format TIFF, ce qui occasionne des problmes
l'change de chiers TIFF entre programmes diffrents.
PostScript
(PS, EPS)
Normalement, vous ne devez enregistrer des images au format PostScript que lorsque vous
souhaitez utiliser le chier rsultant dans un autre logiciel (par exemple un logiciel de trai-
tement de texte). Vous disposez alors de deux options intressantes :
EPS (Encapsulated PostScript) signie qu'un commentaire est enregistr au dbut du chier
PostScript pour fournir les dimensions exactes de l'image. Cette information est obligatoire
pour pouvoir insrer correctement l'illustration dans un autre programme. Les chiers PostS-
cript conus pour tre ultrieurement utiliss dans d'autres logiciels (et non simplement pour
l'impression) reoivent en gnral l'extension de chier *.eps (et non simplement *.ps).
Aperu signie qu'en plus des commandes PostScript un bitmap est enregistr. Cela permet
galement de gnrer un aperu dans les programmes n'ayant pas accs un interprteur
PostScript. Le bitmap d'aperu augmente notablement la taille du chier sans pour autant
ajouter d'informations utiles pour l'impression. N'activez donc cette option que si vous sou-
haitez utiliser les chiers PostScript sur un ordinateur Windows (qui ne possde aucune
capacit d'aperu des PostScript).
Gimp peut galement importer les chiers PostScript et PDF. Il fait appel pour cela l'inter-
prteur PostScript Ghostscript (voir aussi le Chapitre 15 ce sujet). Pour une bonne qualit
graphique, les lments dcisifs sont une rsolution adapte (donc sufsamment leve) et
l'option de lissage.
10.2 Premiers pas
Vous pouvez lancer Gimp soit depuis le menu Dmarrer de votre environnement de bureau,
soit par le biais de la commande gimp. Au premier lancement apparat une bote de dialogue
pour effectuer la conguration de base de l'outil. Il vous suft, pour chaque cran, de cliquer
sur le bouton Suivant : les paramtres par dfaut ne requirent en gnral aucune modication.
Contrairement Adobe Photoshop, dont l'ensemble des outils est intgr au sein d'une
seule grande fentre, plusieurs petites fentres sont afches au lancement de Gimp, cha-
cune tant ddie un groupe de fonctionnalits. Il existe de surcrot d'autres fentres
Linux Livre Page 152 Mardi, 23. septembre 2008 1:05 13
153 GIMP
d'outils apparaissant suivant les besoins (voir aussi le menu Fichier > Dialogues). Ceci
conduit frquemment avoir cinq ou six fentres Gimp ouvertes simultanment, parfois
mme davantage (voir Figure 10.1). Si vous avez lanc d'autres programmes en plus de
Gimp, la fentre peut rapidement devenir surcharge et donc inutilisable.
La solution optimale ce problme consiste utiliser des bureaux virtuels et en ddier un
l'utilisation de Gimp (si vous utilisez votre navigateur web, client de courrier, OpenOfce,
etc. dans le bureau virtuel numro 1, passez au bureau virtuel numro 2 avant de lancer
Gimp). Vous pouvez slectionner le bureau virtuel de votre choix en cliquant sur le numro
correspondant, dans la section du tableau de bord correspondant aux bureaux virtuels.
Utilisation
des menus
Gimp est quip de deux menus :
Le menu Gimp se trouve dans la fentre principale. Il ne prsente que quelques com-
mandes lmentaires valables pour Gimp dans son ensemble (par exemple Fichier >
Ouvrir ou Fichier > Fermer).
Chaque fentre d'image est par ailleurs quipe du menu idoine. Celui-ci compte
d'innombrables commandes, toutes ddies au traitement de l'image courante. Le menu
peut galement tre appel n'importe o dans la fentre en tant que menu contextuel
(bouton droit de la souris). Toutes les commandes illustres dans ce chapitre, moins
d'tre explicitement indiques comme faisant partie du menu Gimp, sont des commandes
tires de ce menu.
Ouvrir et
enregistrer
des images
Fichier > Ouvrir vous conduit une bote de dialogue de slection de chier. Cette bote de
dialogue comprend un aperu de l'image slectionne. Si cet aperu n'est pas afch auto-
matiquement, vous devrez cliquer sur le bouton Preview. Aprs ouverture, le chier est afch
dans une nouvelle fentre d'image.
l'enregistrement, vous avez le choix entre les diffrents formats de chiers que nous avons
prsents la section prcdente. Pour rsumer : si vous souhaitez ultrieurement pouvoir
retravailler sur une image, vous devriez l'enregistrer au format fichier.xfc.gz : Gimp uti-
lise ainsi son propre format XFC conservant les informations de composition de l'image (par
exemple les calques) ; l'extension supplmentaire .gz garantit la compression du chier.
Figure 10.1
gauche, la fentre
principale de Gimp ;
au centre, deux fentres
d'outils ; droite,
une fentre d'image.
Linux Livre Page 153 Mardi, 23. septembre 2008 1:05 13
LINUX 154
Il est relativement frquent de voir apparatre l'enregistrement un avertissement indiquant que
l'image doit tre modie avant de pouvoir tre enregistre : lorsque le format ne prend pas en
charge la transparence, les parties transparentes de l'image sont remplies en blanc ; lorsque le
format de chier ne gre pas les calques (ce qui est le cas sur tous les formats bitmap), ceux-ci
doivent tre fusionns. De telles modications ne concernent toutefois que le chier enregistr et
non les donnes actuellement utilises par Gimp : vous pouvez donc sans crainte cliquer sur
Exporter, mais n'oubliez pas d'enregistrer ultrieurement votre image au format XCF.
Commandes
de base
Lorsque la fentre d'image est active, vous pouvez agrandir l'image avec la touche + (plus) et la
rduire avec la touche (moins). La touche 1 permet de ramener le facteur d'agrandissement
1 (c'est--dire que chaque pixel de l'image est afch sur un pixel de l'cran). Afchage > Ajus-
ter la fentre l'image (ou la combinaison de touches Ctrl+E) permet d'adapter la taille de la
fentre l'image actuellement afche. Si vous avez d rduire le facteur d'agrandissement
pour afcher une image trs haute rsolution, cette commande rduit la taille de la fentre.
Si l'image courante est plus grande que la fentre avec le facteur d'agrandissement actuelle-
ment utilis, seule une partie de l'image peut tre afche. Vous pouvez alors dplacer la
section afche l'aide des ascenseurs de la fentre. Alternativement, vous pouvez aussi
tout simplement dplacer l'image dans la fentre l'aide du bouton central de la souris.
Image > Transformer > Rotate permet de pivoter l'image de 90, 180 ou 270.
Impression
Fichier > Imprimer vous conduit une bote de dialogue quelque peu difcile lire (voir
Figure 10.2). Si cette commande n'est pas disponible, vous devrez installer (suivant votre distri-
bution) le paquetage gimp-print ou gutenprint-plugin. Si la bote de dialogue apparat en lan-
gue anglaise, vous devrez en outre installer le paquetage de localisation correspondant (par
exemple, sur Ubuntu, language-pack-fr). La traduction peut toutefois se rvler incomplte.
Dans de nombreux cas, un avertissement apparat avant la bote de dialogue d'impression :
c'est le mme que celui afch lors d'un export vers un format bitmap. Conrmez simplement
Figure 10.2
La bote de dialogue
d'impression de Gimp.
Linux Livre Page 154 Mardi, 23. septembre 2008 1:05 13
155 GIMP
l'avertissement en cliquant sur le bouton Exporter. L'impression du chier ne modie en
rien les donnes de travail du chier dans Gimp !
Contrairement la quasi-totalit des autres programmes Linux, la bote de dialogue
d'impression de Gimp ignore la conguration d'impression du systme. Dans la congura-
tion de base, Gimp envoie les donnes PostScript l'imprimante par dfaut. Si vous souhai-
tez utiliser une autre imprimante, vous devez renseigner ses paramtres directement dans la
bote de dialogue d'impression de Gimp ! La raison de ce comportement particulier est que
l'impression d'images pose bien souvent des contraintes diffrentes de celles associes
l'impression d'un document classique. Il est ainsi possible de mettre en place des paramtres
d'impression spcialement optimiss pour Gimp.
La rgle chelle vous permet d'adapter la taille de l'image. Lorsque l'image mise l'chelle pos-
sde une taille infrieure au format de papier utilis, vous pouvez alors en dplacer l'aperu
avec la souris pour le positionner, ou tout simplement cliquer sur un des trois boutons Centrer.
L'onglet Sortie vous permet de slectionner le type de sortie souhait (Couleur ou Niveaux de
gris). Le bouton Rglages ns vous conduit une bote de dialogue supplmentaire dans
laquelle vous pouvez modier le contraste, la luminosit, l'algorithme de tramage ainsi que
divers autres paramtres. Les modications ne s'imposent ici qu' titre exceptionnel. Pour ne
pas avoir saisir les paramtres chaque nouvelle impression, vous pouvez les enregistrer.
10.3 Rgles de survie
Cette section rassemble quelques astuces et rgles de survie pour travailler efcacement
avec Gimp. Elle conclura ce court chapitre sur Gimp : elle devrait faciliter vos premiers pas
avec cet outil.
Utilisation
du clavier
Vous pouvez appeler et utiliser pratiquement toutes les fonctionnalits de Gimp l'aide du
clavier. Le problme le plus frquent est toutefois que les commandes clavier concernent
non pas la fentre d'image mais la dernire bote de dialogue utilise (o d'autres raccourcis
clavier ont cours).
Lorsque vous activez l'option Use dynamic keyboard shortcuts dans la bote de dialogue
Fichier > Prfrences > Interface, vous pouvez trs simplement modier les raccourcis clavier
des commandes : choisissez la succession de menus suivre avec la souris puis, pour la com-
mande modier, saisissez le raccourci de votre choix. N'oubliez pas d'enregistrer les raccour-
cis ds maintenant : les nouvelles valeurs sont enregistres dans le chier ~/.gimp-n.n/menurc.
Interrompre
une action
la souris
Lorsque vous souhaitez interrompre une action de souris en cours, gardez le bouton gauche
de la souris enfonc et appuyez sur le bouton droit. Relchez tout d'abord le bouton gauche,
puis le bouton droit.
Grille et guides Il est souvent difcile de positionner prcisment la souris dans Gimp. Utilisez les guides !
Lorsqu'il s'en approche, le pointeur de la souris se place automatiquement, comme s'il tait
attir par un aimant, sur ces lignes. Pour gnrer un guide, cliquez sur l'un des bords de
l'image et faites glisser le pointeur vers l'image : le guide apparat alors. Pour dplacer un
guide existant, commencez par activer le bouton Dplacer de la bote outils (l'icne
Linux Livre Page 155 Mardi, 23. septembre 2008 1:05 13
LINUX 156
quatre ches en forme de croix). Vous pouvez utiliser autant de guides que vous le souhaitez
et galement les combiner la grille magntique (Afchage > Aligner sur la grille).
Bote outils La fentre principale de Gimp hberge toujours la bote outils. Il s'agit d'une palette d'icnes
reprsentant les outils de Gimp. Tous les outils peuvent galement tre activs par le biais du
clavier. Les raccourcis clavier sont donns dans le menu Outils de la fentre d'image.
Pour chaque outil, il existe une bote de dialogue de paramtrage. Cette bote de dialogue
est normalement afche comme un lment de la fentre principale de Gimp, mais elle
peut galement en tre dtache. Si le dialogue de paramtrage n'apparat pas, ouvrez-le en
double-cliquant sur l'icne de l'outil correspondant.
Dialogues De nombreuses fonctionnalits de base sont affectes par les paramtres des dialogues Pin-
ceau (crayon et pinceau) et Remplissage (motif de remplissage). Ces botes de dialogue sont
accessibles par la commande Dialogues du menu contextuel.
Tous les dialogues (mais pas la fentre d'image) peuvent tre dplacs et amarrs les uns
aux autres par glisser-dposer. Vous pouvez ainsi garder une vue d'ensemble des fentres
lorsque celles-ci sont nombreuses.
Dtacher
des menus
Lorsque vous utilisez frquemment un sous-menu particulier (par exemple Image > Trans-
former), vous pouvez tout simplement lui attribuer son propre dialogue. Pour cela, ouvrez
le menu dans la fentre d'image par le biais du menu contextuel. Ce n'est que l (et non dans
le menu principal) qu'apparat en haut du menu une ligne pointille. Ds que vous cliquez
dessus, le menu se voit affecter sa propre fentre.
Couleurs Toutes les commandes de peinture et de dessin utilisent les couleurs de premier plan et
d'arrire-plan dnies dans la bote outils. Vous pouvez ouvrir le dialogue permettant de
modier ces couleurs d'un double-clic sur le champ de couleur correspondant. La petite
icne en bas gauche rtablit les couleurs par dfaut noir et blanc ; la double che intervertit
couleur de premier plan et couleur d'arrire-plan.
Annuler
et refaire
Ctrl+Z vous permet d'annuler les cinq dernires oprations, Ctrl+Y permet de les rtablir.
La bote de dialogue de conguration dition > Prfrences > Environnement vous permet
de xer le nombre d'annulations autorises (attention au fait que l'espace mmoire requis
peut rapidement goner !).
La bote de dialogue dition > Historique d'annulation vous donne un accs facile aux der-
nires oprations effectues. La fentre prsente chacune des tapes ralises avec un aperu
de l'image rsultant de l'opration correspondante. Un clic de souris vous permet de revenir
un tat antrieur.
Paramtres
configurs
par rgles
De nombreux effets et paramtres sont pilots par une rgle. Ces rgles sont toutefois dif-
ciles utiliser prcisment avec la souris. Utilisez plutt les ches du clavier !
Vues Il est souvent pratique de disposer, en plus d'un agrandi ou d'une rduction d'une image, d'une
seconde vue l'chelle 1:1. Pour ce faire, il vous suft d'ouvrir avec Afchage > Nouvelle vue
une seconde fentre prsentant l'image en cours. Vous pouvez alors y congurer l'agrandisse-
ment indpendamment de la premire fentre, afcher la slection (Ctrl+T) ainsi que les guides
(Maj+Ctrl+T). Vous aurez alors une bonne ide du rsultat nal de votre travail.
Systme d'aide Avec de nombreuses distributions, le systme d'aide de Gimp n'est pas install par dfaut
pour des raisons de place. Avant de pouvoir utiliser l'aide, vous devrez donc installer les
paquetages gimp-helpbrowser, gimp-help-common et gimp-help-fr. Pour lancer l'aide, utilisez la
touche F1 ou le menu Aide.
Linux Livre Page 156 Mardi, 23. septembre 2008 1:05 13
11
Audio et vido
Ce chapitre explique comment, sous Linux et dans le respect de la lgalit, vous pouvez
couter des CD et chiers audio, lire des DVD et chiers vido et regarder la tlvision avec
DVB-T. Je suppose ici que le systme audio et vido de votre distribution fonctionne (voir le
Chapitre 22). Cest en gnral le cas avec la majorit des distributions si vous utilisez du
matriel standard.
Aprs une prsentation rapide des principaux lecteurs de CD, je mintresserai aux codecs
audio et vido, ainsi quau cryptage des DVD. Les codecs constituent le fondement du stockage
et de la lecture de chiers audio et vido sous forme compresse. Le cryptage des DVD est le
principal obstacle qua plac lindustrie des mdias sur le chemin des utilisateurs souhaitant
lire leurs DVD sous Linux. Une dernire section traitera de la tlvision numrique (DVB).
Aprs cette introduction quelque peu thorique, je vous prsenterai les principaux lecteurs
audio et vido pour Linux. De nombreux programmes sont conus pour tre universels et
ils remplissent donc plusieurs rles, bien au-del du simple "lecteur de MP3". Ils permettent
de modier les informations relatives des chiers, ux, lecteurs de donnes ou cartes TV,
extraire ("ripper") des CD audio, etc.
Amarok, lecteur audio de KDE ;
Banshee, lecteur audio de Gnome (repose sur la bibliothque Mono) ;
KAudioCreator, logiciel dextraction de CD de KDE ;
MPlayer, lecteur audio et vido ;
Noatun, lecteur audio de KDE ;
RealPlayer/Helix Player, lecteur audio et vido ;
Rhythmbox, lecteur audio de Gnome ;
Sound Juicer, logiciel dextraction de CD pour Gnome ;
Totem, lecteur par dfaut de lenvironnement Gnome ;
XMMS, lecteur audio simple ;
Xine, lecteur audio et vido.
Lorsque vous congurez Gnome ou KDE comme environnement de bureau, vous pouvez
dterminer vous-mme quel est le programme de lecture par dfaut pour un format donn
(voir les Chapitres 4 et 5 ce sujet). Un conseil supplmentaire : si vous recherchez avant
tout un lecteur simple pour couter des chiers locaux, tenez-vous le plus loin possible des
programmes surchargs de fonctionnalits. Personnellement, mon lecteur favori est XMMS
lorsque je souhaite couter lensemble des chiers MP3 ou OGG dun mme rpertoire. Cela
ne ncessite quune courte commande saisir dans la console et je nai pas besoin de me
compliquer la vie avec des listes de lecture ni avec limportation de chiers audio ou une
demi-douzaine de botes de dialogue de conguration remplir...
Linux Livre Page 157 Mardi, 23. septembre 2008 1:05 13
LINUX 158
Multimdia
pour
utilisateurs
avancs
On pourrait crire bien davantage encore sur le sujet du multimdia sous Linux : parmi les
sujets importants voquer, on trouverait la synchronisation avec un iPod, la capture audio,
la rception de tlvision analogique, la programmation denregistrements vido, le son
multicanaux, le montage audio ou vido, Midi, lutilisation dun ordinateur sous Linux
comme serveur audio et vido, etc. Comme je ne suis toutefois pas un expert en matire de
multimdia et que je ne suis pas convaincu que Linux soit la meilleure plate-forme pour cet
usage, je prfre vous renvoyer aux sites web thmatiques suivants :
http://audacity.sourceforge.net/ logiciel de montage son
http://sound.condorow.net/ logiciels audio et MIDI pour Linux
http://lwn.net/Articles/182954/ prsentation dAudio-Stream-Grabber
http://www.linuxtv.org/ regarder la tlvision avec DVB
http://www.exploits.org/v4l/ collection de liens Video for Linux
http://www.pierrox.net/dvr/ magntoscope numrique
http://www.mythtv.org/ Linux comme ordinateur pour regarder la tlvision
http://freevo.sourceforge.net/ Linux comme station multimdia personnelle
http://64studio.com/ distribution multimdia 64 bits
11.1 Bases
Glossaire
Encodeur Un encodeur transforme un chier audio ou vido non compress en un format compress
(par exemple MP3, OGG ou MPEG-4). La tche de lencodeur est de parvenir un compro-
mis entre taille du chier compress et qualit du rsultat, ce qui demande beaucoup de
calculs et peut donc tre trs lent.
Dcodeur Le dcodeur est responsable de lopration inverse, savoir la dcompression du chier
vers un format non compress (voir Chapitre 15) ou vers un format que la carte audio ou
vido peut rendre. Chaque lecteur audio ou vido doit donc faire appel un dcodeur
spcialis pour le format de chier lire.
Codec Le fonctionnement par encodeur/dcodeur est gnralement dcrit par le terme de codec.
Dans le langage courant, toutefois, ce mot dsigne plus simplement la bibliothque ou le
module/greffon de codage/dcodage dun format audio ou vido particulier.
Il existe un vaste ventail de codecs, dont le dcodeur est gnralement disponible gratuite-
ment pour Windows et Mac OS. La situation est un peu plus complique sous Linux. Vous
pourrez trouver, pour beaucoup de codecs populaires, une version open-source du dco-
deur et mme parfois de lencodeur, mais le statut juridique de ces programmes ou biblio-
thques est problmatique lorsque les codecs sont protgs par des licences et des brevets.
Pour les ordinateurs de type i386, il est galement possible dutiliser sous Linux les codecs
prvus pour Windows (un wrapper permet de rendre utilisables sous Linux les fonctions
prvues pour Windows). La situation juridique nest ici gure plus claire, dans la mesure o
ces codecs gratuitement disponibles pour Windows ne prvoient pas de termes de redistri-
bution, encore moins dutilisation sous Linux.
Linux Livre Page 158 Mardi, 23. septembre 2008 1:05 13
159 AUDIO ET VIDO
Cette situation juridique complexe (qui, de surcrot, dpend du pays) conduit ce que la
plupart des distributions ne soient livres quavec relativement peu de codecs. Vous pour-
rez toutefois trouver en tlchargement sur Internet, pour la plupart des distributions, les
implmentations open-source des principaux codecs, ainsi quune collection des codecs
Windows essentiels (w32codecs ou win32codecs).
Une autre solution possible ce dilemme juridique consiste se procurer des codecs sous
licence ofcielle comme en propose la socit Fluendo (naturellement contre rmunration).
Ces paquetages ne sont toutefois disponibles que pour le systme audio GStreamer et sont
donc incompatibles avec la majorit des programmes prsents dans ce chapitre.
Cryptage, CSS Lindustrie multimdia a voulu viter dans le domaine vido un dsastre comparable celui
caus par la diffusion massive de chiers MP3 sur les systmes dchange. Par consquent,
une majorit des DVD vido sont crypts par lalgorithme CSS (Content Scrambling System).
La protection rsultante sest toutefois montre trs limite. Le cryptage est trs simple et a
t rapidement contourn.
Bien plus dnergie a en revanche t dpense pour criminaliser toutes les techniques
open-source de dcryptage. Pour cette raison, lutilisation de la bibliothque de dcryptage
est illgale dans de nombreux pays.
En mai 2007, une cour de justice nlandaise a jug en premire instance que CSS tait "inef-
cace" et a par consquent autoris le contournement de CSS. Nous en sommes hlas encore
loin : en France, le dcryptage de DVD reste interdit et je ne peux donc ici fournir dinfor-
mations ou de liens relatifs la bibliothque permettant de le faire.
Mettons toutefois les choses au point : il ne sagit pas ici de copie illgale ! Je nai tout sim-
plement pas le droit dexpliquer comment vous pouvez lire sous Linux vos DVD achets
lgalement, ce qui est par ailleurs une vidence sous Windows.
CSS ne reprsentait toutefois que la premire tape : les DVD HD et Bluray prsentent un
mcanisme de protection plus fort et partiellement implment au niveau du matriel (par
exemple sur la carte graphique). Mme si ces mesures de protection ont t ou seront
contournes, cest devenu de plus en plus difcile. De faon gnrale, lindustrie des mdias
fait lheure actuelle tout ce qui est en son pouvoir pour compliquer la lecture de supports
vido sur un ordinateur. La seule consolation pour les amateurs de Linux est que les utilisateurs
de Windows ont galement de plus en plus de peine lire un DVD HD ou Bluray.
La lecture de vidos sous Linux pose donc des problmes moins techniques que juridiques.
Une majorit des habitus de Linux parviendront nanmoins congurer leur systme de
faon satisfaisante laide de Google. Mais, pour le dbutant, il est plus pratique de brancher
un lecteur de DVD bon march sur la tlvision ou sur un cran dordinateur ddi.
DRM (MTP) DRM est lacronyme de Digital Rights Management, traduit en franais par MTP ou mesures
techniques de protection. Elles permettent de lier un matriel donn la lecture dun chier
audio ou vido. Le chier peut tre copi, mais non lu, sur un autre ordinateur. Les MTP
sont pour le moment principalement mises en uvre sur les chiers audio (par exemple sur
les chiers tlchargs depuis la boutique iTunes dApple) mais elles devraient jouer un rle
croissant lavenir dans le cadre des tlchargements vido, des livres lectroniques, etc.
Les utilisateurs de Linux sont quasiment compltement exclus de lutilisation lgale des
Linux Livre Page 159 Mardi, 23. septembre 2008 1:05 13
LINUX 160
chiers protgs par MTP, et aucune amlioration ne se prole lhorizon. Essayez, autant
que possible, de nacheter que des chiers de musique et de vido libres de MTP !
Streaming Pour couter la radio en direct depuis Internet, de nombreuses stations de radio proposent
un ux continu. Ainsi, la restitution peut dmarrer ds le dbut de la transmission. Le tl-
chargement nest pas prvu dans ce cadre, souvent pour des raisons de licences. De nom-
breux lecteurs audio permettent toutefois denregistrer dans un chier le ux audio en cours
de lecture.
Formats audio et vido
Il existe de trs nombreux formats audio et vido. Cette section vise non pas une description
complte et dtaille de chacun de ces formats, mais plutt fournir certaines informations
spciques Linux sur des formats frquemment utiliss. Larticle Wikipedia suivant donne
une bonne synthse des codecs audio et vido populaires :
http://fr.wikipedia.org/wiki/Codec
Tous les formats dcrits dans ce qui suit sont pris en charge dune manire ou dune autre
sous Linux. Il existe toutefois des problmes juridiques empchant leur intgration ofcielle
dans une distribution. La section relative au format MP3 vous donnera quelques dtails sur
ce sujet, transposables dautres formats.
WAV WAV est un format audio trs simple dni par Microsoft et sans compression. Il ny a
aucune perte de qualit dans les chiers rsultants mais ceux-ci sont malheureusement
normes. Aucun problme de licence ou de brevet ne vient empcher la lecture ou la gn-
ration de chiers WAV sous Linux.
MP3 MP3 est une abrviation de MPEG-1, audio layer 3, o MPEG est lacronyme de Moving Pic-
tures Experts Group. Cest le format de chier de trs loin le plus connu pour la compression
des chiers audio. Il existe diffrents dcodeurs MP3 pour Linux, sous la forme de comman-
des individuelles ou de programmes (mpg123), aussi bien que de bibliothques. Le choix est
plus restreint en matire dencodage ; en pratique, seul lame est vritablement utilis.
Bien que lalgorithme de compression MP3 ait t majoritairement dvelopp par lInstitut
Fraunhofer, plusieurs socits (Alcatel, Sisvel, Thomson, entre autres) dtiennent des bre-
vets relatifs au MP3. Cela signie que les encodeurs MP3 sont soumis une licence, mme si
vous les distribuez gratuitement. Pour cette raison, on ne trouve pas de distribution Linux
proposant directement un encodeur MP3. Mme sur Internet, les encodeurs MP3 ne sont
gnralement mis disposition que depuis des pays o les brevets MP3 nont pas cours.
La situation des dcodeurs MP3 (lecteurs MP3) est lgrement meilleure : mme si cette
technique est galement soumise brevet, lInstitut Fraunhofer et la socit Thomson ont
pour le moment donn leur accord pour que les lecteurs open-source puissent tre utiliss
sans licence (http://mp3licensing.com).
Les chiers MP3 contiennent galement (en n de chier) des informations sur le titre,
linterprte, etc. Ces informations sont appeles ID3-Tags. Dautres formats audio permettent
galement denregistrer les informations correspondantes.
ID3-Tags Les balises ID3-Tags sont des informations complmentaires enregistres au sein du
chier MP3. Vous pouvez entre autres y renseigner le titre, linterprte, le nom de lalbum,
le compositeur, une image de la couverture du CD, etc. Deux standards ont cours pour
Linux Livre Page 160 Mardi, 23. septembre 2008 1:05 13
161 AUDIO ET VIDO
lenregistrement des informations ID3 : ID3v1 et ID3v2, comprenant de nombreux champs
textes supplmentaires et des possibilits dextension. Tous les lecteurs audio analysent les
balises ID3 et la majorit des lecteurs est compatible avec les deux standards.
Les informations ID3 sont gnralement cres et enregistres au moment de lextraction
des pistes audio et de la conversion au format MP3. Il existe par ailleurs de nombreux outils
pour modier ultrieurement ces informations, voire pour passer dun standard lautre (ce
que permettent, par exemple, loutil Gnome easytag ou le lecteur Amarok).
M3U M3U est non pas un format audio ou vido mais un format populaire pour les listes de lec-
ture. Le format des chiers *.m3u est trs simple : chaque ligne contient le chemin ou
ladresse Internet dun chier audio. Initialement prvu uniquement pour les chiers MP3,
ce format a depuis t utilis pour dautres types de chiers audio.
La plupart des lecteurs permettent dimporter des rpertoires entiers de chiers audio et de
les insrer des listes M3U. Il peut galement tre intressant de gnrer soi-mme les
fichiers M3U. La commande suivante gnre un chier M3U contenant lensemble des chiers
MP3 dun rpertoire :
utilisateur$ find repertoire_audio -name *.mp3 > tous.m3u
Ogg Vorbis Ogg Vorbis est lalternative open-source au format MP3. Ogg Vorbis comprend, outre un
nouveau type de donnes audio (extension de chiers .ogg), un logiciel dencodage et de
dcodage. Il a t dvelopp en raction aux problmes de brevets et de licences associs au
format MP3. Vous trouverez plus dinformations son sujet sur le site suivant :
http://www.vorbis.com/
WMA Windows Media Audio est un autre codec audio dvelopp par Microsoft, avec prise en
charge des MTP. Ce codec est standardis sous lappellation VC-1 et il en existe une impl-
mentation open-source (par exemple pour MPlayer ou dans le paquetage ffmpeg/
!!libavcodec0d).
AAC Advanced Audio Coding est un autre dveloppement issu de lalgorithme MP3, dni dans le
standard MPEG-2 et prenant en charge les MTP. AAC est trs rpandu et utilis, entre
autres, sur la quasi-totalit des chiers audio diTunes. Il existe des encodeurs et dcodeurs
AAC pour Linux (faac/faad et libfaac/libfaad) qui ne permettent toutefois de lire et de
modier que des chiers sans MTP.
ATSC A/52
et AC-3
ATSC A/52 ou, en abrg, AC-3 est un format audio multicanaux dvelopp par Dolby Digital,
utilis par exemple dans la plupart des DVD. liba52 en constitue un dcodeur open-source.
Real Audio La socit RealNetworks a dvelopp un grand nombre de formats audio et vido commer-
ciaux concurrents des formats Windows Media. Si vous ne devriez, en pratique, rencontrer
que rarement des chiers Real Video, les formats Real Audio sont relativement populaires,
particulirement pour la diffusion radio. Vous pouvez lire les chiers et ux Real Audio
avec, au choix, le lecteur RealPlayer gratuit (voir un peu plus loin) ou avec les lecteurs open-
source Totem, MPlayer et xine.
MPEG-1, -2
et -4
MPEG-1, -2 et -4 dnissent plusieurs formats de compression de donnes audio et vido.
Certaines parties importantes de MPEG-4 sont implmentes de faon similaire dans diff-
rents codecs, tous compatibles MPEG-4 (par exemple XviD, DivX ou Apple QuickTime).
Linux Livre Page 161 Mardi, 23. septembre 2008 1:05 13
LINUX 162
WMV Microsoft a galement dvelopp ses propres codecs Vido sous le nom Windows Media
Video. Les versions 1 3 de WMV prsentent des caractristiques comparables MPEG-4
mais prennent en charge les MTP.
Theora Theora est lhomologue dOgg Vorbis pour la vido. Le codec Theora prsente galement
des caractristiques comparables MPEG-4, mais il est bas uniquement sur du code open-
source et est donc librement disponible, ladresse suivante : http://www.theora.org/
Pour gnrer vous-mme des vidos Theora (par exemple pour documenter des procdures
informatiques) vous pouvez utiliser le logiciel Gnome Istanbul :
http://live.gnome.org/Istanbul
Lire des CD audio
La lecture directe de CD audio est un cas particulier, dans la mesure o le lecteur na que des
tches relativement triviales accomplir : analyser le contenu dun CD audio et en lire les
pistes. Cest en fait le lecteur matriel qui accomplit lessentiel du travail.
Prrequis Pour que cela fonctionne, la carte son doit tre correctement congure (voir Chapitre 20).
Le volume global et celui du canal CD doivent tre non nuls. Enn, si vous utilisez autre
chose quun ordinateur aux enceintes intgres, vous devez naturellement brancher votre
installation sur la sortie audio de votre ordinateur.
Fonctionne-
ment interne
Les donnes audio sont transmises la carte son de deux manires possibles : soit directe-
ment (sil existe un cble audio reliant le lecteur la carte son), soit (sans ce cble ou avec un
lecteur externe) par transmission des donnes analogiques au systme audio.
Contrairement aux CD de donnes, les CD audio ne sont pas monts dans le systme de
chiers. Laccs un chier seffectue normalement par le biais du priphrique. De nom-
breux lecteurs partent du principe que /dev/cdrom pointe vers le bon priphrique (par
exemple /dev/scd0 ou /dev/hdc). Si votre ordinateur contient plusieurs lecteurs, vous devez
congurer le lecteur dans le programme mme ou modier le lien symbolique.
Lecteurs La plupart des lecteurs prsents dans la suite peuvent galement grer des CD. Les lecteurs
ddis aux CD sont devenus lexception (on trouve nanmoins encore gnome-cd ainsi que
divers lecteurs en mode texte tels que cdcd, tcd et workbone).
CDDB et
freedb
Certains lecteurs de CD prsentent la particularit de contacter un serveur CDDB (CD
Database) lorsque lordinateur est connect Internet. En gnral, il sagit de http://
www.freedb.org. Ce serveur hberge une norme base de donnes contenant pour chaque
CD enregistr le titre, linterprte, etc. Si votre CD est enregistr auprs de cette base, le lec-
teur ne se contente pas de prsenter le numro de la piste lue mais, par exemple, "Led Zep-
pelin: Dazed and Confused". La reconnaissance du CD est fonde sur un identiant calcul
partir de la longueur des pistes du CD.
Pour que CDDB fonctionne, vous devez lactiver dans la bote de dialogue de conguration
du lecteur de CD (si ce nest pas le cas par dfaut) et y renseigner ladresse du serveur uti-
liser pour les requtes : Adresse : freedb.freedb.org, IP-Port : 8880 (cddbp).
freedb.freedb.org transmet automatiquement les requtes vers lun des nombreux miroirs
existants. Vous pouvez galement choisir un serveur situ dans votre rgion (pour rduire
les temps daccs) parmi la liste disponible sur www.freedb.org.
Linux Livre Page 162 Mardi, 23. septembre 2008 1:05 13
163 AUDIO ET VIDO
Si le port 8880 est bloqu par un pare-feu, vous pouvez galement vous connecter au serveur
par un port HTTP : Adresse : freedb.freedb.org, IP-Port : 80, CGI-Script : ~cddb/cddb.cgi
Extracteur Les programmes dextraction lisent les pistes dun CD audio sous forme numrique, ce qui
est plus complexe quil ny parat au premier abord. Mme si les pistes du CD sont galement
sous forme numrique, celle-ci diffre du format utilis pour un CD de donnes. Toute erreur
de lecture est quasiment impossible corriger car le lecteur matriel ne peut localiser lempla-
cement exact o reprendre. La vitesse dextraction ainsi que la qualit des chiers rsultants
(au format WAV) dpendent fortement de la qualit du lecteur de CD/DVD utilis.
Pour faciliter lextraction de CD audio et la conversion des chiers WAV vers dautres for-
mats plus appropris (MP3, OGG), on utilisera en gnral une interface graphique. La sec-
tion suivante vous en prsentera quelques-uns parmi les plus populaires. Vous pouvez
galement utiliser, sous KDE, le programme universel Konqueror (voir Chapitre 5). Si vous
souhaitez automatiser le processus par le biais dun script, les outils en ligne de commande
cdda2wav/icedax et cdparanoia deviendront vos compagnons (voir Chapitre 15).
Lecture de DVD vido
Pour pouvoir lire des DVD vido sous Linux, quelques conditions pralables doivent tre
remplies :
Vous aurez besoin dun lecteur logiciel de DVD (Amarok, MPlayer, Totem ou xine).
Les codecs ncessaires doivent tre installs, en particulier pour AC-3 (son) et MPEG-2
(image).
Pour la plupart des DVD commerciaux crypts par CSS, vous aurez besoin dune biblio-
thque supplmentaire ( installer) pour contourner cette protection.
La vitesse de transmission depuis le lecteur vers lordinateur doit tre sufsante (cest le
cas de tous les lecteurs SATA et SCSI modernes, mais les ordinateurs plus anciens peuvent
ncessiter dactiver le mode DMA).
Enn, le pilote de votre carte graphique doit prendre en charge lextension XVideo (XV, voir
Chapitre 22) ; il est possible de sen passer mais cela ncessite un processeur trs rapide.
Situation juridique, paquets complmentaires
La situation juridique et lapplication des brevets variant dun pays lautre, la distribution
de codecs et de logiciels de dcryptage nest pas possible en standard. Il existe toutefois
pour de nombreuses distributions des sources de paquetages non ofcielles hbergeant ces
paquetages. Vous pouvez congurer ces sources dans votre systme et tlcharger vous-
mme les paquetages correspondants. Les sites de ces sources comprennent gnralement
un avertissement indiquant que lutilisation de ces logiciels est illgale dans certains pays.
Vous trouverez des informations supplmentaires sur les sites suivants :
http://fedoraproject.org/wiki/Multimedia ; http://en.opensuse.org/Restricted_Formats ;
https://help.ubuntu.com/community/RestrictedFormats
Linux Livre Page 163 Mardi, 23. septembre 2008 1:05 13
LINUX 164
11.2 Lecteurs audio et vido
Cette section prsente les principaux lecteurs audio et vido pour Linux, y compris les
extracteurs de CD KAudioCreator et SoundJuicer. Un avertissement, toutefois : de nom-
breux programmes prsents ici ncessitent des bibliothques de codecs pour fonctionner.
Pour les programmes Gnome (gnralement fonds sur le systme audio GStreamer), les
paquetages ncessaires sont relativement simples trouver : leur nom commence par
gstreamer. Pour les autres, la recherche pourra ncessiter plus de travail. Si le lecteur de
votre choix ne parvient pas lire tel ou tel format, cest bien souvent quil manque le paque-
tage correspondant.
Lecteurs en ligne de commande
Aucun des outils en ligne de commande suivants ne propose dinterface graphique. Ils per-
mettent de piloter le lecteur de CD et de lire les chiers audio (fournis en paramtres) et
transmettent ensuite les informations un priphrique audio. Malgr le peu de confort
quelles offrent, ces commandes sont importantes car de nombreux programmes y accdent
plutt que mettre en uvre leurs propres outils de dcodage audio.
mpg123 est la commande classique de lecture de chiers MP3. mpg123 -w sortie.wav
entree.mp3 vous permet galement de convertir des chiers MP3 en chiers WAV.
madplayer est une alternative mpg123, bas sur la bibliothque libmad. Il peut convertir
des chiers MP3 vers de nombreux autres formats. mad et libmad sont distribus sous
licence GPL, ce qui nest pas le cas de mpg123.
mpg321 est une autre alternative mpg123 reposant, comme madplay, sur libmad.
ogg123 permet de lire des chiers OGG. Cette commande fait partie du paquetage
doutils vorbis-tools et utilise les bibliothques libogg et libvorbis. vorbiscom-
ment vous permet de lire et de modier les commentaires (Meta-tags) des chiers
OGG.
cdcd, tcd et workbone sont des lecteurs de CD en mode texte.
Amarok (lecteur audio)
Amarok est le programme KDE de lecture et de gestion de chiers audio le plus populaire et
le plus abouti. Au premier lancement, il vous demande de prciser o se trouvent vos
chiers audio et gnre une bibliothque de tous les titres disponibles. Longlet Collection
vous permet de parcourir les albums et les titres et de les ajouter la liste de lecture dun clic
de souris. Outre ces fonctionnalits de base, vous pouvez galement opter pour une lecture
alatoire, gnrer des listes, transfrer des chiers depuis/vers un lecteur de MP3, etc. Sur la
plupart des distributions, Amarok utilise la bibliothque xine pour le rendu des chiers
audio mais, suivant la compilation, il peut galement faire appel Helix (Real Player) ou
NMM (http://www.networkmultimedia.org).
Linux Livre Page 164 Mardi, 23. septembre 2008 1:05 13
165 AUDIO ET VIDO
Banshee (lecteur audio)
Banshee est un lecteur audio pour lenvironnement Gnome. Ce projet relativement rcent
est fond sur la bibliothque Mono. Tout comme pour Rhythmbox, vous devez pralable-
ment importer les chiers audio grer (ils ne sont toutefois pas copis mais leurs propri-
ts sont enregistres dans une base de donnes : ~/.gnome2/banshee/banshee.db). Vous
pouvez ensuite slectionner les titres suivant divers critres, les organiser en listes, etc.
Helix Banshee Helix Banshee est une variante de Banshee utilisant les codecs des lecteurs Helix et Real-
Player. Si vous souhaitez tirer parti des fonctionnalits dorganisation de Banshee et des
nombreux formats audio que permet le lecteur RealPlayer, Helix Banshee est un bon choix.
KAudioCreator (extracteur de CD)
Le programme KDE KAudioCreator lit les pistes dun CD et les enregistre sous la forme de
chiers MP3, Ogg-Vorbis ou tout autre format de votre choix. Pour la gnration des
chiers, ce programme fait appel des programmes externes (oggenc pour les chiers OGG,
lame pour les chiers MP3, etc.), ce qui ncessite bien sr davoir install les paquetages cor-
respondants. Un assistant vous aide congurer les chemins des nouveaux chiers (dont les
informations de titre, dinterprte, etc. sont lues partir de la base de donnes CDDB).
MPlayer (lecteur audio, vido et tlvision)
MPlayer est un lecteur audio et vido universel, dont les points forts se situent essentielle-
ment au niveau de la vido. Il est livr avec une impressionnante palette de formats audio et
vido. En revanche, un inconvnient est quil ne peut pas afcher de menu de navigation de
DVD (le choix des langues, des sous-titres, etc. doit donc seffectuer par menu contextuel).
Une fois le lecteur install, deux variantes de ce programme sont votre disposition :
Figure 11.1
Amarok.
Linux Livre Page 165 Mardi, 23. septembre 2008 1:05 13
LINUX 166
mplayer adresse lance la version minimaliste, sans interface graphique, tandis que gmplayer
adresse ouvre la version avec interface graphique simple (voir Figure 11.2). Dans certaines
distributions, gmplayer possde son propre paquet intitul mplayer-gui. Si votre carte gra-
phique nest pas compatible XVideo, vous devez fournir au lancement loption -vo x11 (ce
qui demande toutefois beaucoup plus de calculs).
Le programme propose divers raccourcis clavier dnis dans le chier /etc/mplayer/
input.conf et documents dans man mplayer (qui fournit galement lensemble des options
que vous pouvez choisir au lancement). Les plus importants sont P (pour pause) et Q (pour
quitter). Les ches vous permettent davancer ou de reculer dans le lm.
Il existe un greffon mplayer pour Mozilla (paquetage mozilla-mplayer) qui vous permet par
exemple dcouter directement dans Firefox ou Konqueror des chiers audio. Ce greffon se
congure par le chier /etc/mplayerplug-in.conf ou ~/.mplayer/mplayerplug-in.conf.
Noatun (lecteur audio et vido)
Le programme KDE Noatun est un lecteur audio et vido relativement simple. Sa popularit
a dcru depuis quAmarok est devenu le lecteur par dfaut dans KDE.
RealPlayer et Helix Player (lecteur audio et vido)
La socit RealNetworks a dvelopp une srie de formats audio et vido commerciaux
concurrents de Windows Media. Pour lire les chiers Real, vous pouvez utiliser le lecteur
RealPlayer ou son greffon Mozilla. Ce programme est gratuit mais non libre. SUSE compte
parmi les rares distributions le distribuer par dfaut, peut-tre parce que RealPlayer constitue
une solution lgale et gratuite pour lire des MP3.
Depuis sa version 10, RealPlayer est bas sur un programme open-source, Helix Player, issu
du projet Helix (initi par RealNetworks). Ces deux outils diffrent non seulement par leur
Figure 11.2
MPlayer (lecteur audio,
vido et TV).
Linux Livre Page 166 Mardi, 23. septembre 2008 1:05 13
167 AUDIO ET VIDO
licence de distribution, mais galement par les codecs fournis : Helix Player ne grant que
les formats libres, RealPlayer se rvle donc plus intressant.
Installation Pour la plupart des distributions, il nexiste pas de paquetage RealPlayer. Vous devez donc
installer le programme manuellement, ce qui nest toutefois pas difcile. Vous pouvez tl-
charger le paquetage RPM ou le chier *.bin de la version 11 sur le site suivant :
http://www.real.com/linux
Pour installer le paquetage RPM, procdez comme laccoutume avec rpm -i. Dans les
autres cas, tlchargez le chier *.bin et excutez les commandes suivantes, en rpondant
toutes les questions par la touche Entre :
root# chmod u+x RealPlayer10GOLD.bin
root# ./RealPlayer10GOLD.bin
Version 64 bits RealPlayer nest lheure actuelle disponible quen version 32 bits. Sur une distribution
64 bits, vous devrez faire appel une version 64 bits de test non ofcielle, qui cause rguli-
rement des problmes. Vous trouverez cette version 64 bits ladresse suivante :
http://forms.helixcommunity.org/helix/builds/?category=realplay-current
Il est toutefois plus simple, dans ce cas, de renoncer RealPlayer et dutiliser plutt un lec-
teur open-source compatible Real (MPlayer et le greffon Mozilla correspondant sont une
bonne alternative).
Problme avec
Totem
Lorsque le plugin Firefox du lecteur Totem est install, celui-ci cherche systmatiquement
(et sans succs) lire tout chier Real, mme si RealPlayer est install : pour rsoudre ce
problme, dsinstallez le paquetage totem-mozplugin ou totem-mozilla.
Problme de
compatibilit
avec le
systme audio
Sur certaines distributions, RealPlayer est malheureusement incompatible avec le systme
audio. Il ne peut jouer de musique que si aucun autre programme ne mobilise le systme audio
(linverse est galement vri).
Rhythmbox (lecteur audio)
Rhythmbox est un programme Gnome de gestion et de lecture de chiers audio (gnrale-
ment aux formats MP3 ou Ogg-Vorbis). Les points forts de ce programme rsident dans ses
fonctionnalits de gestion, trs pratiques pour des bibliothques importantes.
Au premier lancement apparat un assistant dans lequel vous renseignez lemplacement de
votre rpertoire audio. Rhythmbox parcourt ce rpertoire et gnre une base de donnes
musicale interne, ce qui peut prendre un certain temps suivant la taille de la collection.
Vous pouvez au besoin ajouter dautres chiers la bibliothque par le biais de Musique >
Importer un dossier ( utiliser galement si vous avez insr de nouveaux chiers dans un
dossier dj import). Pour supprimer des titres dont vous avez effac les chiers, passez
par le menu dition > Supprimer (Rhythmbox nest pas capable de remarquer ce genre de
modication ; si vous changez en profondeur le contenu de votre dossier audio, il est prf-
rable de slectionner lensemble des titres dans Rhythmbox, de les supprimer et dimporter
nouveau le dossier. Attention, toutefois, ne pas utiliser dition > Dplacer dans la corbeille,
qui envoie sans autre forme de procs vos chiers MP3 vers la corbeille !).
Linux Livre Page 167 Mardi, 23. septembre 2008 1:05 13
LINUX 168
Rhythmbox est simple utiliser : vous pouvez choisir un genre, un interprte et/ou un
album, puis lancer la lecture en cliquant sur le bouton Lire (voir Figure 11.3). Rhythmbox lit
alors lensemble des titres apparaissant dans la liste.
Sound Juicer (lecteur et extracteur de CD)
Le logiciel Gnome Sound Juicer permet de lire des CD audio et den extraire les pistes pour
les compresser dans un format de votre choix (MP3, Ogg, etc.). Pour la gnration des
chiers audio, Sound Juicer fait appel des programmes externes par le biais du systme
GStreamer (par exemple oggenc pour lencodage des chiers OGG, lame pour les MP3, etc.).
Par dfaut, Sound Juicer gnre des chiers OGG dont le nom suit le modle :
~/Musique/Groupe/Nom-CD/nn - Titre-piste.ogg
Vous pouvez congurer la hirarchie de rpertoires et le format audio laide du menu dition
> Prfrences. Si le format de votre choix nest pas disponible, vous devez congurer un nou-
veau prol. La commande gurant dans le champ Pipeline GStreamer est la plus importante.
Lexemple suivant permet de gnrer des chiers MP3 avec lame et peut vous servir de modle :
audio/x-raw-int,rate=44100,channels=2! lame name=enc mode=0 vbr-quality=6! id3v2mux
Totem (lecteur audio et vido)
Totem est un lecteur audio et vido universel et cest le lecteur par dfaut pour les versions
actuelles de Gnome. Certaines distributions lutilisent mme pour la lecture de CD, mme
sil nest pas optimal dans ce cadre. Il en existe galement un greffon Mozilla permettant de
lire des vidos directement dans le navigateur.
Deux variantes existent, lune fonde sur le systme audio Gnome GStreamer, lautre sur
xine, et qui ne peuvent tre installes simultanment.
Totem a pour principaux avantages sa bonne intgration lenvironnement de bureau
Gnome et linterface correspondante. Mon exprience na toutefois pas t concluante sur la
Figure 11.3
Rhythmbox.
Linux Livre Page 168 Mardi, 23. septembre 2008 1:05 13
169 AUDIO ET VIDO
lecture des DVD : Totem a rencontr des problmes avec lafchage des menus du DVD, le
choix des langues, la navigation, etc.
xine (lecteur audio, vido et TV)
xine est probablement le lecteur vido le plus puissant et le plus rpandu sous Linux. Il peut
galement tre utilis pour lire des chiers audio et pour regarder la tlvision. Ses points
forts sont la prise en charge de trs nombreux formats audio et vido, ainsi que sa bonne
gestion des menus de DVD. On ne peut toutefois faire de compliments pousss sur son
interface, qui vieillit et nuit au confort dutilisation. Toutefois, il permet aprs un temps
dadaptation une utilisation trs efcace (particulirement par le clavier).
Linterface de xine tant totalement dcouple de la bibliothque sous-jacente, cela permet
dautres logiciels (par exemple Amarok, Totem ou Kaffeine) de faire appel cette mme
bibliothque.
Lancement Pour lancer le lecteur, il vous suft dexcuter la commande xine. Si celle-ci nest pas dispo-
nible, vous navez probablement install que la bibliothque mais pas linterface utilisateur :
installez donc cet effet le paquetage xine-ui.
Les fonctionnalits de base de xine apparaissent dans une fentre de contrle. Si celle-ci
nest pas visible, ouvrez-la dun clic droit de la souris sur la fentre de sortie vido et, dans
le menu contextuel, choisissez Afche les contrles (ou, plus simplement, utilisez la touche
de clavier G). Pour lancer la lecture dun DVD, vous disposez dun bouton ponyme dans
cette interface ou vous pouvez taper directement la commande xine dvd://.
Configuration Il est peu probable que xine soit demble capable de lire des DVD. En rgle gnrale, toutes
les bibliothques complmentaires dont vous avez besoin (codecs, dcryptage DVD, etc.)
sont absentes du paquetage de base et vous devrez les installer manuellement.
La bote de dialogue accessible depuis Rglages > Conguration (ou Alt+S) est complexe et
offre davantage de possibilits que vous ne limaginez (en particulier si vous passez du
niveau dexprience dbutant au mode avanc ou expert, dans longlet gui). Pour quune
modication soit prise en compte, vous devrez quitter xine et le relancer.
En cas de problmes de conguration ou de vitesse, la commande xine-check peut vous tre
utile : elle vrie si les conditions sont remplies pour une utilisation optimale de xine. Dans
le cas contraire, la commande vous renvoie quelques indications pour rsoudre ces problmes
(qui ne sont toutefois pas toujours ables, comme mon exprience me la montr).
Le site suivant vous donnera toutes les informations souhaites et astuces de conguration
dont vous pouvez avoir besoin pour xine : http://xinehq.de/
xmms
xmms est un lecteur quelque peu ancien. Mme sil nest plus maintenu, il est encore trs
rpandu. Il est possible de modier son apparence laide dhabillages ou "skins" (en parti-
culier les habillages compatibles Winamp). xmms fait galement montre dune grande
Linux Livre Page 169 Mardi, 23. septembre 2008 1:05 13
LINUX 170
souplesse au niveau de ses fonctionnalits, qui peuvent tre tendues laide de greffons. Si
xmms ne parvient pas grer un format audio particulier, vriez dans votre gestionnaire
de paquetages si le greffon xmms correspondant est bien install.
Les lments dinterface sont trs petits, ce qui demande de bons yeux et une grande prci-
sion la souris. Il est toutefois plus simple de doubler la taille de la fentre laide des tou-
ches Ctrl+D. La conguration seffectue par menu contextuel (bouton droit de la souris). Si
xmms narrive pas prsenter correctement les titres au format Unicode, activez loption
Utiliser les jeux de polices dans Options > Prfrences > Polices.
xmms est compatible avec de nombreux systmes audio de Linux. Sil afche un message
derreur indiquant que la sortie audio nest pas disponible, choisissez un autre greffon de
sortie dans Option > Prfrences (Ctrl+P).
11.3 Regarder la tlvision avec DVB-T
DVB, qui est lacronyme de Digital Video Broadcasting, dcrit une mthode relativemement
rcente de diffusion numrique de programmes tlviss. Il en existe trois variantes : DVB-
T pour la diffusion terrestre habituelle (TNT ou tlvision numrique terrestre), DVB-S pour
la diffusion par satellite et enn DVB-C pour la diffusion par le cble. Cette section se foca-
lise sur DVB-T mais, dun point de vue technique, ces trois variantes sont similaires et le
mode de diffusion du signal ne change rien la prise en charge au niveau de Linux.
La diffusion DVB supplante de plus en plus largement lmission analogique en Europe.
Pour pouvoir regarder la tlvision sur votre ordinateur, vous aurez besoin dune carte
DVB-T ou dun petit appareil USB. Le matriel est bon march et la prise en charge de
Linux, tonnamment bonne. Toutefois, tous les matriels DVB ne fonctionnent pas ncessai-
rement correctement sous Linux : renseignez-vous donc avant lachat ! Le site suivant est
une source dinformations utile sur ce sujet : http://www.linuxtv.org/wiki/index.php/
Main_Page ; http://www.linuxtv.org/wiki/index.php/DVB_USB
Firmware Le matriel DVB comprend un microprocesseur dont le code (rmware) doit tre dans la plu-
part des cas transmis linitialisation. Vous pourrez trouver le chier ncessaire sur le site
suivant : http://www.linuxtv.org/downloads/rmware/
Vous devrez copier le chier requis par votre priphrique dans le rpertoire /lib/firm-
ware/version_noyau/. Lorsque le systme hotplug de Linux reconnat votre appareil, le
module noyau correspondant est alors charg. Ce module lit le chier du rmware et le
transmet au priphrique DVB. La commande dmesg vous permet de constater si cela fonc-
tionne.
Analyse des
frquences
Avant de pouvoir regarder la tlvision, vous devez effectuer une analyse des frquences
pour gnrer une liste de lensemble des canaux disponibles. Pour cela, vous aurez besoin
du programme scan ou dvbscan (qui, suivant les distributions, se trouve dans le paquetage
dvb, dvb-util ou dvb-apps) ainsi que dun chier dcrivant les transpondeurs DVB proxi-
mit. Pour de nombreux transpondeurs, vous trouverez un tel chier dans le rpertoire :
/usr/share/doc/dvb-utils/examples/scan/dvb-t/
Si vous ne trouvez pas de chier correspondant votre localisation, vous devrez gnrer
vous-mme le chier en question, ce qui ncessitera une recherche pour identier la
Linux Livre Page 170 Mardi, 23. septembre 2008 1:05 13
171 AUDIO ET VIDO
frquence du transpondeur le plus proche. La page suivante est une bonne source dinfor-
mations (mme si elles ne sont pas toujours actualises) :
http://www.the-media-channel.com/dvb-t/
Gnrez alors un chier fond sur le modle suivant (en rgle gnrale, vous naurez besoin
de modier que la frquence, ici 858 MHz) :
utilisateur$ cat at-Schoeckl
# DVB-T Graz/Schoeckl
# T freq bw fec_hi fec_lo mod transmission-mode guard-interval hierarchy
T 858000000 8MHz 2/3 NONE QAM16 8k 1/8 NONE
Excutez alors la commande scan fichier_transpondeur et renvoyez la sortie correspon-
dante vers le chier local channels.conf.
utilisateur$ scan at-Schoeckl > channels.conf
scanning at-Schoeckl
using /dev/dvb/adapter0/frontend0 and /dev/dvb/adapter0/demux0
initial transponder 858000000 0 2 9 1 1 2 0
>>> tune to: 858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE
0x0000 0x2775: pmt_pid 0x01f5 ORF -- ORF1 (running)
0x0000 0x2780: pmt_pid 0x01f6 ORF -- ORF2 St (running)
0x0000 0x2788: pmt_pid 0x01f8 ATV+ -- ATV+ (running)
0x0000 0x2794: pmt_pid 0x01f7 ORF -- ORF2 B (running)
Network Name ORS DVB-T StB
>>> tune to: ...
WARNING: >>> tuning failed!!!
dumping lists (4 services)
Done.
user$ cat channels.conf
ORF1:858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:5010:5011:10101
ORF2 St:858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:5020:5021:10112
ATV+:858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:5040:5041:10120
ORF2 B:858000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_2_3:FEC_AUTO:QAM_16:
TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_8:HIERARCHY_NONE:5020:5021:10132
Lancer le
lecteur DVB
Ceci tant fait, vous navez plus qu copier channels.conf vers le rpertoire de conguration de
votre lecteur DVB (par exemple MPlayer ou xine) :
utilisateur$ cp channels.conf .mplayer/
utilisateur$ cp channels.conf .xine/
Lancez enn le programme de votre choix. Vous pouvez slectionner directement la chane
souhaite par le biais de dvb://, par exemple dvb://ORF1 (voir Figure 11.4). Attention bien
respecter les majuscules et minuscules !
utilisateur$ gmplayer dvb://
utilisateur$ cp xine dvb://
Linux Livre Page 171 Mardi, 23. septembre 2008 1:05 13
LINUX 172
Figure 11.4
Regarder la tlvision
avec xine et DVB-T.
Linux Livre Page 172 Mardi, 23. septembre 2008 1:05 13
PARTIE 3 OUTILS UNIX ET LINUX
12
La console
Jusquici, nous vous avons prsent Linux comme un systme bureautique. Ses
programmes diffrent certes de ceux que vous utilisez sous Windows ou
Mac OS X, mais ils remplissent les mmes tches et lon sy habitue rapidement.
Mais Linux ne sarrte pas l. Il existe encore tout un pan qui peut sembler
effrayant premire vue : les utilisateurs avancs lancent des commandes dans
une console texte et rcuprent les rsultats sous forme de texte. La souris ne
joue quun rle accessoire et les interfaces utilisateur sont obsoltes.
Quiconque ayant appris utiliser une console peut accomplir efcacement de
nombreuses tches. Vous pouvez connecter des commandes les unes aux autres,
lancer des tches en arrire-fond ou automatiquement, crer des scripts, etc.
Toutes ces possibilits sont porte de main, que ce soit en local ou sur le rseau.
Les utilisateurs qui exploitent principalement les applications bureautiques
auront plus rarement loccasion dutiliser des programmes en console que les
programmeurs ou les administrateurs systme. Mais, dans tous les cas, la
console fait partie des outils de base que chaque utilisateur doit connatre. Vous
en comprendrez la raison lorsque que votre systme graphique ne dmarrera
pas cause dun problme de conguration ou lorsque vous voudrez administrer
vos serveurs distants.
12.1 Consoles texte et fentres de console
Consoles texte Microsoft Windows ne peut tre utilis quen mode graphique, tandis que
Linux peut ltre galement dans des consoles texte. Par dfaut, six consoles
sont disponibles. On passe de lune lautre avec Alt+F1 pour la premire,
Alt+F2 pour la deuxime, etc. Lorsque lordinateur fonctionne en mode graphi-
que, Ctrl+Alt+F1 permet daccder la premire console et Alt+F7 de revenir
au mode graphique.
Avant daccder une console texte, vous devez vous connecter. Lorsque vous
voulez quitter cette console ou si vous dsirez changer dutilisateur, vous devez
vous dconnecter. Le plus simple est alors dutiliser la combinaison de touches
Ctrl+D.
Vous pouvez lancer une commande dans une console. Pendant que celle-ci tourne, vous pou-
vez faire autre chose dans une deuxime console. Vous pouvez aussi vous connecter en tant
que root dans une console pour effectuer des tches administratives, tout en modifiant un
fichier dans une autre console connecte avec votre identifiant sans privilge. Les consoles
fonctionnent indpendamment les unes des autres.
Linux Livre Page 173 Mardi, 23. septembre 2008 1:05 13
LINUX 174
Les combinaisons de touches Maj+PageSuiv et Maj+PgPrc permettent de faire dler page
par page une console texte. Vous pouvez aussi voir les rsultats des programmes lancs
mme lorsquils ne safchent plus lcran.
Fentres de
commande
Il nest pas ncessaire de passer du mode graphique une console texte pour lancer des
commandes. Vous pouvez lancer une fentre de commande (voir Figure 12.1), aussi appele
fentre de shell ou fentre de terminal.
Il existe diffrentes fentres de console, selon la distribution et le systme de bureau : gnome-
terminal (Gnome), konsole (KDE) ou xterm. La commande de dmarrage dans le menu
varie galement selon la distribution.
Dans un terminal, vous pouvez travailler comme sur une console texte. La seule diffrence
est quil est plus confortable de faire dler le texte.
Raccourcis
clavier
importants
Dans une console texte ou un terminal, divers raccourcis clavier permettent de travailler plus
confortablement. Le tableau suivant rsume les plus importants. Ils ne sont valables que si vous
utilisez linterprteur de commandes Bash, ce qui est le cas dans la plupart des distributions.
Raccourcis clavier des consoles texte
a+1 6 passe aux consoles texte 1 6
c+a+1 6 passe du mode graphique aux consoles texte 1 6
a+7 revient au mode graphique
a+5 revient au mode graphique (Knoppix)
a+^ passe dans les consoles prcdentes et suivantes
s+F et fait dfiler vers le haut et vers le bas
c+a+D teint ou ramorce Linux
^
F
Figure 12.1
Une fentre de console.
Raccourcis clavier de linterprteur de commandes Bash
c+A place le curseur au dbut de la ligne
c+C interrompt le programme
c+E place le curseur la fin de la ligne
c+K supprime la ligne partir du curseur
c+Y copie le texte supprim
c+Z met en pause le programme (reprise avec fg ou bg)
t permet la compltion des commandes et des noms de fichiers
W et Z permet de naviguer dans les commandes prcdemment lances
Linux Livre Page 174 Mardi, 23. septembre 2008 1:05 13
175 LA CONSOLE
Le compltementautomatique avec Tab est particulirement utile et permet dconomiser de
la saisie. Il suft de taper les premires lettres dune commande ou dun chier, puis
dappuyer sur Tab. Lorsque le nom du chier correspondant est reconnu, il est complt
jusqu ce que plusieurs possibilits soffrent vous. En appuyant une deuxime fois sur
Tab, on afche la liste de tous les chiers correspondant au dbut dj saisi.
Souris La souris ne joue quun rle accessoire dans une console texte ou une fentre de terminal.
Elle ne peut pas tre utilise pour modier la position du curseur. Sa seule utilit est de
copier du texte avec le bouton droit et de le coller avec le bouton du milieu la position
courante du curseur.
Pour que la souris fonctionne dans une console texte, le programme gpm doit tre dmarr.
Lancer des
commandes
Pour lancer une commande, saisissez son nom dans la console ou la fentre de terminal,
ventuellement avec un ou plusieurs paramtres, puis tapez sur Entre. Par exemple, la
commande ls afche une liste des chiers et rpertoires du rpertoire courant :
utilisateur$ ls -l
-rw------- 1 michael users 17708403 2008-04-29 13:56 20060519_DN.pdf
-rw------- 1 michael users 506614 2008-05-01 17:13 subv.tgz
drwxrwxr-x 3 michael users 4096 2007-05-28 13:35 Projets
drwxr-xr-x 2 michael users 4096 2008-03-22 10:04 tmp
-rw-r--r-- 1 michael users 10042 2007-10-30 16:15 zebre.png
Cet exemple illustre la manire dont les commandes et leurs rsultats sont reprsents. uti-
lisateur$ indique que la commande est lance par un utilisateur normal. Si la ligne com-
mence par root#, cest quelle doit tre lance par un administrateur systme. utilisateur$
et root# reprsentent linvite du systme et safchent automatiquement. Il ne faut pas saisir
ces caractres (seuls les caractres en gras doivent tre saisis).
Votre ordinateur afchera probablement une autre chane que utilisateur$ ou root#. Cette
dernire peut par exemple contenir le nom du rpertoire courant ou celui de lordinateur.
Il arrive que la place manque pour afcher une commande sur une seule ligne. Dans ce cas,
la commande est dcoupe en plusieurs lignes spares par des caractres \. On crira par
exemple :
root# mkinitrd --with=reiserfs /boot/initrd-2.6.16-1.2111_FC5.img \
2.6.16-1.2111_FC5
Vous pouvez saisir cette commande sur plusieurs lignes et les sparer, comme ici, par des
caractres \. Vous pouvez aussi joindre les lignes ; dans ce cas, le caractre \ ne doit pas tre
saisi.
Lancer des
commandes en
tche de fond
On peut aussi lancer des commandes en tche de fond. Cela signie que vous navez pas
attendre que le programme se termine pour lancer de nouvelles commandes. Pour cela, sai-
sissez la n de la ligne le caractre &. Cest particulirement utile si vous dsirez ouvrir un
programme graphique partir dun terminal (par exemple, firefox &).
Travailler en
tant que root
Sous Linux, il nest pas courant de travailler en tant que root (cest--dire avec des droits
dadministrateur systme). Lorsque vous tes connect en tant quutilisateur non privilgi,
plusieurs mthodes vous permettent de lancer des commandes en tant que root. Dans de
nombreuses distributions, il suft de taper dans une fentre de terminal la commande su -l (il
Linux Livre Page 175 Mardi, 23. septembre 2008 1:05 13
LINUX 176
faut bien sr connatre le mot de passe root). Vous pouvez alors lancer des commandes
texte en tant que root. Exit ou Ctrl+D permettent de revenir lutilisateur dorigine (sous
Ubuntu, on utilise la place de su la commande sudo).
12.2 Afficher et modifier des fichiers texte
less KDE et Gnome peuvent lire des chiers texte directement dans le gestionnaire de chiers
(Konqueror ou Nautilus). Avec le bouton droit, vous pouvez aussi les ouvrir dans un di-
teur confortable. Si vous travaillez dans une console texte ou un terminal, lutilitaire less
permet de les afcher. Cette commande peut aussi tre associe dautres commandes pour
lire tranquillement des rsultats plus longs :
utilisateur$ less fichier
utilisateur$ ls -l | less
La premire commande afche le chier fichier page par page et la seconde, le contenu du
rpertoire page par page.
Lorsque vous affichez un fichier qui contient des donnes binaires avec less, il arrive que la console en
soit drgle et que les caractres qui saffichent ne correspondent plus aux caractres rels. Pour corriger
cela, lancez la commande reset.
diteurs de texte
Sous KDE et Gnome, il existe des diteurs de texte confortables avec un comportement
intuitif, comme kate ou gedit. Dans une console texte, ces programmes ne sont pas utilisa-
bles : vous avez besoin dun diteur qui fonctionne entirement en mode texte. Cette section
prsente les diteurs les plus populaires dans cette catgorie. Lditeur install par dfaut
dpend de votre distribution.
Emacs, Jove,
Jed et Jmacs
Ces diteurs sont des drivs dEmacs (voir Chapitre 18).
Vi, Vim et Elvis Ces diteurs sont des drivs de Vi (voir Chapitre 17).
Raccourcis clavier de less
W/Z fait dfiler le texte vers le haut ou vers le bas
Pos1, j affiche le dbut ou la fin du texte
G s+G affiche le dbut ou la fin du texte
/ motif e recherche vers lavant
? motif e recherche vers larrire
N rpte la recherche vers lavant
s+N rpte la rechercher vers larrire
Q quitte less
H affiche laide contenant dautres raccourcis clavier
Linux Livre Page 176 Mardi, 23. septembre 2008 1:05 13
177 LA CONSOLE
Joe joe est un diteur trs simple. Les raccourcis clavier sont comparables ceux du programme
Wordstar.
man joe permet dafcher une description de toutes les commandes de joe. Ce programme
peut aussi tre dmarr sous le nom jmacs ou jpico. Les raccourcis clavier sont alors compa-
tibles, respectivement avec Emacs et Pico.
nano et pico Ces diteurs, bien que plus modestes en termes de fonctionnalits, sont simples utiliser. Les deux
lignes en bas de lcran afchent les commandes disposition de lutilisateur (voir Figure 12.2).
La plupart des distributions actuelles fournissent nano. pico nest plus distribu aussi largement
quauparavant, car sa licence nest pas entirement libre. nano, qui lui na pas de problme
de licence, est compatible avec pico.
Raccourcis clavier de Joe
c+K H affiche ou masque la fentre daide
c+K E charge un fichier
c+K D enregistre le fichier (ventuellement sous un nouveau nom)
c+Y supprime une ligne
c+s+- annule la suppression
c+C quitte joe (demande sil faut enregistrer)
Figure 12.2
Lditeur nano dans
une fentre de console.
Raccourcis clavier de nano et pico
c+A passe en dbut de ligne
c+D supprime des caractres
c+E passe en fin de ligne
c+H supprime le caractre prcdent
c+^ place une marque
c+K supprime la ligne courante ou le texte marqu
c+U colle le texte supprim
c+R insre un fichier texte
c+O enregistre le fichier
c+X quitte lditeur
Linux Livre Page 177 Mardi, 23. septembre 2008 1:05 13
LINUX 178
Dfinir lditeur
par dfaut
Certains programmes lancent un diteur par dfaut. Il sagit le plus souvent de lditeur Vi.
Si vous dsirez en changer, vous devez dnir les variables denvironnement EDITOR et
VISUAL dans /etc/profile ou dans ~/.profile.
# insrer dans /etc/profile ou dans ~/.profile
export EDITOR=/usr/bin/jmacs
export VISUAL=$EDITOR
12.3 Aide du systme
Les commandes telles que ls, cp ou top, qui fonctionnent dans une fentre texte, ne ragissent
pas F1 et nont pas de menu daide. Voici comment obtenir quelques informations :
commande --help afche pour de nombreuses commandes une liste de toutes les options,
assorties dune courte explication.
man commande afche la page de manuel de la commande. On peut gnralement naviguer
dans le texte grce aux touches de direction. Q permet de quitter.
help commande ne fonctionne que pour les commandes de linterprteur, comme cd ou
alias.
info commande est une alternative man, notamment pour les textes daide trs longs.
Lutilisation de man ou de info dpend du choix du programmeur de lapplication. man
est cependant plus populaire.
man afche la documentation de plusieurs commandes lmentaires, comme ls ou cp. On
appelle man avec la syntaxe man commande pour afcher laide de la commande commande.
On peut ventuellement fournir un contexte (man contexte commande) pour restreindre la
recherche. Par exemple, man 3 printf afche la syntaxe de la fonction C printf. Cette res-
triction nest utile que lorsque plusieurs pages de manuel avec le mme nom coexistent dans
plusieurs contextes diffrents. man afche sans autre prcision la premire page quil trouve.
De nombreux livres sur Unix et Linux indiquent la commande avec le numro de leur
contexte par exemple find(1). Ainsi, vous savez immdiatement comment appeler man.
Les pages de manuel sont gnralement classes dans des contextes de 1 9, ainsi que n :
1. Commandes utilisateur 6. Jeux
2. Appels systme 7. Divers
3. Fonctions du langage C 8. Commandes dadministration systme
4. Formats de chiers, chiers de priphriques 9. Fonctions du noyau
5. Fichiers de conguration 10. Nouvelles commandes
En interne, la reprsentation des chiers daide passe par less. Les touches de navigation
expliques la section 12.2 sont donc valables pour naviguer dans les pages de manuel.
Sous KDE et Gnome, vous pouvez aussi afficher les pages de manuel laide dun navigateur daide ou dun
navigateur web. Les exemples suivants montrent comment afficher la page de manuel de ls et la liste de tou-
tes les pages disponibles :
utilisateur$ gnome-help man:ls
utilisateur$ khelpcenter man:ls
utilisateur$ khelpcenter man:(index)
Linux Livre Page 178 Mardi, 23. septembre 2008 1:05 13
179 LA CONSOLE
Le programme Konqueror peut galement, sous KDE, afficher des pages de manuel appeles grce
#commande.
Pages info Les pages de manuel ont linconvnient dtre difciles structurer. Le format info offre
une alternative intressante, notamment pour les textes daide trs longs.
On appelle info avec la commande info commande. Si on le lance sans paramtres, les diffrents
thmes daide safchent.
Sa structure plus claire prsente cependant un inconvnient : la navigation dans les pages
info est peu pratique, car il nexiste aucun mcanisme de recherche.
Vous pouvez aussi utiliser lditeur emacs ou xemacs pour lire les pages info. Les diffrentes sections sont
alors accessibles par un clic. Une autre alternative est le programme pinfo.
Sous KDE et Gnome, vous pouvez lire les pages info grce au systme daide intgr. Les exemples sui-
vants montrent comment afficher respectivement la page info dEmacs et le sommaire de toutes les pages
info :
utilisateur$ gnome-help info:emacs
utilisateur$ gnome-help toc:info
utilisateur$ khelpcenter info:/emacs
utilisateur$ khelpcenter info:/dir
Raccourcis clavier dinfo
z fait dfiler le texte vers le bas
R fait dfiler le texte vers le haut
B E passe au dbut ou la fin de lunit de page info
t dplace le curseur jusquau renvoi suivant
e suit le renvoi vers une autre unit info
N passe lunit info suivante dans la mme hirarchie
P passe lunit info prcdente dans la mme hirarchie
U remonte dun niveau dans la hirarchie
L retourne au texte affich prcdemment
H affiche laide
? cherche une commande
c+0 ferme la fentre courante
Q quitte lditeur
Linux Livre Page 179 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 180 Mardi, 23. septembre 2008 1:05 13
13
Gestion des fichiers
Ce chapitre dcrit comment interagir avec des chiers. Il couvre les thmes suivants :
chiers, rpertoires et liens ;
copie, dplacement et suppression des chiers et des rpertoires ;
compression et archive des chiers ;
recherche de chiers ;
gravure des CD et des DVD ;
droits daccs aux chiers ;
structure des rpertoires Linux ;
chiers de priphriques.
13.1 Interaction avec des fichiers et des rpertoires
Prsentons rapidement les faits importants propos des noms de chiers :
Sous Linux, les noms de chiers sont limits 255 caractres.
La casse est importante : Linux distingue les minuscules des majuscules.
Les caractres internationaux (comme les lettres accentues) sont autoriss, mais peu-
vent poser problme lorsquun jeu de caractres diffrent est utilis (par exemple sur un
rseau). Depuis quelque temps, presque toutes les distributions utilisent lUTF-8
comme jeu de caractres par dfaut.
Les noms de chiers peuvent contenir plusieurs points. Par exemple, README.bootu-
tils.gz est un nom tout fait commun. Il sagit dun chier README compress sur le
thme des utilitaires damorage.
Les chiers qui commencent par un point se comportent comme des chiers cachs. Ces
derniers ne safchent pas par dfaut avec ls ou les divers gestionnaires de chiers.
Les noms de chiers qui ne sont pas interprtables tels quels par les commandes (comme
ceux avec des espaces) doivent tre encadrs par des guillemets (par exemple, "a b").
La taille des chiers est virtuellement illimite. Les anciennes distributions posaient une limite
2 Go. La limite se calcule actuellement plutt en traoctets. Selon la manire dont le noyau Linux
est compil et le systme de chiers utilis, on peut avoir des chiers encore plus volumineux.
Rpertoires
Arborescence
de rpertoires
Sous Linux, larborescence commence par le caractre /. Les lettres de lecteur comme C:
nont plus de sens et ne sont dailleurs plus possibles. Dans cet ouvrage, nous considrons
que tous les rpertoires suivants se situent en-dessous dans larborescence ; le rpertoire
racine se trouve donc tout en haut. Certains ouvrages adoptent la convention inverse, ce qui
Linux Livre Page 181 Mardi, 23. septembre 2008 1:05 13
LINUX 182
correspond mieux la structure darbre (la racine en bas, les ramications vers le haut), mais
cest une terminologie peu courante.
Rpertoire
personnel
Comme nous lavons vu au Chapitre 3, une fois connect, vous accdez directement votre
rpertoire personnel ou rpertoire home. Les chiers et rpertoires qui sy trouvent vous
appartiennent. Les autres utilisateurs ( lexception de root) ne peuvent ni les modier, ni
les supprimer.
Le rpertoire personnel se trouve gnralement dans larborescence lemplacement /home/
identifiant_utilisateur ( lexception de root, pour lequel le rpertoire personnel est /root).
Il serait certes pnible davoir saisir ce chemin systmatiquement ; cest pourquoi le rper-
toire personnel est accessible grce au raccourci ~ (caractre tilde). Vous pouvez galement
utiliser le raccourci ~identifiant pour accder aux comptes des autres utilisateurs.
Rpertoires .
et ..
Dans chaque rpertoire, il existe deux sous-rpertoires particuliers qui servent grer la hi-
rarchie des rpertoires. Le rpertoire nomm . est un lien vers le rpertoire courant et le
rpertoire .. est un lien vers le rpertoire parent.
Les deux commandes suivantes montrent comment utiliser ces rpertoires. La premire
copie le chier /etc/fstab dans le rpertoire courant. Si celui-ci est /home/nom, le chemin du
nouveau chier est /home/nom/fstab.
utilisateur$ cp /etc/fstab .
Dans le second exemple, nous commenons par nous dplacer dans le rpertoire ~/linux
avec la commande cd. La commande cp cre une copie de sauvegarde du chier
partie3.odt dans le rpertoire parent sous le nom partie3.odt.bak.
utilisateur$ cd ~/linux
utilisateur$ cp partie3.odt ../partie3.odt.bak
Si le rpertoire personnel sappelle /home/nom, nous avons copi le chier /home/nom/linux/
partie3.odt dans le chier /home/nom/partie3.odt.bak.
Commandes lmentaires de gestion des fichiers
et des rpertoires
Mme si KDE et Gnome fournissent des gestionnaires de chiers, les utilisateurs avancs de
Linux ont tendance utiliser des commandes en mode texte. Le tableau suivant rsume les
commandes les plus importantes.
Caractres spciaux pour les rpertoires
~ rpertoire personnel
. rpertoire courant
.. rpertoire parent du rpertoire courant
Gestion des fichiers et des rpertoires
cd modifie le rpertoire courant
cp copie des fichiers
less affiche un fichier texte page par page
Linux Livre Page 182 Mardi, 23. septembre 2008 1:05 13
183 GESTION DES FICHIERS
Liste des
fichiers (ls)
ls afche une liste de tous les chiers du rpertoire courant. Si vous souhaitez aussi afcher
les chiers cachs, utilisez loption -a. Si vous dsirez afcher dautres informations, telles
que la taille du chier ou le propritaire, utilisez loption -l. Par dfaut, le rsultat de ls est
tri alphabtiquement. Pour trier la liste par date de dernire modication, par taille ou par
extension, utilisez respectivement les options -t, -S et -X. La commande suivante afche
tous les chiers *.png dans le rpertoire figures, tris par taille (dans lordre dcroissant).
utilisateur$ $ ls -l -S figures/*.png
-rw-r--r-- 1 michael users 58865 2008-03-08 12:53 ./these-gantt.png
-rw-r--r-- 1 michael users 53417 2008-07-19 17:08 ./schedule.png
-rw-r--r-- 1 michael users 42516 2008-06-27 12:44 ./dct-vect.png
-rw-r--r-- 1 michael users 30792 2008-03-28 14:09 ./interpol-luma.png
-rw-r--r-- 1 michael users 18984 2008-04-04 16:39 ./filter-samples.png
-rw-r--r-- 1 michael users 16834 2008-03-29 11:15 ./transform.png
-rw-r--r-- 1 michael users 15341 2008-03-24 11:25 ./4ss.png
-rw-r--r-- 1 michael users 14177 2008-04-04 16:33 ./filter-block.png
...
Une ligne typique du rsultat de ls -l ressemble ceci :
-rw-r--r-- 1 michael users 15341 2008-03-24 11:25 ./4ss.png
Il sagit du chier 4ss.png, modi la dernire fois le 24 mars 2008 11h25. Il a une taille de
15 341 octets et appartient un utilisateur dont lidentiant est michael dans le groupe users.
Les dix caractres en dbit de ligne indiquent le type de chier et les droits daccs. Le
chier peut tre de cinq types diffrents : - indique un chier normal, d un rpertoire (direc-
tory), b ou c un chier de priphrique (de type bloc ou caractre), l un lien symbolique. Les
trois caractres suivants (rwx) prcisent si le propritaire peut lire, modier et excuter le
chier. Les caractres suivants fournissent des informations similaires pour les membres du
groupe et tous les autres utilisateurs du systme. Le chiffre situ aprs ce groupe de dix
caractres indique le nombre de liens durs vers le chier. Nous parlerons plus tard des liens
durs et des droits daccs.
La plupart des distributions congurent ls pour quil afche les chiers et rpertoires dans
diffrentes couleurs selon leur type. Si ce nest pas votre cas, vous pouvez activer ce compor-
tement avec loption --color.
ls nafche normalement que les chiers prsents dans le rpertoire courant. Si vous dsirez
afcher ceux des sous-rpertoires, utilisez loption -R. Cette option, signiant "rcursif",
sapplique de nombreuses commandes sous Linux. La commande suivante fait la liste de
tous les chiers de tous les sous-rpertoires (y compris les rpertoires et chiers cachs).
ls affiche tous les fichiers dun rpertoire
mkdir cre un nouveau rpertoire
mv dplace des fichiers ou modifie leur nom
rm supprime des fichiers
rmdir supprime des rpertoires
Linux Livre Page 183 Mardi, 23. septembre 2008 1:05 13
LINUX 184
Cette liste est gnralement trs longue. Cest pour cette raison que lon transfre le rsultat
de la commande vers less grce | less :
utilisateur$ ls -alR | less
Copier des
fichiers
La commande cp nom1 nom2 copie le chier nom1 sous le nom nom2. Pour copier plusieurs
chiers, appelez la commande cp nom1 nom2 ... rpertoire_cible. Les commandes suivantes
passent dans le rpertoire linux, crent un rpertoire bak et y copient tous les chiers *.odt.
utilisateur$ cd linux
utilisateur$ mkdir bak
utilisateur$ cp *.odt bak/
Pour copier tout un rpertoire, ainsi que son contenu, utilisez cp -a. Dans lexemple sui-
vant, cd sans argument permet daller dans le rpertoire personnel. La deuxime commande
cre une copie complte du rpertoire linux sous le nom linux-bak.
utilisateur$ cd
utilisateur$ cp -a linux linux-bak
Supprimer des
fichiers et des
dossiers
rm fichier supprime le chier indiqu irrvocablement. Par dfaut, rm ne peut tre utilis
que pour les chiers, et non pour les rpertoires. Pour ces derniers, la commande rmdir
rpertoire est prvue, mais elle ne fonctionne que lorsque le rpertoire est vide. En prati-
que, on utilise donc le plus souvent les options -rf de rm. Cette commande supprime tous
les sous-rpertoires et chiers de manire rcursive et sans demander de conrmation. Par
consquent, rm -rf est une commande trs dangereuse ! La commande suivante supprime
la copie de sauvegarde cre au paragraphe prcdent :
utilisateur$ rm -rf linux-bak/
Dterminer lespace ncessaire aux fichiers et rpertoires
ls -l indique la taille dun chier. Il est nanmoins souvent utile de connatre la place prise
par tous les chiers dun rpertoire, lespace restant sur le disque dur, etc. Les commandes
df et du ont t prvues cet effet.
Dterminer la
capacit dun
disque dur
df afche pour toute partition et tout support de donnes mont dans le systme de chiers,
sa taille totale et lespace libre restant.
Dans lexemple suivant, df afche des rsultats pour quatre partitions et supports de don-
nes. Dans le rpertoire systme (premire ligne), il reste 620 Mo. La deuxime ligne indique
la place quil reste dans le systme de chiers temporaire. Ce dernier na pas de signication
dans un usage courant ; il permet des changes de donnes rapides entre deux programmes.
La troisime ligne est une partition Windows et la quatrime, un rpertoire rseau.
utilisateur$ df
Sys. de fich. 1K-blocs Occup Disponible Capacit Mont sur
/dev/hdc2 6940516 5962076 620192 91% /
tmpfs 777764 0 777764 0% /dev/shm
/dev/sda2 4715772 2040692 2675080 44% /vfat
mars:/data 97881408 77136160 15773120 84% /data
Linux Livre Page 184 Mardi, 23. septembre 2008 1:05 13
185 GESTION DES FICHIERS
df permet galement de savoir sur quelle partition se trouve physiquement un rpertoire.
Dans lexemple suivant, le rpertoire /home/michael se trouve sur la partition /dev/sda6,
monte lemplacement /home dans larborescence :
utilisateur$ df /home/michael
Sys. de fich. 1K-blocs Occup Disponible Capacit Mont sur
/dev/sda6 9621848 4429352 4703720 49% /home
Dterminer la
taille dun
rpertoire
du permet de connatre la taille du rpertoire courant et de tous les sous-rpertoires. Il ren-
voie le rsultat en kilo-octets. La commande suivante montre que le rpertoire Photos/
mariage occupe 3,2 Go et afche la rpartition de cet espace :
utilisateur$ cd Photos/mariage
utilisateur$ du
68704 ./Pierre
210864 ./Janine
51120 ./Julien
25056 ./MarieAure
1168700 ./Alice
287372 ./Loic
289168 ./Didier
44556 ./Bruno
47640 ./Lysiane
110928 ./Michael
140896 ./Florent
15688 ./David
109392 ./Annette
207208 ./Philippe
575192 ./Nicolas
3354012 .
Le programme baobab, fourni dans les versions rcentes de Gnome, est un outil confortable pour afficher
la taille des fichiers et des rpertoires de manire graphique. Dans KDE, cette vue est intgre Konqueror.
Caractres joker
On souhaite souvent excuter des commandes sur un ensemble de chiers par exemple,
tous les chiers se terminant par .odt. Pour cela, on utilise des caractres joker dans les
paramtres des commandes Linux.
Caractres joker pour les noms de fichiers
? exactement un caractre arbitraire
* un nombre arbitraire (y compris 0) de caractres arbitraires
[abc] exactement un des caractres entre crochets (a, b ou c)
[a-f] exactement un caractre dans lintervalle indiqu
[!abc] un caractre diffrent des caractres entre crochets
[^abc] idem
Linux Livre Page 185 Mardi, 23. septembre 2008 1:05 13
LINUX 186
* et ? ? reprsente un caractre arbitraire, et * un nombre arbitraire (y compris 0) de caractres
arbitraires. * reprsente nimporte quel caractre, y compris les points, condition que le
chier ne commence pas par un point. Si vous dsirez traiter tous les chiers, il faut utiliser
le raccourci * et non pas, comme sous DOS, *.*.
Vous pouvez sans problme utiliser plusieurs caractres joker. Ainsi, *graph* renverra tous
les chiers dont le nom contient graph : par exemple, graphique.png, interfacegraphique et
LISEZMOI.graph.
[] et [!] Lorsque les caractres ? et * sont trop gnraux, vous pouvez appliquer des restrictions sup-
plmentaires grce aux crochets. [abc] est joker pour lune des trois lettres a, b ou c. Lorsque
deux lments sont spars par un tiret, il sagit de lintervalle entre ces deux lments. Par
exemple, [a-f]* renverra tous les chiers dont le nom commence par une lettre entre a et f.
*[_.-]* reprsente un chier dont le nom contient un tiret de soulignement, un point ou un
tiret. On peut aussi exclure des caractres : [!a-z]* dsigne tous les chiers dont le nom ne
commence pas par une minuscule, et *.[hc] tous ceux qui se terminent par .c ou .h.
Les caractres joker peuvent galement tre utiliss pour les rpertoires. */*.odt reprsente
tous les chiers *.odt dans un sous-rpertoire du rpertoire courant ( un seul niveau ; cela
ne renvoie pas les chiers dans un sous-sous-rpertoire). /usr/*bin/* reprsente tous les
chiers qui se trouvent dans les rpertoires /usr/bin et /usr/sbin.
Lextension des caractres joker nest pas gre par les commandes appeles, mais par
linterprteur qui appelle la commande. bash connat un certain nombre de caractres joker,
en plus de ceux que nous venons de dcrire.
Problmes lis lutilisation des caractres joker
Lutilisation des caractres joker semble premire vue plus simple que ce quelle est relle-
ment. Si vous rencontrez des problmes avec ces caractres, vous pouvez mener quelques
expriences grce la commande echo chane. Elle afche tous les chiers concerns par
une combinaison de caractres joker sans les modier.
Un problme classique est que * ne reprsente pas seulement les chiers, mais aussi les
rpertoires. Par consquent, ls * afche tous les chiers du rpertoire courant, mais aussi le
contenu de tous les sous-rpertoires. Pour viter cela, on utilise ici loption -d ; ce nest
cependant pas le cas des autres commandes.
Traiter les
rpertoires
avec */.
Lorsque vous souhaitez traiter tous les rpertoires (sans toucher aux chiers), vous pouvez
utiliser la combinaison de caractres joker */.. Elle reprsente tous les "chiers" qui ont un
lien vers eux-mmes dans leur sous-rpertoire, ce qui est uniquement le cas des rpertoires.
utilisateur$ echo */.
Extension
gre par
linterprteur
de commandes
Le fait que lextension des caractres joker soit gre par linterprteur de commandes, et non
directement par la commande, ne prsente pas que des avantages. Par exemple, ls -R *.odt
ne renvoie pas tous les chiers *.odt des sous-rpertoires du rpertoire courant.
La raison est simple : linterprteur de commandes tend le motif *.odt dans le rpertoire
courant et passe ls la liste des chiers trouvs. Par consquent, si vous navez pas de
rpertoire se terminant par .odt, ls a termin et loption -R ne peut rien y faire.
Linux Livre Page 186 Mardi, 23. septembre 2008 1:05 13
187 GESTION DES FICHIERS
Pour ce type de recherche, il faut utiliser la commande find, dont nous parlerons plus tard :
utilisateur$ find . -name *.odt
Renommer
des fichiers
Il nest pas possible de renommer tous les chiers *.x en *.y avec la commande mv *.x
*.y. La raison est la mme que dans le paragraphe prcdent. Le motif *.x est remplac
par la liste de tous les chiers correspondants et il nexiste pas de chier correspondant
*.y. La commande mv a donc pour paramtres une liste de chiers se terminant par *.x et
lexpression *.y et elle ne sait pas comment traiter ces arguments. mv ne sait de toute
faon traiter plusieurs arguments la fois que quand le dernier argument est un rper-
toire.
Renommer
des fichiers
avec sed
Les utilisateurs avancs dUnix ont videmment trouv une parade ces problmes : ils uti-
lisent lditeur de ux sed. Comme il est complexe utiliser, les exemples ci-dessous sappa-
rentent plutt de la programmation de linterprteur de commandes.
Dans ce premier exemple, ls fournit la liste des chiers qui doivent tre renomms et la
passe sed. Celui-ci construit une liste de commandes cp grce la commande s (recherche
dexpressions rgulires et remplacement), puis transmet ces commandes un nouvel inter-
prteur de commandes qui les lance. Tous les chiers *.xxx sont alors copis dans des
chiers *.yyy.
utilisateur$ ls *.xxx | sed s/\(.*\)\.xxx$/cp & \1.yyy/ | sh
Une autre possibilit est de formuler cela sous la forme dune boucle nous supposons que
linterprteur de commandes utilis est Bash. Cette commande copie tous les chiers *.txt
dans des chiers *.txt~ (le caractre ~ en n de chier est souvent utilis pour les chiers de
sauvegarde).
utilisateur$ for i in *.txt; do cp $i $i~; done
Fichiers cachs
Sous Linux, les chiers commenant par un point sont considrs comme des chiers
cachs. * ne renvoie donc pas vraiment tous les chiers dun rpertoire : ceux qui dbutent
par un point sont ignors.
.* permet certes de rcuprer les chiers cachs, mais aussi les rpertoires . et .. (rper-
toire courant et rpertoire parent). Selon la commande utilise, cette syntaxe peut tre
fatale.
On peut utiliser le motif .[!.]*. Celui-ci reprsente tous les noms de chiers dont le premier
caractre est un point, dont le deuxime caractre existe et nest pas un point, et qui ont un
nombre arbitraire de caractres arbitraires.
utilisateur$ echo .[!.]*
Mais la solution la plus universelle est dutiliser find :
utilisateur$ find . -name .*
Linux Livre Page 187 Mardi, 23. septembre 2008 1:05 13
LINUX 188
13.2 Liens
Les liens permettent daccder un mme chier depuis diffrents endroits du systme de
chiers, sans que ce chier ne soit physiquement enregistr plusieurs fois. Ils permettent
dviter la redondance. Ils sont particulirement courants dans les rpertoires /bin et /lib
vous pouvez par exemple le voir en explorant /usr/bin ou /usr/lib avec ls -l.
Pour comprendre le concept de lien, le plus simple est de partir dun exemple. Supposons
quun rpertoire test contienne le chier abc. La commande ln abc xyz semble crer un
nouveau chier xyz. En ralit, abc et xyz sont deux liens vers le mme chier. Pour le vri-
er, utilisez la commande ls -l. La deuxime colonne indique le nombre de liens associs
un chier donn (dans notre cas, deux). Si vous utilisez galement loption -i, vous pouvez
voir que les deux chiers correspondent au mme inode (ce terme sera expliqu plus tard),
ce qui prouve quil sagit bien du mme chier sur le systme de chiers.
utilisateur$ ls -li
13713417 -rw-r--r-- 1 michael users 205 2008-06-26 15:34 abc
utilisateur$ ln abc xyz
utilisateur$ ls -li
13713417 -rw-r--r-- 2 michael users 205 2008-06-26 15:34 abc
13713417 -rw-r--r-- 2 michael users 205 2008-06-26 15:34 xyz
Lorsque vous modiez lun des deux chiers, lautre est automatiquement modi
(puisquil ne sagit en fait que dun seul et mme chier). Si vous supprimez lun des deux,
vous ne faites que rduire le nombre de liens.
Des rsultats tranges peuvent se produire lorsque vous modifiez avec un diteur de texte un fichier avec un
lien dur : le lien pointe, aprs le premier enregistrement, sur le fichier de sauvegarde et, aprs le second enre-
gistrement, dans le vide.
La raison est la suivante : certains diteurs crent un fichier de sauvegarde lors de lenregistrement. Ce der-
nier est un renommage du fichier original, par exemple abc en abc~. Le fichier modifi est alors un fichier
nouvellement cr, avec un nouvel inode et sans lien. Pour viter cela, utilisez des liens symboliques.
Liens
symboliques
Il existe deux types de liens. Lexemple ci-dessus a mis en place des liens durs, crs par
dfaut par la commande ln. Si vous utilisez loption -s, vous crez un lien symbolique. Ces
liens ont lavantage de pouvoir tre utiliss sur un disque physique diffrent de celui du
chier et de pouvoir galement tre appliqus des rpertoires (ces deux possibilits ne
sont pas offertes par des liens durs).
ls afche le chier dorigine des liens symboliques. En revanche, il nexiste pas de compteur
pour le nombre de liens associs au chier dorigine.
La diffrence interne entre un lien symbolique et un lien dur est que le premier enregistre le
chemin du chier li, tandis que le second enregistre linode du chier.
utilisateur$ ln -s abc efg
utilisateur$ ls -li
13713417 -rw-r--r-- 2 michael users 205 2008-06-26 15:34 abc
13713415 lrwxrwxrwx 1 michael users 3 2008-06-26 16:01 efg -> abc
13713417 -rw-r--r-- 2 michael users 205 2008-06-26 15:34 xyz
Linux Livre Page 188 Mardi, 23. septembre 2008 1:05 13
189 GESTION DES FICHIERS
Pour crer un lien symbolique, vous devez vous trouver dans le rpertoire qui contiendra le lien. Sinon, il
arrive que le lien ne pointe pas vers lendroit souhait.
Les liens symboliques se comportent galement diffremment des liens durs. Supprimer le
chier dorigine (en loccurrence abc) ne modie pas le lien vers ce chier (efg), mais celui-
ci pointe alors vers un emplacement vide. Inversement, si le lien symbolique est supprim,
cela na aucune inuence sur le chier dorigine.
On peut aussi crer un lien symbolique vers un rpertoire. Cela peut cependant causer quel-
ques confusions, car toute larborescence pointe par le lien symbolique semble recopie. En
fait, le lien vers le rpertoire nest quun chemin daccs supplmentaire aux mmes chiers
et sous-rpertoires.
Essayez, autant que possible, de ne pas utiliser de chemins absolus, mais relatifs, lorsque
vous crez un lien symbolique. Ainsi, vous viterez des problmes si le rpertoire est mont
par NFS ou si vous dplacez des rpertoires.
Les liens symboliques et les liens durs ont chacun leurs avantages. Les premiers sont
plus simples grer, tandis que les seconds demandent moins de place disque et sont plus
rapides.
13.3 Chercher des fichiers
Il existe plusieurs possibilits pour chercher des chiers sous Linux. Les plus importantes
sont rsumes dans le tableau ci-aprs. La commande utiliser dpend du type de chier
recherch et des informations connues (nom du chier, contenu, etc.).
which et whereis
which cherche la commande passe en argument. Il renvoie le nom complet de la commande
lorsque son nom est indiqu sans information de chemin.
Il parcourt les rpertoires de la variable denvironnement PATH et est donc extrmement
rapide. Cette variable contient une liste de rpertoires dans lesquels on peut trouver des
Recherche de fichiers
beagle-query cherche des fichiers selon leur contenu
grep cherche du texte dans un fichier texte
find cherche des fichiers selon leur nom, leur date, leur taille, etc.
locate cherche des fichiers selon leur nom
whereis cherche des fichiers dans des rpertoires prdfinis
which cherche des programmes dans les rpertoires de la variable denvironnement PATH
Linux Livre Page 189 Mardi, 23. septembre 2008 1:05 13
LINUX 190
programmes. Notez quelle contient gnralement plus de rpertoires pour root que pour
un utilisateur normal.
utilisateur$ which emacs
/usr/bin/emacs
whereis parcourt tous les rpertoires usuels pour les chiers excutables, les chiers de
conguration, les pages de manuel et le code source, an de trouver le nom de chier indi-
qu. Il couvre plus de rpertoires que which et ne se limite pas aux programmes. Cependant,
il nindique que les chiers qui se trouvent dans les rpertoires prdnis pour whereis
(voir ce sujet man whereis).
utilisateur$ whereis fstab
fstab: fstab: /etc/fstab /etc/fstab.pre-uuid /usr/include/fstab.h /usr/share/
man/man5/fstab.5.gz
locate
locate motif afche les chiers dont le nom complet (chemin + nom de chier) correspond
au motif pass en argument. La recherche est trs rapide car locate, plutt que de parcourir
le systme de chiers, accde une base de donnes qui contient tous les noms de chiers
du systme. Certaines distributions nafchent que les chiers auxquels lutilisateur a effec-
tivement accs. Lancez locate en tant que root lorsque vous cherchez des chiers systme.
Exemple La commande suivante cherche le chier de conguration de X, xorg.conf :
utilisateur$ locate xorg.conf
/etc/X11/xorg.conf
/etc/X11/xorg.conf.backup
/etc/X11/xorg.conf~
/usr/share/man/man5/xorg.conf.5.gz
On peut utiliser des caractres joker. Ainsi, locate *dvips ne renverra que les chiers
dont le nom se termine par dvips.
updatedb La qualit des rsultats de la recherche dpend largement de la qualit de la base de don-
nes de locate. La plupart des distributions lancent la commande updatedb pour mettre
jour cette base au moins une fois par jour. Il est aussi possible de la lancer manuellement de
temps autre. Cela ncessite cependant des droits root.
find et grep
find est une commande la fois extrmement puissante et complexe pour chercher des
chiers. Elle prend en argument diffrents critres de recherche (motif pour le nom du
chier, date de cration ou de dernier accs, etc.). man find fournit une rfrence complte
de toutes les options de find. Les exemples suivants vous permettront de faire vos premiers
pas avec find. Notez quil est plutt long sexcuter, car il parcourt des pans entiers du
systme de chiers, rpertoire aprs rpertoire.
find La commande find, sans paramtre supplmentaire, afche une liste de tous les chiers
dans le rpertoire courant et ses sous-rpertoires.
Linux Livre Page 190 Mardi, 23. septembre 2008 1:05 13
191 GESTION DES FICHIERS
La commande suivante cherche tous les chiers qui commencent par .e dans le rpertoire
courant et ses sous-rpertoires :
utilisateur$ find -name .e*
./.emacs.d
./.emacs~
...
./linux-2.6.19.2/linux/scripts/mod/.elfconfig.h.cmd
...
./.emacs
./.eclipse
Cet exemple cherche dans le rpertoire /usr/share/texmf tous les chiers *.tex prsents
dans un rpertoire qui se termine par latex :
utilisateur$ find /usr/share/texmf -path *latex/*.tex
/usr/share/texmf/ptex/platex/base/plnews03.tex
/usr/share/texmf/ptex/platex/base/kinsoku.tex
/usr/share/texmf/ptex/platex/base/plnews08.tex
/usr/share/texmf/ptex/platex/base/pldoc.tex
...
Lexemple suivant afche tous les rpertoires contenus dans /etc/. Les chiers rguliers ne
sont pas montrs. La liste est trie alphabtiquement avec sort.
root# find /etc -type d | sort
/etc
/etc/acpi
/etc/acpi/events
/etc/alternatives
/etc/apache2
/etc/apache2/conf.d
...
La commande suivante afche tous les chiers des sous-rpertoires de /home qui appartien-
nent aux utilisateurs du groupe users et qui ont t modis au cours des cinq derniers
jours. -ctime +5 afche les chiers modis il y a plus de cinq jours, et -ctime 5 ceux modis
il y a exactement cinq jours.
root# find /home -group users -ctime -5
...
Cette commande supprime tous les chiers de sauvegarde dans le rpertoire courant et ses
sous-rpertoires. Une liste est construite avec les rsultats de find, puis elle est passe rm :
utilisateur$ rm $(find . -name *~)
Si find renvoie beaucoup de chiers, il se peut que la commande ci-dessus afche une
erreur : la ligne de commande tendue est trop longue par rapport la taille maximale auto-
rise. Dans ce cas, vous devez utiliser loption -exec de find, ou la commande xargs. Reportez-
vous aux pages de manuel man find et man xargs pour plus dinformations ce sujet.
Linux Livre Page 191 Mardi, 23. septembre 2008 1:05 13
LINUX 192
grep La commande grep parcourt un chier texte la recherche dun motif de recherche. Selon les
options, elle afche les lignes du chier correspondant ou le nombre de lignes concernes.
Le motif de recherche est une expression rationnelle.
La commande suivante cherche la chane de caractres "emacs" dans tous les chiers *.tex
du rpertoire. Une liste de toutes les lignes correspondantes (prxes par le nom du chier)
safche lcran.
utilisateur$ grep emacs *.tex
Cet exemple compte le nombre de fois que la fonction arctan est utilise dans les chiers *.c
du rpertoire :
utilisateur$ grep -c arctan\(.*\) *.c
grep -v renvoie comme rsultat toutes les lignes qui ne contiennent pas le motif de recher-
che. Dans lexemple suivant, grep supprime toutes les lignes qui commencent par le carac-
tre # dans le chier configfile. La commande cat supprime toutes les lignes vides.
Le rsultat est enregistr dans le chier nocomments.
utilisateur$ grep -v ^# configfile | cat -s > nocomments
Combiner find
et grep
Combiner find et grep permet de mener des recherches particulirement efcaces. Cet
exemple afche tous les chiers *.tex qui contiennent la chane de caractres "emacs" :
utilisateur$ find -name *.tex -type f -exec grep -q emacs {} \; -print
La commande suivante afche tous les chiers du rpertoire courant, dont la taille est inf-
rieure 10 Ko et dont le contenu correspond lexpression rationnelle case.*in. La liste des
chiers trouvs est enregistre dans le chier resultat.
utilisateur$ find -name * -maxdepth 1 -size -10k \
> -exec grep -q case.*in {} \; -print > resultat
Beagle
Beagle est un outil de recherche relativement rcent, qui fournit certains avantages en plus
de ceux des outils traits ci-dessus :
La recherche est rapide ; elle sappuie comme locate sur un chier dindex.
Lindex de recherche est actualis chaque modication de chiers ; il est donc toujours
jour.
La recherche inclut le contenu des chiers. Alors que la combinaison find/grep se limite
aux chiers texte, Beagle permet de grer davantage de formats : documents Open-
Ofce.org, pages Web (y compris le cache de Konqueror), courriers lectroniques
(KMail et Evolution), chiers PDF, etc.
Beagle prsente nanmoins certains inconvnients. Il est dvelopp en C# et ncessite donc
dinstaller Mono. Son chier dindex est trs volumineux. Il existe des formats que Beagle ne
prend pas encore en compte, comme les courriers lectroniques de Thunderbird ou les
chiers LaTeX. Les systmes de donnes NFS posent galement problme : ils peuvent tre
parcourus, mais cela prend du temps et on ne peut pas actualiser automatiquement lindex.
Linux Livre Page 192 Mardi, 23. septembre 2008 1:05 13
193 GESTION DES FICHIERS
Beagle possde une interface graphique pour Gnome, nomme gnome-beagle-search et qui
souvre avec F12, et une interface graphique pour KDE, nomme kerry. Beagle peut aussi tre
intgr directement Nautilus et Firefox. Il existe une extension KIO de Konqueror, qui permet
de lancer des recherches sous la forme beagle:expression de recherche.
On peut aussi lancer une recherche Beagle via la ligne de commande :
utilisateur$ beagle-query ubuntu mono
Tracker
Si Beagle ne vous satisfait pas, Tracker est une alternative de plus en plus populaire. Ce pro-
gramme est relativement rcent et donc moins mr que Beagle, mais il a dores et dj la
rputation dtre plus efcace.
Aprs linstallation, vous devez vous dconnecter, puis vous reconnecter. Une fois que vous
avez laiss Tracker le temps dindexer votre systme de chiers, vous pouvez lancer une
recherche avec tracker-search-tool. Si vous travaillez sous Gnome, vous pouvez aussi
lutiliser directement dans Nautilus avec le bouton Rechercher.
Tracker enregistre les donnes dindex dans le rpertoire ~/.cache/tracker. Par dfaut,
seuls les chiers du rpertoire personnel sont indexs. Si cela ne vous convient pas, vous
pouvez modier la conguration avec tracker-preferences.
Lorsque jai test ce programme, il ne prenait pas encore en charge les donnes de Thunderbird.
Il ignorait galement mes chiers LaTeX et PostScript.
Google Desktop
Google a galement lanc une version bta de son outil de recherche local dj bien tabli
sous Windows. Son succs sous Linux reste cependant conrmer. Dune part, il ne sagit
pas dun logiciel libre. Dautre part, la version Windows de Google Desktop a dj entran
de nombreuses questions quant la condentialit des donnes et il est probable que cet
lment proccupe galement les utilisateurs de la version Linux.
Expressions de recherche de Beagle
mot1 mot2 recherche les documents contenant les deux termes de recherche
mot1 OR mot2 recherche les documents contenant au moins un terme de recherche ; OR doit tre
saisi en majuscules
mot1 -mot2 recherche les documents contenant mot1, mais pas mot2
"mot1 mot2" recherche les documents contenant la phrase "mot1 mot2"
ext:pdf restreint la recherche aux documents PDF
.pdf raccourci pour ext:pdf
Linux Livre Page 193 Mardi, 23. septembre 2008 1:05 13
LINUX 194
Installation Google fournit des paquetages RPM et DEB en tlchargement, ainsi quun dpt de paque-
tages qui permet dactualiser automatiquement les paquetages avec APT, YUM et autres
(deuxime lien).
http://desktop.google.com/linux/ ; http://www.google.com/linuxrepositories/
Utilisation Google Desktop est activ lors de la connexion Gnome ou KDE. Il lance en tche de fond
lindexation des donnes (programme gdl_inderxer). Par dfaut, seul le rpertoire person-
nel, ainsi que les rpertoires man et info sont parcourus. Lindexation de dpart fonctionne
avec une priorit trs basse et interfre peu avec le fonctionnement de lordinateur, mais elle
peut durer plusieurs heures. Lindex est enregistr dans ~/.google/desktop. La recherche et
la modication des paramtres sont gres par une interface web pour laquelle Google
Desktop lance un petit serveur web sur le port 33555.
13.4 Archiver et scuriser des donnes
Compresser et archiver des donnes (gzip, tar, zip)
Pour compresser des donnes, on utilise gnralement sous Windows WinZip ou un pro-
gramme compatible. Il existe aussi plusieurs interfaces sous Linux, comme file-roller
(sous Gnome) et ark (sous KDE). Cette section prsente quelques alternatives en ligne de
commande, rsumes dans le tableau ci-dessous.
gzip et gunzip gzip compresse le chier fourni en paramtre et le nomme nom.gz. gunzip effectue lop-
ration inverse. Les deux commandes utilisent lalgorithme LZ77-Lempel-Ziv, qui est sur-
tout efcace pour les chiers texte (et nettement moins pour les chiers audio ou vido).
La compression est sans perte aprs la dcompression, le chier dorigine est restaur.
Les commandes suivantes illustrent son utilisation :
utilisateur$ ls -l licence.txt
... 17718 2003-02-09 18:25 licence.txt
utilisateur$ gzip licence.txt
utilisateur$ ls -l licence.txt.gz
... 6502 2003-02-09 18:25 licence.txt.gz
utilisateur$ gunzip licence.txt.gz
bzip2 et
bunzip2
bzip2 et bunzip2 sont une alternative gzip et gunzip. Ces commandes prsentent lavan-
tage de mieux compresser les chiers, mais linconvnient de sexcuter plus lentement.
Compresser et archiver des donnes
gzip compresse un fichier
gunzip dcompresse un fichier
bzip2 compresse un fichier (compression plus importante, mais plus lente)
bunzip2 dcompresse un fichier
tar cre et extrait des archives de fichiers
zip cre une archive Zip compatible avec Windows
unzip extrait une archive Zip
zipinfo affiche des informations sur les archives Zip
Linux Livre Page 194 Mardi, 23. septembre 2008 1:05 13
195 GESTION DES FICHIERS
Le chier compress reoit lextension .bz2.
utilisateur$ bzip2 licence.txt
utilisateur$ ls -l licence.txt.bz2
... 5764 2003-02-09 18:25 licence.txt.bz2
utilisateur$ bunzip2 licence.txt.bz2
tar tar est la commande de rfrence pour rassembler plusieurs chiers dans une archive, qui
peut ensuite tre compresse laide de gzip ou bzip2.
La commande suivante regroupe les chiers du rpertoire livre dans larchive compresse
livre.tgz. En ce qui concerne les options, c indique tar quil doit crer une archive. z
signie "zip" : le chier doit tre compress avec gzip. f signie "le" (chier) : cette option
donne le nom du chier crer, gnralement avec lextension .tar.gz ou .tgz.
utilisateur$ tar -czf livre.tgz livre/
tar -tzf afche le contenu dune archive. Les chiers quelle contient sont dans un ordre
alatoire. La plupart des distributions permettent galement de voir ce contenu avec less.
utilisateur$ tar -tzf livre.tgz/
livre/
livre/chap4.txt
livre/chap2.txt
livre/annexeA.txt
...
tar -xzf dcompresse larchive et en extrait tous les chiers :
utilisateur$ tar -xzf livre.tgz
Si larchive est compresse avec bzip2 et non avec gzip, utilisez loption j la place de z.
zip tar est le format de prdilection des archives sous Linux. Mais si vous dsirez communi-
quer avec des utilisateurs de Windows, le format Zip est probablement plus judicieux. La
commande suivante compresse tous les chiers HTML du rpertoire dans le chier
monarchive.zip :
utilisateur$ zip monarchive.zip *.html
Si vous souhaitez archiver un rpertoire complet, utilisez loption -r :
utilisateur$ zip -r monarchive.zip siteweb/
Vous pouvez afcher le contenu dun chier Zip avec zipinfo :
utilisateur$ zipinfo monarchive.zip
-rw-r--r-- 2.3 unx 24488 tx defN 27-Jun-08 18:38 rep/implem.tex
-rw-r--r-- 2.3 unx 1492 tx defN 27-Jun-08 18:38 rep/parallel.tex
-rw-r--r-- 2.3 unx 4258 tx defN 27-Jun-08 18:38 rep/benchs.tex
-rw-r--r-- 2.3 unx 30335 tx defN 27-Jun-08 18:38 rep/chap-sse2.tex
...
Pour dcompresser larchive, utilisez unzip :
utilisateur$ unzip monarchive.zip
Linux Livre Page 195 Mardi, 23. septembre 2008 1:05 13
LINUX 196
Sauvegardes (rsync)
Les disques durs ne vivent pas ternellement, les ordinateurs portables peuvent tre vols et
un rm -rf malencontreux peut provoquer des dgts importants. Il est donc impossible de
se passer de sauvegardes rgulires de vos donnes.
Il existe un nombre virtuellement illimit de stratgies de sauvegarde. Je me limite donc
prsenter la commande rsync, qui permet de synchroniser des arborescences de rpertoires,
par exemple pour enregistrer des donnes sur un disque externe.
rsync Au dpart, rsync a t conu pour synchroniser des rpertoires sur un rseau. Nous nous
intressons ici la copie entre deux disques locaux.
La commande suivante copie tous les chiers *.odt dun rpertoire vers un second rper-
toire. Contrairement cp, les chiers dj prsents (par exemple, depuis la sauvegarde pr-
cdente) et non modis ne sont pas recopis. Pour une petite sauvegarde, cela ne change
pas grand-chose, mais lorsquil sagit darborescences de plusieurs gigaoctets, la diffrence
se fait rapidement sentir.
utilisateur$ rsync rep1/*.odt rep2/
Pour synchroniser un rpertoire complet, ainsi que ses sous-rpertoires, utilisez loption -a
qui est un raccourci pour une longue suite doptions (-rlptgoD). Elle traite rcursivement
tous les sous-rpertoires et tente de prserver au mieux les informations relatives aux
chiers (propritaire, groupe, date de la dernire modication, etc.). Si rep2 nexiste pas
encore, le rpertoire est cr.
utilisateur$ rsync -a rep1/ rep2/
Par dfaut, rsync copie tous les nouveaux chiers et ceux modis, mais ne supprime rien.
Si vous souhaitez que les chiers supprims dans rep1 le soient aussi dans rep2, passez
loption --delete. Attention, cette option est dangereuse : si vous effacez accidentellement
un rpertoire, il le sera galement sur le disque de sauvegarde la prochaine sauvegarde.
Cependant, sur la dure, il est difcile dviter dutiliser loption --delete si on ne veut pas
conserver de chiers inutiles pendant des annes.
Si vous dsirez avoir un retour sur les chiers modis et sur la vitesse de transfert des donnes,
utilisez loption -v.
Automatiser
les sauve-
gardes
Plutt que de saisir chaque fois la commande rsync, il vaut mieux lencapsuler dans un
petit script shell. On vite ainsi les fautes de frappe.
Voici un exemple dutilisation de ce script :
#!/bin/sh
mount /backup # monte le rpertoire NFS de sauvegarde
rsync -av --delete /rep1/* /backup/machineX/rep1/
rsync -av --delete /rep2/* /backup/machineX/rep2/
Il suft ensuite de le lancer par une tche cron.
Voici ma stratgie personnelle de sauvegarde. Tous mes ordinateurs sont de temps en temps connects un
serveur central. Je synchronise une fois par semaine mes rpertoires de donnes personnels avec le rpertoire
correspondant sur le serveur grce rsync. Pour les fichiers importants sur lesquels je travaille, la sauvegarde
Linux Livre Page 196 Mardi, 23. septembre 2008 1:05 13
197 GESTION DES FICHIERS
est lance tous les jours. Les fichiers sauvegarder se trouvent donc sur deux disques durs indpendants lun
de lautre.
Une fois par mois, je synchronise toute la partition de donnes du serveur avec un disque dur USB. De
plus, je cre des CD ou des DVD de sauvegarde par projet (par exemple, les fichiers dun livre ou les photos
numriques de lanne). Ces dix dernires annes, jai dplor la perte de quelques disques durs suite des
dfauts matriels, mais jamais de perte de donnes consquente.
Autres
solutions de
sauvegarde
Il existe bien sr dautres solutions pour effectuer des sauvegardes :
Les commandes pour graver des CD et des DVD seront prsentes la section 13.5.
La commande rdiff-backup est une alternative intressante rsync :
http://www.nongnu.org/rdiff-backup/.
Il existe aussi diverses interfaces graphiques de sauvegarde, mme si aucun standard de
fait ne simpose actuellement. Voici deux exemples : sbackup (http://sbackup.source-
forge.net) et unison (http://www.cis.upenn.edu/~bcpierce/unison).
En plus de ces programmes libres, il existe des solutions propritaires comme Arkeia,
un systme client/serveur pens pour des rseaux complets.
13.5 Graver des CD et des DVD
Nous avons dj parl des interfaces graphiques de gravure de CD et de DVD aux Chapi-
tres 4 et 5. Cette section prsente les commandes appeles en coulisses par ces programmes.
Cela peut tre utile, par exemple, pour automatiser la cration dun CD de sauvegarde via
un script.
Noms des
priphriques
Avant de pouvoir utiliser les commandes dcrites, vous devez connatre le nom de priph-
rique de votre lecteur. Si ce dernier se trouve sur le bus IDE et que vous utilisez une distri-
bution plutt ancienne, le nom du priphrique sera probablement /dev/hda, /dev/hdb, ou
construit sur ce modle. Sur les distributions plus rcentes et pour les priphriques SATA,
SCSI, USB et Firewire, ce sera sans doute /dev/scd0, /dev/scd1, /dev/sr0 ou /dev/sr1.
Certaines commandes demandent le nom du priphrique sous la forme dun triplet de
nombres (par exemple dev=3,0,0), qui se compose du numro de bus SCSI (souvent 0), de
lidentiant SCSI du priphrique et de lunit logique (LUN, Logical Unit Number, le plus
souvent 0). Vous pouvez obtenir la combinaison correspondant votre lecteur avec readcd
-scanbus.
Que vous graviez des CD ou des DVD, assurez-vous que votre distribution Linux ne monte pas le lecteur dans
larborescence de rpertoires et ny accde pas. Selon la distribution, diffrents mcanismes de montage auto-
matique des CD et des DVD interfrent avec la gravure.
Daprs mon exprience, lutilisation de lecteurs externes (USB, Firewire) entrane des problmes plus fr-
quents que celle dun lecteur interne. Cela est vrai pour Linux, mais aussi pour Windows. Si vous souhaitez
absolument utiliser un lecteur externe, rduisez la vitesse de gravure.
Linux Livre Page 197 Mardi, 23. septembre 2008 1:05 13
LINUX 198
Crer et tester des images ISO
Avant de crer un CD ou un DVD de donnes, vous avez besoin dune image ISO. Ce chier
contient les donnes graver. On utilise gnralement mkisofs ou genisoimage, qui a une
syntaxe compatible. Pour copier un support existant, on peut aussi utiliser dd.
mkisofs Les commandes mkisofs et genisoimage crivent tous les chiers dun ou de plusieurs
rpertoires dans un chier ISO.
Le format ISO-9660 prvu pour les CD utilise un jeu de caractres trs limit, qui autorise
peu de caractres non ASCII. Pour contourner cela, il existe plusieurs extensions du standard
ISO prises en charge par mkisofs et genisoimage :
Lextension Rockridge, prvalente sous les systmes Unix et Linux, permet denregistrer
des noms de chiers plus longs sous la forme de chanes de caractres arbitraires termi-
nes par le caractre 0. De plus, elle permet denregistrer des droits daccs (UID, GID,
bits daccs).
Cependant, un CD Rockridge ne contient pas dinformation sur le jeu de caractres dans
lequel lISO a t cre. Cela peut savrer problmatique si le support de donnes est
ensuite utilis dans un ordinateur ayant un autre jeu de caractres.
Il est nanmoins possible dindiquer le jeu de caractres souhait grce loption -out-
put-charset.
Lextension Joliet, prvalente sous les systmes Windows, permet denregistrer des
noms de chiers plus longs, reprsents sous la forme dune chane de caractres
Unicode (UTF-16).
Il y a quelques annes, mkisofs/genisoimage supposait que le systme de chiers local
tait en Latin-1 et convertissait les noms de chiers dans ce jeu de caractres. Loption
-input-charset permet de spcier un autre jeu de caractres, mais elle ne prend pas en
charge les jeux de caractres Unicode.
Ce problme est gr dans les versions actuelles par le correctif non ofciel iconv. Ce
dernier est absolument ncessaire si vous utilisez un jeu de caractres Unicode sous
Linux et que vous dsirez graver un CD compatible avec Windows, sans quoi les carac-
tres spciaux ne seront pas bien reprsents.
Exemples La commande suivante crit tous les chiers du rpertoire /master dans le chier /tmp/mas-
ter.iso. Le rpertoire master nest pas un rpertoire de limage ISO. Celle-ci utilise lexten-
sion Rockridge (-r) et Joliet (-J), et a pour nom Linux (option -V). Cette chane de caractres
est le nom du CD une fois grav.
utilisateur$ mkisofs -o /tmp/master.iso -r -J -B Linux /master
Le deuxime exemple est comparable au premier, mais il permet de crer un CD amorable :
utilisateur$ mkisofs -o /tmp/master.iso -r -J -/master \
-b images/boot.img-c boot.catalog
Ce troisime exemple montre comment faire pour que le rpertoire master soit lui-mme un
rpertoire de lISO (option -graft-point) :
utilisateur$ mkisofs -o /tmp/master.iso -r -graft-points /master=/master
Linux Livre Page 198 Mardi, 23. septembre 2008 1:05 13
199 GESTION DES FICHIERS
Si vous nutilisez pas loption -r, assurez-vous que tous les fichiers du rpertoire graver appartiennent
root et quils sont lisibles par tous :
utilisateur$ chown -R root.root /master
utilisateur$ chmod -R a+r /master
dd Pour copier sans modication un CD ou un DVD de donnes (cela ne fonctionne pas
pour un CD audio), une seule commande dd suft pour obtenir le chier ISO correspon-
dant. /dev/cdrom reprsente le nom de priphrique de votre lecteur CD ou DVD, ce qui
dpend de votre distribution.
utilisateur$ dd if=/dev/cdrom of=/usr/local/iso.ing bs=2048
Tester une
image ISO
Le priphrique de bouclage (loopback device) du noyau Linux permet de considrer un
chier comme un systme de chiers et de le monter dans larborescence avec mount. Cette
fonctionnalit est gre par le module de noyau loop qui est fourni par toutes les distribu-
tions courantes. La commande suivante monte le chier master.iso dans le systme de
chiers en mode lecture seule :
root# mkdir /iso-test
root# mount -t iso9660 -o loop,ro /tmp/master.iso /isotest/
Graver des CD
cdrecord et
wodim
cdrecord a longtemps t le programme de rfrence pour graver des CD. Dvelopp par
Jrg Schilling, il faisait partie, jusquen 2006, de presque toutes les distributions. lt 2006,
Jrg Schilling a utilis, pour certaines parties du paquetage, la licence CDDL, que de nom-
breux dveloppeurs de Linux considrent comme incompatible avec la GPL. La dernire
version de cdrecord, entirement sous GPL, a donc t utilise comme base dune nouvelle
application, wodim, qui fait partie du projet cdrkit.
Actuellement, de nombreuses distributions fournissent wodim ; /usr/bin/cdrecord est souvent
un lien vers wodim.
Avant de graver un CD, vous avez besoin dune image ISO, cre normalement avec mkisofs
ou genisoimage. Les deux commandes suivantes simulent dabord la gravure (avec loption
-dummy), puis leffectuent :
root# cdrecord -dummy -v speed=16 dev=/dev/scd0 iso.img
root# cdrecord -v speed=16 dev=/dev/scd0 iso.img
Cet exemple permet de graver un CD audio. Les donnes sont sous la forme de chiers wav,
qui sont traits dans lordre alphabtique. Si vous dsirez utiliser un ordre diffrent, vous
devez indiquer explicitement la liste des chiers.
root# cdrecord -v speed=16 dev=0,5,0 -pad -dao -audio *.wav
cdrdao La commande cdrdao est une alternative cdrecord/wodim. Elle est moins polyvalente, mais
fournit plus doptions pour lire et crire des CD audio.
Pour crire un CD audio, cdrdao a besoin dun chier TOC. Ce dernier est une sorte de table
des matires du CD indiquant quelles donnes sont enregistres dans quel format.
Linux Livre Page 199 Mardi, 23. septembre 2008 1:05 13
LINUX 200
En pratique, cdrdao est gnralement utilis pour copier des CD audio. La premire com-
mande cre les chiers data.bin et data.toc (contenu du CD et table des matires) et la
seconde crit ces donnes sur un CD. Les priphriques doivent tre indiqus par le biais
dun triplet de chiffres, grce readcd -scanbus.
root# cd tmp/
root# cdrdao read-cd --device 0,0,0 data.toc
root# cdrdao write --device 0,0,0 --buffers 64 data.toc
Si votre machine a deux lecteurs et quelle est sufsamment rapide, vous pouvez aussi
copier le CD en une seule commande :
root# cdrdao copy --source-device 0,0,0 --device 0,1,0 --buffers 64
Vrifier des CD
de donnes
La commande suivante compare le contenu du CD-ROM et celui du rpertoire master, la
fois chier par chier et octet par octet. Les diffrences sont rsumes dans le chier
diff.log du rpertoire personnel. /media/cdrom reprsente le rpertoire dans lequel est
mont le CD.
root# diff -qrd /master /media/cdrom >& ~/diff.log
Graver des DVD
Les outils les plus populaires pour graver des DVD sont ceux de dvd+rw-tools. Si ces der-
niers ne fonctionnent pas, vous pouvez essayer dutiliser cdrecord ou wodim. Cette com-
mande permet de graver des DVD-R et des DVD+R ; la syntaxe ne diffre pas de celle
utilise pour la gravure de CD. cdrecord/wodim prsente cependant moins doptions pour
graver les DVD+RW et DVD-RW.
dvd+rw-tools Toutes les commandes prsentes dans cette section font partie du paquetage dvd+rw-tools.
Initialement, celui-ci ne prenait en charge que les DVD+R et DVD+RW. Depuis, on peut
aussi graver des disques DVD-R, DVD-RW et Blue-Ray. dvd+rw-tools est fourni par
limmense majorit des distributions actuelles.
growisofs La commande centrale du paquetage dvd+rw-tools est growisofs. Elle grave les disques
DVD+R, DVD+RW, DVD-R, DVD-RW et Blue-Ray.
Les DVD+R et DVD-R peuvent contenir des donnes exactement comme les CD multisessions.
Pour crire la premire session, on utilise growisofs -Z et pour les suivantes, growisofs -M. On
ne peut pas supprimer un chier enregistr sur lun de ces supports, ni formater ces disques.
Les DVD+RW et DVD-RW doivent tre formats avec dvd+rw-format avant la premire utilisa-
tion. Vous pouvez ensuite, comme sur un DVD-R ou DVD+R, crire les donnes en plusieurs
sessions. Pour craser les donnes prcdentes, il suft de relancer un cycle de sessions grce
growisofs -Z. Il nest pas ncessaire, linverse des CD-RW, de reformater le disque.
La commande suivante enregistre le contenu du rpertoire donnees sur un DVD. Les options
-r et -J indiquent les extensions Rockridge et Joliet, qui permettent dutiliser des noms de
chiers plus longs sur le DVD. Selon la distribution, vous pouvez avoir changer le nom du
priphrique /dev/srn en /dev/scdn.
utilisateur$ growisofs -r -J -Z /dev/sr0 donnees/
Pour crer une deuxime session, utilisez loption -M la place de -Z :
utilisateur$ growisofs -r -J -M /dev/sr0 autresdonnees/
Linux Livre Page 200 Mardi, 23. septembre 2008 1:05 13
201 GESTION DES FICHIERS
Attention : il faut jecter et remettre le DVD dans& le lecteur avant de crer une nouvelle session.
La lecture des DVD multisessions peut poser problme sur certains lecteurs. Pour les DVD-RW, il faut utiliser
le mode restricted overwrite (voir dvd+rw-format).
Certains lecteurs DVD ne grent pas les DVD+RW (quils soient mono- ou multisessions). Les commandes sui-
vantes permettent parfois de contourner ce problme :
utilisateur$ dvd+rw-format -lead-out /dev/sr0
utilisateur$ dvd+rw-booktype -dvd-rom -media /dev/sr0
Si vous dsirez crire une image ISO dj existante, utilisez la syntaxe -Z priphri-
que=fichieriso :
utilisateur$ growisofs -Z /dev/sr0=donnees.iso
dvd+rw-
format
Les DVD+RW et DVD-RW doivent tre formats avant la premire utilisation, ce que permet
dvd+rw-format :
utilisateur$ dvd+rw-format /dev/sr0
Ce qui se passe en dtail dpend du type de support. Pour les DVD+RW, seul le dbut du
disque est format. Par consquent, si le formatage sarrte 11,5 % (ou avant 100 %), il ne
sagit pas dune erreur. Le formatage en de de cette zone est automatiquement effectu
par le lecteur lorsquil faut crire sur cette zone du DVD.
Les DVD-RW sont par dfaut formats en mode restricted overwrite. Ce dernier permet de
rcrire sur une zone dj crite du disque. Il nest donc pas ncessaire de reformater un
DVD-RW chaque criture.
Vous pouvez aussi formater un DVD-RW en mode incremental sequential avec loption
-blank. Les DVD-RW sortant dusine sont gnralement dj formats ainsi. Ce mode est
particulirement adapt aux DVD vido et amliore la compatibilit avec de nombreux lec-
teurs. Cependant, growisofs ne sait pas rcrire de donnes dans ce mode. Il faut donc
reformater le disque chaque utilisation, ce qui prend beaucoup de temps.
En rsum, pour faciliter le travail growisofs, il faut formater les DVD-RW avec dvd+rw-
format sans loption -blank.
Le formatage ne supprime pas les donnes physiquement. Si, pour des raisons de respect de la vie prive,
vous dsirez les effacer, lancez growisofs -Z device=/dev/zero. Le support sera alors rcrit avec des 0.
dvd+rw-
mediainfo
Vous possdez un DVD, mais vous ne savez pas de quel type il sagit, si le disque est dj
crit, dans quel mode et avec combien de sessions. Dans ce cas, vous pouvez lancer la
commande dvd+rw-mediainfo :
utilisateur$ dvd+rw-mediainfo /dev/sr0
INQUIRY: [_NEC ][DVD_RW ND-1300A ][1.07]
GET [CURRENT] CONFIGURATION:
Mounted Media: 1Ah, DVD+RW
GET PERFORMANCE:
Speed Descriptor#0: 00/221280 Reading@7.8x Writing@2.3x
Linux Livre Page 201 Mardi, 23. septembre 2008 1:05 13
LINUX 202
READ DVD STRUCTURE[#0h]:
Media Book Type: 92h, DVD+RW book [revision 2]
Media ID: RICOHJPN/W01
Legacy lead-out at: 221280*2KB=453181440
...
13.6 Droits daccs, utilisateurs et groupes propritaires
Linux est conu comme un systme multi-utilisateur : certains mcanismes dnissent qui
peut accder quels chiers, qui peut les modier, etc.
Depuis le noyau 2.6, il dispose galement dune gestion avance des droits grce aux ACL
(Access Control Lists, listes de contrle daccs). Les ACL seront traits plus en dtail la
section 13.8.
Donnes
daccs par
fichier
Chaque chier ou rpertoire est enregistr avec les informations suivantes :
le propritaire du chier ;
le groupe associ au chier ;
les bits daccs (rwxrwxrwx pour lecture/criture/excution par le propritaire, les membres
du groupe et le reste du monde) ;
quelques bits supplmentaires pour certaines fonctions spciales.
Le propritaire du chier est en gnral la personne qui a cr le groupe. Le groupe associ
au chier est alors normalement le groupe principal du propritaire.
Les informations daccs r, w et x dnissent qui peut lire, modier et excuter le chier.
Elles sont spares en trois groupes pour le propritaire, les membres du groupe et les
autres utilisateurs du systme. Cela permet de donner plus de droits au propritaire du
chier qu dautres utilisateurs. Ces informations sappellent bits daccs, car elles sont
enregistres en interne grce un codage en bits. Ce nest pas la notation rwxrwxrwx qui est
utilise en interne, mais 9 bits daccs, ainsi que 3 bits spciaux, souvent reprsents galement
sous forme octale.
On peut connatre les bits daccs, le propritaire et le groupe dun chier grce la commande
ls -l. Pour un chier texte standard, ls renvoie le rsultat suivant :
michael$ ls -l lisezmoi.txt
-rw-r--r-- 1 michael users 7484 2008-02-19 12:45 lisezmoi.txt
En voici une brve explication. Le premier caractre indique le type de chier : - pour un
chier rgulier, d pour un rpertoire, l pour un lien symbolique, etc. Ce chier peut tre lu
et modi par son propritaire, michael. Comme il sagit dun chier texte, le premier bit x
est dsactiv : le chier ne peut pas tre excut. Tous les autres utilisateurs, quils soient
membres du groupe users ou non, peuvent le lire (mais pas le modier).
Si Michael souhaite que seuls les membres du groupe users puissent lire le chier, il doit
dsactiver le dernier bit r :
michael$ chmod o-r lisezmoi.txt
michael$ ls -l lisezmoi.txt
-rw-r----- 1 michael users 7484 2008-02-19 12:45 lisezmoi.txt
Linux Livre Page 202 Mardi, 23. septembre 2008 1:05 13
203 GESTION DES FICHIERS
Supposons prsent que laccs au chier soit restreint deux utilisateurs, michael et kate.
Il faut pour cela crer un nouveau groupe auquel seuls Michael et Kate appartiennent, par
exemple doc. Lappartenance du chier au groupe doit ensuite tre modie grce chgrp :
michael$ chgrp doc lisezmoi.txt
michael$ ls -l lisezmoi.txt
-rw-r----- 1 michael doc 7484 2008-02-19 12:45 lisezmoi.txt
Droits daccs
sur des
rpertoires
Les 9 bits daccs sont galement valides pour les rpertoires, mais leur signication est dif-
frente. Le bit r permet aux utilisateurs de voir le contenu dun rpertoire avec ls. Le bit x
leur permet daller dans ce rpertoire. Lorsque x et w sont actifs, de nouveaux chiers peuvent
tre crs dans le rpertoire.
Droits daccs
sur des
priphriques
Sous Linux, on accde divers composants matriels (lecteur de disquette, imprimante,
modem, interface srie, lecteur de bandes, etc.) via les priphriques.
Pour dnir, de manire cible, quel utilisateur a le droit daccder quels priphriques,
ceux-ci sont rpartis en divers groupes dutilisateurs. Par exemple, les priphriques /dev/
ttyS* pour les ports srie appartiennent souvent au groupe uucp ou dialout :
utilisateur$ ls -l /dev/sda
crw-rw---- 1 root dialout 4, 65 2008-06-17 22:14 /dev/ttyS1
Si ladministrateur dsire que lutilisateur hubert puisse accder directement un modem
via linterface srie, il peut ajouter hubert au groupe dialout avec la commande usermod -G.
Dans certaines distributions, lorsquun utilisateur se connecte, les droits daccs des pri-
phriques les plus courants sont congurs de sorte que lutilisateur actuel ait un accs illi-
mit aux priphriques correspondants. Par consquent, les droits daccs sont souvent
modis. Fedora utilise pour cela PAM ; SUSE met en uvre le dmon resmgrd.
Bits spciaux
Le sens des trois fois 3 bits rwxrwxrwx est simple comprendre. En plus de ces bits, certaines
informations supplmentaires peuvent tre enregistres. La connaissance de ces bits spciaux
nest gnralement ncessaire quaux administrateurs systme.
Bit setuid Le bit setuid, ou bit suid, fait en sorte quun programme soit toujours lanc comme sil tait
dmarr par son propritaire. Ce dernier est souvent root ; ainsi, le programme peut tre
lanc comme sil ltait par root.
Ce bit est utilis pour donner aux utilisateurs sans privilge des droits qui ne sappliquent
qu lexcution dun programme donn. Cela peut nanmoins facilement reprsenter un risque
de scurit, en particulier lorsque le programme excut dmarre dautres programmes.
Cest pourquoi il vaut mieux viter autant que possible lutilisation des bits setuid. La com-
mande mount peut constituer lune des rares exceptions cette rgle :
utilisateur$ ls -l /bin/mount
-rwsr-xr-x 1 root root 81368 2008-04-29 13:57 /bin/mount
ls -l afche, la place du bit x, la lettre s. La valeur octale du bit setuid est 4000.
Linux Livre Page 203 Mardi, 23. septembre 2008 1:05 13
LINUX 204
Bit setgid Le bit setgid a un comportement comparable au bit setuid, ceci prs quil sapplique aux
groupes et non au propritaire de lexcutable. ls -l afche pour le programme correspon-
dant la lettre s la place de la lettre x dans les bits daccs du groupe. La valeur octale du bit
est 2000.
Pour les rpertoires, le bit setgid fait en sorte que les chiers crs dans le rpertoire appar-
tiennent au groupe du rpertoire (et non, comme souvent, au groupe de lutilisateur qui cre
le chier).
Sticky bit Le sticky bit sapplique aux rpertoires. Il fait en sorte que chaque utilisateur pouvant modi-
er les chiers du rpertoire ne puisse supprimer que ses propres chiers (et non ceux des
autres utilisateurs). Ce bit est par exemple activ sur le rpertoire /tmp. Tous les utilisateurs
peuvent crer des chiers temporaires. Il faut, en revanche, viter que les utilisateurs puissent
renommer ou supprimer des chiers qui ne leur appartiennent pas.
ls -l afche pour le rpertoire correspondant la lettre t la place de la lettre x dans les bits
daccs de lutilisateur. La valeur octale du bit est 1000. Attention : la signication du sticky
bit est spcique Linux ; dautres variantes dUnix peuvent lui associer un sens diffrent.
utilisateur$ ls -ld /tmp/
drwxrwxrwt 20 root root 8192 2008-06-30 11:59 /tmp/
Bits spciaux
dans ls
Lorsque vous lancez la commande ls -l, il arrive que les bits spciaux safchent sous la
forme S ou T. Il ne sagit pas de bits spciaux supplmentaires, mais dune indication : les bits
setuid, setgid ou sticky ont t mal utiliss. S signie que le bit setuid ou setgid est positionn,
mais que le bit x ne lest pas (setuid et setgid nont alors pas de sens). T signie que le sticky bit
est positionn, mais que le rpertoire na pas le bit daccs x pour le groupe "autres".
Changer les droits daccs dun fichier ou dun rpertoire
chmod La commande chmod permet de changer les droits daccs dun chier ou dun rpertoire. Sa
syntaxe est de la forme chmod ensemble+droits fichier ou chmod ensemble-droits
fichier. ensemble reprsente les utilisateurs concerns : u pour lutilisateur propritaire du
chier, g pour le groupe propritaire du chier, o pour les autres utilisateurs du systme et a
pour tous les utilisateurs sans distinction. droits reprsente les droits concerns : r pour la
lecture (read), w pour lcriture (write) et x pour lexcution (execute).
Ainsi, pour permettre tous les utilisateurs de lire un chier, on utilisera :
utilisateur$ chmod a+r fichier
Pour restreindre la modication dun chier son propritaire, la syntaxe utilise sera :
utilisateur$ chmod og-w fichier
chmod permet galement dactiver les bits setuid (u+s), setgid (g+s) et sticky (+t).
Loption -R offre la possibilit deffectuer un chmod rcursif (en parcourant des rpertoires).
Valeurs octales la place des lettres, on peut aussi indiquer trois ou quatre octets sous forme de chiffres.
chaque bit u, g et o est associ un chiffre. Chaque chiffre est laddition de valeurs : 4, 2 et 1
pour r, w et x. Ainsi, 660 correspond rw-rw---- et 777 rwxrwxrwx. Les bits setuid, setgid et
sticky ont respectivement pour valeurs 4000, 2000 et 1000 par exemple, chmod 1777 corres-
pond tous les accs sur un rpertoire pour tout le monde, mais avec le sticky bit.
Linux Livre Page 204 Mardi, 23. septembre 2008 1:05 13
205 GESTION DES FICHIERS
13.7 Propritaire, groupe et bits daccs de nouveaux
fichiers
Cette section concerne les facteurs qui dnissent les informations daccs des nouveaux
chiers. Pour tester cela facilement, utilisez la commande touch. Elle cre un nouveau
chier vide si le chier en paramtre nexiste pas.
Exemple Lutilisateur michael cre le nouveau chier monFichier1. Il nest pas surprenant que ce
chier appartienne lutilisateur michael. users est utilis automatiquement pour le groupe
(users est le groupe principal de michael).
michael$ touch monFichier1
michael$ ls -l monFichier1
-rw-r--r-- 1 michael michael 0 2008-06-30 14:47 monFichier1
michael appartient de nombreux autres groupes (ce que lon peut voir avec la commande
groups). Pour crer un chier sans quil appartienne au groupe primaire, il faut changer
de groupe actif grce la commande newgrp :
michael$ groups
users adm dialout cdrom floppy audio dip video plugdev lpadmin scanner
michael$ newgroup audio
michael$ touch monFichier2
michael$ ls -l monFichier2
-rw-r--r-- 1 michael audio 0 2008-06-30 14:49 monFichier2
Bits daccs La gestion des bits daccs est un peu plus complique. Par dfaut, les nouveaux chiers
reoivent les bits daccs rw-rw-rw (soit, en octal, 666) et sont lisibles et modiables par tout
le monde. Les nouveaux chiers excutables (crs par un compilateur) reoivent les bits
rwxrwxrwx (soit, en octal, 777) et sont donc de plus excutables par tout le monde.
Ces paramtres de base sont cependant gnralement trop libraux pour la plupart des uti-
lisateurs. Cest pourquoi tous les interprteurs de commandes proposent un umask. Il sagit
dune valeur numrique qui indique les bits qui doivent tre retirs des bits daccs par
dfaut.
Le plus souvent, le masque 022 (----w--w-) est utilis. Les nouveaux chiers reoivent donc
les bits daccs 666-022 = 644 (rw-r--r--), et les nouveaux programmes le masque 777-022 =
755 (rwxr-wr-x). Vous pouvez connatre la valeur courante du masque grce la commande
umask (qui permet galement de modier le masque) :
michael$ umask
0022
Le paramtrage par dfaut du masque se trouve dans le chier de conguration des inter-
prteurs de commandes. Pour Bash, il sagit gnralement du chier /etc/profile ou /etc/
bashrc. Les valeurs qui y sont dnies peuvent tre rednies dans le chier ~/.bashrc de
chaque utilisateur.
Linux Livre Page 205 Mardi, 23. septembre 2008 1:05 13
LINUX 206
13.8 Listes de contrle daccs et attributs tendus
ACL (listes
de contrle
daccs)
Le concept dutilisateurs et de groupes sous Unix est test et approuv depuis des dizaines
dannes. Il est trs simple, mais dans certains cas, ce systme nest pas sufsant.
Cest pourquoi un nouveau systme de gestion de droits, plus n, a t dvelopp, bas sur
les ACL (Access Control Lists, listes de contrle daccs). Les ACL permettent, pour tout
chier et rpertoire, de dnir qui peut y accder en lecture et en criture et qui ne le peut
pas, ce que les droits daccs Unix standard ne permettent pas. Elles tendent les droits
daccs et peuvent offrir de nouveaux droits ou dfaire certains droits existants.
Les ACL sont fournies de manire standard par Linux depuis le noyau 2.6. Elles existaient
auparavant sous la forme de correctifs. Pour certains systmes de chiers, comme jfs et xfs,
les ACL sont toujours actives. Pour les systmes de chiers ext2, ext3 et reiserfs, il faut monter
la partition avec loption acl pour les activer. Ce nest pas le cas pour la plupart des distri-
butions actuelles.
Ce nest pas parce que les ACL fournissent davantage de possibilits quil faut se dbarrasser de la ges-
tion de droits conventionnelle ! Pour les administrateurs avancs de rseaux tendus, elles amliorent
la scurit ou, au minimum, facilitent la gestion. Mais pour la plupart des utilisateurs de Linux, la ges-
tion habituelle des droits suffit amplement. Une utilisation incorrecte des ACL peut entraner des failles
de scurit. Cest pourquoi elles sont rarement proposes par dfaut dans les distributions.
De plus, de nombreuses commandes et programmes ne les grent pas correctement. Un fichier copi peut
alors soudain perdre les informations ACL de loriginal. Par ailleurs, la plupart des gestionnaires de fichiers
ne savent ni lire, ni modifier les ACL (Konqueror est une exception).
Samba est de loin le programme le plus important profitant rellement des ACL. Grce aux ACL, les droits
daccs Windows peuvent tre reproduits sous Linux.
Attributs
tendus
Les attributs tendus (EA, Extended Attributes) sont troitement lis aux ACL. Ils permettent
denregistrer, pour chaque chier, des paires attribut/valeur. Vous pouvez, par exemple,
associer un chier texte lattribut charset et la valeur utf8 pour enregistrer le jeu de carac-
tres utilis par ce chier. Cela ne prsente un avantage que lorsquil existe des programmes
capables dexploiter ces informations. Les attributs tendus doivent tre activs lors du
montage des systmes de chiers ext2/3 avec loption user_xattr. Les attributs tendus
sont, par exemple, utiliss par le programme de recherche Beagle.
Vous trouverez plus de dtails sur les ACL et les attributs tendus dans les pages de manuel
acl, getfacl, setfacl, attr(5), getfattr et setattr. Les adresses suivantes peuvent galement
tre des sources dinformations intressantes :
http://www.unixgarden.com/index.php/administration-systeme/initiation-aux-listes-de-
controle-dacces-acl-et-aux-attributs-etendus-ea-sous-linux ; http://www.suse.de/~agruen/
(en anglais) ; http://acl.bestbits.at/ (en anglais).
Prrequis Dans lexemple suivant, on suppose que le paquetage attr et les commandes attr, get-
fattr et setfattr sont installs et que vous travaillez dans un systme o les ACL et les
Linux Livre Page 206 Mardi, 23. septembre 2008 1:05 13
207 GESTION DES FICHIERS
EA sont activs. Dans le cas dun systme de chiers ext3, le rsultat de mount doit res-
sembler ceci :
utilisateur$ mount
...
/dev/hdc5 on /test type ext3 (rw,acl,user_xattr)
...
Si ce nest pas le cas, les exemples suivants rencontreront une erreur du type "Opration non
supporte". Il faut alors modier les options de mount dans /etc/fstab et remonter le sys-
tme de chiers. Le Chapitre 23 sur ladministration des systmes de chiers traite de cette
problmatique.
Listes de contrle daccs
getfacl Sur un systme de chiers avec des ACL, les droits daccs standard sont galement valides.
Ils sont souvent dcrits comme des ACL minimales. getfacl afche ces droits sous la forme
dACL :
michael$ touch fichier1
michael$ getfacl fichier1
# file: fichier1
# owner: michael
# group: users
user::rw-
group::r--
other::r--
michael$ ls -l fichier1
-rw-r--r-- 1 michael users 0 2008-06-30 17:03 fichier1
setfacl setfacl permet uniquement de dnir des droits daccs supplmentaires. Les commandes
suivantes donnent lutilisateur isa et au groupe doc des droits en lecture et en modication
sur le chier, et suppriment tout accs lutilisateur pierre :
michael$ setfacl -m isa:rw fichier1
michael$ setfacl -m g:doc:rw fichier1
michael$ setfacl -m pierre:- fichier1
La liste de droits afche par getfacl est maintenant plus longue. ls afche les droits
daccs du masque ACL dans la partie du groupe. Les lettres des bits daccs sont suivies du
caractre + qui indique quil existe des rgles ACL.
michael$ getfacl fichier1
# file: fichier1
# owner: michael
# group: users
user::rw-
user:isa:rw-
Linux Livre Page 207 Mardi, 23. septembre 2008 1:05 13
LINUX 208
user:pierre:---
group::r--
group:doc:rw-
mask::rw-
other::r--
michael$ ls -l fichier1
-rw-rw-r--+ 1 michael users 0 2008-06-30 17:03 fichier1
Les ACL sont typiquement utilises lorsque vous dsirez donner des droits un utilisateur
sur vos chiers, sans pour autant les rendre accessibles dautres (par exemple un groupe).
Normalement, vous devez pour cela demander un administrateur de crer un nouveau
groupe pour vous-mme et lautre utilisateur. Les ACL permettent de se passer de cette
tape.
Masques ACL Les masques ACL limitent les droits qui peuvent tre donns par des rgles ACL. Par exem-
ple, si vous dnissez le masque ACL r, aucune rgle ACL ne peut dnir de droits en cri-
ture ou en excution un utilisateur. Le masque ACL a donc priorit sur les rgles ACL. Il
na cependant aucune incidence sur les droits daccs traditionnels de lutilisateur et du
groupe sur le chier.
Chaque modication dune rgle ACL entrane la mise jour du masque de manire que
toutes les rgles ACL existantes soient comprises dans le masque. Celui-ci safche dans
getfacl et ls -l.
Vous pouvez dnir explicitement un masque grce la syntaxe setfacl -m m:rwx, an de
limiter les droits des ACL. Mais attention, ce masque nest valable que jusqu la prochaine
dnition dACL, qui renouvelle le masque.
ACL standard Pour les rpertoires, vous pouvez dnir un deuxime jeu de rgles : lACL standard. Celle-
ci ne sapplique pas aux accs du rpertoire ; elle dnit le motif dACL pour les nouveaux
chiers.
Attributs tendus
setfattr et
getfattr
Les exemples suivants montrent comment enregistrer des attributs avec setfattr et les lire
avec getfattr. Le nombre dattributs par chier dans un systme de chiers ext2 est limit.
michael$ touch fichier2
michael$ setfattr -n user.language -v fr fichier2
michael$ setfattr --name=user.charset --value=utf8 fichier2
michael$ getfattr -d fichier2
# file: fichier2
user.charset="utf8"
user.language="fr"
getfattr nafche normalement que les attributs dont le nom commence par user. Si vous
dsirez voir dautres attributs, vous devez indiquer leur nom avec loption -n ou un motif
avec loption -m.
utilisateur$ getfattr -n security.selinux -d fichier2
# file: fichier2
security.selinux="user_u:object_r:user_home_t:s0^000"
Linux Livre Page 208 Mardi, 23. septembre 2008 1:05 13
209 GESTION DES FICHIERS
13.9 Structure des rpertoires sous Linux
Un systme Unix classique se compose de milliers de chiers. Certaines rgles concernant
lemplacement des chiers se sont tablies au l du temps. Cette section donne un premier
aperu de la structure des rpertoires sous Linux.
Le systme de donnes commence par le rpertoire racine. En gnral, il ne contient pas de
chiers, mais les rpertoires suivants :
/bin contient les commandes lmentaires de Linux que tous les utilisateurs peuvent
lancer. Vous trouverez dautres programmes dans /usr/bin.
/boot contient les chiers ncessaires lamorage du systme (gnralement via GRUB
ou LILO). La plupart des distributions y placent galement le noyau.
/dev contient tous les chiers de priphriques. Ces derniers permettent daccder
presque tous les composants matriels (par exemple, linterface srie ou une partition
du disque dur).
/etc contient les chiers de conguration du systme. Ils grent le dmarrage du sys-
tme, la disposition du clavier, les congurations de base pour divers composants et
programmes (par exemple la conguration rseau). /etc contient quelques sous-rper-
toires pour regrouper certains chiers de conguration, par exemple /etc/X11 pour les
chiers relatifs X.
/home contient le rpertoire personnel de chaque utilisateur du systme. Il sagit dun
rpertoire particulier dans lequel lutilisateur se trouve automatiquement aprs stre
connect. Ce dernier a un accs illimit aux chiers qui sy trouvent.
/lib[64] contient les bibliothques partages ou des liens symboliques vers ces biblio-
thques. Ces chiers sont utiliss pour excuter des programmes. /lib/modules contient
les modules du noyau qui peuvent tre activs ou dsactivs pendant lexcution du
systme. Vous trouverez des bibliothques supplmentaires dans /usr/lib[64]. Le
rpertoire /lib/firmware contient le microcode (rmware) de certains composants
matriels (par exemple, une carte Wi-Fi).
/lost+found est normalement vide. Sil contient des chiers, il sagit de fragments de
chiers qui nont pas pu tre remis en ordre lors de la tentative de rparation du sys-
tme de chiers (fsck).
/mnt et /media contiennent des sous-rpertoires, comme cdrom ou floppy, dans lesquels
on peut monter des systmes de chiers externes.
/opt est prvu pour les paquetages additionnels. Certaines distributions (par exemple
SUSE) utilisent les rpertoires /opt/gnome ou /opt/kde pour enregistrer les paquetages
et bibliothques spciques Gnome ou KDE.
/proc contient les sous-rpertoires qui correspondent tous les processus courants. Il ne
sagit pas de vrais chiers.
/root contient les donnes de lutilisateur root. Elles ne se trouvent usuellement pas
dans /home. /home est souvent une partition spare et, en cas de problme sur cette par-
tition, root peut ainsi travailler dans son rpertoire, mme lorsque /home nest pas monte.
Linux Livre Page 209 Mardi, 23. septembre 2008 1:05 13
LINUX 210
/sbin contient les commandes dadministration systme. En gnral, les programmes
ne pouvant tre lancs que par root y sont enregistrs.
/share contient parfois des chiers indpendants de larchitecture. /usr/share est un
endroit plus usuel pour cela.
/srv contient, dans certaines distributions, les donnes pour les processus serveurs : par
exemple /srv/www pour les documents servis par Apache, /srv/ftp pour les chiers
FTP, etc.
/sys contient le systme de chiers sysfs du noyau 2.6. Tout comme /proc, il contient
des donnes sur ltat de lordinateur.
/tmp contient des chiers temporaires. Ces derniers peuvent aussi se trouver dans le
rpertoire /var/tmp.
/usr contient toutes les applications, le systme X, le code source de Linux, etc. Idale-
ment, on ne devrait y trouver que des chiers statiques (non modiables). Ainsi, on
pourrait monter le rpertoire /usr dans sa propre partition en lecture seule. Cela aurait
lavantage dune plus grande scurit, mais linconvnient dune maintenance trs pnible ;
cest en pratique rarement le cas.
/var contient les chiers variables. Les sous-rpertoires importants sont adm (chiers
dadministration dpendant de la distribution), lock (chiers de verrous pour laccs
aux priphriques), log (chiers de journalisation), mail (chiers du courrier lectroni-
que, pouvant galement se trouver dans spool/mail) et spool (chiers tampon, comme
les chiers imprimer, les messages, etc.).
Le principe de la structure des rpertoires se situant directement sous la racine est relative-
ment simple comprendre. Les problmes apparaissent avec la division de /usr et de /var
en dinnombrables sous-rpertoires. En principe, de nombreux rpertoires sont nomms
comme au niveau de la racine, par exemple bin pour les programmes excutables.
Mais il existe plusieurs groupes de programmes excutables : les commandes texte, les pro-
grammes X, etc. Par consquent, il existe plusieurs possibilits pour ranger ces programmes.
Pour des raisons historiques, plusieurs chemins sont gnralement maintenus par le biais
de liens. Ainsi, /usr/bin/X11 correspond aux mmes programmes que /usr/X11R6/bin.
Le rpertoire /usr
/usr/bin programmes excutables
/usr/games jeux et parfois un lien vers /usr/share/games
/usr/include fichiers "include" de C
/usr/lib[64] bibliothques, parmi lesquelles de nombreux sous-rpertoires pour le compilateur C,
divers langages de programmation et de gros paquetages comme emacs ou LaTeX
/usr/local applications et donnes qui ne font pas partie de la distribution
/usr/sbin programmes excutables par root
/usr/share fichiers indpendants de larchitecture et documentation
/usr/src code source de Linux, voire dautres programmes
/usr/tmp lien vers /var/tmp (fichiers temporaires)
Linux Livre Page 210 Mardi, 23. septembre 2008 1:05 13
211 GESTION DES FICHIERS
13.10 Fichiers de priphriques
Le systme de chiers de Linux ne contient pas seulement des chiers et des rpertoires,
mais aussi des priphriques. Il sagit de chiers spciaux, dans lesquels on ne peut pas
enregistrer de donnes mais qui, pour la plupart, fournissent un lien vers le noyau.
Numros de
priphriques
majeur et
mineur
Les priphriques permettent daccder de nombreux composants matriels de lordina-
teur : disque dur, lecteur de disquette, ports srie et parallle, mmoire, etc. Ils sont dnis
par trois informations : les numros de priphriques majeur et mineur (Major Device Number
et Minor Device Number) et le type daccs (par bloc ou par caractre).
Le numro majeur indique le pilote du noyau Linux qui gre le priphrique. Il existe de
nombreux pilotes, lists dans /usr/src/linux/Documentation/devices.txt. Le numro
mineur permet de distinguer plusieurs priphriques distincts qui partagent le mme
pilote, par exemple deux partitions dun mme disque. Le type daccs indique si le pri-
phrique a un tampon (ce qui est le cas pour tous les priphriques en mode bloc, tels que
les disques durs), ou pas (par exemple, linterface srie ou parallle).
Si vous explorez le contenu du rpertoire /dev avec ls -l, vous verrez, la place de la taille
du chier, les numros de priphriques (majeur et mineur). Le premier caractre des droits
daccs est b ou c, pour les priphriques bloc ou caractre.
utilisateur$ ls -l /dev/sda?
brw-rw---- 1 root disk 8, 1 2008-06-17 22:15 /dev/sda1
brw-rw---- 1 root disk 8, 3 2008-06-17 22:14 /dev/sda3
...
Fonctionne-
ment interne
En interne, le rpertoire /dev ne contient que des inodes, qui sont les plus petites units
gres par un systme de chiers, mais pas de rels chiers. On peut crer de nouveaux
chiers de priphriques avec la commande mknod. Cela est cependant rarement ncessaire,
car la gestion du matriel de Linux sen occupe en thorie automatiquement.
Pour des raisons de scurit, seul root et les membres dun groupe donn peuvent accder
certains priphriques. Pour que dautres utilisateurs puissent y accder, vous pouvez les
ajouter au groupe auquel appartient le priphrique.
Certains chiers de priphriques ont une fonction particulire. /dev/null est un "trou
noir" : les donnes qui sont envoyes disparaissent pour toujours il est, par exemple, uti-
lis pour les sorties de commandes qui ne doivent pas safcher. /dev/zero est une source
sans n doctets 0, par exemple utilis pour remplir un chier dune taille donne de zros.
Systme udev Autrefois, les distributions craient un grand nombre de chiers de priphriques Red Hat 9
en crait, par exemple, presque 8000. Mais chaque ordinateur nen utilisait au mieux que
quelques centaines.
Pour corriger cela, le systme de chiers devfs du noyau 2.4 devait crer les chiers de pri-
phriques dynamiquement la demande. Il na cependant jamais eu le succs escompt et a
t depuis supprim du noyau.
Le systme udev a pris la suite de devfs dans le noyau 2.6. Les chiers de priphriques sont
galement crs dynamiquement ds que le noyau reconnat des composants matriels. On
peut voir que le systme udev est actif lorsque le processus udevd existe. Ce dernier est
Linux Livre Page 211 Mardi, 23. septembre 2008 1:05 13
LINUX 212
dmarr au dbut du processus de dmarrage InitV. Sa conguration se trouve dans le
rpertoire /etc/udev.
Vous trouverez une description complte des priphriques dnis sous Linux, ainsi que
des numros associs dans le chier /usr/src/linux/Documentation/devices.txt (le code
source du noyau doit tre install).
Linux Livre Page 212 Mardi, 23. septembre 2008 1:05 13
14
Gestion des processus
Ce chapitre dcrit comment Linux gre les processus. Vous y apprendrez notamment :
comment dmarrer et arrter des processus (ventuellement en urgence) ;
comment dmarrer un programme en tant quutilisateur normal comme si vous tiez root ;
ce que sont les dmons ;
comment dmarrer automatiquement des programmes une heure donne.
14.1 Dmarrer, grer et arrter des processus
Programmes,
commandes,
processus et
tches
Dans ce chapitre, nous parlerons de processus, mais vous pouvez remplacer ce mot par
"programme", "commande" ou "tche" sous Linux, il ny a pas de diffrence entre un pro-
gramme et une commande. En gnral, les programmes texte comme ls sont dcrits comme
des commandes.
Rigoureusement, un programme ou une commande est un chier excutable. Il se diffrencie
des autres chiers par le fait que son bit x est activ (voir section 13.6).
Dans lexemple suivant, serveur.txt est un chier de donnes, et sauvegarde un pro-
gramme (et mme un script shell). Il sagit dans les deux cas de chiers texte, mais seul sauve-
garde est excutable, car ses bits daccs x sont positionns :
utilisateur$ ls -l s*
-rw-r--r-- 1 michael users 180383 2008-06-26 10:20 serveur.txt
-rwxr-xr-x 1 michael users 222 2008-06-27 10:58 sauvegarde
Ce nest que lors du dmarrage dun chier de programme quun processus (ou une tche) est
cr par le noyau Linux. Le titre de cette section devrait donc tre "Dmarrer des programmes
et des commandes, grer et arrter des processus".
Fichiers *.exe Une question surgit de temps autre : o sont les chiers *.exe sous Linux ? La rponse est :
il ny en a pas. Les programmes excutables sont identis par lexistence de leur bit daccs
x. Lextension *.exe comme sous Windows serait donc redondante.
Cette rponse nest plus tout fait vraie, car il existe maintenant quelques chiers *.exe iso-
ls sur de nombreux systmes Linux. Il sagit de programmes dvelopps dans le langage
C# et excuts par les bibliothques Mono, qui sont une implmentation libre du framework
.NET de Microsoft.
Dmarrer des programmes
Dmarrer des
programmes
sous X
Pour dmarrer des programmes sous X, on utilise gnralement le menu ou des icnes. KDE
et Gnome permettent galement de saisir le nom du programme dans une bote de dialogue
avec le raccourci Alt+F2.
Linux Livre Page 213 Mardi, 23. septembre 2008 1:05 13
LINUX 214
Console texte,
fentre de
shell
Vous pouvez aussi dmarrer un programme dans une fentre dinterprteur de commandes
(par exemple xterm ou konsole) ou une console texte. Saisissez le nom du programme et
appuyez sur Entre. Les utilisateurs avancs de Linux utilisent souvent cette mthode, car
taper quelques lettres est souvent plus rapide que de chercher le programme dans le menu.
Il suft normalement de taper le nom du programme. Linterprteur de commandes effectue
alors une recherche dans tous les rpertoires lists dans la variable denvironnement PATH.
Voici un exemple de cette variable :
utilisateur$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Lorsque vous dsirez lancer un programme qui ne se trouve pas dans lun de ces rpertoi-
res, vous devez indiquer le chemin complet du chier. Cest galement valable pour les pro-
grammes du rpertoire courant, pour lesquels il faut prxer le chemin dun point (par
exemple ./monprogramme).
Processus en avant-plan et en arrire-fond
Lorsque vous dmarrez des programmes via le menu sous X, ils se lancent en tche de fond
sans se gner les uns les autres. Vous pouvez aussi en dmarrer de nouveaux sans attendre
la n dun programme lanc prcdemment.
Le comportement est diffrent lorsque vous lancez un programme dans une fentre de ter-
minal ou une console texte. Ce dernier est dmarr en tant que processus davant-plan.
Avant de pouvoir saisir la commande suivante, vous devez attendre la n de ce programme.
Mais vous pouvez aussi lancer des programmes en tche de fond en ajoutant la n de la
commande le caractre & :
utilisateur$ xemacs &
Si vous avez oubli le &, vous pouvez passer le programme en tche de fond rtrospectivement.
Pour cela, interrompez le programme avec Ctrl+Z et ractivez-le avec bg :
user$ xemacs
Ctrl+Z
[1]+ Stopped xemacs
utilisateur$ bg
[1]+ xemacs &
Si vous tapez fg la place de bg, le processus est rtabli en tche davant-plan.
Certaines commandes perturbent lexcution en tche de fond par divers messages. Vous
pouvez cependant les liminer facilement en les redirigeant vers /dev/null. Par exemple,
cette commande formate une disquette sur le lecteur A: en tche de fond :
root# fdformat /dev/fd0 > /dev/null &
Liste de tous les processus courants (ps, top)
ps La commande ps permet dafcher une liste des processus courants. Sans option, elle naf-
che que ceux qui vous appartiennent et qui ont t lancs dans le terminal dans lequel vous
excutez cette commande. Il existe de nombreuses options que vous pouvez voir dans man ps.
Linux Livre Page 214 Mardi, 23. septembre 2008 1:05 13
215 GESTION DES PROCESSUS
Lexemple suivant afche la liste de tous les processus, trs rduite pour des questions de
place :
utilisateur$ ps ax
PID TTY STAT TIME COMMAND
1 ? Ss 0:07 /sbin/init
2 ? S< 0:00 [kthreadd]
3 ? S< 0:14 [migration/0]
4 ? S< 8:14 [ksoftirqd/0]
...
31097 pts/7 S+ 0:20 gqview
31389 ? S< 0:00 [kjournald]
32405 ? S 0:01 xterm -font -*-fixed-medium-r-*-*-18-*-*-*-*-*-*-*
32406 pts/4 Ss 0:00 bash
top top est une commande plus pratique que ps : elle trie les processus en fonction de leur occu-
pation processeur et afche ceux qui sont actifs en premier. Ce programme donne aussi un
aperu de loccupation de la mmoire. La liste des processus est actualise rgulirement
jusqu ce que vous quittiez le programme avec Q. Les lignes suivantes montrent un systme
en cours de fonctionnement :
top - 12:36:49 up 13 days, 14:22, 8 users, load average: 0.20, 0.33, 0.35
Tasks: 145 total, 1 running, 143 sleeping, 0 stopped, 1 zombie
Cpu(s): 5.7%us, 1.3%sy, 0.0%ni, 93.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 1554740k total, 1483176k used, 71564k free, 62632k buffers
Swap: 1542200k total, 132644k used, 1409556k free, 449100k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
20026 michael 20 0 582m 343m 33m R 6 22.6 301:30.52 firefox
5164 root 20 0 453m 189m 7724 S 4 12.5 335:45.29 Xorg
22467 michael 20 0 222m 94m 15m S 1 6.2 0:04.91 java_vm
27192 michael 20 0 83916 44m 12m S 0 2.9 2:21.23 kpdf
1 root 20 0 2844 528 480 S 0 0.0 0:07.20 init
2 root 15 -5 0 0 0 S 0 0.0 0:00.00 kthreadd
...
La valeur dans la colonne PID indique le numro du processus. Ce numro permet darrter
un processus qui chappe votre contrle ou qui tourne en arrire-plan.
Les processus peuvent avoir plusieurs tats. Les plus courants sont R (running, en cours de
fonctionnement) et S (sleeping, o le programme na rien faire et attend une entre). Les
programmes peuvent aussi tre temporairement interrompus ; ils ont alors ltat T (stopped).
top permet galement de saisir des commandes interactives. Vous pouvez y stopper des
processus (K, kill) ou en changer la priorit (R, renice).
Alternatives
graphiques
top
Il existe des alternatives graphiques la commande texte top, par exemple ksysguard sous
KDE ou gnome-system-monitor sous Gnome.
Linux Livre Page 215 Mardi, 23. septembre 2008 1:05 13
LINUX 216
tablir le
numro dun
processus
Lorsque vous dsirez connatre le numro dun processus, utilisez pidof. Lorsquil existe
plusieurs processus avec le mme nom, pidof afche une liste de numros :
utilisateur$ pidof xterm
32405 27972 26086 25931 17330 15169
Pour savoir quel programme accde un rpertoire ou un chier donn, lancez la com-
mande fuser. Un rpertoire est aussi considr comme utilis lorsquun programme y est
lanc. La commande suivante montre que bash utilise le rpertoire /media/dvd :
root# fuser -v /media/dvd
USER PID ACCESS COMMAND
/media/dvd michael 2183 ..c.. bash
root Kernel mount /media/dvd
Laccs au chier ne safche que lorsque le programme accde rellement au chier. Cela
peut ne pas tre le cas pour un diteur de texte qui charge tout le chier, puis le ferme. Il rouvre
brivement le chier le temps de lenregistrer.
Fichiers PID Certaines tches de fond enregistrent dans le rpertoire /var/run un chier PID (par exem-
ple /var/run/httpd.pid). La premire ligne de ce chier est le numro du processus ; les
lignes suivantes peuvent contenir des informations dtat, comme les interfaces rseau utili-
ses. Ces chiers permettent de terminer un processus cibl via un script InitV, y compris
lorsque plusieurs processus du mme nom coexistent.
Hirarchie des processus
Chaque processus enregistre galement le numro PID de son processus parent. Cette informa-
tion permet de reprsenter un arbre de processus, au dbut duquel se trouve toujours le proces-
sus init. Celui-ci est le premier programme lanc directement aprs le chargement du noyau.
Pour afcher la hirarchie des processus, le plus simple est dutiliser la commande pstree.
Loption -h permet dafcher les processus parents des processus courants en gras. La
Figure 14.1 illustre pstree dans un interprteur bash dans une fentre Konsole.
Figure 14.1
Hirarchie des processus
avec pstree.
Linux Livre Page 216 Mardi, 23. septembre 2008 1:05 13
217 GESTION DES PROCESSUS
Forcer la fin dun processus (kill, xkill )
Un processus se termine normalement avec la n dun programme. Mais il arrive que le pro-
gramme rencontre des erreurs, quil ne puisse plus tre arrt et quil prenne de plus en plus de
mmoire et de capacit processeur. Dans ce cas, la terminaison du processus doit tre force.
Les commandes en mode texte peuvent souvent tre arrtes avec Ctrl+C. Le programme
est alors termin immdiatement.
kill La commande kill envoie des signaux un processus en cours, indiqu par son numro
PID (que vous obtenez avec top ou ps). Pour terminer un programme de manire "polie", le
signal 15 est envoy (signal par dfaut de kill). Si cela ne fonctionne pas, on utilise le signal
9 (ici pour le processus 2725) :
utilisateur$ kill -9 2725
kill ne peut tre utilise que pour les processus appartenant lutilisateur qui les lance.
Seul root peut arrter nimporte quel processus.
top top permet galement darrter un processus : tapez K, le numro du processus et le signal
souhait.
killall killall est plus confortable, car il prend comme argument le nom du programme et non le
numro du processus. En revanche, il termine tous les programmes ayant le mme nom :
root# killall -9 firefox
xkill Sous X, vous pouvez galement lancer xkill dans une fentre de terminal et cliquer sur la
fentre du programme terminer. xkill envoie le signal 9.
Sous KDE, vous pouvez lancer cette commande grce Ctrl+Alt+chap. En cas derreur,
utilisez chap pour linterrompre.
Processus
persistants
Il arrive que xkill ferme une fentre, mais que le processus ou des parties de ce processus
continuent fonctionner. Assurez-vous avec top ou ps que le programme est bien termin.
Si ce nest pas le cas, terminez manuellement les processus restants.
Blocage de la
souris ou du
clavier
Il est extrmement dsagrable quun programme X entrane lors dun plantage le blocage
de la souris ou du clavier. Lordinateur ne ragit alors presque plus.
Dans ce cas, la combinaison de touches Ctrl+Alt+F1 peut aider. Si elle russit, vous passez dans
la premire console texte. Vous pouvez alors vous connecter et terminer le programme fautif.
Si le clavier est compltement bloqu, il reste la solution de se connecter via le rseau en SSH
et de terminer le processus de cette manire. Mais cela nest possible que si vous travaillez
dans un rseau local et si lordinateur dispose de sshd.
Si X reste bloqu, vous pouvez essayer de terminer X lui-mme, puis de lancer la commande
shutdown. Toutes ces mthodes valent mieux que dappuyer sur Reset, ce qui peut mener
des pertes de donnes.
Limiter la taille
des processus
Les programmes lancs via un interprteur de commandes (ou les commandes lances
partir dune fentre de terminal) peuvent tre limits par ulimit, en ce qui concerne leur uti-
lisation mmoire, la taille des chiers crs, etc. Cette commande est gnralement congu-
re dans /etc/profile. Vous trouverez des informations complmentaires sur ulimit dans
man bash.
Linux Livre Page 217 Mardi, 23. septembre 2008 1:05 13
LINUX 218
Partage du temps de calcul (nice, renice)
La plupart du temps, la capacit de calcul sous Linux est largement sufsante pour faire
fonctionner tous les processus sans dlai. Si Linux est dj occup avec lun des processus
gourmands en calcul (par exemple, une compilation), il essaie de diviser le temps de calcul
restant quitablement entre les autres processus.
Dans certains cas, il peut tre sens dattribuer plus ou moins de temps de calcul un pro-
cessus. Cest ce que permet la commande nice, qui donne une priorit rduite ou augmen-
te un programme. Elle lui attribue une priorit allant de 20 (trs faible) -20 (trs leve).
Par dfaut, les programmes sont lancs avec une priorit 0. Lexemple suivant montre com-
ment lancer un script de sauvegarde avec une priorit plus faible, an quil ne drange pas
les autres processus (la sauvegarde peut sans problme durer deux ou trois secondes suppl-
mentaires) :
utilisateur$ nice -n 10 sauvegarde
renice permet de modier la priorit dun programme dj lanc. Elle prend pour param-
tre un identiant de processus, obtenu avec top ou ps. Vous trouverez plus de dtails pro-
pos de renice dans man renice. top permet galement, grce la commande R, de modier
interactivement la priorit dun processus. Seul root peut lancer des processus avec une
priorit suprieure 0 (donc ngative).
Redirections et tubes
Presque tous les programmes texte (commandes) attendent des entres sur lentre standard
(par dfaut, le clavier) et renvoient des sorties sur la sortie standard (le texte safche dans la
console ou la fentre de terminal). On peut rediriger lentre et la sortie, ce qui offre de nom-
breuses possibilits. Par exemple, cette commande enregistre la liste de tous les chiers du
rpertoire xy dans le chier z :
utilisateur$ ls xy > z
Les tubes, ou pipes, permettent dutiliser la sortie dune commande comme entre de la com-
mande suivante. Dans cet exemple, grep ltre la liste de tous les paquetages installs sur la
chane "mysql", indpendamment de la casse, puis sort trie cette liste.
En dautres termes, la sortie de la commande rpm est transmise grce au caractre | la
deuxime commande grep, qui transmet elle-mme sa sortie avec un deuxime caractre |
sort.
utilisateur$ rpm -qa | grep -i mysql | sort
mysql-5.0.18-2.1
mysql-connector-odbc-3.51.12-1.2.1
MySQL-python-1.2.0-3.2.2
mysql-server-5.0.18-2.1
perl-DBD-MySQL-3.0002-2.2.2
php-mysql-5.1.2-5
Linux Livre Page 218 Mardi, 23. septembre 2008 1:05 13
219 GESTION DES PROCESSUS
14.2 Lancer des processus sous une autre identit (su)
Les utilisateurs sans privilge ont deux restrictions importantes lexcution des program-
mes. Ils ne peuvent lancer que les processus dont ils ont lautorisation dexcution (pro-
prit, groupe et bits daccs x). Cela ne pose pas de problme pour les programmes
habituels. Mais certaines commandes, comme celles du rpertoire /usr/sbin, ne peuvent
tre lances que par root. De plus, les processus appartiennent lutilisateur qui les a lancs.
Ils peuvent ainsi accder aux mmes chiers que lutilisateur. Formul autrement, cela signi-
e quun chier que lutilisateur ne peut pas modier ne peut pas non plus tre modi par
un programme lanc par cet utilisateur. Les chiers crs par le processus appartiennent
galement lutilisateur qui a lanc le processus.
Cest pourquoi un utilisateur normal ne peut pas effectuer beaucoup de tches administrati-
ves. La solution la plus simple consiste se connecter en tant que root. Nous avons dj vu
quil nest pas conseill de le faire : le risque de dgts involontaires est bien plus grand.
Certaines distributions, comme Ubuntu, interdisent compltement la connexion en root.
Cette section dcrit comment excuter les tches administratives quotidiennes grce su et
ssh. La section 14.3 traitera de lalternative fournie par sudo.
De nombreuses distributions sont configures de manire que vous nayez pas penser su ou sudo. Lors-
que vous dmarrez un outil dadministration, une bote de dialogue de mot de passe saffiche automatique-
ment.
Les bits suid et guid offrent une premire possibilit dindiquer aux programmes que quiconque peut les
lancer comme sil tait root. La diffrence principale avec sudo est que ces bits daccs sappliquent tous
les utilisateurs, tandis que les utilisateurs de sudo doivent tre dclars explicitement dans le fichier /etc/
sudoers.
su Bien souvent, le besoin se limite lancer rapidement une commande en tant que root. Quit-
ter X se rvle alors inconfortable. Le plus simple pour changer dutilisateur dans une fen-
tre de terminal est dutiliser la commande su nom. Si vous ne lancez pas cette commande en
tant que root, le mot de passe du compte utilisateur correspondant vous est demand. Vous
pouvez alors, dans la fentre de terminal, lancer des commandes sous le nom fourni jusqu
ce que vous repassiez en mode normal avec exit ou Ctrl+D.
Les lignes suivantes montrent comment un utilisateur peut se connecter brivement en tant
que root, monter une partition dans larborescence et se dconnecter :
utilisateur$ su -l root
Mot de passe: xxx
root# mount -t ext2 /test /dev/hdc7
root# Ctrl+D
utilisateur$ ls /test
Pour que su soit un remplacement complet dune connexion en tant que root, vous devez
utiliser loption -l. Ainsi, tous les chiers de dmarrage du compte (en particulier, la dnition
correcte de PATH) sont relus.
Linux Livre Page 219 Mardi, 23. septembre 2008 1:05 13
LINUX 220
kdesu Sous KDE, le plus simple pour dmarrer des programmes X avec des droits administrateur
est kdesu. Ce programme afche une fentre de dialogue pour saisir le mot de passe root.
utilisateur$ kdesu kate /etc/fstab
kdesu ne fonctionne que lorsque le dmon kdesud est lanc. Il lest gnralement lors du
dmarrage de KDE. Les options de kdesu sont disponibles avec kdesu -help-all. Dans cer-
taines distributions, kdesu est directement intgr au menu KDE. Dans ce cas, si vous
dmarrez un programme qui demande des droits dadministration, la fentre de connexion
de kdesu apparat automatiquement.
gksu La contrepartie de kdesu sous Gnome sappelle gksu. Il fonctionne sans processus darrire-
plan. man gksu offre un rsum des options disponibles.
consolehelper Dans certaines distributions, consolehelper peut tre utilis la place de gksu. Ce pro-
gramme est galement une bote de dialogue de mot de passe, mais il est mis en uvre de
manire compltement diffrente. Lide de base est que les outils dadministration sont ins-
talls dans un rpertoire qui nest accessible qu root. Pour les utilisateurs normaux, le
nom de lexcutable est un lien vers consolehelper. La commande suivante montre une
conguration de ce type pour system-config-network (conguration du rseau pour Red
Hat) :
utilisateur$ ls -l /usr/sbin/system-config-network \
/usr/bin/system-config-network
-rwxr-xr-x ... root root /usr/sbin/system-config-network
lrwxrwxrwx ... root root /usr/bin/system-config-network -> consolehelper
Lorsque root lance la commande system-config-network, /usr/sbin/system-config-
network est automatiquement lanc. En revanche, si un utilisateur sans privilge lance la
mme commande, consolehelper est dmarr. Lorsque lutilisateur indique le bon mot de
passe root, consolehelper lance le programme system-config-network.
ssh Dans la plupart des distributions, su ne fonctionne que pour les commandes texte et ce,
pour plusieurs raisons. Tout dabord, pour lancer un programme X, la variable denvironne-
ment DISPLAY doit contenir le nom de lordinateur sur lequel le programme safche (export
DISPLAY=localhost:0). X peut aussi interdire aux utilisateurs trangers la session de
dmarrer des programmes (la commande xhost peut rgler ce problme). Enn, il arrive
que le port rseau de communication vers le serveur X soit inaccessible.
Si kdesu, gksu ou consolehelper ne sont pas installs, ssh est la solution la plus simple ce
problme, grce la syntaxe suivante :
utilisateur$ ssh -X -l utilisateur localhost
14.3 Lancer des processus sous une autre identit (sudo)
sudo a une approche compltement diffrente de su. Ce programme permet, aprs congu-
ration, des utilisateurs donns dexcuter certains programmes avec les droits root. La
scurit est assure par la saisie du mot de passe de lutilisateur (et non celui de root).
sudo lance alors ces programmes comme sils taient dmarrs par un autre utilisateur (par
dfaut root). Ainsi, des utilisateurs peuvent prendre en charge des tches administratives
ou lancer des commandes critiques pour le systme sans avoir connatre le mot de passe
Linux Livre Page 220 Mardi, 23. septembre 2008 1:05 13
221 GESTION DES PROCESSUS
root. sudo enregistre dans le journal /var/log/messages tous les programmes lancs, ainsi
que les tentatives qui ont chou.
sudo garde le mot de passe pendant 15 minutes. Si vous lancez une nouvelle commande
pendant cet intervalle, votre mot de passe ne vous sera pas redemand cette dure peut
tre paramtre dans /etc/sudoers avec le mot cl timestamp_timeout.
Configuration La conguration de sudo est dnie dans le chier /etc/sudoers. Il se divise en trois colon-
nes qui dcrivent quels utilisateurs de quels ordinateurs ont le droit de dmarrer quels pro-
grammes. La ligne suivante signie que lutilisateur catherine sur lordinateur uranus peut
lancer la commande /sbin/fdisk. Le mot cl ALL indique que catherine peut la lancer sous
nimporte quel compte valide : root, news, lp, etc.
# dans /etc/sudoers
catherine uranus=(ALL) /sbin/fdisk
Lorsque la premire colonne de sudoers commence par le caractre %, la ligne sapplique
tous les membres du groupe indiqu. man sudoers dcrit la syntaxe de ce chier.
On peut donner un utilisateur les droits sudo sans quil ait saisir son mot de passe. La ligne ressem-
ble alors ceci :
michael ALL=(ALL) NOPASSWD: ALL
Cette solution reprsente un risque de scurit, mais quiconque doit effectuer rgulirement des tches
administratives en apprciera le confort. Attention, loption NOPASSWD nest valable que lorsque aucune
autre ligne de sudoers ne demande un mot de passe pour le mme utilisateur. Cette astuce fonctionne
galement pour les groupes.
Applications Catherine peut maintenant lancer fdisk de la manire suivante. Elle doit saisir, comme mot
de passe, celui associ au compte catherine et indiquer le chemin complet de fdisk, si ce
dernier nest pas dans lun des rpertoires de la variable denvironnement PATH de cathe-
rine. fdisk se lance alors avec le compte root. Pour choisir un autre compte pour lexcution,
on peut utiliser sudo -u compte.
catherine$ sudo /sbin/fdisk /dev/sda
[sudo] password for catherine: xxxxxxx
Lancer
plusieurs
commandes
avec sudo
Lorsquil faut lancer plusieurs tches administratives, il devient fastidieux de prxer cha-
que commande avec sudo. Il est plus lgant de passer en mode root avec sudo -s -H. Toutes
les commandes sont alors lances en tant que root. On sort de ce mode grce Ctrl+D.
gksudo Lorsque vous dmarrez des programmes dadministration sous X, certaines distributions
lancent gksudo. Ce dernier permet de saisir le mot de passe dans une bote de dialogue et
lance le programme souhait.
Le fichier de configuration /etc/sudoers propose de nombreuses possibilits syntaxiques. Pour en savoir
plus, lisez la page de manuel de sudo et sudoers, ou consultez la page web de sudo : http://
www.courtesan.com/sudo/.
Linux Livre Page 221 Mardi, 23. septembre 2008 1:05 13
LINUX 222
sudo sous Ubuntu
Ubuntu et certaines autres distributions ne crent pas de mot de passe root. Il est donc
impossible de se connecter en tant que root. su et ssh -l root ne fonctionnent pas non plus.
La seule possibilit de lancer des commandes dadministration est donc dutiliser sudo. Le
chier /etc/sudoers ne contient que trois lignes :
#Configuration par dfaut de /etc/sudoers sous Ubuntu
Defaults !lecture,tty_tickets,!fqdn
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
La premire ligne se spare en trois lments. !lecture indique sudo de ne pas afcher
davertissement lutilisateur lorsquil lance la commande sudo. tty_tickets fait en sorte
que le mot de passe ne soit retenu que pour les commandes lances dans une console don-
ne. !fqdn permet dindiquer des noms rseau non pleinement qualis ce qui est nces-
saire pour que sudo puisse fonctionner sans serveur de noms.
La deuxime ligne donne root un accs illimit tous les programmes. Elle est plutt inu-
tile sous Ubuntu, puisque la connexion en root nest pas possible.
La troisime est la plus importante : elle permet aux membres du groupe admin dappeler
tous les programmes.
Par dfaut, seul le premier utilisateur (cr lors de linstallation) est membre du groupe
admin. Lorsque vous crez un nouvel utilisateur, celui-ci doit tre explicitement ajout ce
groupe.
sudo sous SUSE
Sous SUSE, le rle de sudo est plus rduit que sous Ubuntu. Si vous dsirez le mettre en
place, vous devez prendre garde certaines particularits de la conguration par dfaut :
# configuration par dfaut de /etc/sudoers dans SUSE
# $HOME contient le rpertoire personnel de lutilisateur
Defaults always_set_home
# empche lexcution de programmes X
Defaults env_reset
# sudo demande le mot de passe du compte cible
Defaults targetpw
# avec le bon mot de passe, tout le monde peut tout faire
ALL ALL=(ALL) ALL
root ALL=(ALL) ALL
Les deux premires lignes ont trait aux variables denvironnement une fois laccs sudo
autoris. La deuxime ligne a en particulier pour effet de supprimer la variable DISPLAY, ce
qui interdit lexcution de programmes X.
Defaults targetpw signie que le mot de passe pour le compte cible doit tre saisi avant que
la commande ne puisse tre lance (en gnral, mot de passe root). La ligne ALL ALL=(ALL)
ALL permet tous les utilisateurs de lancer nimporte quelle commande une fois le bon mot
de passe saisi.
Linux Livre Page 222 Mardi, 23. septembre 2008 1:05 13
223 GESTION DES PROCESSUS
14.4 Processus du systme (dmons)
Nous dnissons les dmons comme des processus en tche de fond pour la gestion du sys-
tme. Ils sont gnralement lancs lors du dmarrage grce InitV. Si vous tes familier avec
la terminologie Windows 2000/XP, ils correspondent aux services de Windows. La liste sui-
vante dcrit rapidement la tche des dmons les plus importants.
Processus importants du systme
atd dmarrage dautres programmes des heures prdfinies (semblable cron)
avahi-demon configuration rseau automatique (ZeroConf, Rendezvous, Bonjour)
cron dmarrage dautres programmes des heures prdfinies
cupsd tampon de limprimante
dbus-daemon communication DBUS
dhclient client DHCP
dhcpd mise disposition d adresses IP aux autres ordinateurs
dhcpcd lecture des adresses IP
gdm gestionnaire de connexion de Gnome
gpm gestion de la souris pour la console texte
hald* gestion du matriel
hcid gestion du BlueTooth
hidd gestion du BlueTooth
hpiod imprimantes et scanners HP
httpd serveur web (par exemple Apache)
kdm gestionnaire de connexion de KDE
klogd journalisation des messages du noyau
innd serveur de news
ipppd dmarrage du RNIS
ipsec VPN avec IPsec
leafnode serveur de news pour un petit rseau
lisa serveur dinformations du rseau local pour KDE
lockd verrous NFS
lpd tampon dimprimante
mdnsd configuration rseau automatique (ZeroConf, Rendezvous, Bonjour)
mysqld serveur de base de donnes MySQL
named serveur de noms
nmbd serveur de noms pour Windows
nscd cache pour les utilisateurs, les groupes et les noms dordinateurs
ntpd mise jour de lheure avec NTP
postfix serveur de courrier lectronique pour lenvoi de courriers
pppd client VPN, accs Internet
Linux Livre Page 223 Mardi, 23. septembre 2008 1:05 13
LINUX 224
Threads du noyau
En plus des services rseau habituels comme httpd (Apache), il existe de nombreux proces-
sus qui ne sont pas vraiment des programmes, mais des morceaux de processus (threads) du
noyau. Lorsque vous tapez ps axu, vous pouvez les reconnatre par leur nom qui se trouve
entre crochets. Certains sont suivis dun numro qui dsigne le processeur concern. Ainsi,
kblockd/0 gre le tampon des priphriques bloc pour le premier processeur, kblockd/1
pour le deuxime, etc.
La plupart des threads du noyau grent les tches de bas niveau du systme dexploitation
(gestion de la mmoire, des processus, occupation du processeur, etc.). Ils sont principale-
ment lancs lors de linitialisation au dbut du dmarrage du systme. Les applications
normales ne ncessitent pas de conguration spciale ce niveau.
pptpd serveur PPTP pour VPN
portmap partie du serveur NFS
resmgrd donne aux utilisateurs normaux accs aux ressources du systme (SUSE)
rhnsd service de mise jour (anciens systmes Red Hat)
rpc.* services rseau RPC
sendmail serveur de courrier lectronique pour lenvoi de courriers
sshd serveur SSH (shell scuris)
smartd surveillance SMART des disques durs
smbd serveur de fichiers pour Windows (Samba)
sdpd gestion du BlueTooth
squid proxy et cache web
syslogd journalisation des messages du systme
syslogd-ng journalisation des messages du systme
udevd gestion des priphriques
vsftpd serveur FTP
xdm gestionnaire daffichage de X
xfs serveur de polices de X
xinetd dmarrage dautres dmons rseau
Threads importants du noyau
aio gestion de ses entres/sorties asynchrones (par exemple pour les processus rseau)
events gestion des vnements et les interruptions logicielles
kacpid fonctions ACPI
kblockd gestion du tampon des priphriques bloc
khelperd chargement et suppression des modules du noyau pour les programmes des utilisateurs
khubd gestion de linsertion et de ljection des priphriques USB
kjournald journalisation du systme de fichiers ext3
Linux Livre Page 224 Mardi, 23. septembre 2008 1:05 13
225 GESTION DES PROCESSUS
Dmarrer et arrter des dmons
La plupart des distributions dmarrent les dmons lists prcdemment grce au systme
InitV. Nous le dtaillerons au Chapitre 24, o vous apprendrez aussi comment intgrer de
nouveaux scripts ce systme.
Certaines distributions utilisent, la place de InitV, un autre systme, par exemple Upstart
pour Ubuntu. Jusqu Ubuntu 8.04, Upstart gre peu de processus et dmarre ensuite un
mode de compatibilit avec InitV. Les informations fournies ici sont donc au moins valables
jusqu cette version.
Dans cette section, nous expliquerons comment dmarrer et arrter un dmon manuelle-
ment, ainsi que de manire automatique lors du dmarrage du systme. Ces informations
sont particulirement utiles pour mettre en place et congurer des services rseau. Atten-
tion, la commande et le nom du service peuvent varier dune distribution lautre. Par
exemple, le script de dmarrage du serveur Apache sappelle apache2 sous Debian, Ubuntu
et SUSE, et httpd sous Fedora et Red Hat.
Dmarrage
manuel
Pour dmarrer manuellement un dmon ou un service rseau, lancez la commande sui-
vante. Notez que le service rseau est parfois dmarr immdiatement aprs linstallation
du paquetage (comme sous Debian ou Ubuntu), tandis quil peut ncessiter un dmarrage
manuel sous dautres distributions.
Sous Debian, Fedora, Red Hat, SUSE et Ubuntu :
root# /etc/init.d/nom start
Sous Debian et Ubuntu :
root# invoke.rc nom start
knfsd serveur NFS
kthread gestion les threads
nfsd serveur NFS
kscand gestion de la mmoire
kseriod communication avec les priphriques srie
ksoftirqd gestion des interruptions matrielles
kswapd pagination
lockd verrous NFS
migration localisation processeur des processus
pccardd gestion les cartes PCMCIA
pdflush enregistrement physique les modifications de fichiers
reiserfs journalisation du systme de fichiers reiserfs
rpciod NFS
scsi_eh gestion des erreurs et dpassements de dlais du SCSI
watchdog surveillance du systme
Linux Livre Page 225 Mardi, 23. septembre 2008 1:05 13
LINUX 226
Sous Fedora et Red Hat :
root# service nom start
Sous SUSE :
root# rcnom start
Sous Ubuntu partir de 6.10, pour les processus Upstart :
root# start nom
Arrt manuel Les commandes pour arrter un dmon sont trs similaires.
Sous Debian, Fedora, Red Hat, SUSE et Ubuntu :
root# /etc/init.d/nom stop
Sous Debian et Ubuntu :
root# invoke.rc nom stop
Sous Fedora et Red Hat :
root# service nom stop
Sous SUSE :
root# rcnom stop
Sous Ubuntu partir de 6.10, pour les processus Upstart :
root# stop nom
Rechargement
/redmarrage
De nombreux services savent relire leurs chiers de conguration pendant quils sont en
service. Pour quils puissent prendre en compte des modications dans leur conguration,
il faut lancer la commande reload. Ceux qui ne la prennent pas en charge doivent tre red-
marrs avec restart.
Sous Debian, Fedora, Red Hat, SUSE et Ubuntu :
root# /etc/init.d/nom reload/restart
Sous Debian et Ubuntu :
root# invoke.rc nom reload/restart
Sous Fedora et Red Hat :
root# service nom reload/restart
Sous SUSE :
root# rcnom reload/restart
Dmarrage
automatique
Lorsquun service rseau est mis en place correctement, il est dusage de le dmarrer auto-
matiquement lors de lamorage de lordinateur et de larrter lors de lextinction de la
machine. Sous certaines distributions (Debian, Ubuntu), les services sont congurs ainsi
ds quils sont installs partir du paquet. Sous dautres, ce nest pas le cas, pour des raisons
de scurit le dmarrage automatique doit donc tre activ manuellement.
Sous Debian, update-rc.d cre les liens de dmarrage et darrt InitV avec le numro dex-
cution par dfaut 20. Si vous dsirez utiliser dautres nombres, indiquez-les avec n1 et n2
(voir Chapitre 24).
Linux Livre Page 226 Mardi, 23. septembre 2008 1:05 13
227 GESTION DES PROCESSUS
Sous Red Hat et Fedora, la commande chkconfig suft dans de nombreux cas. La seconde
commande nest ncessaire que lorsque le script InitV ne contient pas dinformation sur le
niveau dexcution du service (presque toujours 3 et 5, voir Chapitre 24).
Sous Debian et Ubuntu :
root# update-rc.d nom defaults [n1 n2]
Sous Fedora et Red Hat :
root# chkconfig --add nom
root# chkconfig --level 35 nom
Sous SUSE :
root# insserv nom
Supprimer le
dmarrage
automatique
Les commandes suivantes suppriment le dmarrage automatique ultrieur des services.
Lorsque le systme fonctionne, il nest pas arrt ; il faut pour cela lancer la commande stop
correspondante.
Sous Debian et Ubuntu :
root# update-rc.d -f nom remove
Sous Fedora et Red Hat :
root# chkconfig --del nom
Sous SUSE :
root# insserv -r nom
14.6 Dmarrer automatiquement des processus (crontab)
Lorsque votre ordinateur se met soudainement parcourir le disque dur et vous envoyer
des courriers lectroniques, il sagit presque toujours du dmarrage dun processus via le
dmon cron. InitV lance ce programme automatiquement lors du dmarrage de lordina-
teur. Il est actif une fois par minute ; il analyse tous les chiers crontab et dmarre les pro-
grammes qui sy trouvent. Ce dmon est principalement utilis pour les tches de
maintenance : rotation des chiers de journalisation, suppression des chiers temporaires,
actualisation des rpertoires, etc.
La conguration globale de cron se trouve dans le chier /etc/crontab. Les utilisateurs
peuvent galement dnir leurs propres tches dans les chiers spciques aux utilisateurs
/var/spool/cron/tabs/utilisateur.
Les chiers /var/spool/cron/allow et /var/spool/cron/deny dnissent des permissions
sur ces chiers utilisateur. Lorsque allow existe, lutilisateur ne peut excuter que les com-
mandes qui sy trouvent. Lorsque deny existe, il ne peut pas les excuter. Si ces deux chiers
sont absents, la compilation de cron dnit si les utilisateurs en dehors de root peuvent uti-
liser ce dmon.
Linux Livre Page 227 Mardi, 23. septembre 2008 1:05 13
LINUX 228
crontab Le fichier /etc/crontab contient des enregistrements sous forme de lignes pour les programmes
lancer. La syntaxe ressemble ceci :
min heure jour mois joursemaine utilisateur commande
Une toile dans lun des cinq premiers champs indique que ce champ doit tre ignor. Ainsi,
15 * * * * signie quil faut lancer la commande 15 minutes aprs lheure pleine, toutes les
heures, tous les jours, tous les mois, indpendamment du jour de la semaine. 29 0 * * 6
indique quil faut la lancer tous les samedis 0:29.
Ces champs comprennent galement une syntaxe du type */n. Celle-ci signie que la com-
mande doit tre lance toutes les n minutes/heures, etc. Ainsi, */15 * * * * indique quelle
est lance tous les quarts dheure ( x:00, x:15, x:30 et x:45).
La documentation nest pas claire sur la signication de 0 pour le jour du mois et le mois
(voir man 5 crontab).
Les chiers /var/spool/cron/tabs/utilisateur ont le mme format que crontab. La seule
diffrence est quil ny a pas de colonne utilisateur.
Modifier la configuration
Pour changer la conguration globale de cron, vous pouvez modier directement le chier
/etc/crontab et les chiers de /etc/cron* avec un diteur de texte. Pour ajouter une ligne
spcique un utilisateur, vous devez utiliser la commande crontab -e. Lditeur par
dfaut de la variable denvironnement EDITOR est alors lanc.
cron.hourly,
.daily, .weekly,
.monthly
Dans la plupart des distributions, /etc/crontab ne contient que peu dentres qui lancent
tous les chiers de script de /etc/cron.hourly/* toutes les heures, ceux de /etc/
cron.daily/* tous les jours, etc. Sous Red Hat, /etc/crontab ressemble ceci :
# /etc/crontab sur Red Hat
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
Colonnes de crontab
min indique quelle minute (0-59) le programme doit tre lanc
heure indique lheure (0-23)
jour indique le jour dans le mois (0-31)
mois indique le mois (0-12)
joursemaine indique le jour de la semaine (0-7, 0 et 7 signifient dimanche)
utilisateur indique pour quel utilisateur est lance la commande (root le plus souvent)
commande indique la commande lancer
Linux Livre Page 228 Mardi, 23. septembre 2008 1:05 13
229 GESTION DES PROCESSUS
La conguration de cron sen trouve considrablement simplie. Dans la plupart des cas, il
suft alors de copier le script lancer dans lun des quatre rpertoires /etc/cron.xxx pour
que les commandes qui sy trouvent soient lances.
Modier directement /etc/crontab nest alors ncessaire que lorsque vous voulez changer
les heures prdnies (attention, le chier /etc/crontab peut tre cras lors dune mise
jour de la distribution).
Pendant mon travail sur cet ouvrage, jai synchronis le rpertoire de ce livre et mon rper-
toire de sauvegarde (sur un autre disque dur) une fois par jour. Cela tient en un script de
trois lignes :
#!/bin/sh
#/etc/cron.d/daily/backup-linux-book
rsync -r ~michael/linux/* /backup/linux
Lorsque vous dsirez viter quune tche cron ne se lance un moment critique (par exemple, lorsque vous
gravez un DVD), il suffit de dsactiver cron avec /etc/init.d cron stop.
Linux Livre Page 229 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 230 Mardi, 23. septembre 2008 1:05 13
15
Convertisseurs graphiques, audio
et texte
Linux propose de nombreuses commandes pour passer des images, des textes et dautres
chiers dun format un autre : du GIF au JPEG, du Latin-1 lUnicode, du PostScript au
PDF, du HTML au texte simple, du MP3 au WAV, etc. Ce chapitre offre un premier aperu de
ces commandes, assorties de quelques exemples dapplication.
La plupart des distributions fournissent peu de convertisseurs. Si vous ne trouvez pas lune des
commandes prsentes dans ce chapitre, vous devez installer le paquetage correspondant.
Nous ne parlerons pas ici des programmes interactifs, tels que Gimp. Vous pouvez bien sr
charger un chier TIFF dans Gimp et lenregistrer au format JPEG. Nous nous limiterons
aux commandes texte avec lesquelles la conversion peut tre automatise trs simplement.
15.1 Convertisseurs graphiques
Il existe principalement deux paquetages de convertisseurs graphiques : Image Magick et
Netpbm. Ils peuvent grer dinnombrables formats graphiques et proposent des comman-
des et des options pour les transformations basiques dimages (modier la taille ou le
dcoupage dune image, amliorer le contraste, rduire le nombre de couleurs, etc.). Vous
trouverez ici une courte prsentation de ces deux paquetages, ainsi que dautres commandes et
bibliothques de conversion dimages.
Image Magick Le paquetage Image Magick contient plusieurs commandes isoles, dont la plus importante
est convert. Celle-ci copie une image et en modie le format. Les formats source et cible sont
simplement indiqus par les noms de chiers. Par exemple, la commande suivante copie le
chier image.jpg au format PNG :
utilisateur$ convert image.jpg image.png
Divers paramtres de limage (taille, nombre de couleurs, taux de compression, etc.) peuvent
tre modis par le biais dune centaine doptions :
utilisateur$ convert -resize 100x100 image.jpg image.png
utilisateur$ convert -type Grayscale image.jpg image.eps
utilisateur$ convert -quality 80 image.bmp image.jpg
mogrify fonctionne comme convert, mais transforme directement le chier plutt que den
crer un nouveau :
utilisateur$ mogrify -resize 50% test.jpg
Les autres commandes dImage Magick comprennent compare pour comparer deux images
et conjure pour lancer des commandes de transformation dimages du Magick Scripting
Language (MSL, langage de script Magick). identify afche une description dun chier
Linux Livre Page 231 Mardi, 23. septembre 2008 1:05 13
LINUX 232
image (format, taille, etc.). import cre une copie dcran et lenregistre dans un chier.
montage forme une seule image avec plusieurs.
utilisateur$ identify -verbose bateau.png
Image: bateau.png
Format: PNG (Portable Network Graphics)
Class: DirectClass
Geometry: 416x244+0+0
Type: TrueColorMatte
Endianess: Undefined
Colorspace: RGB
Depth: 8-bit
...
Les programmeurs peuvent aussi utiliser Image Magick en tant que bibliothque. La docu-
mentation complte de toutes les commandes se trouve sur le site web http://www.image-
magick.org/.
Netpbm Lapproche de Netpbm (anciennement Portable Bitmap Utilities) est diffrente de celle
dImage Magick. En effet, chaque chier doit dabord tre transform au format interne
PNM ou PBM. Lexemple suivant montre comment transformer un chier TIFF en chier
PNG, o lespace de couleurs de limage est normalis (pnmnorm) :
utilisateur$ tifftopnm image.tif | pnmnorm | pnmtops -noturn -rle \
-scale 0.5 > image.eps
Netpbm contient environ 200 commandes ; vous en trouverez une description ladresse
http://netpbm.sourceforge.net/doc/.
Bibliothque
libtiff
Le paquetage libtiff contient la bibliothque ponyme, ainsi que diverses commandes
pour modier et convertir des chiers TIFF. Les principales commandes de conversion sont
bmp2tiff, gif2tiff, tiff2pdf et tiff2ps. Pour manipuler les chiers TIFF, les commandes
tiffcp, tiffinfo ou encore tiffsplit peuvent savrer utiles.
Bibliothque
libwmf
Le paquetage libwmf contient la bibliothque du mme nom, ainsi que certaines comman-
des pour traiter les chiers WMF et EMF (Windows Metale et Enhanced Metale). Les princi-
pales commandes de conversion sont wmf2eps, wmf2svg, ainsi que wmf2gd (conversion vers
les formats JPEG et PNG).
Convertisseur
SVG
Le paquetage librsvg2 ou librsvg2-bin contient les commandes rsvg et rsvg-convert, qui
servent transformer les chiers SVG (Scalable Vector Graphics) dans un format bitmap.
EXIF Il existe plusieurs bibliothques et commandes pour modier les donnes EXIF des chiers
JPEG, par exemple exif, exiftran, exiv2 ou encore jhead.
Fichiers RAW Certains appareils photo numriques permettent denregistrer des images sans perte de
qualit au format RAW spci par le fabricant. Pour transformer ces chiers en images
conventionnelles, on peut utiliser la commande dcraw du paquetage du mme nom.
15.2 Conversion audio et vido
Le tableau suivant prsente les principales commandes pour lire des donnes audio partir
dun CD et transformer les chiers audio et vido dun format un autre. Si le nom du
paquetage ne drive pas directement de celui de la commande, il est indiqu entre parenthses
ce nom peut cependant varier selon les distributions.
Linux Livre Page 232 Mardi, 23. septembre 2008 1:05 13
233 CONVERTISSEURS GRAPHIQUES, AUDIO ET TEXTE
Cette section prsente quelques exemples de commandes. Vous trouverez plus dinformations
et des rfrences doptions grce man commande.
Extraction de
CD audio
Ces outils servent extraire un CD de manire efcace et sans perte de qualit vers le disque
dur. Les commandes les plus populaires sont cdparanoia et cdda2wav, ainsi que le projet
driv icedax. cdparanoia a la rputation davoir de bons rsultats lorsque le CD est ray
ou prsente des problmes similaires. Les deux commandes fournissent dinnombrables
paramtres.
Voici deux exemples. La commande suivante lit la piste 3 dun CD qui se trouve dans le premier
lecteur CD SCSI. Le chier rsultant est nomm audio.wav.
root# cdda2wav -D /dev/scd0 -t 3
Le second exemple lit la piste 4 du CD dans le mme lecteur. Le rsultat est le chier
cdda.wav dans le rpertoire local :
root# cdparanoia -d /dev/scd0 "4"
Codage MP3 En raison des problmes de brevets voqus au Chapitre 11, il existe encore peu de distri-
butions Linux dotes dun codeur MP3. Divers codeurs sont cependant disponibles sur
Internet en tant que paquetages supplmentaires. Le programme le plus connu est lame :
http://lame.sourceforge.net/index.php.
Son utilisation est trs simple : lame entree.wav sortie.mp3 cre partir du chier en
entre un chier MP3. Lopration, en particulier la qualit du chier MP3, est paramtre
grce de nombreuses options.
MP3 -> OGG Les commandes listes prcdemment peuvent tre combines, par exemple pour transfor-
mer un chier MP3 au format Ogg-Vorbis. Attention, ce type de transformation induit
toujours une perte de qualit et doit tre vit autant que possible.
utilisateur$ mpeg321 -s in.mp3 -w - |oggenc - -o out.ogg
Format Commande (paquet)
CD -> WAV cdda2wav/icedax, cdparanoia
MP3 -> WAV mpg123, mpg321, madplay
WAV -> MP3 lame
OGG -> WAV oggdec (vorbis-tools)
WAV -> OGG oggenc (vorbis-tools)
MP3 -> OGG mp32ogg
AAC -> WAV faad
WAV -> AAC faac
WAV <-> FLAC flac
Audio <-> Audio sox
Audio <-> Audio sfconvert (audiofile)
Audio/Vido <-> Audio/Vido ffmpeg (convertisseur universel)
Linux Livre Page 233 Mardi, 23. septembre 2008 1:05 13
LINUX 234
Malheureusement, les tags Info (ID3) sont galement perdus dans cette opration. Pour viter
cela, on peut aussi utiliser un script de conversion MP3-Ogg (comme mp32ogg).
FLAC FLAC signie Free Lossless Audio Codec, codec audio libre sans perte. Les chiers FLAC sont
plus volumineux que les chiers MP3 ou Ogg, mais plus petits que les WAV. Lavantage
principal de FLAC par rapport MP3 ou Ogg est quil code les chiers audio sans perte.
Pour coder et dcoder ces chiers, on utilise la commande flac.
Bibliothque
AudioFile
Le paquetage audiofile implmente les fonctions importantes de la bibliothque AudioFile
du fabricant SGI. La commande la plus intressante est sfconvert, qui permet de convertir
des chiers audio entre les formats aiff, aifc, next et wave. sfinfo essaie de dterminer
dans quel format se trouve un chier audio.
Conversion
vido (ffmpeg)
La commande ffmpeg du paquetage du mme nom convertit les chiers audio et vido dun
format un autre. La liste des formats pris en charge est longue et on peut lobtenir avec
ffmpeg -formats.
utilisateur$ ffmpeg -i in.avi out.mpg
La commande permet aussi de prparer des donnes audio et vido pour les graver sur un
DVD. Un exemple est fourni dans man ffmpeg.
15.3 Conversion de texte
Cette section prsente les commandes recode, iconv, dos2unix et unix2dos. Elles servent
modier le jeu de caractres et les caractres de n de ligne de chiers texte. Ces transforma-
tions sont ncessaires lorsque vous transfrez des chiers entre des systmes qui utilisent
des jeux de caractres ou des conventions de format de texte diffrents.
recode recode permet de convertir un chier texte dun jeu de caractres un autre. La commande sui-
vante convertit le chier DOS fichierdos en un chier Linux avec le jeu de caractres Latin-1 :
utilisateur$ recode ibmppc..latin1 < fichierdos > fichierlinux
Comme le montre lexemple suivant, recode peut aussi modier les caractres de n de ligne.
Cette commande convertit tous les caractres de n de ligne du chier fichierwin (CR puis LF,
soit Carriage Return puis Line Feed) en caractres conventionnels sous Linux (LF) :
utilisateur$ recode latin1/cr-lf..latin1 < fichierwin > fichierlinux
recode peut aussi lire un chier cod en Latin-1 et lenregistrer en UTF-8 :
utilisateur$ recode latin1..u8 < fichierlatin1 > fichierutf8
iconv La commande iconv est une alternative populaire recode. Elle ne peut cependant pas
modier les caractres de n de ligne. Lexemple suivant cre un chier UTF-8 partir dun
chier Latin-1 :
utilisateur$ iconv -f latin1 -t utf-8 fichierlatin1 > fichierutf8
dos2unix et
unix2dos
Les commandes dos2unix et unix2dos changent les caractres de n de ligne du format
DOS/Windows (CR puis LF) et du format Unix/Linux (LF uniquement). Cette commande
ne fonctionne que pour les chiers dont le jeu de caractres est sur un octet (par exemple,
ASCII ou Latin-1), mais pas pour les chiers Unicode.
utilisateur$ dos2unix fichier.txt
Linux Livre Page 234 Mardi, 23. septembre 2008 1:05 13
235 CONVERTISSEURS GRAPHIQUES, AUDIO ET TEXTE
15.4 Conversion de noms de fichiers
convmv Jusqu il y a quelques annes, il tait courant de reprsenter les noms de chiers dans le jeu
de caractres Latin-1. Depuis, UTF-8 sest impos comme standard. Pour transformer un
nom de chier dun jeu de caractres un autre, on peut utiliser la commande convmv. Elle
est cependant rarement fournie par dfaut. Certaines distributions permettent de linstaller
sans problme partir du paquetage du mme nom. Si votre distribution ne fournit pas un
tel paquet, vous devez tlcharger le script Perl ladresse http://j3e.de/linux/convmv/.
Pour modier rcursivement tous les noms de chiers dun rpertoire depuis le jeu de
caractres Latin-1 vers UTF-8 (avec une conrmation pour chaque modication), appelez
convmv de cette manire :
utilisateur$ convmv -r -i --notest -f iso-8859-1 -t utf8 rpertoire
convmv modie le nom, mais pas le contenu des chiers. Loption --notest est obligatoire
pour que la conversion ait effectivement lieu.
Cette commande essaie de reconnatre elle-mme les chiers qui ont dj un nom en UTF-8
et ne propose dans ce cas pas de renommage. Si vous dsirez dsactiver cette fonctionnalit,
utilisez loption --nosmart.
15.5 Conversion de documents
Il est parfois ncessaire de convertir des documents (PostScript, PDF, HTML, texte, etc.) dun for-
mat un autre. La liste suivante donne quelques pointeurs vers des logiciels utiles. Vous trouve-
rez des informations sur leur utilisation dans les pages de manuel des outils correspondants.
a2ps permet, entre autres, de transformer un document texte en document PostScript.
Cest particulirement utile lorsque limprimante demande un format PostScript en
entre. a2ps peut galement reconnatre du code et il gre alors la distinction des mots
cls, des commentaires, etc.
enscript convertit des chiers texte aux formats PostScript, HTML et RTF.
mpage convertit des chiers texte au format PostScript, par dfaut quatre pages par
feuille et au format Letter.
html2text convertit les documents HTML en chiers texte.
html2ps est un script Perl qui convertit les chiers HTML au format PostScript.
ps2pdf convertit les chiers PostScript au format PDF.
eps2pdf convertit des images EPS au format PDF.
pdf2ps convertit les chiers PDF au format PostScript.
pdftops a le mme but que pdf2ps, mais fournit plus doptions.
gs (GhostScript) convertit les documents PostScript et PDF en divers formats bitmap et
formats dimprimantes. GhostScript est une brique importante du systme dimpression
de Linux.
Linux Livre Page 235 Mardi, 23. septembre 2008 1:05 13
LINUX 236
Le paquetage psutils fournit diverses commandes pour grer les chiers PostScript.
On notera en particulier psbook, qui permet de rordonner les pages dun texte an quil
puisse tre imprim en livre, ou encore psnup, qui regroupe plusieurs pages rduites sur
une seule feuille.
pdftk (PDF-Toolkit) fournit des fonctions comparables psutils pour les chiers PDF.
pdftotext extrait le texte dun chier PDF et lenregistre dans un chier texte. Le format
et les images sont alors perdus.
Linux Livre Page 236 Mardi, 23. septembre 2008 1:05 13
16
Outils rseau
Ce chapitre prsente les diffrentes commandes pour utiliser et grer les fonctions et services
lmentaires dun rseau. Vous apprendrez comment vous connecter un autre ordinateur
du rseau avec ssh, comment transfrer des donnes avec wget ou rsync, etc.
Il existe, pour certaines de ces commandes, une interface utilisateur graphique. Cependant,
comme dans les chapitres prcdents, nous donnons ici la priorit aux commandes texte.
Certaines commandes ne peuvent tre utilises quen root ou en sudo. Dautres peuvent tre
lances par un utilisateur conventionnel, mais ne sont gnralement pas sa disposition la
variable denvironnement PATH ne contient pas le chemin des commandes en question. Il
peut donc tre ncessaire de saisir le chemin complet, gnralement /sbin ou /usr/sbin. Par
exemple, pour lancer la commande ifconfig sous Fedora en tant quutilisateur non root, il
faut la saisir sous la forme /sbin/ifconfig.
16.1 Connatre ltat du rseau
Cette section donne un aperu des commandes qui permettent de connatre ltat dun
rseau. Vous trouverez plus dinformations sur ces commandes au Chapitre 26, qui traite de
la conguration manuelle de laccs au rseau et prsente un petit glossaire de termes, tels
que passerelle, serveur de noms, mascarade, etc.
Identifier les
interfaces
rseau
La commande ifconfig afche une liste de toutes les interfaces rseau connues. Les plus clas-
siques sont ethn (Ethernet), pppn (accs Internet via un modem) ou encore ipppn (RNIS).
Linterface lo joue un rle particulier : elle permet aux programmes locaux de communiquer
avec un protocole rseau. Cela fonctionne mme lorsque lordinateur nest connect aucun
rseau. Pour un ordinateur dot dune carte Ethernet, ifconfig afche par exemple ceci :
root# ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:fc:a0:96:4d
inet adr:192.168.1.5 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::250:fcff:fea0:964d/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reus:15923066 erreurs:0 :0 overruns:0 frame:0
TX packets:16212689 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reus:2095295710 (1.9 GB) Octets transmis:4097249288 (3.8 GB)
Interruption:18 Adresse de base:0xb400
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hte
UP LOOPBACK RUNNING MTU:16436 Metric:1
Packets reus:303173 erreurs:0 :0 overruns:0 frame:0
TX packets:303173 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reus:65773827 (62.7 MB) Octets transmis:65773827 (62.7 MB)
Linux Livre Page 237 Mardi, 23. septembre 2008 1:05 13
LINUX 238
Si linterface eth0 ne safche pas, la carte rseau nest pas active. Les outils de congura-
tion de votre distribution permettent de remdier cette situation. Vous pouvez aussi lacti-
ver manuellement, par exemple avec ifconfig eth0 192.168.0.2. Si une erreur du type
"eth1: ERREUR en rcuprant les signaux de linterface: Aucun priphrique de ce type" safche, le
module du noyau permettant de grer la carte rseau est probablement manquant.
Tester
laccessibilit
de localhost
ping envoie un petit paquet rseau une fois par seconde une adresse fournie en paramtre.
Lorsquun ordinateur sy trouve, il envoie une rponse (qui peut cependant tre masque
par un pare-feu). ping fonctionne tant quil nest pas interrompu par Ctrl+C. Il permet donc
de tester si une connexion peut tre tablie entre lordinateur local et un autre ordinateur.
Il vaut mieux commencer par tester ping localhost pour voir si linterface de bouclage lo et
les fonctions rseau lmentaires de lordinateur fonctionnent. Cela devrait tre le cas,
mme si vous navez pas de carte rseau (localhost dsigne toujours lordinateur local).
utilisateur$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.041 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.030 ms
...
Tester
laccessibilit
du rseau local
Lorsque vous indiquez, la place de localhost, ladresse IP dun autre ordinateur du rseau
local, vous testez si ce rseau fonctionne. -c 2 fait en sorte que seuls deux paquets soient
envoys et vite que ping continue indniment.
utilisateur$ ping -c 2 192.168.1.4
PING 192.168.1.4 (192.168.1.4) 56(84) bytes of data.
64 bytes from 192.168.1.4: icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from 192.168.1.4: icmp_seq=2 ttl=64 time=0.031 ms
--- 192.168.1.5 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.031/0.040/0.049/0.009 ms
Lorsquil existe un serveur de noms sur le rseau local qui associe ladresse IP 192.168.1.4
un nom (ou lorsque le chier /etc/hosts gre cette tche), vous pouvez utiliser le nom de
lordinateur la place de son adresse IP :
utilisateur$ ping -c 2 mars
PING mars.sol (192.168.1.4) 56(84) bytes of data.
64 bytes from mars.sol(192.168.1.4): icmp_seq=1 ttl=64 time=0.133 ms
64 bytes from mars.sol (192.168.1.4): icmp_seq=2 ttl=64 time=0.127 ms
--- mars.sol ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.127/0.130/0.133/0.003 ms
Tester laccs
Internet
Vous pouvez ensuite vrier si votre accs Internet fonctionne. La commande suivante
teste en mme temps deux aspects de la conguration du rseau : la disponibilit du serveur
de noms et le fonctionnement de la passerelle.
utilisateur$ ping -c 2 www.yahoo.fr
PING www.euro.yahoo-eu1.akadns.net (87.248.120.129) 56(84) bytes of data.
64 bytes from www.vip.ch1.yahoo.com (87.248.120.129): icmp_seq=1 ttl=51
time=35.7 ms
Linux Livre Page 238 Mardi, 23. septembre 2008 1:05 13
239 OUTILS RSEAU
64 bytes from www.vip.ch1.yahoo.com (87.248.120.129): icmp_seq=2 ttl=51
time=34.8 ms
--- www.euro.yahoo-eu1.akadns.net ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1003ms
rtt min/avg/max/mdev = 34.889/35.336/35.784/0.485 ms
Si cela ne fonctionne pas, plusieurs lments peuvent tre en cause :
Le serveur de Yahoo! peut tre hors service ou ne pas rpondre au ping pour des raisons
de scurit. Essayez datteindre une autre adresse Internet connue.
Lorsque le serveur de noms ne fonctionne pas, vous obtenez le message derreur ping: unk-
nown host yahoo.fr. Vriez que /etc/resolv.conf contient ladresse du serveur de noms.
Lorsque la passerelle ne fonctionne pas, vous obtenez le message derreur connect: Network
is unreachable. Lancez alors la commande route -n. La dernire ligne doit ressembler celle
de lexemple suivant, o la colonne Passerelle contient ladresse IP de votre passerelle :
root# route -n
Table de routage IP du noyau
Destination Passerelle Genmask Indic Metric Ref Use Iface
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0
0.0.0.0 192.168.1.1 0.0.0.0 UG 100 0 0 eth0
Si un seul ordinateur sert de passerelle un rseau local complet, il est possible que vous
ayez oubli dactiver la mascarade. Dans ce cas, laccs Internet ne fonctionne pas pour le
rseau local. La conguration dune passerelle Internet est dtaille au Chapitre 26.
Suivre le
chemin des
paquets IP
traceroute permet de connatre le chemin parcouru par un paquet rseau mis par votre ordi-
nateur vers un autre ordinateur et le temps quil met parcourir chaque tape du chemin. Par
dfaut, la commande effectue trois tentatives et afche les trois dures correspondantes.
La commande ne fonctionne pas si lune des tapes a un pare-feu qui bloque le port UDP
33434 utilis par traceroute. Dans ce cas, traceroute nafche pour cette tape et les tapes
suivantes que trois toiles.
Les lignes suivantes montrent le chemin entre mon ordinateur et google.fr :
utilisateur$ traceroute google.fr
traceroute to google.fr (216.239.59.104), 30 hops max, 40 byte packets
1 gateway (192.168.1.1) 0.438 ms 0.626 ms 0.819 ms
2 166-59-186-195.bluewin.ch (195.186.59.166) 25.807 ms 25.964 ms 26.145 ms
...
10 72.14.198.57 (72.14.198.57) 29.364 ms 30.086 ms 31.558 ms
...
16 216.239.59.104 (216.239.59.104) 61.008 ms 61.301 ms 62.771 ms
La premire ligne est ma passerelle/routeur ADSL. La deuxime est la passerelle de mon
fournisseur daccs Internet. Les lignes 3 9 sont les diffrentes tapes dans le rseau de
mon fournisseur daccs Internet. La ligne 10 passe sur le rseau de Google et les lignes 11
16 sont les diffrentes tapes dans le rseau de Google.
Linux Livre Page 239 Mardi, 23. septembre 2008 1:05 13
LINUX 240
16.2 Travailler sur un autre ordinateur
Les programmes telnet, rlogin et ssh permettent de travailler sur un autre ordinateur. Cela
fonctionne aussi bien pour les programmes en mode texte que pour les programmes X. Ces
derniers exigent tout de mme que les diverses bibliothques correspondent sur les deux
ordinateurs.
Cette section se limite la description de ssh. Les anciens programmes telnet et rlogin ne
devraient plus tre utiliss. Ils transmettent les informations de connexion, y compris le mot
de passe de lutilisateur, en clair.
Le prrequis pour utiliser ssh est quun serveur SSH, cest--dire le programme sshd, fonctionne sur le
second ordinateur. Pour certaines distributions Linux, cest le cas par dfaut. Pour dautres, il faut installer le
programme il sagit souvent du paquetage openssh-server. Si vos ordinateurs sont quips de pare-
feu, ceux-ci ne doivent pas bloquer le port 22.
Session shell
typique
Si vous tes sur lordinateur uranus et que vous dsirez lancer une session shell sur mars, il
suft de lancer la commande suivante :
utilisateur@uranus$ ssh mars
utilisateur@marss password: xxx
Lorsque vous vous connectez pour la premire fois un autre ordinateur, un avertissement
de ce type apparat :
The authenticity of host mars (192.168.1.10) cant be established.
RSA1 key fingerprint is 1e:0e:15:ad:6f:64:88:60:ec:21:f1:4b:b7:68:f4:32.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added mars,192.168.1.10 (RSA1) to the list of known hosts.
Cela signie que ssh nest pas sr de pouvoir faire conance lordinateur mars dot de
ladresse IP 192.168.1.10. Il se pourrait en effet quun ordinateur tranger se fasse passer pour
mars. Si vous rpondez la question par yes, ssh enregistre le nom, ladresse et lempreinte RSA
(code pour identier de manire unique lordinateur) dans ~/.ssh/known_hosts.
Si vous souhaitez vous connecter mars sous un autre identiant que celui sous lequel vous
travaillez sur uranus (par exemple, en tant que root), ajoutez loption -l :
utilisateur@uranus$ ssh -l root mars
root@marss password: xxx
Lancer des
commandes
Plutt que dutiliser ssh de manire interactive, vous pouvez nexcuter quune commande
sur lordinateur distant. Il suft de passer la commande et ses paramtres comme paramtres
de la commande ssh. ssh est termin aprs cette commande.
utilisateur@uranus$ ssh mars commande options
utilisateur@marss password: xxx
Cette possibilit a priori triviale ouvre de larges horizons. Vous pouvez, par exemple, lancer
sur un ordinateur distant la commande tar, transfrer larchive cre la sortie standard (en
utilisant un tiret - aprs loption -f) et rediriger la sortie standard vers lentre dune
seconde commande tar, cette fois-ci locale, avec un tube |. Vous pouvez ainsi dplacer
une arborescence complte via SSH.
Linux Livre Page 240 Mardi, 23. septembre 2008 1:05 13
241 OUTILS RSEAU
La commande suivante montre comment je copie le rpertoire htdocs de mon serveur web
kofler.cc vers le rpertoire local ~/bak :
utilisateur$ ssh kofler.cc tar -cf - htdocs |tar -xC ~/bak/ -f -
utilisateur@kofler.ccs password: xxxxx
SSH et X On peut aussi lancer un programme X dans une session SSH. Il est alors lanc sur lordina-
teur distant, mais safche sur lordinateur local et comprend toutes les saisies du clavier et
de la souris. Comme le protocole X fonctionne travers le rseau, une bonne connexion
rseau est ncessaire pour pouvoir travailler confortablement.
Pour lancer des programmes X avec ssh, il faut passer loption -X. Le serveur doit avoir la
ligne ForwardX11 yes dans le chier de conguration /etc/sshd_config pour que le transfert
fonctionne. ssh soccupe alors lui-mme de la gestion de la variable DISPLAY.
Les commandes suivantes lancent lditeur xemacs sur lordinateur mars. La fentre de ldi-
teur safche cependant sur lordinateur uranus, o elle peut tre utilise. Cela fonctionne
mme lorsque le serveur X de mars ne fonctionne pas (par exemple, en niveau dexcution
3). Toutes les bibliothques X doivent nanmoins tre installes.
utilisateur@uranus$ ssh -X mars
utilisateur@marss password: xxx
utilisateur@mars$ xemacs &
Copier des
fichiers de
manire sre
avec scp
La commande scp permet de copier des chiers via SSH sur un rseau. La syntaxe ressemble
celle-ci :
utilisateur$ scp [[utilisateur1@]hote1:]fichier1 \
[[utilisateur2@]hote2:][fichier2]
fichier1 est copi de lordinateur hote1 vers lordinateur hote2 et enregistr sous le nom
fichier2. Voici quelques remarques quant aux nombreux lments optionnels de la com-
mande :
hote1 et hote2 peuvent tre omis lorsquils dsignent lordinateur local (localhost).
Il nest pas ncessaire dindiquer utilisateur1 lorsquil sagit de lutilisateur actif.
Il nest pas ncessaire dindiquer utilisateur2 lorsquil sagit de lutilisateur courant
dhote1 ou de utilisateur1.
fichier1 peut tre un rpertoire. Il faut alors passer loption -r pour que tout le rper-
toire et ses sous-rpertoires soient pris en compte.
Il nest pas ncessaire dindiquer fichier2 lorsque le nom du chier ne doit pas tre
modi. Le chier est alors copi dans le rpertoire personnel de utilisateur2.
On peut aussi indiquer un rpertoire la place de fichier2. ~ reprsente le rpertoire
personnel de utilisateur2.
Par exemple, si lutilisateur michael travaille sur lordinateur uranus et veut transfrer le
chier abc.txt dans le rpertoire ~/efg de mars, la commande scp saisir est celle-ci :
michael@uranus$ scp abc.txt mars:~/efg/
michael@marss password: xxx
Linux Livre Page 241 Mardi, 23. septembre 2008 1:05 13
LINUX 242
SFTP SFTP (Secure FTP) est une variante plus sre du protocole FTP base sur SSH. Nous traiterons
de SFTP la section 16.3.
Systme de
fichiers SHFS
Le site web http://shfs.sourceforge.net fournit du code pour un module du noyau qui met
en place un systme de chiers bas sur SSH. Lutilisation de shfs est plus confortable que
dinnombrables commandes scp et bien plus sre que NFS mme sil est plus lent.
Le module shfs est lheure actuelle rarement fourni par les distributions. Vous devez
donc le compiler vous-mme. Aprs make et make install, la commande suivante devrait
fonctionner :
root# mount -t shfs utilisateur@mars /test
Cette commande monte le rpertoire racine de lordinateur mars (et non le rpertoire person-
nel de utilisateur !) dans le rpertoire local /test. mount appelle la commande shfsmount, qui
soccupe de passer les bonnes options.
Tunnels SSH Les utilisateurs avancs peuvent galement crer des tunnels avec SSH. Ils permettent de
transfrer tous les paquets IP envoys un port donn. Ils fournissent donc un chemin scu-
ris pour les paquets entre deux ordinateurs, mme lorsquun pare-feu se trouve entre les
deux machines.
Si le tunnel est cr depuis lordinateur client, il faut utiliser loption -L port_local:hte_dis-
tant:port_distant. Par exemple, la commande suivante fait correspondre le port 3306 de
mars au port 3307 de lordinateur local. La commande dmarre galement une session SSH,
ce que lon peut viter avec loption -N lorsque seul le tunnel (sans connexion au shell) est
dsir. Si vous souhaitez vous connecter mars avec un autre utilisateur, utilisez comme
prcdemment loption -l.
utilisateur@uranus$ ssh -L 3307:mars:3306 mars
utilisateur@marss password: xxxx
Le tunnel reste ouvert jusqu ce que la session SSH soit termine avec Ctrl+D. Si vous avez
lanc ssh avec loption -N, le programme doit tre arrt avec Ctrl+C.
3306 est le port habituel de MySQL. Vous pouvez dsormais accder au serveur MySQL qui
fonctionne sur mars via le port 3307 duranus. Il faut pour cela indiquer le port 3307 et le nom
dhte 127.0.0.1 pour effectivement utiliser ce tunnel :
utilisateur@uranus$ mysql -u identifiantmysql -P 3307 -h 127.0.0.1 -p
Enter password: xxxxx
Pour que cela fonctionne, il faut bien sr que MySQL accepte les connexions rseau, ainsi
que la combinaison identiant de connexion/hte.
Utiliser SSH sans mot de passe
Tous les exemples de cette section supposent que vous vous connectiez sur la machine cible
de manire tout fait normale aprs avoir excut ssh, scp, etc. Ce nest cependant pas
toujours ncessaire. Vous pouvez crer une paire de cls SSH sur lordinateur local grce
ssh-keygen -t rsa : une cl prive (~/.ssh/id_rsa) et une cl publique (~/.ssh/id_rsa).
Linux Livre Page 242 Mardi, 23. septembre 2008 1:05 13
243 OUTILS RSEAU
Lorsque vous lancez ssh-keygen, vous devez saisir un mot de passe. Il sagit en fait dune
phrase de passe, cest--dire du texte libre pouvant se composer de plusieurs mots. La cl
prive est chiffre avec cette phrase de passe.
Copiez la cl publique avec scp sur lordinateur cible et ajoutez-la au chier ~/.ssh/
authorized_keys si ce chier nexiste pas encore, crez-le. Renouvelez cette tape sur tous
les ordinateurs auxquels vous vous connectez en SSH.
Lorsque vous ouvrez une connexion vers lordinateur cible, ssh accde aux informations
des cls. Le mot de passe saisir nest alors plus celui du compte, mais celui de la cl. Vous
navez alors rien gagn en termes de confort.
Il serait tentant de ne pas saisir de mot de passe lorsque ssh-keygen cre les cls. Cela per-
met en effet une connexion sans mot de passe lordinateur distant, mais nimporte qui
peut lire et utiliser votre cl prive. La scurit de tous les ordinateurs sur lesquels vous
avez transfr votre cl publique dpend alors de votre cl prive. Si celle-ci est subtilise,
un attaquant aura accs vos comptes sur toutes ces machines !
ssh-agent est une solution plus sre et confortable. Ce programme gre toutes les cls prives
dun utilisateur (il nen existe gnralement quune seule). On le lance avec :
utilisateur$ eval $(ssh-agent)
Les variables denvironnement de la console courante sont alors modies. ssh-agent fonc-
tionne en processus darrire-plan. ssh-add permet dajouter une cl prive :
utilisateur$ ssh-add ~/ssh/id_rsa
Enter passphrase for /home/utilisateur/.ssh/id_rsa: xxxxx
ssh utilise alors la cl gre par ssh-agent. Vous naurez plus saisir le mot de passe pour la
cl, ni taper la phrase de passe chaque connexion : il vous sufra de la saisir une seule
fois. Lavantage de ssh-agent est quil est limit une seule console grce la porte des
variables denvironnement.
Lutilisation de SSH sans mot de passe est donc soit peu sre (cl prive sans mot de passe),
soit lourde (ssh-agent). Par consquent, la conguration nest rentable que si vous utilisez
ssh frquemment.
16.3 Transfrer des fichiers
FTP
Remarques
prliminaires
FTP, qui signie File Transfer Protocol (protocole de transfert de chiers), est une mthode
ancienne de transfert de chiers sur un rseau. Il doit sa grande popularit au mode de trans-
fert anonyme : de gros serveurs sur Internet donnent accs tous les utilisateurs des archives
FTP. Cet accs nest pas protg par un mot de passe. Pour utiliser un FTP anonyme, vous
pouvez utiliser comme nom dutilisateur anonymous et comme mot de passe gnralement
votre adresse de courrier lectronique.
Linux Livre Page 243 Mardi, 23. septembre 2008 1:05 13
LINUX 244
Linconvnient de FTP est que le nom dutilisateur et le mot de passe sont transfrs en clair.
SFTP (Secure FTP) est une alternative plus sre base sur SSH. HTTP, le protocole de transfert
des pages web, est galement souvent utilis comme alternative FTP.
Dans cette section, nous parlerons de lutilisation de FTP du point de vue du client.
Commande
FTP
Lanctre de tous les clients FTP est la commande texte ftp. Comme elle transfre par dfaut
les chiers depuis et vers le rpertoire courant, il faut, avant de la lancer, passer dans le
rpertoire de travail souhait avec cd. La session FTP est ensuite initialise avec ftp utili-
sateur@serveurftp ou, plus simplement, ftp serveurftp. Si vous dsirez utiliser le mode
anonyme, indiquez anonymous comme nom dutilisateur.
Une fois la connexion tablie et le mot de passe saisi, vous pouvez naviguer dans les rper-
toires du serveur FTP grce aux commandes cd, pwd et ls. Pour tlcharger un chier depuis
le serveur vers votre ordinateur, lancez get fichier. Son nom nest pas modi. Vous pou-
vez aussi transfrer un chier depuis votre rpertoire courant vers un rpertoire du serveur
FTP avec la commande put. Cela ne fonctionne que si vous avez des droits en criture sur le
rpertoire distant. Sur un FTP anonyme, ces droits sont gnralement limits un seul
rpertoire, par exemple /pub/incoming. On ferme une session FTP avec la commande quit
ou bye.
Avant de tlcharger un fichier, vous devez passer en mode binaire. En mode texte, FTP interprte tous les
fichiers en tant que texte et tente de les convertir au format de lordinateur destinataire. Les fichiers binaires
ne ncessitent pas une telle conversion. La plupart des serveurs FTP sont cependant configurs en mode
binaire par dfaut.
Les lignes suivantes montrent le tlchargement du noyau Linux depuis un serveur FTP :
utilisateur$ cd ~/src
utilisateur$ ftp ftp.kernel.org
Connected to zeus-pub.kernel.org.
220 Welcome to ftp.kernel.org.
Name (ftp.kernel.org:michael): anonymous
331 Please specify the password.
Password: nom@monsite.fr
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub/linux/kernel/v2.6
250 Directory successfully changed.
ftp> get linux-2.6.25.tar.bz2
local: linux-2.6.25.tar.bz2 remote: linux-2.6.25.tar.bz2
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for linux-2.6.25.tar.bz2 (48601689
bytes).
226 File send OK.
48601689 bytes received in 26.85 secs (1767.6 kB/s)
ftp> quit
221 Goodbye.
Linux Livre Page 244 Mardi, 23. septembre 2008 1:05 13
245 OUTILS RSEAU
Autres
programmes
FTP
La commande ftp nest pas trs confortable utiliser, mais il existe de nombreuses alter-
natives :
Navigateurs web et gestionnaires de chiers. Ces derniers peuvent tre utiliss pour
des tlchargements FTP. Certains programmes permettent mme de transfrer des
chiers vers un serveur (par exemple, Nautilus et Konqueror).
Clients FTP graphiques. Des programmes comme kbear (KDE) ou gftp (Gnome) sont
prvus pour les tches FTP typiques. Ils fournissent des fonctions spciales, comme des
signets, la gestion des mots de passe, le tlchargement en parallle de plusieurs
chiers, la synchronisation de dossiers, etc.
ncftp. Cette alternative est galement un client en mode texte, mais il est plus confortable
utiliser.
sftp. Ce programme est aussi minimaliste que ftp, mais nettement plus sr. Cependant,
lordinateur distant doit faire fonctionner un serveur SSH et non FTP.
wget, rsync, mirror et sitecopy. Ces commandes permettent de tlcharger des arbores-
cences FTP entires.
Commandes FTP
? affiche une liste des commandes FTP
! permet dexcuter des commandes shell
ascii passe en mode texte
binary passe en mode binaire
bye termine la session FTP
cd rep passe dans le rpertoire indiqu
close ferme la connexion au serveur FTP
get fichier tlcharge un fichier depuis le serveur vers lordinateur local
help commande affiche un court message daide sur la commande indique
lcd rep passe dans le rpertoire indiqu sur lordinateur local
ls affiche le contenu du rpertoire courant sur le serveur
lls affiche le contenu du rpertoire courant sur lordinateur local
mget motif tlcharge tous les fichiers de larchive FTP dont le nom correspond au motif
open ouvre la connexion un ordinateur distant
prompt active/dsactive la confirmation du tlchargement de chaque fichier avec mget
put fichier transfre un fichier depuis le rpertoire local vers le serveur FTP
quit quitte FTP
reget fichier relance le tlchargement dun fichier dj partiellement tlcharg
user permet une nouvelle connexion
Linux Livre Page 245 Mardi, 23. septembre 2008 1:05 13
LINUX 246
Si vous souhaitez utiliser FTP en tant identifi, de nombreux clients FTP comprennent la syntaxe :
ftp://utilisateur:motdepasse@serveur
Certains clients ne fonctionnent pas bien lorsquun pare-feu se trouve entre votre ordinateur et le serveur
FTP, ou lorsque vous tes dans un rseau local connect Internet via une mascarade. Dans ce cas, passer
le client en mode passif rsout souvent le problme. Il nexiste cependant pas de commande standard ;
vous devez lire la documentation de votre client. La plupart des clients reconnaissent une telle situation et acti-
vent automatiquement le mode passif.
SFTP (Secure FTP)
La commande sftp fait partie du paquetage openssh. Elle utilise en interne un protocole
entirement diffrent de ftp et ne peut tre utilise que lorsquun serveur SSH est lanc
sur le serveur distant. SFTP ne permet pas de se connecter en mode anonyme. Son fonc-
tionnement est comparable celui de ftp. sftp -p fichier permet dautomatiser les tl-
chargements par SFTP.
Alternatives
SFTP
Pour beaucoup, sftp est trop spartiate. Cependant, les alternatives plus confortables sont
plus rares que dans le cas de ftp. Il faut parfois se montrer persuasif avant que la connexion
ne stablisse rellement.
gftp. Il permet de se connecter un site via SSH. Il suft pour cela de choisir loption
correspondante dans le menu droulant du protocole.
kbear. Il permet galement de se connecter en SFTP.
konqueror. Pour ouvrir une connexion SFTP avec Konqueror, tapez ladresse sftp://uti-
lisateur@serveur. Une fois le mot de passe saisi, il se comporte comme dans un rpertoire
local. Konqueror comprend aussi directement le protocole SSH, ce qui peut fonctionner
sans faire appel sftp. Pour cela, tapez ladresse fish://utilisateur@serveur.
wget
Linteractivit de la commande ftp rend lautomatisation des tlchargements peu pratique
(par exemple, dans un script). Elle est de toute faon peu exible. On ne peut pas, par exem-
ple, reprendre un tlchargement l o il a t interrompu. La commande wget a t conue
pour le tlchargement de gros chiers et rpertoires. Elle comprend les protocoles FTP,
HTTP et HTTPS. man wget fournit une rfrence de la syntaxe des principales options.
Exemples Sous sa forme la plus basique, wget tlcharge simplement le chier donn en argument :
utilisateur$ wget ftp://serveur.fr/nom.abc
Lorsque le tlchargement est, pour une raison ou une autre, interrompu, il peut tre repris
avec loption -c :
utilisateur$ wget -c ftp://serveur.fr/nom.abc
Il arrive quun tlchargement prenne plusieurs heures. Il est alors tentant de lancer le tl-
chargement pendant la nuit. La commande suivante sassure que le chier se trouve effec-
tivement sur lordinateur le lendemain matin. Loption -t 1000 essaie de relancer le
tlchargement jusqu 1 000 fois en cas de dconnexion. --retry-connrefused tente de
Linux Livre Page 246 Mardi, 23. septembre 2008 1:05 13
247 OUTILS RSEAU
relancer la connexion mme aprs une erreur connection refused. Cette option est pratique
lorsque le serveur de tlchargement est peu able et quil nest indisponible que pour de
courtes dures.
utilisateur$ wget -t 1000 --retry-connrefused http://serveur/nom.iso
La commande suivante tlcharge tous les chiers importants an de pouvoir lire la page
web hors ligne. Voici ce que signient les options :
-p charge les chiers CSS et les images.
-k modie en arrire-plan les liens des chiers pour quils pointent vers des chiers
locaux.
-E ajoute tous les chiers de script tlchargs (ASP, PHP, etc.) lextension .html.
-H suit galement les liens vers les sites web externes.
utilisateur$ wget -p -k -E -H http://siteweb.fr/page.html
Lorsquon dsire lire un site web complet en ligne, loption -r (tlchargement rcursif),
ventuellement limite quelques niveaux avec loption -l, est trs pratique :
utilisateur$ wget -r -l 4 -p -E -k http://siteweb.fr
rsync
Nous avons dj prsent la commande rsync au Chapitre 13. Elle permet de copier et de
synchroniser des arborescences compltes de rpertoires. Elle prsente un certain nombre
davantages par rapport la commande cp :
rsync gre particulirement bien la synchronisation de rpertoires distants, y compris
lorsque la liaison est lente. Elle ne transfre que les donnes modies.
Elle peut, pour scuriser les transferts, travailler avec SSH.
Elle fournit dinnombrables options qui vont au-del des possibilits offertes par cp. On
peut, par exemple, supprimer tous les chiers du rpertoire cible qui nexistent plus
dans le rpertoire source.
Utilisation
dans un rseau
Pour que rsync puisse synchroniser deux ordinateurs en rseau, elle doit tre installe sur
les deux ordinateurs. Les deux instances de rsync peuvent communiquer de deux manires
diffrentes :
Elles peuvent utiliser un shell, le plus souvent SSH. Cela prsente lavantage de chiffrer
le transfert des donnes. Pour que cela fonctionne, il faut que SSH soit install sur les
deux ordinateurs. De plus, il faut que lordinateur distant fasse fonctionner un serveur
SSH pour permettre les connexions en SSH.
rsync peut aussi fonctionner en tant que dmon sur lordinateur distant. Le serveur
rsync est congur dans le chier /etc/rsyncd.conf (voir la page de manuel correspon-
dante) et lanc par un script InitV (gnralement /etc/init.d/rsyncd). Nous ne traiterons
pas ici de ce scnario client/serveur.
Linux Livre Page 247 Mardi, 23. septembre 2008 1:05 13
LINUX 248
Exemples Tous les exemples supposent que rsync communique par SSH. Pour cela, vous devez passer
loption -e ssh la commande rsync. Avant de commencer, assurez-vous que vous pouvez
vous connecter en SSH lordinateur distant.
Pour les connexions rseau lentes, vous pouvez utiliser loption -z. Celle-ci compresse les
changes de donnes de rsync. Cela induit cependant une charge processeur plus impor-
tante sur les deux ordinateurs et ne garantit donc pas une synchronisation plus rapide.
Les rpertoires source et cible doivent tre indiqus avec la syntaxe hote:rpertoire ou
utilisateur@hote:repertoire, si lutilisateur courant nest pas celui quil faut utiliser.
La commande suivante synchronise le rpertoire rep1 du rpertoire personnel de utilisa-
teur sur lordinateur saturne.sol, et le rpertoire rep2 sur mars.sol. La saisie du mot de
passe est gre par SSH (mot de passe de utilisateur sur mars.sol).
utilisateur@saturne.sol$ rsync -e ssh -az rep1/ mars.sol:rep2/
utilisateur@mars.sols password: xxxxx
rsync peut aussi tlcharger des chiers depuis un ordinateur distant sur lordinateur local.
Cette commande synchronise les rpertoires dans lautre sens :
utilisateur@saturne.sol$ rsync -e ssh -az mars.sol:rep2/ rep3/
utilisateur@mars.sols password: xxxxx
Lorsque rsync est appele par un script de sauvegarde, la saisie interactive du mot de passe
peut savrer gnante. Nous avons vu la section 16.2 comment se connecter en SSH sans
mot de passe ; il suft dadapter ces solutions au compte servant la sauvegarde.
BitTorrent
BitTorrent est un protocole pour tlcharger efcacement des chiers volumineux dsirs
par de nombreux utilisateurs. Lide de base est simple : les donnes ne sont pas tlchar-
ges depuis un serveur central, mais depuis tous les ordinateurs du rseau qui disposent
dau moins une partie du chier. Cela signie aussi que, lorsque vous tlchargez un chier via
BitTorrent, vous le mettez disposition de tous les autres utilisateurs de BitTorrent, au moins
pendant le temps de votre tlchargement (et, idalement, une fois ce dernier termin).
Dans le cadre de Linux, BitTorrent est gnralement utilis pour distribuer des images de
DVD de distributions. Lorsquune nouvelle version sort, des milliers dutilisateurs cherchent
tlcharger ce mme chier. Cela surcharge bien souvent les serveurs FTP ou HTTP. BitTorrent
permet daugmenter sensiblement la vitesse de tlchargement dans ce type de cas.
Fichiers
.torrent
Les tlchargements BitTorrent sont propags par le biais de chiers .torrent. Il sagit de
chiers binaires relativement petits, contenant entre autres des sommes de contrle pour
dinnombrables morceaux de chiers. Cela permet de ne pas devoir tlcharger les donnes
du chier de manire squentielle, mais en fonction des morceaux disponibles sur le rseau
et en parallle.
Clients
BitTorrent
Les clients BitTorrent sont des programmes qui grent les tlchargements et mettent dis-
position les chiers tlchargs sur le rseau BitTorrent. Les clients populaires comprennent
BitTorrent, KTorrent (KDE) ou Transmission (Gnome, partir de la version 2.22). KTorrent
montre les parties du chier dj tlcharges (voir Figure 16.1). Pour lancer des tlchar-
gements dans une console, quil sagisse dune interface interactive ou dun programme
Linux Livre Page 248 Mardi, 23. septembre 2008 1:05 13
249 OUTILS RSEAU
utilisable dans un script, il vaut mieux utiliser bittorrent-curses ou bittorent-console,
fournis avec le paquetage bittorrent.
Figure 16.1
Tlchargements avec
KTorrent.
Linux Livre Page 249 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 250 Mardi, 23. septembre 2008 1:05 13
17
Vim
Ce chapitre prsente lditeur Vi, et plus particulirement son implmentation libre Vim (Vi
Improved, Vi amlior). Faisons tout de mme une remarque prliminaire qui sapplique ga-
lement au chapitre suivant sur Emacs et XEmacs : ils ont en commun dtre relativement dif-
ciles matriser. Seuls les utilisateurs qui ditent beaucoup de texte, code ou documents
HTML y trouveront leur intrt pour eux, un diteur de texte est un outil courant et indis-
pensable. Les diteurs Vim, Emacs et XEmacs fournissent des possibilits presque innies.
Autrement dit, ce chapitre sadresse aux utilisateurs pour lesquels un contrle total sur la
conguration et la programmation de lditeur est plus important quune jolie interface uti-
lisateur. Quiconque modie occasionnellement un chier de conguration et se contente
dOpenOfce.org, de Firefox et dautres programmes bureautiques trouvera sans doute
Kate (KDE), Gedit (Gnome) ou un autre petit diteur pour la console largement sufsants.
Reste la sempiternelle question : Vi ou Emacs/XEmacs ? Les deux programmes font partie
des fondations de lhistoire dUnix/Linux. Ils proposent dinnombrables fonctions spcia-
les, comme la coloration syntaxique pour de nombreux langages de programmation et types
de documents, ou la recherche avec des expressions rationnelles. Cette question entrane
souvent dinterminables discussions entre les partisans des deux camps et ne peut pas tre
tranche de faon objective.
titre personnel, les diteurs Emacs/XEmacs me paraissent plus intuitifs et plus simples
utiliser. Sous Vi, le passage du mode standard au mode ddition peut mener une confu-
sion certaine, surtout au dbut. Mais Vi et les diteurs de la mme famille sont un standard
de fait sous Unix/Linux. Il demande moins de ressources et est souvent prsent sur les sys-
tmes de secours minimaux (sur lesquels il ny a plus de place pour Emacs). Mieux vaut de
toute faon connatre les fonctions de base des deux diteurs.
Lditeur Vi original est un programme commercial et nest pas disponible sous Linux. Vim
est un programme libre, compatible avec Vi et qui fournit de nombreuses amliorations et
extensions. On le lance gnralement grce vi ou vim.
Version 7 Ce chapitre se base sur la version 7 de Vim. Les distributions Linux plus anciennes fournis-
sent encore une version 6.n. Comme la plupart des nouveauts de la version 7 sont des fonc-
tions avances, la grande majorit des informations de ce chapitre est galement valable
pour les versions plus anciennes de Vim. La seule exception importante est la fentre
onglets, qui nest disponible que pour la version 7.
Vim en mode
graphique
On lance gnralement Vim dans une console texte ou une fentre de terminal. Si vous dsi-
rez un menu et des barres de dlement dcentes, vous pouvez essayer gvim (voir
Figure 17.1). Cette variante graphique doit gnralement tre installe en plus ; le paquetage
sappelle vim-X11.
Liens Ce chapitre nest quune rapide prsentation de Vim. Le tutoriel vimtutor est trs utile pour
les dbutants. Cette commande lance vim avec un texte daide en franais, qui contient une
introduction et de nombreux exemples.
Linux Livre Page 251 Mardi, 23. septembre 2008 1:05 13
LINUX 252
Les liens suivants pointent vers diverses ressources intressantes : http://www.vim.org/, site
web de Vim ; http://www.eng.hawaii.edu/Tutor/vi.html, tutoriel ; http://vimdoc.source-
forge.net/vimfaq.html, FAQ ; http://tnerual.eriogerg.free.fr/vim.html, rsum des principaux
raccourcis ; http://www.truth.sk/vim/vimbook-OPL.pdf, livre de 500 pages sur Vim en PDF.
Le principal dveloppeur de Vim, Bram Moolenaar, le dcrit comme du "charityware" : Vim est gratuit sous
une licence GPL. Les utilisateurs rguliers sont cependant pris denvoyer des remerciements sous forme de
dons destins une association daide aux enfants en Ouganda. Vous trouverez plus dinformations ce
sujet dans Vim avec la commande Esc:help uganda Entre.
17.1 Rapide introduction
On lance Vim le plus souvent avec la commande vim nomdufichier dans une console ou une
fentre de terminal. Le chier modier safche alors directement dans la console.
Mode normal Avant de pouvoir crire du texte, vous devez vous familiariser avec une particularit. Vim a
deux modes de travail (mode normal et mode insertion). Le mode normal ne permet pas de saisir
du texte ; il sert lancer des commandes. Dans ce mode, si vous tapez L, vous dplacez le curseur
dune ligne vers le bas. D+W supprime un mot, P le colle la position courante du curseur, etc.
Mode
insertion
Pour saisir du texte, vous devez passer au mode insertion avec I (insert, insertion) ou A
(append, ajout). Vim afche alors gauche de la dernire ligne le texte -- INSERTION --. En
mode insertion, vous pouvez saisir du texte, dplacer le curseur et supprimer des caractres
un par un grce Suppr et Retour Arrire. La diffrence entre I et A est que I commence la
position courante du curseur, tandis que A commence au caractre suivant.
Avant de pouvoir saisir une nouvelle commande, vous devez repasser en mode normal avec
chap. Ce mode na pas de signe distinctif. La partie gauche de la dernire ligne est vide.
Lorsquon passe du mode insertion au mode normal, le curseur se dplace dun caractre vers la gau-
che. Ce comportement est dcrit dans la FAQ de Vim et ne peut pas tre modifi. Pour lancer une seule
commande sans quitter le mode insertion, ni modifier la position du curseur, vous pouvez la lancer avec
Ctrl+O.
Figure 17.1
La variante graphique
de lditeur Vim.
Linux Livre Page 252 Mardi, 23. septembre 2008 1:05 13
253 VIM
Supprimer du
texte
Dans le mode insertion, vous pouvez supprimer des caractres isols avec Suppr et Retour
Arrire. Pour supprimer des mots, des lignes ou des paragraphes, vous devez passer en mode
normal avec chap. Dans ce mode, D+W supprime un mot et D+D une ligne complte. Si vous
prxez ces commandes dun nombre, la commande de suppression est rpte le nombre de
fois indiqu. Par exemple, 5+D+D supprime 5 lignes. . rpte la dernire commande excute.
P (paste, coller) colle le texte supprim lemplacement du curseur. Maj+P linsre avant la
position courante du curseur. U (undo, annuler) annule la dernire modication. Ctrl+R
rtablit la modication annule. Vim 6 ne pouvait annuler que la dernire modication et un
nouvel appui sur U la rtablissait.
Enregistrer et
quitter
Pour enregistrer le chier modi, passez en mode normal avec chap et tapez la com-
mande :w Entre. :q Entre ferme lditeur si tous les chiers ouverts sont enregistrs. :q!
Entre permet de le fermer mme si les dernires modications nont pas t enregistres.
:wq Entre combine lenregistrement et la n du programme.
Aide
Vim dispose dune aide en ligne plutt complte (mais uniquement en anglais). Pour af-
cher la page de dmarrage de laide, tapez F1 dans nimporte quel mode. Vous pouvez aussi
saisir :help en mode normal ou :help thme. Pour savoir quels thmes contiennent le mot
cl abc, saisissez :help abc Ctrl+D.
Commandes lmentaires
Changement de mode
I active le mode insertion
A active le mode insertion ; la saisie commence au caractre suivant
q active le mode normal ou interrompt la commande courante
Commandes en mode normal
D W supprime un mot
D D supprime la ligne courante
n D D supprime n lignes
P colle le texte supprim la position du curseur
s+P colle le texte supprim avant la position du curseur
. rpte la dernire commande
U annule la dernire commande ( partir de Vim 7, 1 000 annulations possibles)
s+U annule toutes les modifications de la ligne courante
c+R rtablit les annulations ( partir de Vim 7)
: w enregistre le fichier
: q quitte Vim
: q! quitte Vim mme lorsquil existe des modifications non enregistres
Commandes en mode insertion
c+O commande excute la commande sans quitter le mode insertion
Linux Livre Page 253 Mardi, 23. septembre 2008 1:05 13
LINUX 254
Fentre daide La fentre daide safche dans sa propre zone dans Vim. On appelle cette partie une fentre
il ne sagit cependant pas dune fentre indpendante au sens du systme graphique de
Linux. Vous pouvez la fermer avec :q. Vous pouvez aussi la laisser ouverte et continuer
travailler sur votre texte. Vous pouvez changer de fentre active avec Ctrl+W+W.
Navigation
dans laide
Dans laide, les liens et les autres thmes sont mis en vidence (par exemple, dans une autre
couleur ou entours de caractres |). Pour passer un thme, placez le curseur sur le mot cl
et tapez Ctrl+]. Si la souris est active, il suft de double-cliquer sur le thme pour le consulter.
Ctrl+T permet de revenir la page prcdente.
17.2 Dplacement du curseur
En principe, les touches de direction fonctionnent en mode normal comme en mode inser-
tion. Il existe nanmoins diverses combinaisons de touches pour dplacer la position du
curseur. Les plus importantes sont rsumes dans le tableau ci-dessous. Les experts de Vim
se dplacent souvent plus efcacement avec ces touches quavec les touches du curseur.
Une particularit de Vim est que la touche de dplacement vers la gauche au dbut dune
ligne ne dplace pas le curseur la n de la ligne prcdente. De mme, la touche de dpla-
cement vers la droite en n de ligne ne passe pas la ligne suivante. Pour activer ce compor-
tement, lancez en mode normal la commande :set whichwrap=b,s,<,>,[,]. Vous pouvez
aussi copier cette commande dans ~/.vimrc.
Dplacement du curseur
En mode normal et en mode insertion
Touches de direction comportement habituel
Uniquement en mode normal
H / L dplace le curseur vers la gauche/la droite
J / K dplace le curseur vers le bas/le haut
s+H / s+L dplace le curseur au dbut/ la fin de la page courante
s+M dplace le curseur au milieu de la page courante
B / W dplace le curseur dun mot vers la gauche/la droite
E dplace le curseur la fin du mot
G E dplace le curseur la fin du mot prcdent
( / ) dplace le curseur au dbut de la phrase actuelle/suivante
{ / } dplace le curseur au dbut du paragraphe courant/suivant
^ / $ dplace le curseur au dbut/ la fin de la ligne
s+G dplace le curseur la fin du fichier
G G dplace le curseur au dbut du fichier
n s+G dplace le curseur la ligne n
n | dplace le curseur la colonne n
% dplace le curseur jusqu la parenthse correspondante ()[]{}
Linux Livre Page 254 Mardi, 23. septembre 2008 1:05 13
255 VIM
Enregistrer la
position du
curseur
M lettre enregistre la position courante du curseur et lettre permet de le dplacer la position
enregistre.
Vim enregistre automatiquement la position du curseur lorsque celui-ci est de nouveau
dplac. permet de retourner cette position. une seconde fois permet de revenir la
dernire position. [ et ] dplacent le curseur respectivement au dbut et la n de la der-
nire section modie.
O suis-je ? En mode insertion, Vim afche droite de la ligne dtat la ligne et la colonne courantes,
ainsi quun pourcentage qui indique dans quelle section du texte vous vous trouvez par
exemple, 92 % signie que vous tes dans les dix derniers pour cent). Si vous tes perdu,
Ctrl+G afche dans la ligne dtat le nom du chier, ltat (par exemple "Modi"), le nombre
total de lignes et la position relative du curseur dans le texte.
17.3 Modifier du texte
Insrer un
caractre
plusieurs fois
Pour insrer un caractre plusieurs fois, saisissez en mode normal le nombre, la commande
A, le caractre et chap. Ainsi, pour ajouter 50 fois le caractre =, tapez 50 A = chap. Une
fois excute, la commande vous ramne en mode normal.
Faute de
frappe
Vim permet galement de corriger des fautes de frappe typiques. ~ change la casse du carac-
tre courant et X+P change les deux caractres qui suivent le curseur.
Supprimer du
texte
Le tableau suivant donne un aperu des principales commandes pour supprimer du texte.
Lorsque vous indiquez un nombre devant la commande de suppression, celle-ci est rpte
le nombre de fois correspondant.
Le texte est en fait transfr dans un registre de copie. Le dernier texte supprim peut tre
recopi sous le curseur avec Maj+P et aprs la position du curseur avec P.
Les commandes C (change, changer) sont une manire un peu particulire de supprimer du
texte et de le remplacer par du nouveau texte. C+W supprime le mot courant et active le
mode insertion. Il suft alors de saisir le mme mot et de terminer la saisie avec chap. C
fonctionne de la mme manire pour les autres touches du curseur.
Supprimer du texte
Uniquement en mode insertion
D N comportement habituel
En mode normal
X supprime le caractre sous le curseur ou le texte marqu
s+X supprime le caractre prcdant le curseur
D D supprime la ligne courante
D commande de curseur supprime le texte correspondant la commande de dplacement du
curseur
D $ supprime jusqu la fin de la ligne
D B supprime le mot prcdent
D W supprime le mot suivant
Linux Livre Page 255 Mardi, 23. septembre 2008 1:05 13
LINUX 256
Copier du
texte
Vous pouvez aussi copier du texte dans le registre de copie sans le supprimer. Le tableau sui-
vant rsume les commandes correspondantes (qui sont toutes spciques au mode normal).
Marquer du
texte
Certaines commandes supposent quune zone du texte soit marque. Il existe trois modes de
marquage que vous pouvez activer (au point de dpart du marquage) et dsactiver avec V,
Maj+V et Ctrl+V. Lorsque lun de ces modes est actif, la ligne dtat de Vim contient le texte
-- VISUEL --. Vous pouvez ensuite dplacer le curseur la n de la zone ou tendre le mar-
quage grce des commandes spciales qui ne sappliquent qu lintrieur dun mode de
marquage. La zone marque est mise en vidence par un mode vido inverse ou des couleurs.
Tant que le mode de marquage est actif, plusieurs commandes sont votre disposition pour
modier le texte en question. Le tableau suivant en prsente quelques exemples.
Copier du texte dans le registre de copie
Y copie le texte marqu
Y Y copie la ligne courante dans le registre
Y commande de curseur copie le texte indiqu par la commande de curseur. Par exemple, Y }
copie le texte jusqu la fin du paragraphe
Marquer du texte
V (ds)active le mode de marquage par caractre
s+V (ds)active le mode de marquage par ligne
c+V (ds)active le mode de marquage par bloc
A W tend le marquage dun mot
A S tend le marquage dune phrase
A P tend le marquage dun paragraphe
A B tend le marquage dun niveau de parenthses
A s+B tend le marquage dun niveau daccolades
G V rtablit le marquage du dernier texte marqu
O change la position du curseur entre le dbut et la fin du marquage
Modifier du texte marqu
X supprime le texte marqu
Y copie le texte marqu dans le registre de copie
~ modifie la casse
J joint les lignes du texte marqu en une seule ligne
G Q dcoupe les lignes (pour du texte continu)
> ajoute une tabulation en tte des lignes
< supprime une tabulation en tte des lignes
= indente le texte comme le mode dindentation courant lindique
!sort trie les lignes avec la commande externe sort
Linux Livre Page 256 Mardi, 23. septembre 2008 1:05 13
257 VIM
Indenter des
lignes
Lorsquon dite du code, il est important de lindenter correctement. Les commandes l-
mentaires sont > > et < <. Elles dplacent la ligne actuelle dune tabulation, dans un sens ou
dans lautre. Lorsque plusieurs lignes sont marques, vous pouvez aussi modier un bloc
complet. Il suft alors de taper une seule fois < ou >. :set shiftwidth=n modie la taille des
tabulations (normalement huit caractres).
Vim peut aussi indenter automatiquement les lignes pendant la saisie. Il faut pour cela acti-
ver un mode dindentation, par exemple avec :set cindent. Les fonctions de base sont les
suivantes :
autoindent indente la ligne suivante comme la ligne prcdente.
smartindent fonctionne comme autoindent, mais gre galement les accolades. Pour
que Vim reconnaisse correctement les accolades fermantes, elles doivent tre saisies au
dbut dune nouvelle ligne. La taille de lindentation aprs les accolades (normalement
huit caractres) peut tre modie avec loption shiftwidth. Le texte prcdemment
marqu peut tre rindent avec =.
cident fonctionne comme smartindent, mais reconnat galement diverses structures de
code C et C++. Le mcanisme dindentation peut alors tre modi via diffrentes
options (voir :help C-indenting).
Texte continu Vim est prcongur de manire que la composition du code et la modication de chiers
de conguration fonctionnent bien. Cest pour cela quil ne coupe pas automatiquement les
lignes vous devez passer la ligne avec Entre. Vous pouvez cependant aussi lutiliser
pour composer des textes, par exemple des courriers lectroniques. Le tableau suivant
rsume quelques commandes et options pour ldition de texte continu.
Les commandes G prennent automatiquement en compte le mode autoindent et la valeur de
textwidth. Si textwidth est 0, la longueur maximale des lignes est de 79 caractres. Les options
ddition de texte continu sont modiables via formatoptions (voir laide correspondante).
Compltement
automatique
La saisie de mots longs, de fonctions et de noms de variables est fatigante et peut mener
des erreurs. Vim permet de saisir les premires lettres et dappuyer sur Ctrl+P. Lorsquun
seul mot est possible, il est insr automatiquement. Sinon, vous pouvez choisir le mot
dsir dans une liste qui apparat la position du curseur. Lafchage de cette liste est spci-
que Vim 7. Vim prend en compte pour le compltement tous les mots de tous les chiers
chargs ; les mots du chier courant et proximit du curseur sont lists en premier.
dition de texte continu
s+J supprime le retour la ligne entre la ligne actuelle et la ligne suivante
n s+J supprime les retours la ligne entre les lignes sur n lignes
G Q A P remet en forme le paragraphe courant et place le curseur au dbut du paragraphe
suivant
G W A P remet en forme le paragraphe courant et laisse le curseur sa position courante
:set textwidth=n coupe automatiquement les lignes n caractres (par dfaut 0, dsactiv)
Linux Livre Page 257 Mardi, 23. septembre 2008 1:05 13
LINUX 258
17.4 Chercher et remplacer
Chercher du
texte
En mode normal, / texte Entre dplace le curseur la premire occurrence du texte
recherch. N rpte la recherche et Maj+N la rpte vers le haut. Pour lancer une recher-
che vers le haut, commencez la recherche avec ? expression. Le tableau suivant rsume
les principaux caractres spciaux qui permettent deffectuer des recherches selon des
motifs.
Casse Par dfaut, Vim prend en compte la casse lors dune recherche. Si ce nest pas le comporte-
ment que vous dsirez, prxez le motif de recherche avec /c (ne fonctionne que pour cette
recherche) ou lancez :set ignorecase (sapplique toutes les recherches futures).
Recherche
incrmentale
:set incsearch active la recherche incrmentale. Vim dplace le curseur pendant la saisie
de / terme au premier emplacement correspondant. Entre termine la recherche et chap
linterrompt. Aprs la recherche, toutes les occurrences restent marques dans le texte
jusqu la recherche suivante, ou jusqu lexcution de :nohlsearch.
Chercher et
remplacer
Pour remplacer toutes les occurrences du texte abc par efg sans conrmation, lancez la
commande :%s/abc/efg/g en mode normal. permet de revenir au dbut de la recher-
che. Le tableau suivant rsume quelques variantes de la commande chercher/remplacer.
Lorsque Vim demande une conrmation, vous pouvez rpondre Y ou N pour chaque
occurrence, an dindiquer si le texte doit effectivement tre remplac ou non. Q inter-
rompt lopration et A remplace toutes les occurrences suivantes. Dans lexpression de
remplacement, vous pouvez faire rfrence au nime atome du motif de recherche avec
\n. Laide en ligne :help substitute prsente des astuces supplmentaires et de nom-
breux exemples.
Caractres spciaux pour la recherche
. caractre arbitraire
^ $ dbut de ligne/fin de ligne
\< \> dbut de mot/fin de mot
[a-e] caractre entre a et e
[^a-e] caractre qui nest pas entre a et e
\s espace
\t tabulation
\( \) regroupement dun motif de recherche dans un atome
\= expression de recherche prsente 0 ou 1 fois
* expression de recherche prsente un nombre arbitraire de fois (y compris 0)
\+ expression de recherche prsente au moins une fois
Chercher et remplacer
: %s/abc/efg/g remplace toutes les occurrences de abc par efg sans confirmation
: %s/abc/efg/gc remplace toutes les occurrences de abc par efg avec confirmation
: %s/abc/efg/gi remplace sans prendre en compte la casse
Linux Livre Page 258 Mardi, 23. septembre 2008 1:05 13
259 VIM
17.5 diter plusieurs fichiers en mme temps
En mode normal, :e fichier charge un nouveau chier. Ce dernier remplace le chier dit,
quil faut donc enregistrer, sans quoi Vim interrompt lopration. Vous pouvez forcer le
chargement du chier avec :e! fichier, mais vous perdez alors toutes les modications du
chier courant.
Tampon et
fentre
Vous pouvez aussi diter plusieurs chiers en mme temps. Il faut cependant dabord expliquer
le concept peu intuitif de gestion et dafchage des textes dans Vim.
Tous les textes ouverts dans lditeur se trouvent en interne dans un tampon, quil sagisse
de chiers ou de textes daide. Lorsquil ny a quun tampon, celui-ci safche dans lespace
de travail de Vim. Pour afcher plusieurs tampons en mme temps, lespace de travail est
divis en plusieurs fentres, ce qui est galement le cas lorsquon afche un texte daide.
Une fentre nest dans ce cas pas une fentre au sens du systme graphique de Linux, mais
juste une partie de lespace de travail.
Les tampons des chiers modis sont toujours visibles dans une fentre. Ceux des chiers qui
nont pas t modis depuis leur dernier enregistrement peuvent en revanche tre masqus.
Ces tampons restent en mmoire, mais ne sont plus actifs. Attention, lorsque vous fermez une
fentre avec un chier non enregistr, toutes les modications sont perdues. Le tampon reste
disponible, mais il ne contient que le chier tel quil a t enregistr pour la dernire fois.
Vim peut galement afcher un mme chier dans plusieurs fentres, par exemple pour
travailler sur diffrentes parties dun texte trs long.
Onglets Vim 7 facilite ldition de multiples chiers grce aux onglets. Il sagit de fentres se recou-
vrant les unes les autres, indiques dans la premire ligne de Vim, comme dans Firefox ou
dautres navigateurs web. Les onglets sont particulirement confortables lorsque la souris
est active ; vous pouvez alors simplement choisir ou fermer un onglet donn (avec le bouton
X en haut droite). Vous trouverez plus dinformations sur les onglets avec :help tabpage.
La Figure 17.2 montre un exemple donglets dans Vim.
Charger un
nouveau
fichier
Vous pouvez charger un nouveau chier grce :new fichier si vous travaillez avec des
fentres, ou :tabnew fichier si vous travaillez avec des onglets.
Figure 17.2
Trois fichiers dans une
fentre trois onglets.
Linux Livre Page 259 Mardi, 23. septembre 2008 1:05 13
LINUX 260
Vous pouvez indiquer ds le dmarrage du programme plusieurs chiers, par exemple avec
vim fichier1 fichier2 fichier3. Par dfaut, le premier safche et les autres sont chargs
dans un tampon non visible. Si vous dsirez ouvrir chaque chier dans une fentre ou un
onglet, vous devez passer respectivement loption -o ou -p.
Le tableau suivant rsume les principales commandes pour charger et enregistrer des
chiers, passer entre des fentres ou des onglets, etc.
17.6 Trucs et astuces
Saisir effica-
cement les
commandes :
Pour taper les commandes qui commencent par :, il existe quelques aides la saisie. Les
touches du curseur permettent de naviguer dans les dernires commandes saisies. Vim
enregistre les commandes dans ~/.viminfo et les enregistre mme la n du programme.
Vous pouvez aussi complter des mots cls avec Tab et abrger de nombreuses commandes
(par exemple, :tabn la place de :tabnext).
Afficher les
numros de
ligne
:set number afche ct de chaque ligne le numro de ligne. :set nonumber dsactive ce
mode.
Fichiers, tampons, fentres, onglets
: e fichier charge un nouveau fichier dans le tampon courant
: w enregistre le fichier courant
: wall enregistre tous les fichiers ouverts
: wq enregistre et ferme le tampon
: q ferme le tampon et quitte Vim lorsque aucun tampon nest ouvert
; q! ferme le tampon mme lorsquil y a des modifications non enregistres
: qall ferme tous les tampons et quitte Vim
: split partage la fentre et affiche le mme texte dans les deux fentres
: new cre un tampon vide et laffiche dans une fentre
: new fichier charge un fichier dans un nouveau tampon
: only maximise la fentre courante et ferme les autres tampons
: all affiche tous les tampons dans une fentre plus petite
: buffers affiche la liste de tous les tampons
: buffer n affiche le tampon n et ferme le tampon courant
: buffer fichier affiche le tampon contenant le fichier indiqu dans la fentre courante
: tabnew cre un nouveau tampon et laffiche dans un onglet
: tabnew fichier charge un fichier et laffiche dans un onglet
: tabnext passe longlet suivant
: tabprevious passe longlet prcdent
c+W / Z passe longlet prcdent/suivant
: tabclose ferme longlet courant
: tabonly ferme tous les autres onglets
Linux Livre Page 260 Mardi, 23. septembre 2008 1:05 13
261 VIM
Crer des
sauvegardes
Par dfaut, Vim ne cre pas de sauvegarde lenregistrement (pas de copie du chier origi-
nal). Si vous souhaitez activer ce comportement, lancez en mode normal :set backup. La
sauvegarde est nomme anciennom~. Pour activer les sauvegardes un niveau gnral, ajoutez
set backup dans ~/.vimrc.
Activer la
souris
Lorsque vous utilisez Vim dans une console texte ou une fentre de terminal, la gestion
de la souris est limite son fonctionnement sous X : vous pouvez copier du texte et le coller
la position courante du curseur, mais vous ne pouvez pas par exemple repositionner le
curseur.
Pour que la souris soit plus utile sous Vim, vous pouvez utiliser la version graphique, gvim,
ou lancer en mode standard la commande :set mouse=a. Cela permet de modier la posi-
tion courante du curseur avec un clic de souris, de choisir la fentre Vim active, dutiliser la
molette de la souris, etc.
Ce mode a cependant un inconvnient : le bouton du milieu ne colle que le dernier texte
supprim dans Vim. On ne peut plus copier de texte entre Vim et les autres programmes
avec ce bouton. On peut cependant appuyer en mme temps sur Maj, ce qui permet de rta-
blir le comportement habituel. Attention cependant : il faut que le mode Insertion soit actif,
sans quoi les caractres copis par la souris sont interprts comme des commandes, ce qui
peut ventuellement mal tourner.
Insrer des
espaces la
place des
tabulations
Pour que Vim insre des espaces la place des tabulations, lancez la commande :set
expandtab ou copiez cette directive dans ~/.vimrc. Pour transformer toutes les tabulations
par le nombre correspondant despaces dans un chier modi prcdemment, lancez
:retab. Pour effectuer lopration inverse, utilisez les commandes :set unexpandtab, puis
:retab!.
Dfinir des
macros
Vous savez dj que . rpte la dernire commande. Pour rpter plusieurs fois une suite de
commandes, vous pouvez dnir une macro. Passez pour cela dans le mode Macro avec Q
et un caractre, qui indique le nom de la macro (plus exactement, le nom du registre dans
lequel se trouve la macro). Vous pourrez alors lancer la macro avec @ nom_de_la_macro les
macros ne sont pas enregistres lorsque vous quittez Vim.
Par exemple, la suite de touches suivante dnit la macro a qui ajoute le caractre " au dbut
et la n dun mot :
Q A B I " chap E A " chap Q
Lorsque le curseur se trouve dans un mot, vous pouvez maintenant taper @ A pour lentou-
rer de guillemets. @ @ rpte la dernire commande sans que vous deviez vous souvenir de
son nom de macro ou de registre.
Lancer des
commandes
Linux
Pour lancer une commande sans quitter Vim, lancez dans le mode normal :!nom de la com-
mande, par exemple :!ls pour obtenir une liste des chiers du rpertoire courant. Vim afche le
rsultat de la commande et Entre permet de retourner lditeur.
Pour lancer plusieurs commandes, vous pouvez lancer avec :sh un nouvel interprteur de
commandes. Lorsque vous tapez Ctrl+D, vous revenez lditeur.
Linux Livre Page 261 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 262 Mardi, 23. septembre 2008 1:05 13
18
Emacs et XEmacs
Il serait rducteur de dcrire Emacs comme un simple diteur. Il permet certes dditer du texte,
mais cest aussi un environnement de dveloppement complet pour les programmeurs, dot
dun client de courrier lectronique, dun lecteur Usenet, etc. Pour certains utilisateurs, Emacs
est comparable un systme dexploitation dans lequel toutes les fonctions du travail quoti-
dien sont rassembles. Une fois que vous serez habitu Emacs, vous ne pourrez plus utiliser
dautres diteurs. Jai dailleurs crit cet ouvrage entirement avec Emacs...
Mais il possde aussi ses parts dombre. Lutilisation dEmacs peut sembler premire vue
effrayante. Elle regorge de squences Ctrl+ et Alt+ pour appeler un nombre incalculable de
commandes. Une blague courante, mais pas forcment injustie, est quEmacs signie en
ralit Escape Meta Alt Control Shift (chap Mta Alt Contrle Majuscule). Linterface utilisa-
teur (menus, barres de boutons) parat obsolte ; la localisation en franais est globalement
inexistante ; modier la conguration (par exemple, lutilisation dune autre police) savre
laborieux En rsum, Emacs est un diteur pour les professionnels qui sont prts investir
du temps de formation et qui ne sarrtent pas laspect extrieur.
18.1 Rapide introduction
GNU Emacs et
XEmacs
Il existe deux versions dEmacs : GNU Emacs et XEmacs. Elles peuvent tre utilises aussi bien
dans une console texte que sous X et sont sous licence GPL. Il existe de toute faon de nombreu-
ses similarits entre les deux versions. Elles ont t dveloppes en parallle depuis plusieurs
annes. Ce chapitre est bas sur Emacs 22.0 (voir Figure 18.1) et XEmacs 21.4 (voir Figure 18.2).
Nous ne soulignerons que les diffrences signicatives entre les deux versions.
Travailler avec GNU Emacs ou XEmacs est essentiellement une affaire de got. Le pro-
gramme est lanc avec les commandes emacs ou xemacs. Les deux programmes sont trs sta-
bles et contiennent de nombreuses extensions et une documentation trs riche. XEmacs
utilise plus de place sur le disque dur et nettement plus de mmoire. titre personnel, je
Figure 18.1
GNU Emacs.
Linux Livre Page 263 Mardi, 23. septembre 2008 1:05 13
LINUX 264
prfre GNU Emacs, car XEmacs ma dj pos plusieurs problmes mystrieux alors que
jditais des chiers Unicode.
En plus de ces deux versions dEmacs, il existe quelques variantes plus petites : jed, jmacs,
jove et zile sont globalement des miniversions trs utilisables. Leur principal avantage est
quelles sont nettement moins gourmandes en ressources, ce qui en fait des applications
idales pour les systmes durgence ou des ordinateurs plus anciens avec des processeurs
lents et peu de mmoire.
Liens Vous trouverez plus dinformations sur GNU Emacs et XEmacs sur Internet :
http://www.gnu.org/software/emacs/emacs.html site web ofciel de GNU Emacs
http://www.xemacs.org site web ofciel de XEmacs
http://refcards.com/refcard/gnu-emacs-gildeas raccourcis clavier de GNU Emacs
http://refcards.com/refcard/xemacs-wingb raccourcis clavier de XEmacs
http://www.emacswiki.org/ wiki multilingue sur Emacs
Charger et enregistrer des fichiers, quitter le programme
On lance Emacs en tapant emacs ou xemacs. Si vous indiquez un ou plusieurs noms de
chiers, ces derniers sont chargs automatiquement. On peut utiliser des motifs de noms
de chiers : emacs Makefile *.[ch] ouvre le chier Makefile et tous les chiers *.c et *.h
du rpertoire. Pour charger un chier alors que le programme est lanc, utilisez Ctrl+X
Ctrl+F+nom_du_chier+Entre.
Ctrl+X Ctrl+S permet denregistrer un chier modi. Ctrl+X Ctrl+C termine le programme. Si
Emacs dcouvre un chier non enregistr, il vous demande si vous dsirez lenregistrer avant
de quitter. Si vous saisissez n, une question de scurit apparat pour vrier que vous souhai-
tez rellement quitter Emacs sans enregistrer le chier. Si cest le cas, rpondez par yes. Pour
lenregistrer sous un nouveau nom, tapez Ctrl+X Ctrl+W+nom du chier.
Si vous utilisez Emacs dans une console texte, Ctrl+Z permet de repasser temporairement
la console. fg reprend le travail.
Figure 18.2
Xemacs.
Linux Livre Page 264 Mardi, 23. septembre 2008 1:05 13
265 EMACS ET XEMACS
Copies de
sauvegarde
Emacs cre lors de lenregistrement une copie de sauvegarde, nomme nom~, qui contient le
texte original. De plus, il enregistre intervalles rguliers le contenu du texte dans le chier
#nom#. Vous pouvez reprendre ce chier lorsque votre travail est interrompu par un orage
ou lorsque vous navez pas pu fermer proprement Emacs pour une raison ou une autre.
Les chiers # sont enregistrs dans le jeu de caractres interne dEmacs et non dans celui de
votre chier. Vous devez donc, pour rcuprer le chier, utiliser la commande Alt+X+reco-
ver-session. Vous pouvez aussi charger le chier et modier son jeu de caractres avec
Ctrl+X+Entre+F+jeu de caractres.
Commandes lmentaires
Vous pouvez dplacer le curseur avec les touches de direction et PgPrc/PgSuiv. Si cela ne
fonctionne pas par exemple, si Emacs est dmarr dans un terminal mal congur , utilisez
les commandes suivantes :
Vous pouvez saisir du texte nimporte quel endroit. Suppr et Retour Arrire permettent de
supprimer un caractre. Vous pouvez aussi utiliser Ctrl+D pour supprimer un caractre la
position du curseur.
Ctrl+X+U et Ctrl+_ permettent dannuler les dernires modifications. Cette fonction dannulation fonc-
tionne pour des commandes dune complexit arbitraire et est pratiquement illimite.
Charger et enregistrer des fichiers, quitter Emacs
c+X c+F fichier e charge un fichier
c+X I insre un fichier dans le texte courant
c+X c+S enregistre un fichier
c+X S enregistre tous les fichiers avec confirmation
c+X S! enregistre tous les fichiers sans confirmation
c+X c+W fichier e enregistre le fichier sous un nouveau nom
c+X c+C quitte lditeur
Raccourcis clavier lorsque le curseur ne fonctionne pas
c+F dplace le curseur dun caractre vers la droite
c+B dplace le curseur dun caractre vers la gauche
c+P dplace le curseur dun caractre vers le haut
c+N dplace le curseur dun caractre vers le bas
c+V dplace le curseur dune page vers le haut
a+V dplace le curseur dune page vers le bas
Linux Livre Page 265 Mardi, 23. septembre 2008 1:05 13
LINUX 266
Lorsque vous faites une erreur dans la saisie dune commande, vous pouvez annuler la
commande avec Ctrl+G. Cest particulirement pratique lorsque vous appuyez par erreur
sur chap.
Systme daide
Emacs fournit de nombreuses commandes pour appeler le systme daide. La plus importante
pour commencer est F1+T (tutoriel). Ctrl+X+B+Entre permet de revenir au texte original.
Lorsque plusieurs sections de texte (fentres) restent ouvertes aprs avoir lanc laide, vous
pouvez dplacer le curseur dans la fentre suivante avec Ctrl+X+O. Ctrl+X+0 (zro) ferme la
fentre courante, Ctrl+X+1 ferme toutes les fentres part la fentre courante. Ces trois com-
mandes permettent de passer de la fentre daide la fentre de texte et vice versa, puis de
fermer la fentre daide lorsque vous avez termin.
Si en revanche le texte daide safche dans la fentre entire, vous pouvez revenir votre
propre texte avec Ctrl+X+B+Entre. Emacs gre plusieurs textes (par exemple, votre texte et
le texte daide) par le biais de tampons, dont nous parlerons plus tard.
La principale source dinformations propos dEmacs est le systme info interne, qui fait
ofce de manuel ofciel. Certaines distributions le fournissent au format HTML pour quil
soit plus facile lire.
Mode info Le systme daide dEmacs repose sur le format GNU Info. Pour lire ce texte, Emacs active le
mode info. Ce dernier fournit quelques raccourcis clavier supplmentaires. Vous pouvez
aussi suivre les liens ou les lments de menus avec le bouton du milieu de la souris. L permet
de revenir la dernire page vue.
18.2 Bases
Modes
ddition
Emacs connat plusieurs modes ddition, dans lesquels sont dnies des commandes sup-
plmentaires pour diter des chiers spciques. Il faut diffrencier les modes majeurs et
mineurs. Un seul mode majeur peut tre actif la fois, tandis que plusieurs modes mineurs
peuvent coexister.
Les modes majeurs contiennent, entre autres, des modes pour presque tous les langages de
programmation (C, C++, Java, etc.), ainsi que le mode LaTeX pour modier des chiers
Utilisation du systme daide
1 1 affiche une vue densemble des commandes daide disponibles
1 A texte e affiche toutes les commandes contenant text
1 B affiche tous les raccourcis clavier
1 C raccourci dcrit le raccourci indiqu
1 s+F affiche la FAQ dEmacs
1 I dmarre le systme info pour afficher un texte daide hirarchis
1 N affiche les modifications par rapport aux anciennes versions
1 T dmarre le tutoriel dEmacs
1 c+F nom dmarre le systme info et affiche des informations sur la commande indique
1 c+P offre des informations sur le concept de logiciel libre
Linux Livre Page 266 Mardi, 23. septembre 2008 1:05 13
267 EMACS ET XEMACS
LaTeX. Lorsquon charge un chier, Emacs charge automatiquement le mode correspondant
(par exemple, le mode C, lorsque le nom du chier se termine par .c). Sil ne reconnat pas
le mode, il choisit le mode Fundamental.
Les modes mineurs comprennent, entre autres, le mode Fill (pour diter du texte continu
avec des paragraphes sur plusieurs lignes) et le mode Abbrev (pour remplacer automati-
quement les abrviations).
Les commandes lmentaires dEmacs fonctionnent de la mme manire dans tous les
modes. Cest pourquoi vous navez pas vous en proccuper pour linstant. Lorsque vous
dsirez dsactiver les actions dEmacs dues un mode donn (par exemple, lindentation
automatique des lignes de programme en mode C), repassez dans le mode fondamental
avec Alt+X+fundamental-mode+Entre.
Conventions
du clavier
Il existe gnralement trois possibilits pour saisir des commandes Emacs : le menu, lutili-
sation de raccourcis clavier (pour la plupart, des combinaisons commenant par Ctrl ou Alt)
ou la saisie de la commande. Cette dernire mthode implique de prxer la commande par
Alt+X+ par exemple, Alt+X+delete-char+Entre.
La saisie des commandes et des paramtres est facilite par deux mcanismes :
Vous pouvez tendre un nom de commande comme dans un interprteur de commandes
avec Tab. Emacs est sensible la casse. Les noms de chiers peuvent galement tre tendus
de cette manire. Lorsque plusieurs possibilits existent, Emacs les afche toutes lcran.
Vous pouvez, aprs avoir tap Alt+X, passer aux commandes prcdente et suivante de
lhistorique avec Alt+P et Alt+N.
Dans cet ouvrage, les touches sont indiques en majuscules, mais cela ne signie pas que la
touche Maj doit tre enfonce. Alt+X signie simplement que vous devez appuyer simulta-
nment sur la touche Alt et la touche X.
Dans la documentation dEmacs, DEL ne signie pas Suppr, mais Retour Arrire. C signie
Ctrl et M Mta.
Il nexiste pas de touche Mta sur un clavier PC standard. M-x peut tre saisi de deux manires
sur un clavier PC : chap X (lun aprs lautre) ou Alt+X. Jutiliserai dans ce livre la combi-
naison avec Alt, gnralement plus confortable.
Dans le cas de certains programmes compatibles avec Emacs ou si lon utilise Emacs dans
une console texte, certains problmes peuvent survenir avec la touche Alt. Il faut donc, la
place de Alt+X (les deux touches simultanes), taper chap X (successivement).
Attention, Ctrl+X Ctrl+B est diffrent de Ctrl+X+B.
Gestion de la
souris
Dans Emacs et XEmacs, la convention habituelle de X (marquage du texte avec la souris et
copie avec le bouton du milieu) reste valable. Lorsque vous afchez plusieurs textes en mme
temps, vous pouvez dplacer la barre de sparation entre les zones de texte avec le bouton
gauche de la souris. Les fonctions supplmentaires dpendent de la version dEmacs.
Sous GNU Emacs, le bouton droit place le point de n dune zone de texte marque, qui
peut ensuite tre modie. Les boutons de la souris ont des fonctions diffrentes
lorsquils sont utiliss en combinaison avec Ctrl ou Maj.
Sous XEmacs, le bouton droit afche un menu contextuel.
Linux Livre Page 267 Mardi, 23. septembre 2008 1:05 13
LINUX 268
Options de
dmarrage
Lorsque vous dmarrez Emacs sous X, vous pouvez utiliser de nombreux paramtres pour
les couleurs, le jeu de caractres, etc. Le tableau ci-dessous recense les principales options.
La page de manuel dEmacs en offre une rfrence complte.
18.3 Dplacement du curseur
En plus des touches de direction, Emacs connat de nombreux raccourcis clavier pour dplacer
le curseur. Les principaux raccourcis sont rsums dans le tableau ci-aprs.
Dplacements
multiples du
curseur
Emacs est capable de rpter plusieurs fois une commande. Vous devez dabord saisir
Alt+n, o n est un nombre arbitraire. Les chiffres doivent tre saisis dans le clavier alphanu-
mrique, et non dans le pav numrique droite du clavier. Alt doit tre press pendant
toute la saisie de votre nombre. Pour nir, saisissez la commande. Vous pouvez, par exemple,
descendre de plusieurs pages dans un texte avec Alt+n+PgSuiv. Ce comportement peut
aussi tre utilis pour saisir du texte. Par exemple, Alt+60+ dessine une ligne.
O suis-je ? Pour savoir sur quelle ligne vous vous trouvez, saisissez Alt+X+what-line+Entre. Emacs
afche alors le numro de ligne courant dans la dernire ligne de lcran. Vous pouvez aussi af-
cher ce numro de faon permanente avec Alt+X+line-number-mode+Entre. Cependant,
cela ne fonctionne pas pour les textes trs longs (de plusieurs mgaoctets). La colonne saf-
che de la mme manire en activant column-number-mode.
Enregistrer la
position du
curseur dans
des registres
Il est souvent souhaitable, lorsquon travaille sur un texte long, de pouvoir passer rapide-
ment dun emplacement un autre du texte. Pour cela, on peut enregistrer la position cou-
rante du curseur dans un registre. Ce dernier est un emplacement de sauvegarde dsign
Options de la ligne de commande
-nw Emacs en mode texte dans la fentre de linterprteur de commandes
-fg couleur couleur davant-plan, cest--dire du texte, normalement noir
-bg couleur couleur darrire-plan (normalement noir)
-cr couleur couleur du curseur (normalement noir)
-geometry bxh+x+y taille (largeur hauteur et position de la fentre, en nombres de caractres
-fn jeu de caractres Emacs avec le jeu de caractres indiqu
Dplacement du curseur
a+F / a+B dplace le curseur dun mot vers lavant et vers larrire
c+A / c+E place le curseur au dbut ou la fin de la ligne
a+A / a+E place le curseur au dbut ou la fin du paragraphe
c+V / a+V dplace le curseur dune page vers le bas ou vers le haut
a+< / a+> dplace le curseur au dbut ou la fin dun texte
c+L dplace le texte pour que le curseur se trouve au milieu de lcran
a+G n e place le curseur la ligne n
Linux Livre Page 268 Mardi, 23. septembre 2008 1:05 13
269 EMACS ET XEMACS
par un caractre (lettre ou chiffre). Pour revenir au point enregistr, indiquez le nom du
registre. Notez cependant que les registres ne sont pas enregistrs lorsquon quitte Emacs.
18.4 Marquer, supprimer et coller du texte
Nous avons dj mentionn que les touches Suppr, Ctrl+D et Retour Arrire permettaient
de supprimer des caractres isols. Pour supprimer de plus grandes quantits de texte, vous
pouvez utiliser lune des commandes du tableau suivant.
Lorsque vous excutez plusieurs fois lune de ces commandes, Ctrl+Y colle lensemble du
texte supprim par cette srie de commandes. Ctrl+Y peut tre lanc plusieurs fois et des
endroits arbitraires du texte. Cette commande permet de coller le texte prcdemment supprim
un autre endroit.
Les commandes indiques sont peu souples, car la quantit de texte supprimer est xe.
Pour supprimer une section complte, vous devez dabord la marquer. Pour cela, tapez
Ctrl+Espace au dbut ou la n de la section marquer. Ce marquage reste invisible, mais
Emacs afche le message Mark set. La zone marque se trouve entre le point de marquage
et la position courante du curseur de texte.
Si vous ne vous habituez pas au marquage avec Ctrl+Espace, vous pouvez, sous GNU Emacs,
activer le marquage habituel de Windows avec Maj. Pour cela, lancez la commande Alt+X+pc-
selection-mode. Sous XEmacs, le mode correspondant est automatiquement activ.
Registres pour la position du curseur
c+X R z z e enregistre la position courante du curseur dans le registre z
c+X R J z e place le curseur la position enregistre dans le registre z
Supprimer du texte et le rinsrer
a+D supprime le mot suivant ou la fin du mot courant
a+B supprime le mot prcdent ou le dbut du mot courant
c+K supprime la fin de la ligne
a+0 c+K supprime le dbut de la ligne
a+Z x supprime tous les caractres jusqu la premire occurrence de x
c+Y colle le texte supprim la position du curseur
Marquer du texte
c+z place une marque (invisible)
c+W supprime le texte entre la marque et le curseur
c+X c+X change la position du curseur et de la marque
Linux Livre Page 269 Mardi, 23. septembre 2008 1:05 13
LINUX 270
La commande Ctrl+X Ctrl+X sert principalement vrier lemplacement de la marque.
Rpter cette combinaison replace le curseur sa position dorigine.
La commande Ctrl+W considre que le premier caractre entre la marque et le curseur fait
partie du marquage et quil doit tre supprim, tandis que le dernier caractre supprim est
celui qui se situe avant le curseur.
18.5 diter du texte
Insertion et
crasement
Emacs se trouve normalement en mode insertion. Cela signie que le texte saisi est insr
la position courante du curseur. Pour craser le texte prcdent, vous pouvez passer en
mode crasement avec Alt+X+overwrite-mode+Entre. Saisir nouveau cette commande
permet de revenir au mode insertion. Sur un clavier bien congur, on passe dun mode
lautre avec la touche Inser.
Fautes de
frappe
Une faute de frappe frquente est lchange de deux lettres. Ctrl+T permet de corriger ce
type derreur. Le curseur doit se trouver sur la deuxime lettre.
Alt+T permet, de la mme manire, dchanger deux mots. Lorsque le curseur se trouve au
dbut dun mot, celui-ci est chang avec le mot prcdent. Si le curseur est nimporte o
ailleurs dans le mot, alors il est chang avec le mot suivant. Lappui successif de plusieurs
Alt+T loigne le premier mot du second.
Ctrl+X Ctrl+T permet dchanger la ligne courante avec la ligne prcdente. Lexcution succes-
sive de plusieurs de ces raccourcis loigne la premire ligne de plus en plus vers le bas.
Tabulations
Par dfaut, lorsquon dite un texte ASCII normal, Tab insre un caractre tabulation. Les
tabulations ne sont pas visibles. Pour savoir sil sagit dune tabulation ou de plusieurs espa-
ces, observez le comportement du curseur : lorsque celui-ci se dplace par "sauts", cest une
tabulation.
Casse
a+C passe la lettre sous le curseur en majuscule, et toutes les lettres suivantes du mot
en minuscules
a+L passe toutes les lettres du mot partir du curseur en minuscules
a+U passe toutes les lettres du mot partir du curseur en majuscules
a+- a+C passe la premire lettre du mot en majuscule, le reste en minuscules ; si le curseur
est au dbut dun mot, sapplique au mot prcdent
a+- a+L passe toutes les lettres du mot jusquau curseur en minuscules ; si le curseur est
au dbut dun mot, sapplique au mot prcdent
a+- a+U passe toutes les lettres du mot jusquau curseur en majuscules ; si le curseur est
au dbut dun mot, sapplique au mot prcdent
c+X c+L passe la zone entre la marque et le curseur en minuscules
c+X c+U passe la zone entre la marque et le curseur en majuscules
Linux Livre Page 270 Mardi, 23. septembre 2008 1:05 13
271 EMACS ET XEMACS
En fonction du texte modi (par exemple un chier *.tex), (X)Emacs passe automatique-
ment dans le mode ddition correspondant. Certains modes rednissent quelques tou-
ches. Cest particulirement vrai pour Tab. En mode C, si on appuie sur cette touche, elle
indente la ligne en fonction de la structure du programme. En mode LaTeX, elle na aucun
effet. Lorsque Tab ne se comporte pas comme vous le dsirez, le mode ddition est proba-
blement en cause. Il existe cependant diffrentes possibilits pour insrer des tabulations :
Ctrl+Q+Tab permet dinsrer une tabulation, indpendamment du mode.
Alt+I permet, indpendamment du mode ddition, dinsrer un caractre tabulation ou
plusieurs espaces (cela se rgle dans indent-tab-mode).
Alt+X+fundamental-mode permet de dsactiver le mode ddition courant. Tab fonc-
tionne alors comme dans tout autre programme, mais vous perdez aussi toutes les fonctions
associes au mode ddition.
Taille des
tabulations
Par dfaut, les tabulations ont une largeur de huit caractres. Alt+X+set-variable tab-width
permet de modier cette valeur par dfaut. Si vous travaillez toujours avec la mme taille de
tabulations, vous pouvez modier ce paramtre dans le chier de conguration ~/.emacs.
Passage entre
espaces et
tabulations
Certains modes dEmacs remplacent automatiquement les longues suites despaces par des
tabulations. Alt+X tabify permet de remplacer toutes les sries despaces de la zone marque
par des caractres tabulation. Alt+X untabify a le comportement inverse.
Indenter manuellement du texte
Lindentation de texte est ncessaire lorsquon programme pour structurer le code. La com-
mande la plus importante est appele avec Ctrl+X+Tab. Elle indente dun espace le texte
entre la marque (Ctrl+Espace) et le curseur. Lorsque vous prxez cette commande de
Alt+n, vous pouvez indenter les lignes de n espaces. La mme commande prxe de Alt+
dsindente le texte.
Les commandes ci-dessus permettent uniquement dajouter ou de supprimer des espaces en
dbut de ligne. Pour raliser cette opration au milieu dune ligne (par exemple, lorsque
vous travaillez sur un tableau ou pour indenter les commentaires la n des lignes de
code), vous devez utiliser les commandes de rectangles. Un rectangle contient tous les carac-
tres de la zone entre la marque et la position du curseur.
Indentation de texte
c+X t indente le texte marqu dun espace
a+- c+X t dsindente le texte marqu dun espace
Commandes de rectangles
c+X R O remplit la zone despaces (en dcalant le reste du texte)
c+X R K supprime le rectangle
c+X R Y insre le rectangle supprim la position du curseur
a+X string-rectangle remplace chaque ligne du rectangle par une chane
Linux Livre Page 271 Mardi, 23. septembre 2008 1:05 13
LINUX 272
Emacs a galement quelques modes ddition dans lesquels lindentation est effectue auto-
matiquement. Par exemple, le mode C ajoute ou supprime des espaces aprs les accolades.
18.6 Texte continu
Pour linstant, nous avons considr que vous ditiez du code ou des chiers de congura-
tion avec Emacs. Son environnement est un peu diffrent lorsquil sagit de texte continu.
Emacs ne coupe pas les lignes. Lorsque celles-ci sont plus longues que la largeur de lcran
ou de la fentre, un caractre \ ou une petite che termine la ligne et le texte se poursuit sur
la ligne suivante. Il ny a cependant en interne aucun retour la ligne.
Pour dcouper une ligne, lancez la commande Alt+Q. Celle-ci la dcoupe lespace le plus
appropri en plusieurs lignes plus courtes. Emacs considre toutes les lignes qui ne sont pas
explicitement spares par une ligne vide comme des paragraphes. Cette commande peut
videmment avoir des rpercussions dsastreuses sur du code. Ctrl+X+U permet dannuler.
Il est bien sr pnible de lancer sans cesse Alt+Q lorsquon tape un texte. Il existe donc un
mode pour le texte continu, activ avec Alt+X+auto-fill-mode. Dans ce mode, toutes les
nouvelles saisies sont automatiquement dcoupes. Les lignes dj saisies avant de passer
dans ce mode ne sont cependant pas modies.
La longueur des lignes est gnralement limite 70 caractres. Vous pouvez modier cette
limite avec Alt+X+set-variable+Entre+fill-column+Entre+n.
Indentation
dans du texte
continu
Pour saisir plusieurs paragraphes de texte indent, vous pouvez dnir la position de la
premire colonne en tapant plusieurs espaces ou tabulations dans une ligne vide, qui dni-
ront la taille de lindentation de votre texte. Lancez ensuite le raccourci Ctrl+X .. Le pro-
gramme indente alors ds la deuxime ligne du paragraphe toutes les lignes comme la
premire.
Cette opration ne fonctionne que pour le texte qui nest pas encore saisi. Pour indenter du
texte dj saisi, il faut dnir lindentation avec Ctrl+X+., puis lancer Alt+Q. Pour dsactiver
la largeur de lindentation, placez le curseur au dbut de la ligne avec Ctrl+X+..
La commande Ctrl+X+. enregistre en fait tous les caractres qui se trouvent entre la position courante du
curseur et le dbut de la ligne. Ces derniers sont ensuite ajouts automatiquement au dbut des nouvelles
lignes cres par la coupure du paragraphe. Vous pouvez utiliser cela pour prfixer toutes les lignes dune
chane de caractres donne (par exemple >).
Pour remettre en forme de plus grandes quantits de texte indent diffremment, la com-
mande Alt+X+fill-individual-paragraphs+Entre peut savrer utile. Elle met en forme la
zone entre la marque et la position du curseur. Lindentation courante est alors prserve.
Coupure de lignes dans du texte continu
a+Q procde la coupure manuelle des lignes
a+X auto-fill-mode Entre active le mode de texte continu (coupure automatique des lignes)
Linux Livre Page 272 Mardi, 23. septembre 2008 1:05 13
273 EMACS ET XEMACS
Mode texte Si vous utilisez beaucoup dindentations, le mode texte est plus confortable que les procdu-
res dcrites ci-dessus. Vous pouvez lactiver avec Alt+X+text-mode+Entre. Pour diter du
texte continu dans ce mode, activez le mode mineur correspondant, Alt+X+auto-fill-mode.
La seule nouveaut du mode texte est quEmacs indente automatiquement chaque nouvelle
ligne comme la prcdente. Alt+Q, pour la coupure automatique, gre galement lindentation
du paragraphe par rapport la premire ligne.
Pour centrer une ligne ou un paragraphe sans avoir passer dans le mode texte, vous pou-
vez lancer la commande correspondante depuis un autre mode grce Alt+X+center-line
et Alt+X+center-paragraph.
Abrviations Une des particularits dEmacs est que vous pouvez tendre des abrviations sans prrequis
particulier. Indiquez les premires lettres dun mot et saisissez Alt+/. Emacs cherche
dabord dans le texte prcdent, puis dans le texte suivant et enn, dans tous les chiers
ouverts, les mots qui dbutent par ces lettres. Plusieurs appuis sur Alt+/ permettent de faire
dler les diffrents compltements possibles.
18.7 Chercher et remplacer
Recherche
incrmentale
Le plus rapide pour chercher du texte est dutiliser Ctrl+S+texte__chercher. La com-
mande prsente une particularit par rapport celle des autres diteurs : elle commence
la recherche ds la saisie du premier caractre. Si vous cherchez "recherche", tapez
Ctrl+S+rech : le curseur passe au premier mot qui contient "rech". Plutt que de conti-
nuer taper les autres lettres, lancez nouveau Ctrl+S pour passer au mot suivant
Indenter du texte continu
c+X . dfinit la colonne dindentation la position du curseur ; celui-cidoit se situer
sur une ligne vide
a+M dplace le curseur au dbut dune ligne indente
a+X fill-individ met en forme la zone entre la marque et le curseur en gardant lindentation
courante
Mode texte
a+X text-mode active le mode texte
a+X auto-fill-mode active le mode mineur pour le texte continu
a+Q procde une coupure manuelle des lignes et conserve lindentation de la
premire sur le paragraphe.
a+S centre la ligne courante
a+s+S centre le paragraphe courant
Linux Livre Page 273 Mardi, 23. septembre 2008 1:05 13
LINUX 274
contenant "rech". Si vous ne saisissez que des minuscules, la recherche est indpendante
de la casse.
Si vous changez davis et dcidez de chercher "recrer", il suft de supprimer le "h" avec
Retour Arrire. Emacs revient alors au premier mot ( partir de la position du curseur au
dbut de la recherche) qui contient "rec". La saisie de "r" passe le curseur au premier mot qui
contient "recr".
Si vous tapez Entre ou une touche du curseur, Emacs considre que la recherche est nie et
place le curseur lemplacement trouv. La position du curseur au dbut de la recherche est
enregistre par la marque. Vous pouvez y retourner avec Ctrl+X Ctrl+X. La rptition de
cette commande vous ramne au rsultat de la recherche.
Vous pouvez reprendre la recherche en tapant deux fois Ctrl+S pour passer loccurrence
suivante. Pour chercher la chane vers larrire, tapez Ctrl+R la place de Ctrl+S.
Pour recommencer une recherche, vous pouvez naviguer dans lhistorique aprs avoir tap
Ctrl+S grce Alt+P et Alt+N.
Recherche avec des expressions rationnelles
La recherche incrmentale trouve du texte qui correspond exactement la recherche. Il est
cependant souvent pratique de chercher du texte qui correspond un motif donn.
Ctrl+Alt+S et Ctrl+Alt+R permettent de chercher du texte avec des expressions rationnelles,
respectivement vers lavant et vers larrire.
Si vous saisissez des majuscules dans le motif de recherche, ce dernier devient sensible la
casse. Pour chercher une lettre indpendamment de sa casse dans un motif contenant des
majuscules, il faut utiliser une syntaxe du type [Xx] qui recherche x, en minuscules ou en
majuscules.
Les caractres \< et \> permettent respectivement de restreindre la recherche au dbut et la
n du mot. Ainsi, \<connecte\> renvoie le mot connecte, mais ni dconnecte, ni connecter.
Le signe + indique que le mot doit contenir au moins lun des lments qui le prcdent.
Ainsi, [Ll]es[a-z]+ cherche les mots composs de "les" ou "Les", suivis au moins dune let-
tre. Attention, les caractres accentus ne sont pas grs par cette syntaxe ; il faut les ajouter
explicitement.
Recherche incrmentale
c+S recherche incrmentale vers lavant
c+R recherche incrmentale vers larrire
a+P rcupre la recherche prcdente dans lhistorique
a+N rcupre la recherche suivante dans lhistorique
c+G interrompt la recherche
c+X c+X change la position de la marque (dbut de la recherche) et celle du curseur
Linux Livre Page 274 Mardi, 23. septembre 2008 1:05 13
275 EMACS ET XEMACS
Les paires de parenthses \( et \) nont pas dinuence sur la recherche en soi. Les caractres
correspondant ce groupe peuvent nanmoins tre rappels dans le motif de remplacement
(voir paragraphe suivant).
Chercher et remplacer
Emacs diffrencie galement, dans le cas du remplacement, la commande normale de la
commande tendue avec des motifs de recherche. Lorsquon remplace un texte, la lettre ini-
tiale des mots est dans la mme casse que celle quelle remplace lorsque le texte de rempla-
cement est entirement en minuscules. Les fonctions de recherche et de remplacement ne
fonctionnent pas pour les textes de recherche sur plusieurs lignes, car les caractres joker *
et + ne prennent pas en compte les passages la ligne.
Pour mieux comprendre comment fonctionnent les atomes dans la fonction de recher-
che/remplacement, le plus simple est de donner un exemple. Si on remplace
Recherche avec des expressions rationnelles
c+a+S recherche incrmentale par motif vers lavant
c+a+R recherche incrmentale par motif vers lavant
Construction du motif de recherche
\< dbut dun mot
\> fin dun mot
^ dbut dune ligne
$ fin dune ligne
. caractre arbitraire lexception dun retour la ligne
.* nombre arbitraire (y compris 0) de caractres arbitraires
.+ nombre arbitraire (mais au moins un) de caractres arbitraires
.? zro ou un caractre arbitraire
[abc...] un des caractres entre crochets
[^abc...] aucun des caractres entre crochets
\( dbut dun atome (voir Chercher et remplacer)
\) fin dun atome
\x caractre spcial (par exemple \\ pour chercher \ ou \. pour chercher .)
Recherche et remplacement
a+% recherche et remplacement sans motif
a+x query_replace-r e recherche et remplacement avec motif
\& rfrence au texte trouv complet
\1 rfrence au premier atome entre \(...\)
Linux Livre Page 275 Mardi, 23. septembre 2008 1:05 13
LINUX 276
fonction(\([^,]*\),\([^,]*\)) par fonction(\2, \1), les paramtres de fonction sont
intervertis. fonction(a+b,2*e) devient alors fonction(2*e,a+b). Attention cependant, les
paramtres de la fonction ne peuvent pas avoir de virgules. Par exemple, si la chane est
fonction(f(a,b),g(x,y)), le remplacement choue.
Soyez toujours prudent lorsque vous utilisez cette fonction avec des expressions rationnel-
les et enregistrez au pralable votre texte. Il est frquent que le motif de recherche corres-
ponde un tout autre texte ou une section plus large que vous ne laviez envisag. Ctrl+X
Ctrl+U permet de remdier facilement une erreur de ce type.
18.8 Tampon et fentre
Lorsquon travaille sur plusieurs textes, Emacs place chaque texte dans un tampon. Mme
lorsque vous nditez quun seul chier, plusieurs tampons coexistent : un pour le texte (le
nom du tampon correspond celui du chier), un pour les fentres daide ou les fentres
info ouvertes (le nom du tampon est alors *Help* ou *Info*), etc.
En plus du concept de tampons, Emacs connat aussi celui de fentres. Une fentre est une
zone dEmacs dans laquelle un tampon safche. Gnralement, une seule fentre occupant
tout lespace est utilise. Pour certaines commandes (par exemple, afchage de laide ou
autres informations internes Emacs), lcran est divis horizontalement en deux fentres.
On peut aussi diviser Emacs en plusieurs morceaux horizontaux ou verticaux. Chaque zone
(fentre) peut alors afcher un tampon diffrent.
Reprsenter le mme tampon dans deux fentres est galement une possibilit. Cela est trs
pratique pour les textes trs longs : vous pouvez ainsi diter deux sections diffrentes du
texte sans devoir dplacer le curseur, ce qui savre la longue trs inconfortable.
Sous Emacs, la notion de fentre na rien voir avec celle de fentre X : elle reprsente une partie dune
fentre X. Si vous dsirez ouvrir une autre fentre X (par exemple, pour travailler confortablement entre
deux morceaux de code), vous pouvez la crer dans le menu File, New Frame (GNU Emacs) ou View, New
Frame (XEmacs).
Les commandes suivantes sappliquent la fentre courante (dans laquelle se trouve le curseur).
Ces commandes changent le tampon afch dans la fentre.
Raccourcis clavier pour diter le texte modifi
z ou Y remplacer, continuer la recherche
. remplacer, mais laisser le curseur son emplacement courant pour contrler le
rsultat ; la recherche peut tre reprise avec Espace
B ou N ne pas remplacer, continuer la recherche
q ne pas remplacer, interrompre la recherche
! remplacer toutes les occurrences suivantes sans confirmation
c+R interrompre temporairement la commande pour effectuer une modification
manuelle lemplacement du curseur
c+a+R reprendre la commande Remplacer
Linux-Part 3-CH-18 Page 276 Mercredi, 24. septembre 2008 7:15 07
277 EMACS ET XEMACS
Les commandes suivantes sappliquent lafchage de tampons dans diffrentes zones de
lcran (fentres). La ligne de sparation entre les fentres peut tre dplace la souris.
Le tampon nest pas modi lorsquon ferme une fentre. Il devient invisible, mais reste en
mmoire et peut tre afch de nouveau.
18.9 Modes ddition spcifiques
De nombreux modes ddition modient les fonctions de lditeur et fournissent des com-
mandes spciales. Emacs sadapte ainsi de manire optimale tous les types de texte. En
fonction du mode, une coloration syntaxique peut galement sappliquer (mise en vidence
des mots cls et des commentaires).
Emacs distingue les modes majeurs et mineurs. Un seul mode majeur peut tre actif la fois.
Celui-ci est choisi automatiquement en fonction de lextension du chier et de ses mots cls.
Chaque mode majeur peut tre associ zro, un ou plusieurs modes mineurs. Il existe une
conguration de mode pour chaque chier modi dans Emacs (pour chaque tampon).
Modier manuellement un mode nimpacte que le tampon courant. Le passage un autre
mode majeur dsactive le mode majeur courant. Lajout ou la suppression dun mode
mineur ne modie pas le mode majeur.
Les tableaux suivants recensent, sans prtendre lexhaustivit, quelques modes majeurs et
mineurs dEmacs. Il en existe de nombreux autres, par exemple pour la multitude de langages
de programmation disponibles sous Linux. F1+A+mode+Entre afche un aperu des modes
disponibles et F1+M, des informations sur le mode majeur courant.
Commandes du tampon
c+X B e active le dernier tampon utilis
c+X B nom e active le tampon indiqu
c+X c+B affiche dans une fentre la liste de tous les tampons
c+X K nom e ferme le tampon indiqu ; lorsque le tampon contient des donnes non
enregistres, demande confirmation
Commandes de fentre
c+X O passe la fentre suivante
c+X 0 ferme la fentre courante
c+X 1 ferme toutes les fentres, part la fentre courante
c+X 2 spare la fentre courante en deux zones horizontales
c+X 3 spare la fentre courante en deux zones verticales
Linux Livre Page 277 Mardi, 23. septembre 2008 1:05 13
LINUX 278
Emacs tente de reconnatre automatiquement, daprs lextension du fichier et le contenu des premires
lignes, le type de fichier et active le mode correspondant. Si cela ne fonctionne pas, vous devez activer le
mode comme indiqu ci-dessus.
Lorsque le mode nest pas automatiquement dtect, vous pouvez ajouter dans la premire ligne du fichier
un commentaire contenant les caractres *-* nom *-*. nom est le nom du mode souhait (par exemple
*-* html *-*).
Mise en
vidence de la
syntaxe
Llment le plus remarquable du mode ddition est la mise en vidence de la syntaxe. Les
commandes ou les commentaires sont distingus par des couleurs ou des attributs de
police. Le code ou certains documents deviennent ainsi nettement plus lisibles.
La mise en vidence de la syntaxe est gnralement dsactive pour des raisons de perfor-
mances. Pour lactiver dans un document, vous devez lancer le mode correspondant
Alt+X+font-lock-mode : Emacs analyse le texte entier et marque les lments quil trouve. Il
arrive, aprs une modication du texte, que la reconnaissance de la syntaxe ne fonctionne
plus. Pour la remettre daplomb, relancez Alt+X+font-lock-mode.
18.10 Unicode
Les versions actuelles dEmacs et de XEmacs sont en principe compatibles avec Unicode,
mais en pratique, diverses limitations et problmes se posent encore. Les deux variantes
dEmacs grent UTF-8 ; XEmacs gre de plus UTF-7 et UTF-16.
Ldition de chiers Unicode implique que le paquetage dextensions Mule (Multilingual
Enhancement, amliorations multilingues) soit install. Les commandes Mule peuvent tre
lances sous GNU Emacs avec Options, Mule et sous XEmacs avec Edit, Multilingual. Une
prise en charge avance dUnicode est disponible dans le paquetage Mule-UCS.
Quelques modes majeurs importants dEmacs
a+X fundamental-mode e mode standard (configuration de base)
a+X text-mode e mode pour indenter confortablement du texte
a+X c-mode e mode C
a+X c++-mode e mode C++
a+X emacs-lisp-mode e fichiers Emacs Lisp (par exemple ~/.emacs)
a+X html-mode e mode HTML
a+X sh-mode e mode ddition de scripts shell
Quelques modes mineurs importants dEmacs
a+X auto-fill-mode e mode texte continu, coupure automatique
a+X font-lock-mode e coloration syntaxique
a+X iso-accents-mode e saisie daccents
a+X abbrev-mode e compltement automatique des abrviations
Linux Livre Page 278 Mardi, 23. septembre 2008 1:05 13
279 EMACS ET XEMACS
Les deux versions dEmacs prvoient de passer une gestion interne du texte compltement
en Unicode, probablement partir de la version 23. Il se peut donc que quelques-unes des
fonctions dcrites ici ne fonctionnent plus ou diffremment dans les versions futures dEmacs.
GNU Emacs et Unicode
Indiquer
explicitement
le jeu de
caractres
GNU Emacs reconnat bien souvent le jeu de caractres des chiers et utilise par dfaut celui
de la distribution. Il est nanmoins parfois ncessaire dindiquer explicitement le jeu de
caractres. Pour cela, on peut lancer la commande Ctrl+X+Entre+C+codage. On peut ainsi
charger un chier en UTF-8, comme le montre lexemple suivant. Les codages disponibles
sont accessibles sous forme de liste grce Tab.
Ctrl+X+Entre+C+utf-8+Entre+Ctrl+X Ctrl+F+nom_du_chier+Entre
Pour modier le codage dun tampon dj charg, lancez Ctrl+X+Entre+F+codage.
Barre dtat Le jeu de caractres utilis est indiqu dans les premiers caractres de la barre dtat. Le
tableau suivant donne quelques exemples :
Aide Ctrl+H Maj+C+Entre indique le codage du tampon courant. Ctrl+U Ctrl+X+= indique le
code du caractre sous le curseur.
XEmacs et Unicode
Il peut tre ncessaire de dnir explicitement la prise en charge dUnicode dans XEmacs en
ajoutant ces lignes dans le chier de conguration :
(require un-define)
(set-coding-priority-list (utf-8))
(set-coding-category-system utf-8 utf-8)
Codages frquemment utiliss dans GNU Emacs
iso-8859-n fichiers ISO-8859-n
iso-latin-n fichiers ISO-Latin-n
utf-8 fichiers UTF-8
utf-8-dos fichiers UTF-8 avec retours la ligne DOS/Windows
binary fichiers binaires
no-conversion correspond pour linstant Latin-1
raw-text correspond pour linstant Latin-1
Description du codage dans la barre dtat de GNU Emacs
-n Latin-n
-u UTF-8
-= fichier binaire ou no-conversion
-t pas de codage (raw-text), correspond pour linstant Latin-1
Linux Livre Page 279 Mardi, 23. septembre 2008 1:05 13
LINUX 280
Indiquer
explicitement
le jeu de
caractres
En plus des raccourcis clavier de GNU Emacs, XEmacs dispose galement de raccourcis
avec Ctrl U, plus confortables. La commande suivante permet dindiquer explicitement le
jeu de caractres utiliser pour ouvrir un chier :
Ctrl+U Ctrl+X Ctrl+F+chier+Entre+codage+Entre
Les codages disponibles safchent dans une liste avec Tab. Le tableau suivant donne quelques
exemples. XEmacs reconnat, la diffrence dEmacs, les codages UTF-7 et UTF-16.
Pour enregistrer un chier, XEmacs utilise le mme jeu de caractres que celui utilis lors du
chargement. Si vous dsirez modier le jeu de caractres ce moment, vous pouvez utiliser la
commande suivante. Attention cependant, il arrive que le passage dun codage un autre ne
soit pas pris en charge. Il vaut alors mieux utiliser la commande recode (voir section 15.3).
Ctrl+U Ctrl+X Ctrl+W nom_du_chier Entre codage Entre
Barre dtat Le jeu de caractres utilis est indiqu dans les premiers caractres de la barre dtat. Le
tableau suivant donne quelques exemples, qui diffrent de GNU Emacs :
Vous trouverez davantage dinformations sur le codage des textes et la gestion de diffrents jeux de caractres
dans le chapitre Mule du manuel Emacs-Lisp. Vous pouvez aussi le lire sur Internet ladresse http://
www.xemacs.org/Documentation/21.5/html/lispref_64.html.
Le manuel Mule-UCS fournit des informations spcifiques Unicode ladresse
http://www.xemacs.org/Documentation/packages/html/mule-ucs.html.
Codages frquemment utiliss dans XEmacs
iso-8859-n fichiers ISO-8859-n
utf-7 fichiers UTF-7
utf-8 fichiers UTF-8
utf-8-dos fichiers UTF-8 avec retours la ligne DOS/Windows
utf-8-ws fichiers UTF-8 avec code de marquage UTF-8 (signature)
utf-16-le fichiers UTF-16 usuels (little endian)
utf-16-be fichiers UTF-16 (big endian)
binary fichiers binaires
no-conversion correspond pour linstant Latin-1
raw-text correspond pour linstant Latin-1
Description du codage dans la barre dtat de XEamcs
MIME/Ltn-n Latin-n
7 UTF-7
u UTF-8
U UTF-16
Binary fichiers binaires
Raw pas de codage, correspond pour linstant Latin-1
Noconv pas de codage, correspond pour linstant Latin-1
Linux Livre Page 280 Mardi, 23. septembre 2008 1:05 13
281 EMACS ET XEMACS
Saisie de caractres spciaux trangers
Les commandes et fonctions dcrites ci-dessus devraient vous permettre de charger, daf-
cher et denregistrer des chiers Unicode. Vous souhaitez probablement aussi pouvoir les
modier. Mais comment faire lorsque les caractres voulus ne sont pas sur votre clavier ?
Saisie de codes
en octal
Ctrl+Q+n permet de saisir nimporte quel caractre du jeu de caractres Latin-1 grce son
code octal. Il suft alors de taper celui-ci avec des chiffres.
Modes de
saisie
Alt+X set-input-method permet de dnir un autre mode de saisie, an de pouvoir taper
des caractres accentus, mais aussi chinois, japonais et corens. La liste des modes est dis-
ponible comme dhabitude grce Tab. Ainsi, latin-9-prefix permet de rednir le com-
portement des touches ", ~, ^, /, et `. Par exemple, "O insre le caractre , /a insre un ,
/e insre un et ~n insre un .
Sous GNU Emacs, le mode de saisie peut tre dni avec le raccourci Ctrl+X Ctrl+\. Sous
XEmacs, il suft de taper Ctrl+\.
Linux Livre Page 281 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 282 Mardi, 23. septembre 2008 1:05 13
19
bash
Ce chapitre traite de bash, bourne again shell. Ce programme permet de lancer des comman-
des dans une fentre de console ou une console texte. bash est galement un interprteur de
commandes. Il fournit donc un langage de programmation qui peut tre utilis pour dve-
lopper des programmes shell (scripts shell).
Utiliser un interprteur de commandes est intressant pour tous ceux qui souhaitent lancer
des programmes non seulement par le biais des menus KDE ou Gnome, mais aussi via le cla-
vier. Cela semble premire vue peu pratique, mais offre de nombreuses possibilits, par
exemple la combinaison de plusieurs commandes ou lenregistrement des rsultats dune
commande dans un chier.
Ce chapitre prsente lenvironnement de bash, la redirection des entres et des sorties, la com-
munication entre plusieurs processus (tubes, substitution des commandes) et lutilisation de
variables.
19.1 Quest-ce quun shell ?
bash signie bourne again shell. Il sagit en fait dun jeu de mots en anglais : bash est le succes-
seur du Bourne-Shell qui, avec le Korn-Shell et le C-Shell, est lun des trois shells classiques
sous Unix. Les trois interprteurs de commandes sont disponibles sous Linux ; bash est
gnralement le shell par dfaut.
Quest-ce quun shell ? Il sagit dune interface utilisateur entre le systme Linux et lutilisa-
teur. Linterprteur de commandes permet dappeler des commandes Linux et des program-
mes. Il est en ce sens comparable command.com du monde MS-DOS. Un shell est lanc dans
chaque fentre de console (console, gnome-terminal, xterm) et dans chaque console texte.
Un shell fournit galement un langage de programmation pour automatiser des tches. Cer-
taines commandes permettent dutiliser des variables dans ces programmes, de poser des
questions, de construire des boucles, etc. Les programmes sont alors dcrits par le nom de
programmes shell, de scripts shell, de chiers batch, ou simplement de scripts selon les
prfrences des auteurs.
Il existe pour bash une page de manuel trs complte (man bash) et un fichier info tout aussi complet
(info bash). Certaines distributions fournissent galement le fichier bashref.html qui prsente le mme
contenu dans un format plus lisible. Ce fichier est galement disponible sur Internet ladresse http://
www.gnu.org/software/bash/manual/bash.html.
Ce chapitre dcrit les versions 3.n de Bash (presque toutes les informations sont galement valables pour
les version 2.n). Si vous ne savez pas quelle version de Bash vous utilisez, lancez la commande suivante :
utilisateur$ echo $BASH_VERSION
3.2.39(1)-release
Linux Livre Page 283 Mardi, 23. septembre 2008 1:05 13
LINUX 284
Passer un autre shell
bash est le shell par dfaut de la plupart des distributions Linux. Mais dautres interprteurs
sont souvent disponibles. Ils se distinguent par une syntaxe lgrement divergente. Le choix
de linterprteur de commandes est avant tout une question de prfrences personnelles ou
dhabitude. Nous ne dcrirons que bash dans cet ouvrage, avant tout pour des questions de
place.
Si vous avez install plusieurs interprteurs de commandes, vous pouvez passer de lun
lautre tout moment. bash et sh lancent bash. ash lance linterprteur des systmes BSD
(idal pour les ordinateurs avec peu de mmoire vive). ksh et pdksh lancent Korn Shell ; csh
et tcsh lancent le C Shell ou sa variante tcsh. exit permet de revenir au dernier interprteur
de commandes actif.
Notez que tous les interprteurs distribus par Linux sont des versions libres. Il peut donc y
avoir quelques diffrences par rapport aux originaux de divers systmes Unix.
Si vous ne savez plus dans quel shell vous vous trouvez, tapez la commande echo $0, qui
existe dans tous les interprteurs et qui a la mme signication : elle renvoie le nom de
linterprteur courant.
utilisateur$ echo $0
bash
Changer de shell par dfaut
Chaque utilisateur connect a un shell par dfaut. Celui-ci est dmarr automatiquement
lors de la connexion dans une console texte. Sous X, le shell standard est lanc dans toutes
les fentres de console.
Le shell par dfaut est enregistr dans /etc/passwd. Il sagit du dernier lment de la ligne
de chaque utilisateur. Pour passer un autre shell par dfaut, lancez la commande chsh. Les
interprteurs de commandes sont enregistrs dans le rpertoire /bin. Vous devez donc indi-
quer /bin/csh si vous dsirez lancer csh par dfaut. Les interprteurs disponibles sont lists
dans /etc/shells.
19.2 Configuration de base
Touches de
fonctions de
bash
La conguration du clavier de bash est enregistre dans le chier /etc/inputrc au niveau
global et dans ~/.inputrc pour chaque utilisateur. Si vous ne pouvez pas saisir de caractres
spciaux ou si les touches Suppr, Home et Fin ne fonctionnent pas, vous devez modier
inputrc comme suit (cest gnralement le cas dans les distributions courantes) :
set meta-flag on
set convert-meta off
set output-meta on
"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
Linux Livre Page 284 Mardi, 23. septembre 2008 1:05 13
285 BASH
Ce chier dnit la fonction readline, utilise en interne par bash pour traiter les entres du
clavier. Les trois premires lignes assurent que les caractres 8 bits sont reconnus lors de la
saisie, quils ne sont pas transforms en un autre caractre et quils safchent. Les trois
lignes suivantes dnissent le comportement des touches Home, Suppr et Fin.
Les modications ne sont prises en compte quau dmarrage dun nouveau shell : vous
devez vous dconnecter et vous reconnecter une console texte ou dmarrer une nouvelle
fentre de console sous X. Pour tester, il est plus pratique de lancer simplement la com-
mande bash. Un nouvel interprteur est alors lanc et vous pouvez revenir lancien shell
avec exit. Cela est particulirement avantageux lorsque la conguration na pas le rsultat
escompt lancien interprteur a encore les associations de touches prcdentes. Sous X,
les fonctions du clavier dpendent aussi de la conguration de X (voir Chapitre 22).
Invite de
commande
Au dbut de chaque ligne du shell, certains lments safchent en fonction de la distribution : le
nom de lordinateur, celui de lutilisateur et/ou le rpertoire courant. La chane de caractres se
termine gnralement par $ ou > (pour les utilisateurs rguliers) ou par # (root).
Cette chane est dnie par la variable denvironnement PS1, qui peut tre dnie dans /etc/
bash.bashrc ou /etc/bashrc. Sans autre conguration, PS1="\s-\v$". Dans ce cas, bash
afche le nom de linterprteur et le numro de version.
Vous pouvez modier PS1 dans ~/.profile. Par exemple, si PS1="\w \$", linvite de com-
mande est simplement le rpertoire courant.
la place ou en plus de PS1, la variable PROMPT_COMMAND peut tre dnie. Celle-ci contient
une commande lance avant chaque afchage de PS1.
Les codes utilisables dans la variable PS1 (par exemple, \w comme raccourci pour le rpertoire courant) sont
dcrits dans la documentation de Bash.
19.3 Saisie de commandes
bash est normalement utilis pour saisir des commandes tout fait habituelles. Il propose
cependant de nombreux raccourcis clavier et touches spciales. En particulier, vous pouvez
naviguer dans lhistorique des commandes prcdemment lances avec les ches de direction
Haut et Bas, ce qui peut rduire signicativement la quantit de saisie ncessaire. Lorsque vous
quittez un interprteur, les dernires commandes utilises sont galement enregistres dans le
chier ~/.bash_history et sont donc nouveau disponibles la connexion suivante.
Vous pouvez modier les lignes de commande comme dans un diteur de texte. Vous pou-
vez ajouter et supprimer des caractres nimporte quel endroit. Lallocation des touches de
bash est congurable pratiquement sans limite. Vous pouvez notamment associer les tou-
ches spciales (curseur et touches fonction) avec les commandes que vous souhaitez. Vous
pouvez aussi passer entre les modes emacs et vi. Les commandes de base ddition sont
alors les mmes que dans lditeur choisi. Le mode par dfaut est gnralement le mode
Emacs. Cette section dcrit les raccourcis clavier de ce mode.
Linux Livre Page 285 Mardi, 23. septembre 2008 1:05 13
LINUX 286
Compltement des commandes et noms de fichiers
Le compltement automatique des commandes et des noms de chiers aide minimiser la
saisie. Tapez dabord les premires lettres de la commande ou du nom de chier, puis
appuyez sur Tab. Si les lettres tapes identient un lment de manire unique, ce nom
safche. Lorsque plusieurs noms correspondent, le nom est complt jusqu la dernire
correspondance des noms. De plus, un signal sonore est souvent mis pour indiquer que le
nom du chier nest probablement pas complet.
Le compltement de noms de chiers est plus simple comprendre avec un exemple.
utilisateur$ xem Tab com Tab
est, sur mon ordinateur, complt en
utilisateur$ xemacs command.tex
xemacs est le nom de mon diteur prfr et command.tex un chier LaTeX. Pour tendre xem,
bash cherche dans tous les rpertoires de la variable PATH le programme correspondant.
Pour tendre le nom du chier, seul le rpertoire courant est considr.
Le compltement fonctionne galement pour les noms de chiers prxs par plusieurs
rpertoires.
utilisateur$ ls /usr/sh Tab
est complt par Bash en
utilisateur$ ls /usr/share
Sil nest pas possible de complter llment de manire unique (signal sonore), vous pou-
vez taper nouveau Tab. bash afche alors dans les lignes qui suivent tous les compltements
possibles. Par exemple,
utilisateur$ e Tab Tab
liste toutes les commandes qui commencent par e. Vous pouvez alors reprendre votre saisie.
Les programmes et les commandes prsents dans le rpertoire courant ne sont tendus par le compltement
de commandes que lorsque le rpertoire courant se trouve dans la variable PATH. echo $PATH affiche cette
variable. Le rpertoire courant est abrg en . .
Dans la plupart des distributions Linux, . ne fait pas partie de la variable PATH pour des raisons de scurit.
Afin de lancer des commandes dans le rpertoire courant, il faut donc saisir ./commande.
Dterminer le
chemin dun
programme
Le compltement automatique de commandes masque lemplacement rel dun programme.
Pour le savoir, vous avez plusieurs possibilits :
whereis name parcourt tous les rpertoires par dfaut.
which name parcourt tous les rpertoires de la variable PATH et dtermine le programme
lanc par la commande sans chemin. which est donc intressant lorsque plusieurs versions
dun programme coexistent dans un systme.
type name fonctionne comme which, mais prend galement en compte les commandes
intgres Bash ou dnies en tant qualias.
Linux Livre Page 286 Mardi, 23. septembre 2008 1:05 13
287 BASH
bash fournit un mcanisme de compltement similaire pour le nom des rpertoires person-
nels (~mi Tab renvoie sur mon ordinateur ~michael/) et les noms de variables ($PAT Tab
renvoie $PATH).
Extensions
spcifiques
aux
programmes
Lorsquon lance la commande latex nom. Tab, seuls les chiers se terminant par .tex sont
proposs. man nom Tab ne renvoie que les lments pour lesquels il existe une page de
manuel. Cela fonctionne pour de nombreuses commandes pour lesquelles le choix de chiers
possibles ou de paramtres est restreint. Cest pratique, car seuls les chiers ou paramtres
cohrents sont pris en compte pour le compltement.
La commande bash complete gre cela. De nombreuses distributions disposent dune con-
guration norme pour complete, mais qui nest installe quen partie ou qui doit ltre expli-
citement (par exemple, sous Fedora avec le paquetage bash-completion). La commande
complete sans autre paramtre afche toutes les rgles connues. La conguration se trouve
gnralement dans lun des chiers suivants :
/etc/bash_completion ;
/etc/bash_completion.d/* ;
/etc/profile.d/complete.bash ;
/etc/profile.d/bash_completion.sh.
Pour dfinir des rgles de compltement supplmentaires, vous devez comprendre la syntaxe peu
courante de complete. help complete et man bash en offrent une courte description. Pour en
savoir plus, vous pouvez consulter http://www.caliban.org/bash/index.shtml et http://
www.minet.net/spip/spip.php?article93.
Raccourcis clavier importants
Le tableau suivant indique les raccourcis dun bash congur en mode Emacs. Si vous tra-
vaillez sous X, il se peut que X interfre avec une conguration correcte de bash. Si vous
travaillez dans le terminal de Gnome, vous devez aller dans dition > Raccourcis clavier,
puis cocher loption Dsactiver tous les raccourcis clavier des menus.
Raccourcis claviers de bash
W / Z navigue dans lhistorique des commandes
A / S dplace le curseur vers la droite ou vers la gauche
h j dplace le curseur au dbut ou la fin de la ligne
c+A c+E dplace le curseur au dbut ou la fin de la ligne
a+B a+F dplace le curseur dun mot vers larrire ou vers lavant
B D supprime le caractre prcdent ou courant
a+D supprime un mot
c+K supprime le reste de la ligne
Linux Livre Page 287 Mardi, 23. septembre 2008 1:05 13
LINUX 288
Coller le
dernier
paramtre
Le raccourci Alt+. est plus simple comprendre avec un exemple. Supposons que vous ayez
copi un chier (cp fichier1 fichier2). Vous voulez maintenant supprimer la copie. Plutt
que de taper rm fichier2, vous pouvez taper rm, puis Alt+.. bash rcupre alors automati-
quement le dernier paramtre de la commande. Plusieurs appuis sur Alt+. permettent de
naviguer dans lhistorique des paramtres.
Chercher une
commande
Ctrl+R requiert galement une explication supplmentaire. Ce raccourci permet de chercher
une commande dj saisie. Tapez, au dbut de la ligne, Ctrl+R et les premiers caractres de
la commande recherche. bash afche alors la dernire commande utilise qui commence
par les lettres saisies. Plusieurs appuis sur Ctrl+R permettent de passer entre les diffrentes
commandes correspondantes. Ctrl+S fonctionne comme Ctrl+R, mais passe les commandes
dans lordre inverse. Entre, Tab et les touches de direction interrompent la recherche et
lancent la commande ou modient la ligne trouve.
Certaines consoles comprennent Ctrl+S comme lordre darrter momentanment laffichage. Ctrl+Q red-
marre cet affichage. Si votre console linterprte ainsi, vous ne pouvez chercher des commandes quavec
Ctrl+R.
Les raccourcis clavier de bash proviennent de la bibliothque readline, utilise par bash pour traiter les
entres. Dautres raccourcis sont indiqus dans man readline.
Alias
La commande alias permet dconomiser quelques touches lorsquon saisit des comman-
des. Elle dnit des raccourcis. Lors du traitement de la ligne de commande, linterprteur
vrie si le premier mot est un alias. Si cest le cas, il est tendu au texte complet.
Les alias pour une combinaison de raccourcis ou des noms de chiers ne sont pas valides,
car bash ne cherche pas remplacer les autres termes de la ligne de commande. bash
reconnat cependant les cas particuliers o plusieurs programmes sont appels (tubes, substi-
tution de commande, excution de plusieurs commandes la suite avec ;) et remplace les
alias par les commandes correspondantes.
utilisateur$ alias cdb=cd ~michael/livrelinux
Cette commande dnit labrviation cdb qui me permet de passer rapidement dans un
rpertoire que jutilise beaucoup.
c+Y colle le dernier texte supprim
c+T change les deux caractres prcdents
a+T change les deux mots prcdents
t complte la commande ou le nom du fichier
c+L vide lcran
c+R cherche une commande lance prcdemment
a+. colle le dernier paramtre utilis
c+_ annule la dernire modification
Linux Livre Page 288 Mardi, 23. septembre 2008 1:05 13
289 BASH
Les appels alias peuvent galement tre imbriqus. Notez aussi que les raccourcis dnis
ont priorit sur les commandes du mme nom. On peut ainsi dnir des alias pour viter
lappel certaines commandes :
utilisateur$ alias more=less
Les alias peuvent tre supprims avec la commande unalias. Ils sont valables jusqu ce que
lutilisateur quitte linterprteur de commandes (donc, au plus tard, jusqu la dconnexion
de lutilisateur). Si vous utilisez frquemment certains alias, vous pouvez les ajouter dans
les chiers .profile et .bashrc de votre rpertoire personnel.
Dans de nombreuses distributions, divers alias sont prdnis. Par exemple, rm peut tre un
raccourci vers rm -i. La commande alias sans paramtre envoie la liste de toutes les com-
mandes dnies par alias. Les lignes suivantes indiquent quels endroits sont dnis les
alias sous Fedora, SUSE et Ubuntu :
Fedora /etc/bashrc /etc/profile.d/*.sh ~/.bashrc
SUSE /etc/bashrc.bashrc ~/.bashrc
Ubuntu /etc/bashrc ~/.bashrc
Les scripts shell permettent galement des applications comparables celles des alias. Ils
ont lavantage de comprendre les paramtres ($1, $2, etc.) et dtre plus souples.
19.4 Redirections
Lorsquon lance des commandes sous bash, il existe trois chiers spciaux. Il ne sagit pas
proprement parler de chiers en soi, mais de descripteurs de chiers qui sont grs par le
systme dexploitation comme des chiers.
Entre standard. Le programme dj lanc (par exemple, bash ou une commande dj
lance) lit ses entres depuis lentre standard. Il sagit gnralement du clavier.
Sortie standard. Toutes les sorties du programme (par exemple, la liste de tous les
chiers par ls) sont diriges vers la sortie standard. Il sagit gnralement de la fentre
de terminal ou de la console texte.
Erreur standard. Les messages derreur sont gnralement envoys sur lerreur standard,
qui bien souvent safche sur le terminal courant.
Tout cela semble vident si ce ntait pas le cas, o devraient tre envoys les saisies du
clavier, les rsultats et les messages derreur, sinon sur lcran ? Il faut cependant remarquer
que lon peut rediriger la sortie ou lentre standard.
Par exemple, supposons que vous ne souhaitiez pas afcher le contenu dun rpertoire,
mais lenregistrer dans un chier. La sortie standard doit alors tre redirige dans un vrai
chier. Dans bash, on utilise pour cela le caractre > :
utilisateur$ ls *.tex > liste
Le chier liste contient aprs cette commande une liste de tous les chiers *.tex du rper-
toire courant. Ce type de redirection est probablement le plus courant. Il en existe plusieurs
Linux Livre Page 289 Mardi, 23. septembre 2008 1:05 13
LINUX 290
variantes : 2> fichier enregistre tous les messages derreur dans le chier indiqu. >& fichier
et &> fichier enregistrent la sortie et les messages derreur dune commande dans le chier
indiqu. Loprateur double >> signie que les lments sont ajouts la n dun chier dj
existant (> crase le chier).
Les entres sont rediriges avec le caractre < fichier : les commandes qui attendent une
saisie au clavier peuvent lire le chier la place de cette saisie.
On ne peut pas traiter un fichier et crire le rsultat en mme temps dans ce mme fichier ! sort
fichier > fichier ou sort < fichier > fichier nont pour seul effet que de vider le fichier !
Tubes
Les tubes, ou pipes, sont construits avec le caractre |. La sortie de la premire commande est
alors fournie comme entre de la seconde. En pratique, les tubes sont souvent utiliss avec
la commande less, an dafcher de longs rsultats page par page.
utilisateur$ ls -l |less
La commande ci-dessus envoie le contenu de la commande dans un tube. La commande
less lit dans ce tube et afche le rsultat lcran.
Les tubes sont galement trs pratiques pour combiner plusieurs commandes. Par exemple,
la commande suivante afche une liste trie de tous les paquetages RPM installs :
utilisateur$ rpm -qa |sort
la place des tubes, vous pouvez aussi utiliser des chiers FIFO. FIFO signie rst in, rst
out (premier entr, premier sorti) et ralise un tube sous la forme dun chier nomm. Ces
chiers sont bien plus lourds que les tubes, mais ils rendent clair leffet exact dun tube. En
pratique, ils sont utiliss pour que deux programmes indpendants puissent communiquer.
utilisateur$ mkfifo fifo
utilisateur$ ls -l > fifo &
utilisateur$ less < fifo
Les trois commandes ci-dessus crent un chier FIFO. ls est ensuite lanc comme processus
darrire-plan. Il crit ses rsultats dans le chier. less lit dans ce chier les donnes et les
afche lcran.
Les tubes ne sont indiqus que lorsque les commandes lisent leurs entres sur lentre standard. Si ce nest
pas le cas, vous pouvez obtenir des rsultats similaires grce des substitutions de commandes ou grce
xargs.
Multiplication des sorties avec tee
De temps en temps, on souhaite enregistrer la sortie dun programme dans deux chiers dif-
frents ou afcher la sortie tout en lenregistrant. Il est dans ce cas ncessaire de ddoubler
la sortie. Cest ce que fait la commande tee :
utilisateur$ ls |tee liste
Linux Livre Page 290 Mardi, 23. septembre 2008 1:05 13
291 BASH
Cette commande afche le contenu du rpertoire lcran et lenregistre dans le chier
liste. La sortie standard est redirige vers la commande tee. Par dfaut, cette commande
afche la sortie standard sur le terminal et enregistre une copie dans le chier indiqu. Vous
pouvez voir quil sagit effectivement dune multiplication des sorties si vous redirigez la
sortie standard de tee dans un chier :
utilisateur$ ls |tee liste1 > liste2
Il en rsulte deux chiers identiques liste1 et liste2. La commande ci-dessus est un simple
exemple. Il peut tre plus dlicat, mais plus utile, de comprendre lexemple suivant :
utilisateur$ ls -l |tee liste1 |sort -k 5 -n > liste2
liste1 contient le contenu "normal" du rpertoire renvoy et tri par ls. La copie de cette
sortie est redirige vers sort qui la trie selon la taille du chier (cinquime colonne) et lenre-
gistre dans le chier liste2.
Rsum de la syntaxe
19.5 Lancer des commandes
Le plus courant pour lancer une commande est de saisir son nom. Vous pouvez indiquer de
nombreux caractres spciaux, valus par bash avant quil ne lance effectivement la com-
mande. Ainsi, vous pouvez lancer des commandes en arrire-plan, dsigner plusieurs noms
de chiers similaires grce des caractres joker (par exemple *.tex), passer le rsultat
dune commande dans la liste de paramtres dune autre commande, etc.
Tches de fond Le caractre spcial le plus courant et le plus important est &. Lorsquil se trouve la n
dune ligne de commande, bash dmarre le programme concern en tche de fond. Cest
particulirement pertinent pour les programmes dont lexcution est longue, car vous
Redirections dentres et de sorties
commande > fichier envoie la sortie standard de commande dans fichier
commande < fichier lit lentre standard de commande dans fichier
commande 2> fichier enregistre les messages derreur de commande dans fichier
commande >& fichier redirige la sortie standard et les messages derreur
commande &> fichier redirige la sortie standard et les messages derreur
commande >> fichier ajoute la sortie standard un fichier existant
commande1 | commande 2 envoie la sortie standard de commande1 lentre standard de commande2
commande | tee fichier affiche la sortie et enregistre le rsultat dansfichier
Linux Livre Page 291 Mardi, 23. septembre 2008 1:05 13
LINUX 292
pouvez immdiatement reprendre la main sur le terminal, sans attendre que la commande
soit termine.
utilisateur$ find / -name *sh > resultat &
[1] 334
La commande ci-dessus cherche, dans tout le systme de chiers, des chiers dont le nom se
termine par les lettres "sh". La liste est enregistre dans le chier resultat. Comme la com-
mande est lance en tche de fond, le terminal rend la main immdiatement. [1] 334 signi-
e que la tche de fond a pour identiant de processus 334. Ce numro peut tre utile pour
terminer prmaturment la tche avec kill. Le numro entre crochets indique le numro du
processus en tche de fond dans linterprteur de commandes courant, ce qui na gnralement
aucun intrt.
Si vous avez oubli le caractre &, vous pouvez passer le programme en tche de fond rtrospectivement. Pour
cela, interrompez le programme avec Ctrl+Z et relancez-le avec bg.
Lancer
plusieurs
commandes
On peut aussi ajouter une commande aprs le caractre &. Dans ce cas, la premire tche est
lance en arrire-plan et la seconde au premier plan. Lexemple suivant rutilise la com-
mande find dcrite ci-dessus, mais on afche cette fois-ci le contenu du rpertoire courant
avec ls :
utilsateur$ find / -name *sh > resultat & ls
Si on saisit un point-virgule la place de &, les commandes sont lances lune aprs lautre
en avant-plan :
utilisateur$ ls; date
La commande afche le contenu du rpertoire, puis la date. Pour rediriger lensemble de ces
informations dans un chier, les deux commandes doivent tre regroupes entre paren-
thses. Elles sont alors lances dans un mme shell (sans parenthses, un nouveau shell est
lanc pour chaque commande).
utilisateur$ (ls; date) > fichier
fichier contient maintenant la liste de chiers fournie par ls, ainsi que la date fournie par
date.
Les oprateurs && et || servent lancer des commandes en fonction du rsultat dune autre
commande.
utilisateur$ commande1 && commande2
Cette ligne lance dabord commande1. Si cette commande fonctionne sans problme (pas
derreur, code de retour 0), commande2 est lance.
linverse, dans la ligne qui suit, commande2 nest lance que si commande1 renvoie une
erreur (code de retour diffrent de 0) :
utilisateur$ commande1 || commande2
Linux Livre Page 292 Mardi, 23. septembre 2008 1:05 13
293 BASH
La commande if prsente des possibilits supplmentaires pour construire et enchaner des
commandes. Elle nest cependant rellement utile qu ceux qui sintressent la program-
mation shell.
19.6 Mcanismes de substitution
Le concept de mcanismes de substitution semble abstrait et compliqu. Lide de base est
que les commandes construites avec des caractres spciaux sont remplaces par leurs
rsultats. Dans le cas le plus simple, cela signie que, dans ls *.tex, *.tex est remplac par
la liste des chiers correspondants. Alors, la commande ls ne reoit pas *.tex, mais une
liste de noms de chiers rels.
Cette section vise rsumer les principaux mcanismes dinterprtation de la ligne de com-
mande : les caractres jokers, les accolades pour rsumer des chanes de caractres, les crochets
pour effectuer des calculs, les apostrophes inverses pour la substitution de commandes,
etc.
Construction
de noms de
fichiers avec
les caractres
joker
bash est responsable du fait que, lorsque vous saisissez rm *~, tous les chiers qui se termi-
nent par ~ sont supprims. Linterprteur de commandes parcourt le rpertoire courant et
remplace *~ par les noms de chiers correspondants.
Les caractres jokers autoriss sont ? (exactement un caractre) et * (nombre arbitraire de
caractres arbitraires, y compris 0). La chane de caractres [a, b, e-h]* reprsente des
noms de chiers qui commencent par les lettres a, b, e, f, g ou h. Si llment entre crochets
est prx de ^ ou de !, tous les caractres lexception de ceux qui se trouvent entre cro-
chets sont considrs. ~ est galement utilis comme raccourci pour le rpertoire personnel.
Les fonctions des caractres spciaux se testent facilement avec echo. La premire com-
mande afche tous les chiers et dossiers du rpertoire racine. La seconde restreint la sortie
aux chiers et dossiers qui commencent par les lettres a f :
utilisateur$ echo /*
/bin /boot /dev /etc /home /lib /lost+found /media /misc /mnt /net /opt
/proc /root /sbin /selinux /srv /sys /tmp /usr /var
utilisateur$ echo /[a-f]*
/bin /boot /dev /etc
Lancer des commandes
commande1; commande 2 lance les deux commandes lune aprs lautre
commande1 && commande2 lance commande2 si commande1 sest bien droule
commande1 || commande 2 lance commande2 si commande1 ne sest pas bien droule
commande & lance commande en tche de fond
commande1 & commande2 lance commande1 en tche de fond et commande2 en avant-plan
(commande1; commande2) lance les deux commandes dans le mme shell
Linux Livre Page 293 Mardi, 23. septembre 2008 1:05 13
LINUX 294
Comme la construction des noms de chiers nest pas gre par les diffrents programmes,
mais par bash, les rsultats peuvent tre diffrents de ce quoi vous vous attendez. Par
exemple, ls * afche une liste sans n de chiers, mme lorsque le dossier courant nen
contient que quelques-uns. La commande ls reoit une liste de chiers et de rpertoires.
Mais lorsquon lui passe un nom de rpertoire, elle afche le contenu complet de ce rper-
toire ! Si vous dsirez afcher une liste de tous les chiers et rpertoires correspondant un
motif, vous devez passer loption -d. Celle-ci cache le contenu des rpertoires passs en
paramtre.
Pour savoir comment bash fonctionne en interne, lancez la commande set -x. bash afche
alors, avant de lancer toute commande, comment la commande est value, ventuellement
avec les options et tous les noms de chiers tendus.
Construction
de chanes
avec {}
bash compose toutes les combinaisons de chanes possibles avec les chanes quil reoit entre
accolades. partie{1,2a,2b} est donc tendu en partie1 partie2a partie2b. Lextension
daccolades conomise de la saisie lorsquon accde des chiers qui ont des noms similaires.
Par rapport des caractres joker comme ? ou *, les accolades ont lavantage de construire
galement des noms de chiers qui nexistent pas encore, ce qui est pratique, par exemple
pour mkdir.
utilisateur$ echo {a,b}{1,2,3}
a1 a2 a3 b1 b2 b3
utilisateur$ echo {ab,cd}{123,456,789}-{I,II}
ab123-I ab123-II ab456-I ab456-II ab789-I ab789-II
cd123-I cd123-II cd456-I cd456-II cd789-I cd789-II
Depuis Bash 3.0, la syntaxe {a..b} est valide, o a et b sont des chiffres ou des lettres. Les
exemples suivants expliquent le fonctionnement de cette syntaxe :
utilisateur$ echo {1..5}
1 2 3 4 5
utilisateur$ echo {z..t}
z y x w v u t
Calcul
dexpressions
arithmtiques
avec []
Normalement, bash ne sait pas faire de calculs. Par exemple, lorsquon saisit 2+3, il faut
les entourer de crochets et les prxer dun caractre $ pour que linterprteur effectue le
calcul :
utilisateur$ echo $[2+3]
5
Dans les crochets, la plupart des oprateurs de C sont autoriss : +, -, *, et / pour les quatre
oprations de base, % pour le modulo, ==, !=, <, <=, >, >= pour la comparaison, << et >> pour
les dcalages de bits, !, && et || pour les NON, ET et OU logiques, etc. Ces oprateurs sont
valables pour des entiers sur 32 bits (nombres entre +/- 2147483648).
La commande expr fournit une autre mthode pour effectuer des calculs. Il sagit dune
commande Linux indpendante de bash.
Substitution
de commandes
La substitution de commandes permet de passer le rsultat dune commande lintrieur
dune autre commande. Cette commande doit tre entoure de deux caractres `. $(com-
mande) est une syntaxe alternative. Celle-ci est prfrable pour viter la confusion avec
dautres caractres (par exemple " ou ) et entrelacer des commandes.
Linux Livre Page 294 Mardi, 23. septembre 2008 1:05 13
295 BASH
La commande considre est donc remplace par son rsultat. Cette substitution permet
dentrelacer lappel de plusieurs commandes, o chaque commande renvoie son rsultat
dautres commandes. Les deux commandes identiques suivantes claircissent ce mcanisme
trs puissant :
utilisateur$ ls -lgo `find /usr/share -name *README*`
utilisateur$ ls -lgo $(find /usr/share -name *README*)
find /usr/share -name *README* est la premire commande excute. Son rsultat est
une liste de tous les chiers qui contiennent la chane README dans leur nom dans le rper-
toire /usr/share. Cette liste remplace la commande find dans la commande originale.
La commande devient donc :
utilisateur$ ls -lgo /usr/share/a2ps/ppd/README \
> /usr/share/a2ps/README ...
Cette commande renvoie le rsultat suivant :
-rw-r--r-- 1 301 15. Feb 12:30 /usr/share/a2ps/ppd/README
-rw-r--r-- 1 1029 15. Feb 12:30 /usr/share/a2ps/README
...
Il ne serait pas possible dobtenir ce rsultat avec un simple tube. ls nattend pas une entre
sur lentre standard et ignore donc linformation renvoye par find sur un tube. La com-
mande find /usr/share -name *README* |ls -l ne fonctionne pas ; elle afche le rsultat
du rpertoire courant.
Il existe cependant une autre solution qui ne fait pas appel la substitution de commandes.
xargs transforme les donnes de lentre standard en paramtres de la commande donne
en argument de xargs. Le rsultat prcdent sobtient donc galement avec :
utilisateur$ find /usr/share -name *README* | xargs ls -l
xargs prsente galement un avantage du fait quil existe une limite de taille des donnes
traiter. xargs appelle en effet la commande plusieurs fois et passe les arguments de lentre
standard en plusieurs tapes. La substitution est limite par la taille maximale dune ligne
de commande (gnralement plusieurs milliers de signes).
Les noms de chiers contenant des espaces posent problmes. Pour les viter, passez find
loption -print0 et xargs loption --null.
Caractres
joker dans des
chanes de
caractres
Comme presque tous les caractres, lexception des chiffres et des lettres, ont une signica-
tion particulire pour bash, il semble impossible de les utiliser dans des chanes de caract-
res ou des noms de chiers. Ce problme est rsolu par deux mthodes. Le caractre spcial
peut tre prx dune barre oblique inverse (\) ou la chane complte peut tre encadre
par des apostrophes ou des guillemets. La commande suivante permet ainsi de supprimer
les chiers nomms ab* et $cd :
utilisateur$ rm ab* $cd
Notez la diffrence entre les caractres ` et !
Linux Livre Page 295 Mardi, 23. septembre 2008 1:05 13
LINUX 296
Les guillemets ont un comportement diffrent des apostrophes. Ils sont moins restrictifs
et interprtent certains caractres spciaux, en loccurrence $, \ et `. Une chane de carac-
tres entoure de guillemets verra ainsi les variables du shell qui sy trouvent tendues :
utilisateur$ echo "Ceci est le chemin daccs : $PATH"
Ceci est le chemin daccs : /usr/local/bin::/usr/bin:/bin:/usr/bin/X11:/usr/
games
Si, la place des guillemets, on utilise des apostrophes, la chane safche sans transfor-
mation.
Mcanismes de substitution
Caractres joker pour les noms de fichiers
? exactement un caractre arbitraire
* nombre arbitraire (y compris 0) de caractres arbitraires (mais pas de fichiers
.*)
[abc] un des caractres entre crochets
[a-f] un des caractres de lintervalle
[!abc] aucun des caractres entre crochets
[^abc] aucun des caractres entre crochets
~ rpertoire personnel
. rpertoire courant
.. rpertoire parent
Construction de chanes
ab{1,2,3} renvoie ab1 ab2 ab3
a{1..4} renvoie a1 a2 a3 a4
Arithmtique
$[3*4] calcul, renvoie 12
Substitution de commandes
`commande` remplace la commande par son rsultat
$(commande) remplace la commande par son rsultat
Analyse de chanes de caractres
commande "chane" empche lanalyse des caractres spciaux
commande chane empche lanalyse de caractres spciaux (plus restrictif)
Linux Livre Page 296 Mardi, 23. septembre 2008 1:05 13
297 BASH
19.7 Variables
Les fonctionnalits de bash et de nombreux autres programmes sont dnies par des varia-
bles du shell. Elles sont comparables celles dautres langages de programmation, ceci
prs quelles ne peuvent contenir que des chanes de caractres. On assigne une variable
avec loprateur dassignation =. Pour afcher le contenu dune variable, le plus simple est
dutiliser echo, suivi du nom de la variable prx dun $ :
utilisateur$ var=abc
utilisateur$ echo $var
abc
Lorsque la valeur de la variable contient des espaces ou dautres caractres spciaux, il faut
lentourer dapostrophes ou de guillemets :
utilisateur$ var=abc efg
On peut concatner les variables les unes aux autres en les assignant. Lexemple suivant
dnit une variable a contenant son ancienne valeur, suivie de la chane xxx et de son
ancienne valeur :
utilisateur$ a=3
utilisateur$ a=$axxx$a
utilisateur$ echo $a
3xxx3
Lexemple suivant tend la variable PATH (qui contient tous les rpertoires parcourus pour
chercher un programme excuter) du sous-rpertoire bin du rpertoire personnel. Cela
permet de lancer les commandes qui sy trouvent sans devoir saisir le chemin complet.
utilisateur$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin
utilisateur$ PATH=$PATH:/home/michael/bin
utilisateur$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/michael/bin
Pour effectuer des calculs, utilisez les crochets :
utilisateur$ a=3
utilisateur$ a=$[$a*4]
utilisateur$ echo $a
12
Lorsque le rsultat dune commande doit tre enregistr dans une commande, utilisez la
substitution de commandes, comme $(commande). Lexemple suivant enregistre le rpertoire
courant dans la variable a :
utilisateur$ a=$(pwd)
utilisateur$ echo $a
/home/michael
Linux Livre Page 297 Mardi, 23. septembre 2008 1:05 13
LINUX 298
Le contenu de la variable nest enregistr que dans linterprteur courant. Les variables sont
perdues lorsque vous quittez le shell (au plus tard lorsque vous teignez lordinateur).
Pour enregistrer certaines variables de manire permanente, ajoutez-les /etc/profile ou
~/.profile. Ces deux chiers sont excuts au dmarrage de bash.
Pour enregistrer le contenu dune variable dans un chier, le plus simple est de rediriger la
sortie de echo :
utilisateur$ echo $var > fichier
Variables locales et globales (variables denvironnement)
Les concepts de variables locales et globales sont emprunts au monde de la programma-
tion. Une variable shell est considre comme globale lorsquelle est relaye lors du dmar-
rage dune commande ou dun programme. Les variables globales sont aussi souvent
appeles variables denvironnement.
Les variables simplement assignes sont des variables locales. Pour dnir des variables
globales, il faut appeler export ou declare -x.
Il existe de nombreuses commandes pour grer les variables et certaines fonctionnalits sont
fournies par plusieurs commandes. Les exemples suivants essaient dexpliquer le compor-
tement de ces commandes :
a=3 raccourci pour let, a est une variable locale
declare a=3 donne la variable locale a la valeur 3 (comme let)
declare -x a=3 donne la variable globale a la valeur 3 (comme export)
export afche toutes les variables globales
export a fait de a une variable globale
export a=3 donne la variable globale a la valeur 3
let a=3 donne la variable locale a la valeur 3
printenv afche, comme export, toutes les variables globales
set afche toutes les variables (locales et globales)
unset a supprime la variable a
Si vous dfinissez des variables pour quelles modifient le comportement dautres commandes, ces variables
doivent toujours tre globales. Pour quelles exploitent le mcanisme de substitution du shell et pour dclarer
des variables globales, vous devez assigner les variables avec x=... et les dfinir comme globales avec
export x.
Lattribution des variables nest valable que pour un seul shell. Si vous travaillez dans plusieurs terminaux ou
fentres de terminal, les shells qui sy trouvent sont indpendants les uns des autres. Modifier la valeur
dune variable dans un shell na aucune influence sur sa valeur dans un autre shell. Vous pouvez dfinir les
variables frquemment utilises dans votre fichier .profile, excut chaque dmarrage de linterprteur de
commandes.
Linux Livre Page 298 Mardi, 23. septembre 2008 1:05 13
299 BASH
Variables importantes
En principe, vous pouvez dnir autant de variables arbitraires que vous le souhaitez. Il est
cependant prfrable dviter les noms de variables prdnis, souvent utiliss par bash et
dautres commandes. Modier ces variables sans contrle peut entraner des problmes
dans le traitement de commandes, dans la recherche de chiers, etc. Cette liste dcrit les
principales variables de linterprteur de commandes dans lordre alphabtique.
BASH contient le nom de chier de bash.
glob_dot_filenames dnit lextension des caractres Joker : si la variable existe (et a
une valeur arbitraire), * renvoie galement les chiers qui commencent par un .. unset
glob_dot_filenames supprime ce comportement.
HOME contient le chemin du rpertoire personnel, par exemple /home/michael.
LOGNAME contient lidentiant de connexion (nom de lutilisateur).
HOSTNAME contient le nom dhte (nom de lordinateur).
MAIL contient le chemin du rpertoire o sont enregistrs les courriers lectroniques
lorsquils arrivent.
MANPATH contient le chemin de tous les rpertoires o se trouvent des pages de manuel.
OLDPATH contient le chemin du dernier rpertoire actif.
PATH contient une liste de rpertoires. Lorsque bash doit lancer une commande, il la
cherche dans tous les rpertoires numrs dans PATH. Les rpertoires sont spars par
des caractres deux-points.
PATH est dni dans /etc/profile. Pour ajouter un rpertoire PATH, modiez /etc/
profile avec une ligne de cette forme :
PATH=$PATH:/opt/kde/bin
Pour des raisons de scurit (viter lexcution de programmes malicieux dans le rper-
toire courant), PATH ne contient gnralement pas le rpertoire courant. Si vous souhai-
tez lancer des programmes du rpertoire courant sans avoir taper ./, ajoutez . la
variable PATH.
PROMPT_COMMAND peut contenir une commande lance avant chaque afchage de linvite
de commande par bash.
PS1 contient une chane de caractres, dont le contenu safche chaque dbut de ligne
(invite de commande). Cette chane comprend, entre autres, les combinaisons suivan-
tes : \t indique lheure, \d la date, \w le rpertoire courant, \W la dernire partie du
rpertoire courant (soit X11 pour /usr/bin/X11), \u le nom dutilisateur, \h le nom de
lordinateur et \$ le caractre dinvite ($ pour un utilisateur standard, # pour root)
PS2 contient la chane de caractres afche aux lignes suivant la premire dans les com-
mandes en plusieurs lignes (par exemple, lorsque la premire ligne se termine par \). Sa
valeur classique est ">".
PWD contient le nom du rpertoire courant.
Linux Livre Page 299 Mardi, 23. septembre 2008 1:05 13
LINUX 300
En plus des variables dcrites dans cette section, il existe dinnombrables variables denvi-
ronnement, dnies par le shell ou les diffrents programmes. Vous pouvez en afcher la
liste avec printenv | sort.
19.8 Programmation shell
Les programmes shell sont de simples chiers texte qui contiennent quelques commandes
Linux ou bash. Quand on dmarre un tel programme, les commandes qui sy trouvent sont
excutes dans lordre. Les programmes shell peuvent avoir des paramtres, quils sont
capables dvaluer.
Comme lexcution de quelques commandes ne permet pas vraiment dexcuter des tches
complexes, bash dispose dexpressions conditionnelles et de boucles. Il sagit donc dun
vrai langage de programmation pour lequel vous navez besoin ni dun compilateur, ni de
connaissances en C.
Les applications typiques des programmes shell sont lautomatisation de suites de comman-
des frquentes pour installer des programmes, administrer le systme, grer des sauvegardes,
congurer et lancer des programmes, etc.
Nous nentrerons pas ici dans les dtails du langage. Les lecteurs intresss peuvent se
reporter lexcellente traduction du Advanced Bash Scripting Guide (Guide avanc dcriture
des scripts Bash), disponible ladresse http://abs.traduc.org/.
Linux Livre Page 300 Mardi, 23. septembre 2008 1:05 13
PARTIE 4 CONFIGURATION ET ADMINISTRATION
DU SYSTME
20
Configuration de base
Ce chapitre est le premier dune longue srie traitant des diffrents aspects de la
conguration de Linux. Aprs avoir donn quelques informations introductives,
nous y prsenterons les fonctions lmentaires suivantes :
la conguration des consoles en mode texte ;
le paramtrage de la date et de lheure ;
ladministration des utilisateurs ;
linternationalisation, les jeux de caractres, Unicode ;
une synthse rapide sur la conguration du matriel ;
les rouages internes de la gestion du matriel ;
les chiers de journalisation.
Les chapitres suivants sintresseront la gestion des paquetages, ladministra-
tion des bibliothques systme, la conguration du systme graphique (X),
ladministration du systme de chiers, lamorage (GRUB, Init-V) ainsi que la
gestion du noyau et de ses modules.
20.1 Introduction
Ce chapitre ainsi que ceux qui suivent vous offrent un aperu de ce que rali-
sent, en coulisses, les programmes de conguration de Linux. Vous devez com-
prendre tous les tenants et aboutissants de la conguration. Par consquent,
vous trouverez dans ce chapitre une grande quantit dinformations de fond
sur le fonctionnement du systme dans son ensemble.
Malheureusement, les diffrentes distributions se distinguent par de nombreux
dtails de conguration. Dans cet ouvrage, je tente de dcrire les points com-
muns au plus grand nombre de systmes Linux possible. Il se peut toutefois que
votre distribution prsente justement quelques dtails lgrement diffrents de
ce que vous aurez lu ici. Dans de tels cas, pensez jeter un coup dil la docu-
mentation.
Mme si cela peut vous sembler dun certain inconfort, je reste nanmoins per-
suad quil est prfrable de proposer des solutions gnriques plutt quun
livre sur ladministration de Red Hat, un autre pour ladministration de SUSE,
etc. Cest dautant plus vrai que les distributions individuelles changent dune
version lautre. Vous devrez galement apprendre, dune faon ou dune
autre, consulter et comprendre par vous-mme les pages de manuels, daide
en ligne, qui sont bien souvent disponibles seulement en anglais. Ce livre ne
Linux Livre Page 301 Mardi, 23. septembre 2008 1:05 13
LINUX 302
remplacera pas le manuel dorigine ou des tutoriels pas pas, mais il vise vous donner des
connaissances fondamentales.
Mais o est
ladminis-
trateur
systme ?
Jusqu prsent, celui que lon nomme "ladministrateur systme" tait peut-tre une per-
sonne anonyme qui vous venait en aide occasionnellement (souvent contrainte et surchar-
ge de travail). Si vous ne travaillez pas dans une grande entreprise, ladministrateur nest
bien souvent quun concept abstrait issu douvrages ayant pour devise "si quelque chose ne
fonctionne plus, consultez votre administrateur systme".
Si vous avez install vous-mme Linux sur votre ordinateur, ce point de vue change lg-
rement : vous tes vous-mme ladministrateur systme ! Toutefois, que cette ide ne
vous effraie pas : ladministrateur systme est tout simplement la personne responsable
de la conguration de lordinateur. Tant quil sagit de fonctions de base de Linux, ce peut
tre nimporte qui ! Il est toutefois naturel, de temps autre, de devoir jeter un il dans cet
ouvrage ou toute autre source dinformations sur Linux.
Outils de
configuration
La plupart des distributions proposent des programmes de conguration dun grand
confort que vous pouvez utiliser aussi bien pendant quaprs linstallation : drakconf sous
Mandriva, divers programmes dnomms system-xxx sous Red Hat, YaST sous SUSE, etc.
En cas de problme de conguration, vous devez toujours faire appel en premier lieu ces
outils ! Ils sont optimiss spcialement pour votre distribution et vous pargnent bien du
travail et des difcults.
Outre ces outils de conguration spciques une distribution, il existe galement des pro-
grammes indpendants de toute distribution. Leur reprsentant le plus populaire lheure
actuelle est Webmin. Il prsente en outre un avantage de taille : intgralement utilisable via
une interface web, il est donc idal pour ladministration distante.
http://www.webmin.com/
Le programme eBox, relativement rcent, parat trs prometteur. Il est spcialement conu
pour ladministration des fonctionnalits rseau des systmes Debian :
http://www.ebox-platform.com/
Ces outils posent toutefois un problme : la socit ou lorganisation produisant votre distri-
bution ne sont pas directement responsables de leur maintenance. Les outils de congura-
tion indpendants dune distribution sont donc toujours lgrement en retard par rapport
aux nouvelles versions dune distribution et aux modications que celle-ci introduit.
Administration
rseau
Jusqu prsent, je suis parti du principe que vous souhaitiez congurer un ordinateur indi-
viduel (lordinateur local). Si votre travail dadministrateur consiste grer des centaines
dordinateurs sous Linux, les outils de conguration prsents ci-dessus sont pour le moins
inefcaces. leur place, vous aurez besoin de programmes permettant de congurer de
manire centralise un groupe dordinateurs la fois. Vous pourrez ainsi envisager sereine-
ment dinstaller sur tous les postes une nouvelle version dOpenOfce, dactiver de nouvel-
les rgles de pare-feu sur tous les ordinateurs directement connects Internet, etc.
La liste ci-aprs prsente un certain nombre de ces outils. Ils se diffrencient non seulement
au niveau des fonctionnalits proposes, mais galement et de faon assez marque par leur
cot. Il nest pas possible dentrer ici plus en dtail sur ces produits, pour des questions de
place mais aussi parce que je nai aucune exprience pratique de ces programmes.
http://www.redhat.com/rhn/ (Red Hat, commercial) ; http://www.novell.com/products/
zenworks/(Novell/SUSE, commercial) ; http://www.informatik.uni-koeln.de/fai/ (installation
Linux Livre Page 302 Mardi, 23. septembre 2008 1:05 13
303 CONFIGURATION DE BASE
automatique pour Debian, open-source) ; http://m23.sourceforge.net/ (administration et
conguration de Debian/Ubuntu, open-source) ; https://www.gosa-project.org/ (gestion
des comptes utilisateurs pour Debian, open-source).
Fichiers de
configuration
Les outils de conguration sophistiqus et dots dinterfaces graphiques agrables nont
pour but que de vous pargner la modication manuelle des chiers de conguration. Pour
le dbutant sous Linux, cest sans aucun doute trs pratique. Mais il existe bon nombre de
raisons de se familiariser avec ces chiers de conguration et, ainsi, avec les rouages internes
de Linux :
Les chiers de conguration peuvent tre modis avec nimporte quel diteur de texte,
mme lorsque vous travaillez avec une console en mode texte ou par ssh travers un
rseau. De nombreux programmes de conguration ne sont en revanche disponibles
quen mode graphique et uniquement pour une utilisation locale.
Ds que vous avez compris comment congurer une fonctionnalit particulire de
Linux, vous pouvez appliquer cette connaissance quasiment nimporte quelle autre
distribution Linux. Un outil de conguration graphique est, en revanche, spcique
une distribution.
Ce nest qu travers la modication directe des chiers de conguration que vous pou-
vez contrler tous les aspects dune fonctionnalit systme. Les outils de conguration
se limitent bien souvent un nombre restreint de dtails (les plus importants).
Les chiers de conguration peuvent tre copis dun ordinateur lautre. Cela peut
vous faire gagner un temps certain lorsque vous devez changer de distribution, procder
une installation complte de Linux sur un nouvel ordinateur, etc.
Plus vous comprenez comment sont construits les chiers de conguration et quelles
possibilits de contrle ils offrent, mieux vous comprenez Linux : votre ordinateur vous
apparatra alors dautant moins comme une "bote noire" dont les mcanismes internes
vous restent inaccessibles.
La plupart des chiers de conguration de Linux se trouvent dans le rpertoire /etc. Vous
trouverez par consquent dans lindex, la lettre E, une rfrence de tous les chiers de con-
guration prsents dans cet ouvrage.
Pour les programmes plus gros, les divers chiers de conguration devant collaborer sont
souvent rpartis dans des sous-rpertoires individuels. Par exemple, tous les chiers de confi-
guration du systme graphique X se trouvent dans le rpertoire /etc/X11. Certains sous-
rpertoires ont une signication particulire :
/etc/default chiers spciques la distribution (Debian, Ubuntu)
/etc/init.d ou /etc/rc.d systme InitV (amorage du systme, voir Chapitre 24)
/etc/sysconfig chiers spciques la distribution (Fedora, Red Hat, SUSE)
Il est par ailleurs judicieux de conserver une copie de sauvegarde de lensemble du rper-
toire /etc. De cette manire, vous pourrez vrier rapidement, aprs chaque modication,
ltat dorigine dun chier de conguration donn.
root# mkdir /etc-backup
root# cp -a /etc/* /etc-backup
Linux Livre Page 303 Mardi, 23. septembre 2008 1:05 13
LINUX 304
Lorsque vous modifiez les fichiers de configuration, veillez bien ce que la dernire ligne se termine elle
aussi par un retour chariot (touche Entre). De nombreux programmes Linux ne traitent pas correctement
les fichiers lorsque le caractre de fin de ligne manque sur la dernire ligne. Ceci vaut naturellement aussi
lorsque vous travaillez avec plusieurs diteurs de texte.
Rechercher des
fichiers de
configuration
Si vous ne parvenez pas trouver un chier de conguration donn dans votre distribution,
plusieurs causes sont envisageables : il est possible que les paquetages logiciels sous-jacents
ne soient tout simplement pas installs, ou les chiers de conguration se trouvent, sur
votre distribution, dans un autre rpertoire que celui attendu. Pour vos recherches, utilisez
les commandes suivantes (voir Annexe B) :
locate :
find :
grep :
La commande suivante montre comment vous pouvez rechercher dans le rpertoire /etc et
dans lensemble de ses sous-rpertoires tous les chiers dont le contenu (pas le nom du
chier) prsente le mot abcde :
root# cd /etc
root# find -type f -exec grep -q abcde {} \; -print
Durant la rdaction de cet ouvrage, jai rgulirement recherch dans la distribution x o se paramtrait la
fonctionnalit y ou lemplacement du programme z. Jaurais donc pu tre amen taper la commande ci-
dessus des centaines de fois mais, pour gagner du temps et mpargner cette rptition fastidieuse, jai
rdig le miniscript grepall pour prendre en charge cette tche. Reportez-vous au Chapitre 19 pour les
dtails relatifs ce script ainsi quune introduction la programmation Bash.
Activer une
nouvelle
configuration
Dans un certain nombre de programmes, les modications apportes au chier de congu-
ration ne prennent effet que lorsque vous relancez le programme ou que vous lui indiquez
explicitement de recharger le chier de conguration. Pour ce faire, vous aurez gnrale-
ment besoin de lune ou lautre des deux commandes suivantes (pour les dtails, reportez-
vous au Chapitre 14) :
root# /etc/init.d/nom_de_la_fonction restart
root# /etc/init.d/nom_de_la_fonction reload
Contrairement Windows, il nest pratiquement jamais ncessaire de redmarrer lordina-
teur. Les exceptions cette rgle ne concernent que des modications au noyau Linux ainsi
que certains paramtrages matriels spciques, qui ne peuvent tre appliqus quau
dmarrage du systme.
20.2 Configuration de la console en mode texte
Sur les distributions rcentes, Linux lance directement lenvironnement graphique et, bien
souvent, les dbutants ignorent quil existe galement une console en mode texte. Il se peut
toutefois que la conguration du systme X soit dfectueuse ou que, pour une raison
Linux Livre Page 304 Mardi, 23. septembre 2008 1:05 13
305 CONFIGURATION DE BASE
quelconque, aucun environnement graphique ne soit disponible. Sur de nombreuses instal-
lations de serveurs, cest mme un choix dlibr que de renoncer lenvironnement gra-
phique. Pour grer de tels cas, vous devrez vous tre familiaris avec la console texte
(reportez-vous galement au Chapitre 12).
Le systme responsable de paramtres lmentaires (du type conguration du clavier ou
police de caractres) dpend de la distribution : il sagira soit de loutil trs rpandu kbd, soit
du systme plus moderne console. Les sections suivantes commencent par dcrire ces deux
systmes avant de sintresser plus en dtail tous les autres paramtres (couleurs, prise en
charge de la souris) qui en dpendent.
Configuration de kbd (clavier, police)
loadkeys Loutil centralis pour la gestion du clavier est le programme loadkeys. Celui-ci charge une
table de correspondance entre le code clavier et le caractre associ. Pour la langue franaise,
linstallation devrait avoir mis en place la correspondance fr-latin1.map. Une variante en
est fr-latin1-nodeadkeys.map. La diffrence entre ces deux variantes rside dans la gestion
des caractres spciaux `, , ~ et ^ : dans la variante standard, ces caractres peuvent servir
gnrer des caractres trangers. Lorsque lon souhaite saisir le caractre lui-mme, on doit
ensuite appuyer sur la barre despace. Avec la variante nodeadkeys, le caractre apparat
immdiatement.
loadkeys charge la table de correspondance clavier souhaite partir du rpertoire /lib/
kbd/keymaps (sur Fedora, Red Hat) ou /usr/share/keymaps (sur SUSE). Les tables compresses
sont automatiquement dcompresses.
root# loadkeys fr-latin1
lamorage du systme, la table de correspondance clavier est charge par le script InitV
/etc/rc.d/rc.sysinit (Fedora, Red Hat) ou /etc/init.d/kbd (SUSE). Cest le chier de
conguration /etc/sysconfig/keyboard qui, dans ce cadre, dtermine quelle table est effec-
tivement charge.
setfont setfont charge une police de caractres pour la console. Les chiers sous-jacents associs se
trouvent dans le rpertoire /lib/kbd/consolefonts (Fedora, Red Hat) ou dans /usr/share/
kbd/consolefonts (SUSE). Ainsi, par exemple, iso01.16 est une police pour le jeu de carac-
tres ISO-Latin-A, dans laquelle chaque caractre est reprsent sur 16 pixels de hauteur.
iso01.08 et iso01.14 en sont des variantes prsentant respectivement chaque caractre sur
8 et 14 pixels de hauteur. Les caractres sont donc plus petits et vous pouvez ainsi afcher
davantage de lignes la fois.
root# setfont iso01.14
La mise en place de la police lamorage du systme dpend, comme bien souvent, de la
distribution. Dans le cas de Red Hat et de Fedora, /etc/rc.d/rc.sysinit appelle le script
/sbin/setsysfont. Celui-ci analyse alors le chier de conguration /etc/sysconfig/i18n.
Par dfaut, cest la police latarcyrheb-sun16 qui est utilise : outre les caractres latins
essentiels, elle comprend galement des caractres cyrilliques et hbraques.
Linux Livre Page 305 Mardi, 23. septembre 2008 1:05 13
LINUX 306
Dans le cas de SUSE, la police de la console est mise en place via /etc/init.d/kbd. Ce script
analyse /etc/sysconfig/console. Par dfaut, cest la police lat9w-16.psfu qui est utilise :
outre les caractres Latin-1, elle comprend galement le symbole Euro.
Fondamentalement, les consoles sont compatibles avec lUnicode. Nanmoins, le nombre
maximal de caractres possibles pour les polices de la console est trs restreint (256 ou 512).
Par consquent, les polices de console ne peuvent utiliser quune petite partie de lensemble
des caractres Unicode.
Configuration de la console (clavier, police)
Sur certaines distributions, en lieu et place de kbd est utilis le nouveau paquetage console
(console-setup, console-tools, etc.). Son avantage par rapport kbd est que les paramtres
contrlant la disposition du clavier sont communs avec lenvironnement graphique X (voir
aussi Chapitre 22).
Sur Ubuntu 7.04, le chier de conguration /etc/default/console-setup commande aussi
bien les paramtres du clavier que ceux de la police :
# /etc/default/console-setup
...
# Police
CHARMAP="UTF-8"
CODESET="Lat15"
FONTFACE="VGA"
FONTSIZE="16"
# Clavier
XKBMODEL="pc105"
XKBLAYOUT="fr"
XKBVARIANT=""
XKBOPTIONS="lv3:ralt_switch"
Ce chier est analys par le script /bin/setupcon, lui-mme excut deux fois lors de
lamorage du systme : une fois par le biais de /etc/init.d/keyboard-setup et une
seconde fois par le biais de /etc/init.d/console-setup.
Il est intressant de noter comment sont traites les quatre variables du clavier : elles sont
analyses par le script ckbcomp. Celui-ci gnre, partir des chiers de clavier X, une table
de correspondance pour le clavier qui est alors active comme avec kbd par le biais de la
commande loadkeys.
Configuration de gpm (souris)
Lutilisation de la souris nest envisageable quavec le systme X Window. Le programme
gpm permet toutefois une utilisation restreinte de la souris dans le cadre de la console texte :
en particulier, vous pouvez slectionner du texte avec le bouton gauche de la souris et lins-
rer lemplacement du curseur laide du bouton central ou du bouton droit. Attention,
toutefois, au fait que, dans la plupart des programmes de consoles, vous ne pouvez pas
modier lemplacement du curseur laide de la souris !
Linux Livre Page 306 Mardi, 23. septembre 2008 1:05 13
307 CONFIGURATION DE BASE
gpm est, en rgle gnrale, lanc par le processus InitV (voir Chapitre 24). La conguration
seffectue, suivant la distribution, dans /etc/gmp.conf ou dans /etc/sysconfig/mouse : le
plus souvent, il nest pas ncessaire de modier les paramtres par dfaut. Pour lancer
manuellement le programme, excutez la commande suivante :
root# /etc/init.d/gpm start
20.3 Date et heure
La plupart des distributions reposent sur des outils de conguration pour le paramtrage de
lheure et de la date systme :
Gnome time-admin
KDE Centre de conguration > module Administration du systme > Date et
heure
Debian, Ubuntu outils Gnome ou KDE
Red Hat / Fedora system-config-date
SUSE module YaST Systme > Fuseau horaire
Il est toutefois intressant de savoir comment lheure est gre en interne : lexistence
dun rseau informatique international impose dutiliser une heure de rfrence unie
au niveau mondial, savoir lheure GMT. Cet acronyme, correspondant Greenwich
Mean Time (heure du mridien de Greenwich), est la mesure de toute chose (a minima, du
temps) sur tous les ordinateurs Unix. On trouve galement lacronyme UTC (Universal
Time, Coordinated ou temps universel coordonn) pour reprsenter cette heure de rf-
rence.
Lorsque vous enregistrez un chier, cest donc non pas lheure locale courante qui est utili-
se, mais une heure calcule partir de ce standard international. Si vous afchez les dtails
des chiers laide de la commande ls -l, lheure denregistrement est convertie pour cor-
respondre au fuseau horaire local de lordinateur. Ceci permet donc didentier, parmi deux
chiers, lequel est le plus rcent : un chier enregistr 18 heures lheure locale de Munich
ou un chier enregistr 12 heures 30 lheure locale de New York.
Paramtrage
de lheure
lamorage de
lordinateur
Cest durant la premire phase du processus InitV (voir Chapitre 24) quest congure
lheure. Pour cela, la commande hwclock lit lheure dans la puce CMOS de votre ordinateur.
Celle-ci peut contenir soit lheure locale, soit lheure GMT. Si vous utilisez galement votre
ordinateur sous Windows, il est plus pratique que le CMOS fournisse lheure locale.
Sous Red Hat, Fedora et SUSE, le chier de conguration /etc/sysconfig/clock contient
des informations dterminant si lheure CMOS est lheure locale ou lheure GMT, ainsi
que le fuseau horaire dans lequel se trouve votre ordinateur. Sous Debian et Ubuntu,
cest le chier /etc/default/rcS qui indique si lheure CMOS est lheure locale ou lheure
GMT. /etc/timezone indique quant lui le fuseau horaire.
Linux Livre Page 307 Mardi, 23. septembre 2008 1:05 13
LINUX 308
Plutt que rcuprer lheure CMOS de votre ordinateur, notoirement imprcise, vous pouvez gale-
ment obtenir cette information de serveurs de temps beaucoup plus fiables hbergs soit sur Internet,
soit sur votre rseau local. Ceci prsuppose toutefois lexistence dune connexion permanente Inter-
net ou au serveur de temps local : cest la solution idale pour un ordinateur qui reste allum en per-
manence.
Paramtrage
du fuseau
horaire
Pour que les commandes du type ls, ou le gestionnaire de chiers de KDE ou Gnome, puissent
reconvertir lheure GMT vers lheure locale de lordinateur et lafcher, chaque programme
doit savoir dans quel fuseau horaire se trouve lordinateur.
La plupart des programmes Linux utilisent pour cela des fonctions de la bibliothque glibc.
Cette bibliothque consulte le chier /etc/localtime. Ce chier constitue en fait une copie
dun chier de fuseau horaire hberg dans le rpertoire /usr/share/zoneinfo. /etc/local-
time peut galement tre un lien symbolique vers un chier de fuseau horaire.
20.4 Utilisateurs et groupes, mots de passe
La gestion des utilisateurs consiste en premier lieu dnir quels utilisateurs ont accs
quels chiers, quels utilisateurs ont le droit dexcuter quels programmes, quels utilisateurs
ont accs quels composants matriels (chiers de priphriques), etc. Grer les utilisateurs
et les droits daccs est toujours obligatoire lorsque plusieurs personnes doivent travailler
sur un mme ordinateur. Des rgles sont indispensables pour dterminer dans quelles
conditions un utilisateur peut lire ou modier les donnes dun autre utilisateur.
Sous Linux, on gre cette n une liste des utilisateurs. De surcrot, chaque utilisateur se
voit affect au moins un groupe (mais, potentiellement, il peut tre affect plusieurs). Les
groupes servent autoriser laccs de plusieurs utilisateurs des chiers et programmes
communs.
Pour que la gestion des droits daccs fonctionne, avec chaque fichier sont enregistrs un propritaire, un
groupe propritaire ainsi que des droits daccs sous forme binaire. Du fait que les programmes sont gale-
ment des fichiers et que laccs aux composants matriels seffectue galement souvent par le biais des
fichiers de priphriques, ce mcanisme est trs gnrique.
Dans ce chapitre, nous naborderons que la gestion des utilisateurs et des groupes. Les consquences de
ce systme pour la gestion des fichiers et lexcution des processus sont abordes respectivement aux Cha-
pitres 13 et 14. Vous trouverez donc dans ces chapitres des informations de base sur lutilisation des droits
daccs binaires enregistrs avec chaque fichier. Vous y trouverez aussi des astuces pour excuter des pro-
grammes systme sans pour autant possder les droits de lutilisateur root.
Programmes
de confi-
guration
En principe, vous pouvez en tant quutilisateur root assurer la gestion manuelle de vos uti-
lisateurs si vous modiez directement les chiers dcrits dans cette section. Il est toutefois
plus confortable et plus sr de faire appel pour cela aux outils de gestion des utilisateurs et
des groupes fournis avec la plupart des distributions :
Linux Livre Page 308 Mardi, 23. septembre 2008 1:05 13
309 CONFIGURATION DE BASE
Gnome users-admin (outil de gnome-system-tools)
KDE Centre de conguration > module Administration du systme > Adminis-
tration des utilisateurs
Debian, Ubuntu outils Gnome ou KDE
Red Hat, Fedora system-config-users
SUSE module YaST Scurit > Utilisateurs et Scurit > Groupes
Commandes Si vous prfrez renoncer au confort des interfaces graphiques ou que vous souhaitiez auto-
matiser la gestion des utilisateurs par le biais de scripts, vous pouvez faire appel aux com-
mandes prsentes dans le tableau suivant. Vous trouverez lAnnexe B une brve rfrence
des options principales. Lexemple suivant montre comment crer un nouvel utilisateur
utilisateurtest et lui attribuer un mot de passe.
root# useradd -m utilisateurtest
root# passwd utilisateurtest
New passwd: xxx
Re-enter new passwd: xxx
Vous remarquerez trs certainement que, pour plusieurs tches, il existe deux commandes
diffrentes (par exemple adduser et useradd). adduser, addgroup, deluser et delgroup sont de
Commandes pour ladministration des utilisateurs et des groupes
adduser cre un nouvel utilisateur (Debian)
addgroup cre un nouveau groupe (Debian)
chgrp modifie le groupe propritaire dun fichier
chmod modifie les droits daccs binaires un fichier
chown modifie le propritaire dun fichier
chsh modifie le shell par dfaut dun utilisateur
delgroup supprime un groupe (Debian)
deluser supprime un utilisateur (Debian)
groupadd cre un nouveau groupe
groupdel supprime un groupe
groupmod modifie les proprits dun groupe
groups affiche les groupes auxquels appartient lutilisateur courant
id affiche les numros didentifiant de lutilisateur et du groupe courants
newgrp modifie le groupe auquel appartient lutilisateur
newusers cre plusieurs nouveaux utilisateurs la fois
passwd modifie le mot de passe dun utilisateur
useradd cre un nouvel utilisateur
userdel supprime un utilisateur
usermod modifie les proprits dun utilisateur
Linux Livre Page 309 Mardi, 23. septembre 2008 1:05 13
LINUX 310
fait des extensions spciques Debian pour les commandes dorigine useradd, groupadd,
etc. Sous Debian, Ubuntu et les autres distributions bases sur Debian, ces commandes
obissent aux rgles dnies dans /etc/adduser.conf et /etc/deluser.conf.
Red Hat et Fedora se chargent quant elles dajouter la confusion ambiante : les comman-
des adduser, addgroup, deluser et delgroup y sont galement disponibles. Toutefois, il sagit
non pas des mmes commandes que propose Debian, mais de liens vers useradd, groupadd,
userdel et groupdel. De ce fait, adduser possde sous Fedora la mme syntaxe que useradd
(mais une syntaxe diffrente de celle dadduser sous Debian !).
SUSE/Novell suit galement son propre chemin : les commandes adduser/-group et delu-
ser/-group ny sont pas disponibles. Au lieu de groupadd/-del/-mod et useradd/-del/-mod,
on y utilise une implmentation propre la distribution qui reste compatible avec les
commandes des autres distributions sur la plupart (mais non la totalit) des options.
Administration des utilisateurs
Sous Linux et, de faon gnrale, sur tout systme de type Unix, il existe trois types dutili-
sateurs :
Le superutilisateur (administrateur systme ou root). Cet utilisateur possde habituel-
lement le nom root. Tout utilisateur sidentiant en tant que root (naturellement, il faut
pour cela connatre le mot de passe root) possde des droits illimits : il ou elle peut lire,
modier, supprimer tout chier, excuter tout programme, etc. Des droits aussi tendus
ne sont ncessaires que pour ladministration du systme. Pour des raisons de scurit,
aucune autre tche ne doit tre ralise en tant que root !
Les utilisateurs usuels. Ces utilisateurs se servent de Linux pour travailler. Ils possdent
un accs illimit leurs propres chiers mais des droits daccs restreints sur le reste du
systme. Comme identiant de connexion, on utilise autant que possible le nom de luti-
lisateur (par exemple isabelle ou dupont).
Les utilisateurs systme pour les dmons et services. Enn, il existe toute une srie
dutilisateurs prvus non pas pour le travail interactif sur lordinateur mais pour lex-
cution de programmes spciques. Par exemple, le serveur web Apache est excut non
pas par lutilisateur root mais par un utilisateur propre dnomm suivant les distribu-
tions apache, wwwrun, httpd ou tout autre nom similaire. Ce fonctionnement permet de
tendre vers une scurit maximale du systme.
/etc/passwd La liste de tous les utilisateurs est enregistre dans le chier /etc/passwd. On y trouve, pour
chaque utilisateur, les identiants de connexion, le nom complet, les numros UID et GID, le
rpertoire personnel, ainsi que le shell par dfaut. Le format suivant est utilis :
NomDUtilisateur:MotDePasse:UID:GID:Nom:RepertoirePersonnel:Shell
Les lignes qui suivent illustrent quelques dnitions dutilisateurs dans le chier /etc/passwd
sous Ubuntu :
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
lp:x:7:7:lp:/var/spool/lpd:/bin/sh
Linux Livre Page 310 Mardi, 23. septembre 2008 1:05 13
311 CONFIGURATION DE BASE
mail:x:8:8:mail:/var/mail:/bin/sh
...
kofler:x:1000:1000:Michael Kofler,,,:/home/kofler:/bin/bash
huber:x:1001:1001:Herbert Huber,,,:/home/huber:/bin/bash
Le nom du chier, passwd, laisse penser que les mots de passe y sont galement enregis-
trs. Ce fut le cas par le pass mais, entre-temps, cest devenu plutt rare. Au lieu des mots
de passe, le chier /etc/passwd ne contient que le caractre x. Les informations de mot de
passe (naturellement chiffres) sont enregistres dans le chier distinct /etc/shadow.
Nom
dutilisateur
Le nom dutilisateur ne devrait tre constitu que de lettres minuscules (chiffres et lettres
US-ASCII) et ne doit pas dpasser huit caractres. Il est certes envisageable, en principe,
dutiliser des caractres non ASCII et de dpasser huit caractres, mais cela peut engendrer
des problmes avec certains programmes. Pour le nom complet, enregistr sparment, ces
restrictions nont pas cours.
UID et GID Le numro UID (User Identication ou identiant utilisateur) sert lidentication interne de
lutilisateur. Le numro est enregistr comme information supplmentaire avec chaque
chier de manire expliciter le propritaire du chier.
Il existe des rgles pour lattribution des numros UID : root possde toujours lidentiant
UID=0. Pour les services et dmons, les numros UID sont sur la plupart des distributions
compris entre 1 et 999 (Red Hat et Fedora, ainsi que quelques autres distributions, utilisent
encore les anciennes rgles dnissant un domaine de valeurs compris entre 1 et 499). Pour
les utilisateurs usuels, les numros didentiants sont par consquent attribus partir de
1 000 (500 sur Red Hat et Fedora).
Le numro GID (Group Identication ou identiant de groupe) indique quel groupe appartient
lutilisateur. La section suivante donnera plus dinformations sur les groupes.
Rpertoire
personnel
Le rpertoire personnel est lemplacement dans lequel un utilisateur peut enregistrer ses
donnes personnelles. Pour les utilisateurs usuels, ce rpertoire correspond habituellement
au chemin /home/nom_d_utilisateur. Dans le rpertoire personnel sont galement enregis-
trs les paramtres de conguration personnels de lutilisateur pour divers programmes.
Par exemple, le chier .emacs contient les paramtres de conguration pour lditeur
Emacs. Du fait que le nom de tels chiers de conguration commence la plupart du temps
par un point, ils sont invisibles. Vous pouvez toutefois les afcher avec la commande ls -la.
Pour que les nouveaux utilisateurs disposent immdiatement dune conguration standard
sense pour les programmes essentiels, on doit, la cration dun nouvel utilisateur, copier
tous les chiers du rpertoire /etc/skel vers le nouveau rpertoire personnel. De nombreux
programmes de cration dutilisateurs grent automatiquement cette tape. Le contenu de
/etc/skel reprsente donc la conguration par dfaut pour tout nouvel utilisateur.
Shell Le shell est un interprteur grce auquel lutilisateur peut, une fois connect, excuter des
commandes. Du fait que Linux propose diffrents interprteurs, vous devez en choisir un et
indiquer votre choix dans le chier passwd. Sous Linux, il sagit en gnral du shell bash, que
nous dcrivons en dtail au Chapitre 19. On doit indiquer dans le chier passwd le chemin
complet du shell, par exemple /bin/bash.
Linux Livre Page 311 Mardi, 23. septembre 2008 1:05 13
LINUX 312
Administration des groupes
Le but des groupes consiste autoriser pour plusieurs utilisateurs laccs conjoint certains
chiers. Pour ce faire, chaque utilisateur se voit affect un groupe primaire (initial group).
On peut galement laffecter autant de groupes supplmentaires (supplementary groups) que
souhait : il est alors membre de plusieurs groupes.
Le chier /etc/group contient la liste de tous les groupes. Les lignes qui suivent donnent un
exemple de dnitions de groupes dans /etc/group. Le format appliqu est le suivant :
NomDeGroupe:MotDePasse:GID:ListeDUtilisateurs
Les lignes qui suivent proviennent du chier group dun systme Ubuntu :
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:kofler
...
dialout:x:20:cupsys,kofler,huber
...
users:x:100:
admin:x:114:kofler
...
kofler:x:1000:
huber:x:1001:
...
La correspondance entre utilisateur et groupes seffectue de deux manires :
Le groupe primaire dun utilisateur est enregistr dans /etc/passwd. Pour lutilisateur
kofler, le groupe primaire est intitul kofler (GID 1000 dans le chier /etc/passwd).
Lappartenance dautres groupes est dtermine en renseignant le nom de lutilisateur
dans la dernire colonne du chier /etc/group. Ainsi, kofler appartient galement aux
groupes adm, admin et dialout. Ceci permet lutilisateur kofler de procder, sur un sys-
tme Ubuntu, des tches dadministration ainsi que dtablir une connexion Internet.
Au niveau des numros de GID, 0 est rserv lutilisateur root tandis que les valeurs de 1
99 sont prvues pour les services systme. Le GID 100 est normalement rserv au groupe
users. Les GID suprieurs 100 peuvent tre utiliss pour vos besoins propres.
Correspon-
dance entre
utilisateur et
groupe
primaire
Pour la correspondance entre les utilisateurs et leurs groupes primaires, il existe deux
stratgies :
La mthode classique, utilise depuis de nombreuses annes sur Unix/Linux, consiste
affecter tous les utilisateurs normaux au groupe primaire users. SUSE adopte cette
stratgie trs simple.
Les distributions base Debian, ainsi que Red Hat et Fedora, reposent sur un autre prin-
cipe : chaque utilisateur se voit attribuer son propre groupe primaire. Dans ce cas, pour
les utilisateurs kofler et huber, il existe deux groupes ponymes. Le groupe users ne
joue plus aucun rle.
Cette mthode prsente certains avantages dans des conditions particulires, par exem-
ple lorsque plusieurs membres dun groupe secondaire produisent des chiers communs.
Linux Livre Page 312 Mardi, 23. septembre 2008 1:05 13
313 CONFIGURATION DE BASE
On ne peut toutefois en tirer parti que dans le cadre dune administration systme
approprie.
Sur de nombreuses installations Linux o les groupes dutilisateurs nont, bien souvent,
aucun chier en commun ou qui utilisent pour la gestion de projets communs des outils
spcialiss du type CVS (Concurrent Versioning System), le choix du groupe primaire entre le
groupe commun users ou les noms dutilisateurs individuels na aucune importance.
Mots de passe
Les mots de passe Linux ne peuvent tre constitus que de caractres ASCII (aucun caractre
tranger nest autoris !). Pour des raisons de scurit, les mots de passe doivent contenir aussi
bien des majuscules que des minuscules, ainsi quau moins un chiffre.
Les mots de passe sont enregistrs sous Linux sous une forme chiffre qui ne permet aucune
reconstruction du mot de passe. Lalgorithme DES utilis pour cela ne prend en compte que
huit caractres, ce qui rend pour le moment inutile le choix de mots de passe plus longs. Ce
point pourra toutefois faire lobjet de changements lavenir. Le code chiffr ne permet au
systme que de tester si le mot de passe que vous avez saisi correspond celui enregistr.
Tapez man 3 crypt pour obtenir plus de dtails sur la procdure de chiffrement.
Les programmes permettant de "craquer" (cest--dire de dchiffrer) des mots de passe
empruntent le chemin inverse : ils testent tout simplement des millions de mots de passe ala-
toires (la plupart du temps des mots du dictionnaire combins avec des chiffres) pour voir si
le mot de passe chiffr correspond. Du fait que beaucoup dutilisateurs utilisent des mots
de passe trop simples et que les ordinateurs deviennent de plus en plus rapides, cette
mthode permet frquemment daboutir au rsultat souhait, ce qui est peu rassurant.
Pour compliquer quelque peu la vie des pirates cherchant accder votre systme,
dans les systmes Linux rcents le mot de passe chiffr est enregistr non plus directement dans
/etc/passwd mais dans le chier spar /etc/shadow. Lavantage est que ce chier peut tre
lu seulement par root (/etc/passwd et /etc/group doivent tre lisibles pour tous les utilisa-
teurs du systme car ils contiennent des informations dadministration de base ; avec /etc/
shadow, il suft en revanche que le chier soit accessible seulement aux programmes de vri-
cation et de modication des mots de passe ; un pirate tentant daccder votre ordinateur
doit donc tout dabord obtenir un accs root votre machine avant de pouvoir lire les mots
de passe chiffrs).
Pour le chier shadow, le format suivant est utilis :
NomDUtilisateur:MotDePasseChiffre:d1:d2:d3:d4:d5:d6:reserved
Les lignes qui suivent vous prsentent un extrait dun chier shadow :
root:$1$v/BiTkAA$o7ccAO18X0suOtXXNw3Qm1:13528:0:99999:7:::
daemon:*:13479:0:99999:7:::
bin:*:13479:0:99999:7:::
sys:*:13479:0:99999:7:::
...
kofler:$1$mT.09dkO$O69fx51MRPXVcNrgp05GK1:13479:0:99999:7:::
Linux Livre Page 313 Mardi, 23. septembre 2008 1:05 13
LINUX 314
d1 d6 Les champs d1 d6 peuvent contenir des indications de temps facultatives :
d1 indique la date de dernire modication du mot de passe (en nombre de jours couls
depuis le 01/01/1970).
d2 indique dans combien de jours le mot de passe doit tre modi.
d3 indique dans combien de jours au plus tard le mot de passe doit tre modi avant de
perdre sa validit (la commande man 5 shadow vous donnera plus de dtails sur les
champs).
d4 indique combien de jours avant lexpiration du mot de passe lutilisateur doit tre
averti.
d5 indique au bout de combien de jours un compte dsactiv et sans mot de passe valide
doit tre dnitivement dsactiv.
d6 indique depuis quand un compte a t dsactiv.
Normalement, des valeurs par dfaut sont utilises pour d1 d3, de manire que le mot de
passe puisse tre chang tout moment et reste valide indniment. Toutefois, on peut aussi
utiliser d1 d6 pour restreindre la validit des mots de passe, dsactiver automatiquement
des comptes utilisateurs en fonction du temps, etc. (par exemple pour grer les comptes
dtudiants dans une cole ou une universit).
Pour la plupart des utilisateurs systme (par exemple, ci-dessus, daemon, bin, sys, etc.), on
enregistre au lieu du mot de passe une simple toile ou un point dexclamation. Cela signie
quil ny a pas de mot de passe valide et quune ouverture de session est donc impossible.
Les comptes systme restent toutefois utilisables : les programmes lancs initialement avec
des droits root peuvent ensuite changer de propritaire et poursuivre leur excution en tant
que bin, daemon, lp, etc. Cest dailleurs prcisment le cas pour la plupart des processus sys-
tme : lamorage, ils sont lancs automatiquement par lutilisateur root et changent
immdiatement dutilisateur propritaire pour des raisons de scurit.
/etc/login.defs Un grand nombre de paramtres relatifs ladministration interne des mots de passe et
noms dutilisateurs se trouvent dans le chier /etc/login.defs. Vous pouvez y congu-
rer le dlai dattente aprs la saisie didentiants errons, le nombre de tentatives de
connexion autorises, si passwd doit accepter des mots de passe visiblement trop faibles,
quels droits daccs binaires doivent tre utiliss pour les rpertoires personnels leur
cration, etc.
Modifier un
mot de passe
Pour changer votre propre mot de passe, excutez la commande passwd. Celle-ci commence
par vous demander votre ancien mot de passe, puis vous tes invit deux reprises saisir
un nouveau mot de passe. La saisie nest pas afche lcran. Le nouveau mot de passe
nest accept que si les deux saisies correspondent. partir de ce moment, vous devrez
utiliser le nouveau mot de passe pour ouvrir une session.
Les mots de passe doivent comprendre de six huit caractres. Ils peuvent tre constitus de
majuscules, minuscules, de chiffres ainsi que de signes de ponctuation. passwd ralise quel-
ques tests et rejette les mots de passe visiblement trop simples. Un bon mot de passe doit
contenir, outre des minuscules, au moins un chiffre et une majuscule. De surcrot, il ne
doit pas sagir de mots (ou de variations bases sur un mot) que lon puisse trouver dans
le dictionnaire.
Linux Livre Page 314 Mardi, 23. septembre 2008 1:05 13
315 CONFIGURATION DE BASE
Si les utilisateurs normaux ne peuvent modier que leur propre mot de passe, lutilisateur
root peut galement modier les mots de passe de tout autre utilisateur :
root# passwd hofer
New password: ******
Re-enter new password: ******
Password changed.
Que faire lorsque vous avez oubli votre mot de passe root ? Dans ce cas, vous devrez amorcer votre systme
avec une disquette dinstallation ou de sauvetage, ou encore avec un CD amorable (par exemple Knoppix).
Crez alors un nouveau rpertoire avec mkdir dans la RAM de votre systme dinstallation ou de sauvetage,
et montez-y la partition sur laquelle se trouve votre systme Linux :
root# mount -t ext3 /dev/xxx /rep
Vous avez maintenant accs au fichier /rep/etc/shadow et vous pouvez y effacer le mot de passe root
(tous les caractres compris entre le premier et le second caractre "deux-points") ou le remplacer par le mot de
passe chiffr (mais connu) dun autre utilisateur.
Louverture dune session root sans mot de passe nest possible, de par les paramtres de scurit de
/etc/pam.d/common-auth, que dans une console texte. Vous pouvez alors y saisir un nouveau mot
de passe root au prochain amorage laide de la commande passwd, de manire pouvoir ensuite
travailler en tant quutilisateur root dans votre environnement graphique X.
Si vous souhaitez empcher dautres utilisateurs de modifier le mot de passe root suivant la mthode
expose ici, vous devez dsactiver dans le BIOS de votre ordinateur tout mdium damorage autre
que le premier disque dur (de manire quil ne soit pas possible damorcer depuis une disquette, un
CD ou une cl USB) et scuriser le BIOS par un mot de passe. Mot de passe que vous ne pouvez
toutefois vous permettre doublier... Une autre possibilit consiste chiffrer entirement la partition
systme.
faillog Suivant le paramtrage gurant dans /etc/login.defs, toutes les tentatives douverture de
session ayant chou sont enregistres dans le chier journal /var/log/faillog. Contrairement
de nombreux autres chiers journaux, cest ici un format binaire qui est utilis.
La commande faillog -u nom vous permet de vrier, pour un utilisateur donn, combien
de tentatives de connexion ont chou depuis sa dernire connexion russie.
faillog -u nom -m max vous permet de xer un nombre maximal dchecs autoriss pour
les ouvertures de session dun utilisateur donn. Si ce nombre est dpass, lidentiant
correspondant est bloqu jusqu tre nouveau autoris par lutilisateur root par le
biais de la commande faillog -u nom -r (le nombre dchecs enregistrs est alors rini-
tialis).
Vous pouvez galement tablir le nombre maximal dchecs autoriss pour lensemble des
utilisateurs par le biais de faillog -m max. Toutefois, vous devriez toujours excuter aussi
faillog -u root -m 0 de manire exclure lutilisateur root de cette mesure. Dans le cas
contraire, vous pourriez ne plus tre en mesure de vous connecter en tant quadministrateur
si un autre utilisateur a tent sans succs de se connecter en tant que root et a atteint la
limite xe.
Linux Livre Page 315 Mardi, 23. septembre 2008 1:05 13
LINUX 316
Mots de passe
de groupe
Comme pour les utilisateurs, il est possible de dnir des mots de passe pour les groupes
(avec la commande gpasswd). Toutefois, sil est fortement conseill dimposer des mots de
passe aux utilisateurs, cela devient superu au niveau des groupes. Leur inconvnient prin-
cipal est que tous les membres dun mme groupe doivent connatre le mot de passe en
question, ce qui alourdit encore ladministration.
Si toutefois des mots de passe de groupe doivent tre mis en place, ils sont habituellement
enregistrs dans le chier /etc/gshadow. Un utilisateur doit alors fournir le mot de passe de
groupe lorsquil cherche changer de groupe actif par le biais de la commande newgrp. Le
groupe actif dtermine quel groupe appartiennent de nouveaux chiers leur cration.
Collaboration entre fichiers de configuration
Les paragraphes suivants synthtisent la manire dont les trois chiers passwd, groups et
shadow collaborent. Pour chaque utilisateur, le chier passwd contient une ligne construite
sur le modle suivant :
# une ligne de /etc/passwd
kofler:x:1000:1000:Michael Kofler:/home/kofler:/bin/bash
kofler est le nom dutilisateur. 1000 est lidentiant dutilisateur (UID), 1000, lidentiant de
groupe primaire (GID), Michael Kofler, le nom complet (utilis pour les e-mails, les groupes
de news, etc.), /home/kofler, le rpertoire personnel de lutilisateur, et /bin/bash, son shell.
Lidentiant UID doit tre unique car il joue un rle important dans la gestion des droits
daccs aux chiers.
La ligne correspondante dans /etc/shadow, contenant les informations de mot de passe,
possde lallure suivante :
# une ligne de /etc/shadow
kofler:$1$mT.09dkO$O69fx51MRPXVcNrgp05GK1:13479:0:99999:7:::
La chane de caractres qui suit kofler: est le mot de passe chiffr. Si lon renonce cette chane
de caractres, le nom dutilisateur peut tre utilis sans mot de passe. Si, au lieu de la chane de
caractres, gure un symbole * ou !, louverture de session est verrouille pour cet utilisateur.
Le numro didentiant GID gurant dans /etc/passwd doit correspondre un groupe gu-
rant dans /etc/group. Pour de nombreuses distributions, chaque utilisateur usuel se voit
affect un groupe portant le mme intitul que le nom dutilisateur :
# une ligne de /etc/group
kofler:x:1000:
PAM (Pluggable Authentication Modules ou modules
dauthentification enfichables)
La quasi-totalit des distributions Linux utilise les outils PAM (Pluggable Authentication
Modules) pour lauthentication effective. PAM teste si les informations de connexion four-
nies (nom dutilisateur et mot de passe) sont valides. Lintrt de PAM rside dans le fait que
toutes les commandes critiques pour la scurit du systme (login, passwd, le gestionnaire
de session X xdm) nont pas forcment besoin de leur code propre pour la vrication des
Linux Livre Page 316 Mardi, 23. septembre 2008 1:05 13
317 CONFIGURATION DE BASE
mots de passe. Au lieu de cela, toutes ces commandes peuvent utiliser PAM. La page sui-
vante propose une documentation complte sur PAM, mme si elle date un peu :
http://www.kernel.org/pub/linux/libs/pam/
PAM offre le choix entre plusieurs modules dauthentication. Le module standard gre
lauthentication en analysant le chier /etc/shadow que nous avons dj mentionn (ges-
tion des utilisateurs locaux). Il existe par ailleurs divers modules PAM pour lauthentication
des utilisateurs sur un serveur centralis (voir la section suivante).
Configuration La conguration gnrale de PAM intervient par le biais de plusieurs chiers hbergs dans le
rpertoire /etc/security. Toutefois, pour la plupart des distributions, ces chiers ne contien-
nent que des lignes commentes.
De surcrot, pour chaque programme accdant PAM il existe un chier de conguration
propre dans le rpertoire /etc/pam.d. Cest par exemple ainsi que fonctionnent les programmes
passwd, gdm, kdm, ssd, su et sudo.
Modification
des droits
daccs
travers PAM
Sur certaines distributions (par exemple Red Hat, Fedora jusqu sa version 7), PAM est
congur de faon que les droits daccs sur divers chiers de priphriques soient modis
automatiquement louverture de session. Cest utile pour permettre aux utilisateurs usuels
daccder des CD et DVD, de communiquer avec leur appareil photo numrique ou avec
leur PDA, etc. (Au lieu de cela, SUSE repose sur le dmon resmgrd. Debian et Ubuntu affec-
tent les chiers de priphriques des groupes, de manire que le contrle daccs seffectue
par le biais de lappartenance un groupe.)
Ce sont les chiers /etc/security/console.perms.d qui grent la modication automatique
des droits daccs la premire ouverture de session. Les modications restent en place jusqu
dconnexion de lutilisateur. la connexion suivante, de nouvelles modications sont mises en
place. Cest ainsi que lon vite les conits lorsque plusieurs utilisateurs sont connects simulta-
nment au systme. Le premier stre connect garde la main jusqu sa dconnexion.
La structure des chiers console.perms suit lexemple fourni par les lignes suivantes. Vous
obtiendrez des informations dtailles avec la commande man console.perms.
# /etc/security/console.perms.d/50-default.perms (Red Hat, Fedora)
<sound>=/dev/dsp* /dev/audio* /dev/midi* /dev/mixer* /dev/sequencer* \
/dev/sound/* /dev/beep /dev/snd/* /dev/adsp*
<cdrom>=/dev/cdrom* /dev/cdroms/* /dev/cdwriter* /mnt/cdrom*
<pilot>=/dev/pilot
...
<console> 0600 <sound> 0600 root
<console> 0600 <cdrom> 0660 root.disk
<console> 0600 <pilot> 0660 root.uucp
...
Droits
dexcution
pour certaines
commandes
Une particularit supplmentaire de Red Hat et Fedora est que les utilisateurs usuels siden-
tiant dans la console texte peuvent faire appel de nombreux outils de conguration
sans pour autant devoir fournir le mot de passe root. Cela concerne par exemple les com-
mandes halt, poweroff, reboot et setup. Divers chiers de conguration situs dans le
rpertoire /etc/security/console.apps grent ces droits supplmentaires.
Linux Livre Page 317 Mardi, 23. septembre 2008 1:05 13
LINUX 318
Administration des utilisateurs sur un rseau
Si vous avez mis en rseau plusieurs ordinateurs sous Linux et que vous souhaitiez autori-
ser laccs concurrent aux chiers par NFS, vous devez veiller ce que les numros diden-
tiant UID et GID se correspondent dun ordinateur lautre. Cette contrainte seule se
rvle dj particulirement complexe mettre en uvre sur plusieurs ordinateurs. Si vous
souhaitez de surcrot que chaque utilisateur puisse se connecter depuis nimporte quel poste
(naturellement toujours avec les mmes identiants de connexion, nom dutilisateur et mot
de passe), vous devez alors synchroniser en permanence tous les chiers /etc/passwd. La
charge de travail dadministration est alors incroyablement leve.
Pour viter cette surcharge, une solution consiste mettre en place un serveur centralis
pour la gestion des utilisateurs. Pour lauthentication des clients, on a le choix entre un
grand nombre de protocoles alternatifs, quil ne nous est toutefois pas possible de dcrire en
dtail dans ce livre pour des raisons de place :
NIS (Network Information Service) ;
LDAP (Lightweight Directory Access Protocol) ;
Hesiod ;
Kerberos ;
Samba et la gestion des utilisateurs Windows.
De nombreuses distributions permettent de congurer le systme ds linstallation pour que
les modules de gestion des utilisateurs contactent un serveur dauthentication appropri.
Vous pouvez naturellement activer aussi cette fonctionnalit ultrieurement :
Debian, Ubuntu installation et conguration de libpam-smbpass, libpam-ldap, etc.
Red Hat, Fedora system-config-authentification
SUSE module YaST Scurit > Utilisateurs > commande Options pour experts >
Authentication
20.5 Configuration des langues, internationalisation,
Unicode
Dans cette section, nous aborderons deux sujets :
La localisation et la conguration des langues. Il sagit de la conguration dterminant
dans quelle langue sont afchs les messages derreur, les menus, les botes de dialogue,
laide, etc. La mise en forme des dates, heures, units montaires est galement adapte
en consquence.
Le jeu de caractres. Le jeu de caractres dtermine le codage utilis pour enregistrer les
lettres. Le seul jeu de caractres pour lequel il rgne une uniformit gnrale est le code
ASCII sur 7 bits. La majorit des jeux de caractres utilise par consquent le code 65
pour la lettre A. Il y a toutefois des dcalages pour les caractres de langues trangres :
par consquent, la lettre se verra reprsente par un code diffrent suivant le jeu de
caractres en vigueur. Il existe mme des jeux de caractres dans lesquels la lettre
Linux Livre Page 318 Mardi, 23. septembre 2008 1:05 13
319 CONFIGURATION DE BASE
nintervient absolument pas, de manire librer de la place pour dautres caractres
(par exemple pour des lettres cyrilliques ou hbraques).
Dans le contexte de la localisation des programmes, vous vous heurterez frquemment aux
abrviations particulires i18n et l10n : il sagit de raccourcis pour dsigner dune part
linternationalisation (internationalization : i plus 18 lettres plus n), dautre part la localisation
(localization). Ces abrviations peuvent tre utilises comme mots-cls si vous souhaitez
rechercher davantage dinformations sur Internet.
La conguration du clavier est dcrite pour la console texte dans ce chapitre, pour lenviron-
nement graphique X au Chapitre 22. Vous y trouverez aussi des astuces pour la gestion des
caractres trangers avec X.
Bases sur les jeux de caractres
Un jeu de caractres (character set) dcrit la correspondance entre des codes numriques et
des lettres. Des jeux de caractres connus sont, par exemple, lASCII (7 bits), lISO-Latin-n
(8 bits) et lUnicode (16 bits).
ASCII. Le jeu de caractres ASCII dcrit 127 signes, parmi lesquels les lettres a z, A
Z, les chiffres 0 9 ainsi que divers signes de ponctuation.
ISO-8859, caractres latins. Les jeux de caractres ISO comprennent, outre les 127 carac-
tres ASCII, jusqu 128 caractres particuliers supplmentaires pour diffrentes rgions
linguistiques. La liste suivante donne la liste des principaux jeux de caractres ISO :
ISO-8859-1 = Latin-1 : Europe de lOuest
ISO-8859-2 = Latin-2 : Europe centrale et de lEst
ISO-8859-3 = Latin-3 : Europe mridionale
ISO-8859-4 = Latin-4 : Europe du Nord
ISO-8859-9 = Latin-5 : turc
ISO-8859-10 = Latin-6 : scandinave (saame, inuktitut, islandais)
ISO-8859-13 = Latin-7 : balte
ISO-8859-14 = Latin-8 : celtique
ISO-8859-15 = Latin-9 (= Latin-0) : identique au Latin-1 mais comprenant en outre le
symbole Euro
Le terme Latin-0 na t utilis que dans un document de travail et ne constitue donc pas
un nom ofciel. Il est toutefois frquemment utilis dans la pratique. Sous Windows, les
jeux de caractres sont dsigns par le terme "code pages". Le code page 1252 prsente
de grandes similitudes avec le Latin-1, sans toutefois lui tre absolument identique.
Unicode. Pour limiter la confusion cause par la multiplicit de jeux de caractres sur
8 bits, le jeu de caractres Unicode sur 16 bits (alias ISO-10646) a t introduit. Il permet
de coder non seulement tous les caractres spciaux europens, mais galement la majo-
rit des caractres asiatiques. Comme 16 bits sont prvus pour chaque symbole, ce jeu
de caractres permet de grer plus de 65 000 caractres.
Linux Livre Page 319 Mardi, 23. septembre 2008 1:05 13
LINUX 320
Unicode rgit uniquement laffectation dun code un caractre et non la faon dont ce
code est enregistr. La solution la plus simple, au premier abord, consisterait donc
reprsenter chaque caractre par deux octets (cest--dire 16 bits). Ce format est dsign
par lappellation UTF-16 (UTF reprsentant Unicode Transfer Format). Elle prsente tou-
tefois deux inconvnients : tout dabord, elle double lespace de stockage requis, et ce
mme lorsque lon cherche enregistrer majoritairement des caractres europens ou
mme uniquement ASCII-US. De plus, loctet de code 0 intervient diffrents emplace-
ments dans les chanes de caractres Unicode : de nombreux programmes C, serveurs
de courrier lectronique, etc. considrent toutefois que loctet 0 marque la n dune
chane de caractres.
Par consquent, il existe aussi dautres manires de reprsenter des textes Unicode.
Lalternative de loin la plus populaire UTF-16 est UTF-8. Dans ce cadre, tous les carac-
tres ASCII-US (7 bits) sont reprsents comme prcdemment par un unique octet dont
le bit de poids fort est 0. Tous les autres caractres Unicode sont reprsents par des
chanes doctets comprenant de 2 4 octets. Linconvnient le plus visible de ce format
est labsence de rapport entre le nombre doctets et le nombre de caractres du docu-
ment. Du fait de sa compatibilit croissante avec des programmes existants et dune
srie dautres avantages, UTF-8 sest tabli comme le standard sous Unix/Linux (tandis
que, sous Microsoft Windows, cest frquemment lUTF-16 qui est employ). Lorsque
lon parle dUnicode dans le contexte de Linux, il sagit implicitement dans la plupart
des cas dUnicode au format UTF-8.
Par dfaut, le jeu de caractres Unicode UTF-8 est maintenant appliqu dans la quasi-
totalit des distributions.
Effets du jeu
de caractres
Le jeu de caractres actif dtermine comment sont cods les caractres dans les chiers de
texte mais aussi dans les noms de chiers. Les systmes de chiers de Linux sadaptent
chaque jeu de caractres. Comme nom de chier, toute chane de caractres se terminant par
loctet 0 est valide. Suivant le jeu de caractres en vigueur, la srie et le nombre doctets uti-
liss pour reprsenter un nom de chier comme .txt pourront toutefois prendre des
valeurs trs diffrentes ! Si le jeu de caractres courant est Latin-1, ce nom peut tre repr-
sent par 7 octets (plus un huitime pour loctet 0). Si, en revanche, cest le jeu de caractres
Unicode/UTF-8 qui est utilis, le nom du chier comptera 10 octets (car il faut 2 octets pour
reprsenter chacun des caractres , et ).
Il existe toute une srie de programmes qui fonctionnent indpendamment du jeu de carac-
tres ou grent indiffremment diffrents jeux de caractres : par exemple, les logiciels de
courrier lectronique ou les navigateurs Internet peuvent tous prsenter des e-mails et
pages web rdigs dans un jeu de caractres autre que le jeu courant. Pour que cela fonc-
tionne, chaque e-mail ou chaque page web contient des informations sur le jeu de caractres
utilis. Les outils de traitement de texte modernes enregistrent en gnral le texte dans un
jeu de caractres Unicode ou utilisent un code qui leur est propre. Mme les diteurs de
texte du type Emacs ou XEmacs sont en mesure de travailler sur des chiers de texte dans
diffrents encodages et de les enregistrer.
Problmes lis
aux jeux de
caractres
Les problmes surviennent le plus frquemment lorsque des utilisateurs changent des
chiers (de texte, entre autres) alors qumetteur et destinataire utilisent des jeux de carac-
tres diffrents. Supposons, par exemple, quun utilisateur dune distribution Linux sous
Linux Livre Page 320 Mardi, 23. septembre 2008 1:05 13
321 CONFIGURATION DE BASE
Unicode compose laide dun diteur un chier de texte comprenant des caractres tran-
gers. Imaginons maintenant quun utilisateur dune autre distribution Linux, au jeu de
caractres Latin, doive travailler sur ce chier : il constatera, sa grande surprise, que tous
les caractres non ASCII safcheront de faon errone. Il est toutefois simple, dans la plu-
part des cas, de rsoudre de tels problmes laide des commandes recode ou iconv (voir
Chapitre 12).
Les noms des chiers ne sont pas pargns par de tels problmes : si vous enregistrez un
chier sous le nom .txt dans une distribution U (Unicode), que vous redmarriez votre
ordinateur sous la distribution L (Latin) et que vous observiez le chier, vous verrez appa-
ratre une chane de caractres qui ressemble davantage .txt. La meilleure solution
consiste ici modier le jeu de caractres utilis dans lune ou lautre des distributions, de
manire quun mme jeu de caractres soit utilis dans les deux cas. Si vous envisagez
de modier le jeu de caractres pour les noms dun grand nombre de chiers existants, la
commande convmv dcrite au Chapitre 12 pourra vous tre utile.
Police (font) La police ne doit pas tre confondue avec le jeu de caractres. Elle dtermine la faon
dont un caractre donn est afch lcran. Il existe donc pour cela diverses polices (par
exemple Arial, Courier, Helvetica, Palatino, pour ne citer que quelques-unes des plus
connues).
Naturellement, les polices et les jeux de caractres ne sont pas indpendants les uns des
autres : avant de pouvoir afcher correctement lcran un caractre de code 234, le jeu de
caractres utilis pour encoder ce symbole doit tre clair. Cest le jeu de caractres qui
rpond en effet la question de savoir quel caractre se cache derrire le code 234. Plusieurs
des anciennes polices X taient limites 256 caractres et donc disponibles dans plusieurs
versions distinctes pour diffrents jeux de caractres. Les polices rcentes (TrueType, Post-
Script) peuvent en revanche contenir davantage de caractres et sont en rgle gnrale compa-
tibles avec plusieurs jeux de caractres.
Configurer la localisation et le jeu de caractres
Outils de
configuration
Suivant les distributions et lenvironnement de bureau, vous pouvez utiliser diffrents
outils pour la conguration de la langue. Au niveau du jeu de caractres, cest quasiment
toujours lUTF-8 qui est utilis. Seules quelques distributions permettent encore dutiliser
un jeu de caractres sur 8 bits. Sur toutes les distributions, vous devrez quitter X et vous
connecter nouveau pour que les nouveaux paramtres de localisation soient pris en
compte aprs une modication. Gnome se fonde sur la conguration linguistique du systme
et ne propose par consquent aucun outil de conguration propre.
KDE Centre de conguration > module Rgionalisation et accessibilit > Pays
& Langue
Red Hat, Fedora system-config-language
SUSE module YaST Systme > Langue
Ubuntu gnome-language-selector
Linux Livre Page 321 Mardi, 23. septembre 2008 1:05 13
LINUX 322
Fichiers de
configuration
Naturellement, lemplacement o sont enregistrs les paramtres de conguration varie lui
aussi suivant les distributions :
Debian, Ubuntu /etc/default/local
Red Hat, Fedora /etc/sysconfig/i18n
SUSE /etc/sysconfig/language
De nombreuses distributions tiennent en outre compte de paramtres spciques lutilisateur,
stocks dans ~/.i18n.
Variables LC
et LANG
En interne, la localisation et le jeu de caractres sont contrls par des variables denviron-
nement telles que LC_CTYPE et LANG. La bibliothque glibc, utilise dans la quasi-totalit des
programmes Linux, se charge danalyser ces variables.
La localisation peut seffectuer par catgorie. Pour une conguration correcte, vous pourriez
par exemple choisir dutiliser le format franais pour les dates et heures, tout en afchant les
messages derreur en anglais. Le tableau suivant prsente les variables essentielles.
Naturellement, tous les programmes ne tiennent pas compte de lintgralit des catgories
(bon nombre dentre eux ignorent mme totalement les variables LC_). Lorsque des catgo-
ries individuelles ne sont pas paramtres, les programmes utilisent comme valeur par
dfaut C ou POSIX. Cela signie que les messages derreur apparaissent en anglais, les dates
et heures au format amricain, etc.
Plutt que congurer individuellement chacune des variables exposes ici, vous pouvez
tout simplement paramtrer la variable LANG. De cette manire, toutes les variables non d-
nies utilisent la valeur par dfaut dnie par LANG. Seule la variable LC_COLLATE conserve
la valeur par dfaut POSIX. Pour la plupart des distributions, la conguration globale de la
langue seffectue par la variable LANG.
Plus puissante encore que LANG est la variable LC_ALL. Lorsque cette variable est congure,
sa valeur sapplique toutes les catgories, indpendamment des valeurs attribues par
ailleurs aux variables LC_ ou LANG.
Pour la plupart des programmes, les messages derreur et autres textes utiliss se trouvent
dans un rpertoire ddi pour chaque langue : /usr/share/locale/langue/LC_MESSAGES.
KDE utilise en rgle gnrale ses propres rpertoires, par exemple /opt/kde3/share/
Variables principales pour la localisation
LANG dtermine la valeur par dfaut pour toutes les variables LC dont la valeur na pas t
tablie
LC_CTYPE dtermine le jeu de caractres
LC_COLLATE dtermine lordre de classement
LC_MESSAGES dtermine la prsentation des informations, messages derreur, etc.
LC_NUMERIC dtermine la prsentation des nombres
LC_TIME dtermine la prsentation de la date et de lheure
LC_MONETARY dtermine la prsentation des units montaires
LC_PAPER dtermine le format de papier
LC_ALL crase tous les paramtres LC individuels
Linux Livre Page 322 Mardi, 23. septembre 2008 1:05 13
323 CONFIGURATION DE BASE
locale/langue/LC_MESSAGES/. Vous trouverez davantage dinformations de fond sur le sujet
de la localisation et de linternationalisation (Locales and Internationalization) dans la page de
manuel de la commande locale ainsi que dans le manuel de la bibliothque glibc :
http://www.gnu.org/software/libc/manual/
Tester la
localisation
La manire la plus simple de vrier les paramtres courants de localisation consiste utili-
ser la commande locale. Cette commande analyse galement les variables LANG et LC_ALL et
renvoie lensemble des paramtres rsultants. Lexemple suivant montre la conguration de
mon ordinateur personnel :
utilisateur$ locale
LANG=fr_FR.UTF-8
LANGUAGE=fr_FR:fr:en_GB:en
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
...
LC_ALL=
Pour vrier la localisation, vous pouvez galement excuter de faon errone une com-
mande de votre choix. Le message derreur afch devrait apparatre dans la langue con-
gure. Lorsque LANG est congur la valeur fr_FR, le message derreur de la commande
mount devrait apparatre comme lexemple suivant. Sur certaines distributions, toutefois,
seuls les messages derreur en langue anglaise sont installs et ce test peut ne pas fonctionner.
utilisateur$ mount /xy
mount: ne peut reprer /xy dans /etc/fstab ou /etc/mtab
env Si vous souhaitez pouvoir excuter une commande particulire avec un paramtrage de lan-
gue diffrent du systme, sans pour autant devoir modier la conguration dans son
ensemble, lidal consiste utiliser la commande env. Cette commande reoit une srie de
variables et les valeurs associes, ainsi que la commande excuter en tenant compte des
variables de localisation fournies :
utilisateur$ env LANG=C mount /xy
mount: cant find /xy in /etc/fstab or /etc/mtab
Si, malgr la modication apporte au paramtre LANG, le message derreur apparat tou-
jours dans la langue du systme plutt quen anglais, essayez aussi de changer le param-
trage de la variable LANGUAGE :
utilisateur$ env LANG=C LANGUAGE=C mount /xy
mount: cant find /xy in /etc/fstab or /etc/mtab
Valeurs
possibles pour
les paramtres
LC/LANG
Vous pouvez obtenir une liste de toutes les valeurs possibles pour les variables de localisa-
tion laide de la commande locale -a. La notation habituellement utilise est de la forme
x_y, o x reprsente la langue sur deux caractres et y reprsente le pays sur deux caractres.
Pour la langue franaise utilise en France, vous devrez donc utiliser fr_FR (fr_BE pour la
Belgique, fr_CA pour le Canada, etc.). Pour le paramtrage en langue anglaise standard, on
peut utiliser labrviation C.
Linux Livre Page 323 Mardi, 23. septembre 2008 1:05 13
LINUX 324
Les versions rcentes de la glibc comprennent galement le paramtrage exprim par fran-
ais ou french. Le chier /usr/share/locale/locale.alias contient un tableau dcrivant
toutes les abrviations autorises pour les noms de localisation complets.
Paquetages de
localisation
Lafchage correct des menus, botes de dialogue, messages derreur, textes daide, etc. dans
la langue souhaite dpend de fait de linstallation des chiers de localisation ncessaires.
Pour des raisons despace disque, ce nest souvent le cas que pour une ou deux langues (par
exemple anglais et franais). Si vous souhaitez galement utiliser votre distribution en lan-
gue allemande, vous devrez installer les paquetages supplmentaires correspondants pour
Gnome, KDE, OpenOfce, Firefox, etc. Pour SUSE et Ubuntu, les outils de conguration
prsents dans lintroduction de ce chapitre pourront vous aider ; pour les autres distributions,
toutefois, vous devrez procder manuellement.
Tous les programmes Linux ne sont pas ncessairement traduits dans chaque langue. Il y a
des lacunes particulirement importantes au niveau de la documentation en ligne (pages de
manuel, manuels, systmes daide). Lorsque les chiers de localisation correspondants font
dfaut, Linux prsente la version anglophone du texte.
Paramtrage
du jeu de
caractres
Le jeu de caractres est paramtr conjointement la localisation. Le jeu de caractres suit le
code du pays dont il est spar par un point, par exemple fr_FR.ISO-8859-1 ou fr_FR.utf8.
20.6 Rfrence relative au matriel
Dans ce livre, il ny a pas de chapitre ddi au matriel. La conguration correcte des com-
posants matriels est plutt traite aux chapitres correspondant leur usage : ainsi, si vous
rencontrez des problmes avec une carte rseau, le Chapitre 26, qui traite de la conguration
rseau, est le bon endroit pour dmarrer.
Cette section possde donc deux objectifs : tout dabord, la rfrence systmatique doit faci-
liter la recherche dinformations supplmentaires sur des composants matriels particuliers.
Ensuite, vous trouverez ici des informations concises sur certains sujets relatifs au matriel
que nous ne pouvons dvelopper ailleurs dans ce livre.
Naturellement, il existe une plthore de composants matriels que nous ne pouvons, pour
diverses raisons, dcrire dans cet ouvrage. La raison principale en est que je nai pas les
possibilits, en matire de tests, dont dispose par exemple un magazine informatique.
Renseignez-vous avant lachat sur la compatibilit de votre nouveau matriel avec Linux ! Il ne suffit pas
pour cela de consulter le vendeur : celui-ci nen a en gnral aucune ide, voire il vous fournira des infor-
mations errones. Jetez un coup dil aux pages habituelles ddies au matriel avec Linux (voir Chapi-
tre 1). Effectuez des recherches sur http://groups.google.com avec comme mots-cls linux
modle_matriel. Vous trouverez invariablement des messages dans lesquels des utilisateurs de Linux
demandent comment configurer le composant XY sous Linux. cet gard, les magazines orients Linux
sont galement et par nature une meilleure source dinformations que les livres, qui ne sont actualiss de
manire exhaustive que tous les deux ou trois ans.
Fichiers de
priphriques
On accde la plupart des composants matriels par le biais de chiers de priphriques
(devices), par exemple /dev/sda pour un disque dur SATA. Les chiers de priphriques sont
Linux Livre Page 324 Mardi, 23. septembre 2008 1:05 13
325 CONFIGURATION DE BASE
gnrs dynamiquement, suivant les besoins, par le systme udev. Vous trouverez au Chapi-
tre 13 une liste des principaux chiers de priphriques Linux.
Fichiers /proc
et /sys
Pour de nombreux composants, les systmes de chiers virtuels des rpertoires /proc et /sys
fournissent des informations dtailles. Vous trouverez un aperu de ces chiers de matriel
au Chapitre 23.
Modules
noyau
Les pilotes des innombrables composants matriels se trouvent dans les modules du noyau.
Une partie de ces modules est charge lamorage du systme, le reste uniquement lorsque
le besoin sen fait sentir. Si le chargement automatique de modules ne fonctionne pas, vous
devriez jeter un coup dil aux chiers /etc/modprobe.conf ou /etc/modprobe.conf.d/*. La
gestion des modules et le rle de ces chiers sont dcrits au Chapitre 23.
Les messages du noyau indiquent quels vnements interviennent au chargement des
modules et si le matriel a pu effectivement tre initialis avec succs. Pour consulter ces
messages, utilisez la commande dmesg.
Synthse
du matriel
Quelques distributions proposent des outils donnant une synthse du matriel disponible :
citons par exemple lshw (Mandriva, Ubuntu), siga (SUSE) ou encore hwbrowser (Fedora,
Red Hat). lshal et son interface graphique Gnome hal-device-manager fournissent des
informations similaires.
Processeur et mmoire
Ce livre ne traite que les ordinateurs quips dun processeur de type Intel Pentium, cest--
dire, exprim plus simplement, les processeurs Intel et AMD 32 et 64 bits. Il existe toutefois
des versions de Linux pour les nombreuses autres architectures de processeurs existantes (par
exemple pour PowerPC).
Le chier /proc/cpuinfo vous renseigne sur les processeurs utiliss dans votre ordinateur.
Lexemple suivant (quelque peu raccourci) provient dun ordinateur quip dun proces-
seur Intel Dual-Core. Linux considre chacun des curs comme un processeur indpen-
dant. La ligne model name prsente la frquence dhorloge maximale, tandis que la ligne cpu
MHz donne la frquence dhorloge effectivement utilise.
utilisateur$ cat /proc/cpuinfo
processor : 0
model name : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
cpu MHz : 1596.000
...
processor : 1
model name : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
cpu MHz : 1596.000
...
Dans le cas des processeurs frquence variable, les modules cpufreq sont responsables de
la rduction de frquence destine conomiser lnergie. La documentation du noyau
Linux Livre Page 325 Mardi, 23. septembre 2008 1:05 13
LINUX 326
disponible dans le rpertoire cpu-freq (voir aussi Chapitre 25) fournit davantage dinforma-
tions sur les fondements de ce systme. Les chiers du rpertoire :
/sys/devices/system/cpu/cpun/cpufreq/
fournissent des renseignements sur ltat courant du systme ainsi que sur les possibilits
de contrle.
Mmoire
(RAM)
La commande free vous renvoie des informations sur la mmoire disponible. Lorsque vous
supposez que votre ordinateur rencontre des problmes matriels au niveau de la RAM
(secteurs dfectueux, etc.), le programme Memtest86 est une bonne solution pour tester la
RAM. Avec de nombreuses distributions, vous pouvez lancer ce programme lamorage
du systme ou partir du CD/DVD dinstallation. Si toutefois cela ne fonctionne pas chez
vous, vous trouverez sur le site web suivant une image ISO vous permettant de graver un
CD amorable : http://www.memtest86.com/
Gestion de lnergie (ACPI, APM)
ACPI ACPI est lacronyme dAdvanced Conguration and Power Interface et contrle toutes les fonc-
tionnalits de gestion de lnergie des ordinateurs et portables modernes. LACPI est pris en
charge par Linux depuis le noyau 2.6. Sur les ordinateurs ACPI, les modules noyaux nces-
saires sont automatiquement chargs, ce dont vous pouvez vous convaincre avec la com-
mande dmesg | grep -i acpi. Le processus noyau kacpid et le dmon ACPI acpid sont
lancs simultanment. Ces deux programmes traitent les vnements ACPI. acpid est dirig
par le biais du chier /etc/acpi.
La commande acpi -V et les chiers du rpertoire /proc/acpi fournissent des informations
sur ltat courant du systme ACPI (tat de charge des batteries, leur temprature, etc.).
Si lACPI cause des problmes au dmarrage, vous trouverez au Chapitre 24 un certain
nombre de paramtres du noyau pour dsactiver partiellement ou totalement lACPI. Vous
trouverez par ailleurs davantage dinformations sur lACPI et Linux la page suivante :
http://acpi.sourceforge.net/
Suspend ACPI prend en charge plusieurs modes de veille dans lesquels lordinateur consomme peu
(mode Standby) ou pas du tout dnergie (veille prolonge). Sur la plupart des distributions
et environnements de bureau, vous pouvez passer lordinateur dans le mode de veille
souhait par le biais des commandes du menu, par exemple Dmarrer > Dconnexion.
Le mode de veille intressant pour les propritaires de portables est le mode de veille pro-
longe, pour lequel on parle galement de mode dhibernation (hibernate), Suspend to Disk ou
Software Suspend. Le contenu de la mmoire au moment de la mise en veille est enregistr
dans la partition de swap du disque dur et lordinateur est mis hors tension. Lorsquil est
remis sous tension, le contenu de la mmoire est lu depuis le disque dur. Lensemble des
composants matriels doit par ailleurs tre rinitialis. Ce processus est trs complexe et
demande une collaboration optimale entre le noyau Linux, ses modules et le systme ACPI.
Il existe lheure actuelle plusieurs procdures diffrentes de ractivation partir de la
veille prolonge. Les dtails de mise en uvre varient fortement dune distribution lautre
et dun matriel lautre.
Linux Livre Page 326 Mardi, 23. septembre 2008 1:05 13
327 CONFIGURATION DE BASE
Mon exprience personnelle des diffrents modes de veille est malheureusement essentiellement ngative. Si
la tentative de ractivation ne se soldait pas par une erreur, il tait frquent de ne pas pouvoir sortir lordina-
teur de son mode de veille. La seule solution consistait alors rinitialiser ou teindre puis rallumer manuel-
lement lordinateur. Sur mon ordinateur portable IBM, le mode de veille a toujours fonctionn de faon
satisfaisante avec plusieurs distributions.
Testez les fonctions Suspend avec la plus grande prudence. Scurisez pralablement toutes vos donnes,
excutez la commande sync et dmontez tous les systmes de fichiers non indispensables de larbores-
cence du systme !
Lorsque la mise en veille prolonge (suspend to disk) ne fonctionne pas, TuxOnIce (anciennement
Suspend2) peut se rvler utile dans certains cas. Cette implmentation de Suspend nest pas encore par-
venue intgrer le noyau officiel et elle nest donc pas livre avec la majeure partie des distributions. Pour
ceux que la compilation manuelle des modules requis neffraie pas, un coup dil la page suivante
devrait tre intressant : http://www.tuxonice.net/
APM APM est lacronyme dAdvanced Power Management (gestion avance de lnergie) et il est le
prdcesseur dACPI. Vous ne devriez rencontrer APM que sur des ordinateurs et portables
relativement anciens. Dans ce cas, le chier /proc/apm devrait vous renvoyer des informa-
tions sur ltat courant de lalimentation. De surcrot, le processus kapmd est lanc au dmar-
rage de lordinateur : il peut effectuer diverses oprations suivant ltat de la batterie
(afcher des messages davertissement, teindre lordinateur, etc.).
Pour le contrle manuel des fonctionnalits APM, faites appel la commande apm. Utilise
sans paramtre, la commande renseigne sur ltat dalimentation courant (branch/dbran-
ch, charge de la batterie). apm -S place lordinateur en mode Standby. Avec de nombreux
ordinateurs, toutefois, cela consiste simplement teindre lcran. ventuellement, la fr-
quence du processeur est galement diminue et les disques durs, teints. Il suft dappuyer
sur une touche pour sortir lordinateur de sa veille.
apm -s active le mode Suspend. Si tout fonctionne correctement, lordinateur est alors enti-
rement mis hors tension et na donc plus besoin que de trs peu dnergie. Le contenu de la
RAM est conserv de manire pouvoir reprendre le travail immdiatement aprs la remise
sous tension. Lordinateur peut tre remis sous tension par le biais dune combinaison de
touches dpendant du fabricant.
Interfaces et bus systme
Interfaces srie
et parallle
Sous Linux, on accde aux interfaces srie et parallle par le biais des chiers de priphri-
que respectifs /dev/ttySn et /dev/lpn. Vous ne devriez pas rencontrer ces interfaces quelque
peu anciennes avant daborder la conguration dun modem analogique ou dune impri-
mante (voir Chapitres 27 et 30).
IDE, SATA,
SCSI
Les disques durs internes, lecteurs de CD ou DVD, ainsi que divers autres espaces de
stockage sont en rgle gnrale connects lordinateur par le biais de bus systme IDE,
SATA ou SCSI (voir aussi Chapitre 23). Linux communique avec les priphriques SATA et
SCSI travers le systme SCSI du noyau. Pour les priphriques IDE, il existe deux variantes :
Linux Livre Page 327 Mardi, 23. septembre 2008 1:05 13
LINUX 328
traditionnellement, on utilise le systme IDE conventionnel ; depuis le noyau 2.6.19, on peut
galement accder aux priphriques IDE par le biais du systme SCSI grce lextension
libata. Lutilisation effective de cette extension dpend nanmoins de la distribution.
La commande lsscsi ainsi que les chiers dont la liste est donne ci-aprs fournissent des
informations sur ltat des systmes IDE et SCSI ainsi que sur lensemble des priphriques
quils grent :
/sys/bus/ide/*
/sys/bus/scsi/*
/proc/scsi/*
USB LUSB (Universal Serial Bus) est utilis pour connecter lordinateur divers priphriques
externes, allant de la souris au scanner. Les modules noyau USB ncessaires sont chargs
automatiquement. Les espaces de stockage USB (disques durs externes, cls USB, lecteurs
de CD ou DVD externes) sont grs comme des priphriques SCSI.
Le systme de chiers virtuel usbfs fournit dans le rpertoire /proc/usb des informations
sur tous les priphriques USB connects. Vous pourrez obtenir davantage dinformations dans
le rpertoire /sys/bus/usb. lsusb -v (paquetage lsbutils) renvoie une liste exhaustive de
tous les priphriques et interfaces USB.
Firewire Le bus systme Firewire est une solution alternative lUSB. Firewire est dni par le stan-
dard IEEE 1394 et est galement connu sous le nom i.Link, manant de Sony. Firewire est
plus rapide que lUSB et sert principalement pour le transfert de donnes depuis les cam-
ras numriques. Vous trouverez sur le site web suivant des informations dtailles sur le
sujet de lIEEE 1394 et Linux : http://www.linux1394.org/
Les modules ncessaires (en particulier ieee1394) sont automatiquement chargs lorsque
vous branchez un priphrique Firewire. Les chiers du rpertoire /sys/bus/ieee1394 four-
nissent des informations sur les priphriques connects et sur ltat du systme Firewire.
PCI Lidal pour obtenir des informations sur les composants PCI de votre ordinateur consiste
faire appel la commande lspci. Les chiers des rpertoires /proc/bus/pci/ et /sys/bus/
pci/ contiennent les mmes informations, mais ils sont notoirement plus difciles inter-
prter. Lexemple qui suit a t, pour des raisons de place, fortement abrg :
root# lspci
00:00.0 Host bridge: Intel Corporation 82P965/G965 Memory Controller Hub (rev 02)
00:01.0 PCI bridge: Intel Corporation 82P965/G965 PCI Express Root Port (rev 02)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 02)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller
(rev 02)
00:1f.0 ISA bridge: Intel Corporation 82801HB/HR (ICH8/R) LPC Interface Controller
(rev 02)
00:1f.2 IDE interface: Intel Corporation 82801H (ICH8 Family) 4 port SATA IDE
Controller (...)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation G70 [GeForce 7600 GS] (rev a1)
02:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8056 PCI-E Gigabit
Ethernet Controller (rev 12)
05:03.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000
Controller (...)
...
Linux Livre Page 328 Mardi, 23. septembre 2008 1:05 13
329 CONFIGURATION DE BASE
PCMCIA Labrviation PCMCIA, quasiment impossible prononcer, est lacronyme de Personal Com-
puter Memory Card International Association. Les cartes PCMCIA sont des cartes dextension
au format carte bancaire pour les ordinateurs portables, les extensions en question ntant
pas limites des cartes mmoire mais couvrant un large ventail dapplications. Pour la
plupart des utilisateurs de Linux, les cartes Wi-Fi, UMTS et RNIS sont probablement les plus
importantes.
Il existe deux types de cartes PCMCIA, savoir les PC-Cards (anciennes) et les cartes
CardBus. La diffrence entre les deux rside dans la taille du bus utilis pour le transfert de
donnes entre le portable et la carte (16 bits dans un cas, 32 bits dans lautre). Linux prend
en charge les deux types de cartes.
Les cartes PCMCIA compatibles avec Linux sont reconnues par le systme Hotplug (voir la
section suivante) et initialises automatiquement. pccardctl renvoie des informations sur
les cartes PCMCIA branches lordinateur. Du fait quen interne on accde en rgle gn-
rale la carte par le bus PCI, ce programme fait frquemment appel lspci. Avec pccar-
dctl, vous pouvez aussi commander diverses fonctionnalits PCMCIA et, par exemple,
interrompre lalimentation lectrique des cartes PCMCIA.
Systme Hotplug (udev, D-Bus et HAL)
Jusqu il y a quelques annes, la conguration matrielle restait relativement statique. Les
modications ne devenaient ncessaires que lorsque lordinateur, au bout de quelques
annes, devait tre mis jour. Entre-temps, les choses ont bien chang : lutilisation courante
dun ordinateur implique aujourdhui de connecter et de dconnecter frquemment des dis-
ques durs, cls USB, cartes dextension et autres priphriques. Linux doit ragir de faon
rapide et aussi automatique que possible ces modications de la conguration matrielle.
Le systme Hotplug prend en charge cette tche : au cours des dernires annes, ses compo-
sants ont t entirement rcrits et rimplments. Depuis 2006 environ, le processus suivant
est mis en uvre dans la plupart des distributions :
Le noyau constate une modication du matriel, par exemple parce que lutilisateur a
plac un CD dans son lecteur ou quil a branch une cl USB lordinateur.
Le noyau appelle /sbin/hotplug pour charger les modules noyau requis.
Le noyau gnre via udev de nouveaux chiers de priphriques (voir Chapitre 13).
udev annonce les nouveaux priphriques la couche HAL (Hardware Abstraction Layer)
par le biais du processus noyau hald ; la commande lshal renvoie une liste de tous les
composants matriels connus par HAL.
hotplug transmet les vnements matriels hald.
hald actualise la conguration du systme et informe par le systme de communication
D-Bus tous les programmes concerns.
D-Bus est un systme pour la transmission des informations entre programmes. Sur la
base de la bibliothque libdbus, la communication peut stablir directement entre deux
Linux Livre Page 329 Mardi, 23. septembre 2008 1:05 13
LINUX 330
programmes. Lorsque des informations doivent tre changes entre plusieurs pro-
grammes la fois, le programme dbus-daemon doit tre utilis en guise de "central tl-
phonique". La page web suivante constitue une introduction au fonctionnement interne
de D-Bus :
http://dbus.freedesktop.org/doc/dbus-tutorial.html
Sous KDE 3, kioslave media:/ attend les informations en provenance de D-Bus et ragit
en consquence. Sous KDE 4, le nouveau framework Solid est responsable du traite-
ment des informations en provenance de HAL et de D-Bus. Jusqu la version 2.20 de
Gnome, cest gnome-volume-manager qui prenait en charge cette tche (conguration par
le biais de gnome-volume-properties). partir de la version 2.22, cest Nautilus qui gre
les supports de stockage externes conjointement avec PolicyKit ; la conguration
seffectue alors par le biais dditer > Prfrences > Volumes.
La configuration de HAL, de D-Bus et dudev (que vous trouverez dans les rpertoires /etc/hal, /etc/
dbus-1 et /etc/udev) est dcisive pour le bon fonctionnement de lensemble. De par la complexit
leve que cela reprsente, vous tes guid par votre distribution dans la configuration du systme
Hotplug. Seuls les experts Linux pourront sen sortir en cas de problme lors dune modification de la
configuration. Vous trouverez plus de dtails sur ce sujet sur les pages suivantes :
http://webcvs.freedesktop.org/hal/hal/doc/spec/hal-linux26.png?view=co
http://qa.mandriva.com/twiki/bin/view/Main/HotPluggableHardwareRemovableMedia
http://www.freedesktop.org/wiki/Software/hal
http://www.redhat.com/magazine/003jan05/features/hal/
http://www.reactivated.net/writing_udev_rules.html
http://www.linuxformat.co.uk/pdfs/LXF66.tut_udev.pdf
Le remplacement de HAL par le DeviceKit est envisag une date indtermine, mais pour le moment les
paris sont ouverts pour savoir si et quand une distribution franchira le pas :
http://lists.freedesktop.org/archives/hal/2008-May/011560.html
http://fedoraproject.org/wiki/Features/DeviceKit
Interfaces rseau
Pour la conguration des cartes Ethernet, du Wi-Fi, des modems analogiques, des cartes
RNIS et des modems ADSL, reportez-vous aux Chapitres 26 et 27.
Bluetooth Bluetooth est une mthode de communication radio entre priphriques matriels. Blue-
tooth possde une porte plus rduite que le Wi-Fi et est plus gnralement utilis pour les
tlphones portables, PDA et autres petits priphriques lectroniques. Linux prend gale-
ment en charge Bluetooth mais, nayant pas pu tester moi-mme la gestion du matriel
Bluetooth, je ne peux que vous renvoyer aux pages suivantes :
http://www.bluez.org/ ; http://www.holtmann.org/linux/bluetooth/ (collection de liens).
Linux Livre Page 330 Mardi, 23. septembre 2008 1:05 13
331 CONFIGURATION DE BASE
Interface graphique (X)
Les cartes graphiques sont, sous Linux, utilises par le biais du systme X Windows. La
conguration de ce systme fait lobjet dun long dveloppement au Chapitre 22. Vous y
trouverez galement des informations pour optimiser lutilisation des fonctions 3D de votre
carte graphique.
Systme audio (ALSA)
ALSA Avant de pouvoir jouer le moindre son sur la carte ou le contrleur audio de votre ordina-
teur, le pilote ALSA correspondant votre matriel doit tre charg dans le noyau et initia-
lis. ALSA est lacronyme de Advanced Linux Sound Architecture et cest le systme charg,
depuis le noyau 2.6, du pilotage des cartes son au plus bas niveau. Dans les versions prc-
dentes du noyau, ctait OSS (Open Sound System) qui tait utilis. ALSA propose au besoin
une couche de compatibilit avec OSS sous la forme des modules snd-pcm-oss, snd-seq-oss
et snd-mixer-oss.
Dans le cas des contrleurs audio pris en charge par le noyau, le module ALSA requis est
automatiquement charg. Le nom de tous les modules ALSA commence par snd. Par cons-
quent, la commande lsmod | grep snd vous renvoie une synthse rapide de tous les modu-
les ALSA actifs. Laccs aux diverses fonctionnalits audio se fait par le biais de chiers
situs dans le rpertoire /proc/asound.
La conguration du systme ALSA seffectue par le biais des chiers /etc/alsa/*, /etc/
asound.conf ainsi que ~/.asoundrc. Il nexiste aucune ncessit imprieuse de modier ces
chiers dans le cadre dune utilisation classique du systme audio. La reconnaissance du
matriel doit tre automatique. Pour les utilisateurs ayant des exigences particulires en
matire de son (par exemple les musiciens) ou souhaitant diffrencier plusieurs cartes
audio, le site web et le wiki associ fournissent une documentation complte sur ALSA et sa
conguration :
http://www.alsa-project.org
Lorsque vous teignez votre ordinateur, le volume sonore est enregistr par un script InitV
(voir Chapitre 24) ; au lancement suivant, ce mme script restaure la valeur du volume enre-
gistre.
Outils ALSA Pour utiliser directement ALSA, vous disposez de diverses commandes (paquetage alsa-
utils) dont nous ne mentionnons ici que les plus importantes :
Commandes ALSA
alsactl enregistre ou charge tous les paramtres ALSA (volume, etc.)
alsamixer modifie le volume ou le niveau dentre de divers canaux audio ALSA
aplay lit un fichier audio
arecord enregistre un fichier audio
Linux Livre Page 331 Mardi, 23. septembre 2008 1:05 13
LINUX 332
Si les haut-parleurs restent silencieux, cest bien souvent que lun des rglages de volume est 0. Pour une
utilisation standard, trois canaux sont importants : le volume principal pilote le niveau sonore du signal glo-
bal ; le volume PCM indique le niveau sonore des donnes audio gnres par les programmes et insres
dans le signal global (PCM est lacronyme de Pulse Code Modulation : tous les lecteurs de MP3 utilisent, par
exemple, le canal PCM) ; enfin, le volume du CD indique le niveau sonore correspondant aux donnes
provenant directement du lecteur de CD (ce qui prsuppose que le lecteur de CD et la carte audio soient
connects par le biais dun cble !).
Bibliothques
audio
De nombreux programmes audio nutilisent pas directement ALSA mais accdent des
bibliothques audio, un serveur de son, etc. Cette couche intermdiaire entre le systme
ALSA (de bas niveau) et lapplication audio effective doit faciliter la programmation, rendre
les applications audio utilisables travers le rseau et assurer la coopration de programmes
audio sexcutant simultanment.
Toutefois, le problme est quil nexiste pour le moment aucune architecture audio unie
au-dessus dALSA : KDE et Gnome ont chacun suivi leur propre chemin. Les applications
audio exigeantes, pour lesquelles les bibliothques audio existantes sont insufsantes, doi-
vent rimplmenter elles-mmes des fonctionnalits audio lmentaires. Il est extrmement
difcile de dvelopper des logiciels audio capables de fonctionner indpendamment de
lenvironnement de bureau de manire simple. Pour les programmeurs de la socit Adobe,
les problmes audio avaient mme justi la lenteur des dveloppements pour le plugin
Flash Linux.
La liste qui suit prsente rapidement quelques-uns des systmes audio actuellement dispo-
nibles :
aRts. aRts est lacronyme danalog real-time synthesizer et cest la base audio pour KDE
2.n et 3.n. aRts est constitu dune srie de modules pour gnrer, ltrer, fusionner, etc.
les donnes audio. Les programmes KDE accdent aRts par le biais du dmon aRtsd,
qui est lanc en mme temps que KDE. Les programmes qui ne sont pas compatibles
avec aRts mais qui accdent directement aux priphriques du module son du noyau
sont automatiquement redirigs par le biais de artsdsp. aRts nest toutefois plus maintenu
et il deviendra obsolte avec la sortie de KDE 4.
EsounD. EsounD (Enlightened Sound Daemon) tait lhomologue daRts pour Gnome.
Les programmes compatibles avec EsounD envoient les donnes audio au dmon esd,
qui est lanc en mme temps que Gnome. EsounD a rencontr un sort comparable
celui daRts : il est certes toujours install avec Gnome pour des raisons de compati-
bilit, mais la plupart des applications audio reposent maintenant sur GStreamer.
GStreamer. La bibliothque GStreamer est un framework multimdia complet (audio et
vido) utilis par de nombreux programmes Gnome. Grce son architecture par gref-
fons, il est trs modulaire et peut tre facilement tendu. Les codecs de diffrents for-
mats audio et vido sont galement disponibles en tant que greffons. Contrairement
aRts et EsounD, GStreamer ne comprend pas de dmon pour la gestion du son. Cest
ALSA qui est directement responsable de la tche principale, savoir grer plusieurs
signaux audio. Vous trouverez davantage dinformations sur la page suivante :
http://www.gstreamer.net
Linux Livre Page 332 Mardi, 23. septembre 2008 1:05 13
333 CONFIGURATION DE BASE
Phonon. Le systme audio servant de base KDE 4 est Phonon. Cette bibliothque doit
proposer une interface de programmation (API) unie pour lutilisation de fonctionna-
lits audio tout en reposant, comme GStreamer, sur des bibliothques audio et vido
existantes. Lobjectif ici consiste ce que les programmeurs dapplications audio et
vido sous KDE naient plus se proccuper de la compatibilit avec tous les moteurs
imaginables, mais quils puissent accder ce moteur par le biais dune interface cen-
trale. On ne peut pour le moment prvoir jusqu quel point cela sera possible sans
perte de fonctionnalits et defcacit. Le site web Phonon renseigne sur ltat actuel du
projet : http://phonon.kde.org/
PulseAudio. PulseAudio est un serveur de son capable de fonctionner travers un
rseau et proposant des fonctionnalits comparables au programme esd, quil remplace
sur les distributions rcentes (Fedora depuis sa version 8, openSUSE depuis sa ver-
sion 11, Ubuntu depuis sa version 8.04). Au premier abord, vous ne devriez rien remar-
quer : tout devrait fonctionner comme laccoutume. Toutefois, en coulisse, il se passe
beaucoup de choses : vous pouvez piloter sparment chacun des ux audio laide du
programme pavucontrol et les affecter une carte audio ou un priphrique de sortie
de votre choix. PulseAudio devrait galement reconnatre et activer automatiquement
tout priphrique audio complmentaire (par exemple des blocs USB). Vous trouverez
plus de dtails sur ce projet sur les pages suivantes :
http://pulseaudio.org/
http://pulseaudio.org/wiki/FAQ
http://fedoraproject.org/wiki/Interviews/LennartPoettering
ces systmes audio sajoutent divers programmes contenant eux-mmes des biblioth-
ques audio ou multimdias compltes, quils mettent leur tour la disposition dautres
programmes. Deux exemples notables en sont le lecteur RealPlayer/HelixPlayer (biblioth-
que Helix DNA) et le lecteur xine (bibliothque xinelib) : https://helixcommunity.org/ ;
http://xinehq.de/.
Il nest pas difcile de voir que les incompatibilits entre programmes et bibliothques
audio sont volontaires.
Pour les musiciens et les utilisateurs professionnels, il existe des distributions ddies optimises pour les pro-
grammes audio : http://64studio.com/ ; http://jacklab.net/
Supports de donnes (disques durs, CD-ROM, DVD, etc.)
Sur le partitionnement des disques durs, reportez-vous au Chapitre 2. La lecture des CD
audio et DVD vido est voque au Chapitre 11. La gestion des chiers et rpertoires ainsi
que la gravure de CD et DVD sont traites au Chapitre 13. Enn, le montage de lecteurs de
tout type dans un systme (disque dur, CD, DVD, disquette, etc.) fait lobjet du Chapitre 23.
Lecteurs de
bandes
Les lecteurs de bandes ne sont pas monts dans le systme laide de la commande mount
vu quils ne contiennent aucun systme de chiers. Ils comprennent uniquement un ou plu-
sieurs chiers darchives. Les donnes sont donc transmises directement depuis ou vers le
Linux Livre Page 333 Mardi, 23. septembre 2008 1:05 13
LINUX 334
lecteur par le biais des commandes tar ou cpio. La commande mt vous permet de faire d-
ler la bande en avant ou en arrire (voir ce sujet la rfrence des commandes mt et tar).
Suivant le lecteur, vous devrez utiliser lun ou lautre des priphriques suivants.
Clavier et souris
Pour la disposition de clavier US, reportez-vous au Chapitre 2 ; les particularits des souris
sous Linux sont voques au Chapitre 3. La conguration du clavier et de la souris dans la
console texte est prsente un peu plus haut dans ce chapitre. La conguration du clavier et
de la souris avec X ainsi que la gestion des caractres spciaux dans X sont traites au
Chapitre 22.
Imprimante, appareil photo numrique, scanner
Pour lutilisation des appareils photo numriques et des scanners, reportez-vous au Chapi-
tre 9. Pour la conguration et lutilisation des imprimantes, consultez le Chapitre 30.
20.7 Fichiers journaux et messages du noyau
Linux enregistre de trs nombreuses informations dans les chiers journaux : messages du
noyau, connexion et dconnexion des utilisateurs, oprations rseau, etc. Les chiers jour-
naux se trouvent gnralement dans le rpertoire /var/log, parfois aussi dans /var/adm/
log. Ils fournissent une aide prcieuse lorsque vous recherchez des erreurs de conguration
ou des failles de scurit.
Deux dmons (processus qui sexcutent en tche de fond) sont responsables de la journa-
lisation. Tous deux sont lancs dans le cadre du processus InitV :
klogd gre les messages du noyau. Ceux-ci sont enregistrs dans une mmoire tampon
do ils peuvent tre lus grce dmesg.
syslogd enregistre dans les chiers journaux les messages des divers programmes ou en
redirige le contenu vers la console. Le dmon syslogd est lanc par le processus Init-V et
pilot par le chier /etc/syslog.conf. Dans ce chier, vous pouvez congurer exactement
tout ce qui doit tre journalis et dans quels chiers enregistrer les messages rsultants.
Attention, toutefois, un point : vos services rseau ne communiquent pas tous avec sys-
logd ! De trs nombreux programmes (CUPS, Samba, etc.) assurent leur propre journalisa-
tion et sexcluent de la conguration globale par le biais de syslog.conf. Les paramtres de
Priphriques lecteurs de bandes
/dev/st* lecteur SCSI, la bande est rembobine automatiquement
/dev/nst* lecteur SCSI, la bande nest pas rembobine automatiquement
/dev/ht* lecteur IDE, la bande est rembobine automatiquement
/dev/nht* lecteur IDE, la bande nest pas rembobine automatiquement
Linux Livre Page 334 Mardi, 23. septembre 2008 1:05 13
335 CONFIGURATION DE BASE
journalisation sont dans ce cas congurs dans les chiers de conguration propres du
programme.
Gestion des
fichiers
journaux
Les chiers journaux ont pour caractristique dsagrable de grossir, lentement mais sre-
ment. Il est donc rgulirement ncessaire de repartir dun chier journal vierge. Le chier
utilis jusqu ce moment doit alors tre renomm et galement, si possible, compress. Il en
rsulte donc des chiers du type messages.1.gz, messages.2.gz, etc. Aprs un temps
darchivage plus ou moins long, tous les chiers journaux trop anciens sont totalement sup-
prims. Sur la plupart des distributions, une tche cron appelle pour cela rgulirement le
programme logrotate. Son fonctionnement est pilot par les chiers /etc/logrotate.conf
et /etc/logrotate.d/*.
Journalisation
du processus
damorage
Sur les distributions anciennes, lamorage de Linux conduit afcher les messages du
noyau et dInitV lcran. Sur les distributions rcentes, ces messages sont dissimuls par
une belle interface graphique ; toutefois, vous pouvez au besoin afcher ces messages par une
touche du clavier ou un clic de souris.
Lorsque vous utilisez le systme, vous pouvez afcher tout moment les messages du
noyau laide de la commande dmesg. Les lignes qui suivent correspondent un noyau 2.6
(la sortie a t notablement raccourcie pour des raisons de place) :
utilisateur$ dmesg
Linux version2.6.20-1.2949.fc7 (gcc version4.1.2 20070222) ...
BIOS-provided physical RAM map:
...
1151MB HIGHMEM available.
896MB LOWMEM available.
found SMP MP-table at 000ff780
Using x86 segment limits to approximate NX protection
Entering add_active_range(0, 0, 524192) 0 entries of 256 used
Zone PFN ranges:
DMA 0 -> 4096
Normal 4096 -> 229376
HighMem 229376 -> 524192
...
DMI 2.4 present.
Using APIC driver default
ACPI: RSDP 000FAE40, 0014 (r0 ACPIAM)
ACPI: RSDT 7FFA0000, 0034 (r1 A M I OEMRSDT 7000610 MSFT 97)
...
Processor #0 6:15 APIC version 20
Processor #1 6:15 APIC version 20
...
Allocating PCI resources starting at 88000000 (gap: 80000000:7ee00000)
Detected 2400.178 MHz processor.
Built 1 zonelists. Total pages: 517538
Kernel command line: ro root=LABEL=/12 rhgb quiet
...
Memory: 2058540k/2096768k available
(2144k kernel code, 36944k reserved, 1134k data, 248k init, 1179264k highmem)
Linux Livre Page 335 Mardi, 23. septembre 2008 1:05 13
LINUX 336
virtual kernel memory layout:
...
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 4802.45 BogoMIPS
(lpj=2401229)
Security Framework v1.0.0 initialized
SELinux: Initializing.
...
CPU0: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
CPU1: Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz stepping 06
Total of 2 processors activated (9601.77 BogoMIPS)
...
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI init
pnp: PnP ACPI: found 13 devices
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Using ACPI for IRQ routing
PCI: If a device doesnt work, try "pci=routeirq". If it helps, post a report
PCI: Cannot allocate resource region 2 of device 0000:03:00.0
PCI: Cannot allocate resource region 3 of device 0000:03:00.0
NetLabel: Initializing
NetLabel: domain hash size = 128
NetLabel: protocols = UNLABELED CIPSOv4
NetLabel: unlabeled traffic allowed by default
...
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
apm: disabled - APM is not SMP safe.
...
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
...
Real Time Clock Driver v1.12ac
Non-volatile memory driver v1.2
Linux agpgart interface v0.102 (c) Dave Jones
agpgart: Detected an Intel 965G Chipset.
agpgart: AGP aperture is 256M @ 0x0
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled
serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
00:06: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
RAMDISK driver initialized: 16 RAM disks of 16384K size 4096 blocksize
input: Macintosh mouse button emulation as /class/input/input0
usbcore: registered new interface driver libusual
usbcore: registered new interface driver hiddev
usbcore: registered new interface driver usbhid
...
SCSI subsystem initialized
libata version 2.10 loaded.
ata1: SATA max UDMA/133 cmd 0x0001ec00 ctl 0x0001e882 bmdma 0x0001e400 irq 19
ata2: SATA max UDMA/133 cmd 0x0001e800 ctl 0x0001e482 bmdma 0x0001e408 irq 19
scsi0 : ata_piix
scsi1 : ata_piix
sda: Write Protect is off
Linux Livre Page 336 Mardi, 23. septembre 2008 1:05 13
337 CONFIGURATION DE BASE
sda: Mode Sense: 00 3a 00 00
SCSI device sda: write cache: enabled, read cache: enabled, doesnt support
DPO or FUA
SCSI device sda: 625142448 512-byte hdwr sectors (320073 MB)
sda: Write Protect is off
sda: Mode Sense: 00 3a 00 00
SCSI device sda: write cache: enabled, read cache: enabled, doesnt support
DPO or FUA
sda: sda1 sda2 sda3 sda4 < sda5 sda6 sda7 sda8 sda9 >
sd 0:0:0:0: Attached scsi disk sda
scsi 1:0:0:0: CD-ROM TSSTcorp CD/DVDW SH-S183A SB00 PQ: 0 ANSI: 5
ata_piix 0000:00:1f.5: MAP [ P0 P2 P1 P3 ]
ACPI: PCI Interrupt 0000:00:1f.5[B] -> GSI 19 (level, low) -> IRQ 19
PCI: Setting latency timer of device 0000:00:1f.5 to 64
ata3: SATA max UDMA/133 cmd 0x0001d400 ctl 0x0001d082 bmdma 0x0001c880 irq 19
ata4: SATA max UDMA/133 cmd 0x0001d000 ctl 0x0001cc02 bmdma 0x0001c888 irq 19
...
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
...
sr0: scsi3-mmc drive: 48x/48x writer dvd-ram cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.20
sr 1:0:0:0: Attached scsi CD-ROM sr0
...
...
ip6_tables: (C) 2000-2006 Netfilter Core Team
ip_tables: (C) 2000-2006 Netfilter Core Team
Netfilter messages via NETLINK v0.30.
nf_conntrack version 0.5.0 (8192 buckets, 65536 max)
skge eth0: enabling interface
ADDRCONF(NETDEV_UP): eth0: link is not ready
skge eth0: Link is up at 100 Mbps, full duplex, flow control both
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Bluetooth: Core ver 2.11
...
La mmoire tampon utilise pour les messages du noyau et dont le contenu est afch par
dmesg est limite. Lorsquelle est pleine, les messages anciens sont crass par les plus
rcents. Du fait que le noyau produit galement des messages tout au long de son fonction-
nement (par exemple lors du chargement de nouveaux modules ou lorsque le noyau ren-
contre des erreurs), une journalisation complte des messages lis lamorage nest
possible quimmdiatement aprs le dmarrage du systme. Pour cette raison, les messages
du noyau sont galement enregistrs, dans la plupart des distributions, dans un chier :
Debian, Fedora, Red Hat, Ubuntu /var/log/dmesg
SUSE /var/log/boot.msg (contient galement les messages
InitV)
Messages
InitV
Ds que le noyau est totalement initialis, le premier processus qui se lance est le processus
InitV (ou un autre systme pour le lancement des processus rseau, voir Chapitre 24). De
faon surprenante, la plupart des distributions renoncent journaliser explicitement les
Linux Livre Page 337 Mardi, 23. septembre 2008 1:05 13
LINUX 338
messages InitV. Lenregistrement ne seffectue que dans le cadre de la journalisation habi-
tuelle, cest--dire uniquement lorsque les dmons et services rseau lancer prvoient leur
propre journalisation. SUSE est toutefois ici une exception intressante : cette distribution
enregistre les messages du systme InitV dans /var/log/boot.msg.
Linux Livre Page 338 Mardi, 23. septembre 2008 1:05 13
21
Gestion des logiciels
et des paquetages
Sous Windows, on installe gnralement des programmes en lanant setup.exe. Linux a
une autre approche : le systme de gestion de paquetages est une base de donnes qui contient
des informations sur tous les paquetages dj installs. Les nouveaux programmes sont
installs par des commandes du gestionnaire de paquetages.
Ce concept prsente de nombreux avantages. En particulier, il prend en compte les dpen-
dances et les conits entre les paquetages logiciels. Si le programme A a besoin de la biblio-
thque B, le systme de paquetages ninstalle A quaprs avoir install B. On peut aussi,
tout moment, connatre le paquetage auquel appartient un chier donn, savoir si ce chier
se trouve encore son emplacement original, etc.
Formats de
paquetages
Le march Linux est domin par deux systmes de paquetages diffrents. Red Hat, Fedora,
Mandriva et SUSE utilisent le systme RPM dvelopp par Red Hat. Debian et toutes les
distributions qui en sont drives (y compris Ubuntu) utilisent le format DEB. Les comman-
des dinstallation, de dsinstallation et de mise jour de ces paquetages (rpm, dpkg) sont rela-
tivement primitives. Elles peuvent, par exemple, identier des dpendances manquantes,
mais pas les rsoudre.
Systmes de
gestion de
paquetages
rpm et dpkg sont les fondations de programmes plus avancs dots de fonctions supplmen-
taires. On compte linstallation automatique des dpendances, la mise jour de systmes
complets et lutilisation de sources de paquetages sur CD et DVD ou encore sur Internet. Les
systmes de gestion de paquetages fournissent galement un systme de mises jour uni
pour tous les programmes installs (en dehors des fonctions de base du systme dexploitation,
comme cela est gr sous Windows).
Yum (pour les paquetages RPM) et APT (pour les paquetages APT) sont des exemples de
systmes de gestion de paquetages. Yum Extender ou Synaptic proposent des alternatives
graphiques ces outils.
Outils
spcifiques
aux distri-
butions
En plus de ces outils standard, il existe pour certaines distributions des programmes de gestion
de paquetages et des mises jour :
Debian, Ubuntu update-manager
Red Hat, Fedora pirut, pup
SUSE, Novell module YaST du groupe Logiciels, zypper
Ubuntu gnome-app-install
Les paquetages dune distribution Linux sont harmoniss entre eux. Cela signifie quils utilisent un jeu de
bibliothques unifi, quils sont compils avec le mme compilateur, etc. Un dbutant sous Linux a donc int-
rt installer uniquement les paquetages fournis avec sa distribution.
Linstallation de paquetages prvus pour une autre distribution pose souvent problme. Bien souvent,
installer un paquetage Red Hat sous SUSE ne fonctionne pas ou difficilement : il manque des biblioth-
Linux Livre Page 339 Mardi, 23. septembre 2008 1:05 13
LINUX 340
ques, les dpendances ne sont pas rsolues, etc. La rsolution de ces problmes demande beaucoup de
connaissances.
Administration
centralise de
plusieurs
ordinateurs
Si vous tes responsable de 50, 100 ou 1 000 ordinateurs, les outils de gestion de paquetages
savrent vite insufsants. Vous avez besoin dun outil qui permet de lancer des mises jour
sur tous les ordinateurs (ou une partie dentre eux). Ce type doutils nest actuellement dis-
ponible que pour les versions entreprise de Red Hat (http://www.europe.redhat.com/rhn/)
et de Novell (http://www.novell.com/fr-fr/products/zenworks/).
21.1 Gestionnaire de paquetages RPM
La commande rpm installe et gre les paquetages RPM. Ce systme a t dvelopp par Red
Hat. Le projet RPM est entre temps devenu un projet libre tout fait habituel, qui nest pas
sous le contrle de Red Hat, ni aucune autre entreprise. Il a de nombreuses utilits :
effectuer des modications dans un chier dj existant (par exemple un script) au
cours dune installation ;
mettre jour un programme tout en mettant jour proprement les chiers modis ;
supprimer tous les chiers dun programme ;
sassurer avant dinstaller un programme que toutes les dpendances sont remplies et
que les bibliothques prsentes le sont dans le bon numro de version ;
vrier si un chier a t modi pendant linstallation dun paquetage ;
dterminer quel paquetage appartient un chier donn.
Notions de base
La plupart des paquetages RPM sont disponibles en deux versions : comme paquetage
binaire et paquetage de code source. Le paquetage binaire contient les chiers ncessaires
lexcution du programme. Le paquetage de code source nest intressant que pour les
dveloppeurs. Il contient le code source ncessaire pour construire un paquetage binaire.
Le nom du paquetage contient quelques informations : abc-2.0.7-1.i686.rpm dcrit le
paquetage abc dans sa version 2.0.7, premire version du paquetage (release). Si le paquetage
contient une erreur, si de la documentation est ajoute ou si dautres modications sont
effectues, le numro de version du paquetage est suprieur 1 pour une version donne du
logiciel. Le numro de version est donc celui du programme, et le numro de version du
paquetage, celui de la version du RPM pour cette version donne du programme.
i686 indique que le paquetage contient des chiers destins aux processeurs compatibles
avec le Pentium 2 il existe des versions de Linux pour dautres processeurs. Lorsque le
paquetage abc ne se compose que de scripts ou de chiers texte, indpendants de larchitec-
ture du processeur, cet identiant est remplac par noarch. Lorsquil contient du code
source, cest indiqu par lidentiant src.
Linux Livre Page 340 Mardi, 23. septembre 2008 1:05 13
341 GESTION DES LOGICIELS ET DES PAQUETAGES
Voici une brve explication des diffrents paquetages x86 :
i386 : processeur 386 et compatibles
i486 : processeur 486 et compatibles
i586 : processeur Pentium et compatibles
i686 : processeur Pentium 2 et compatibles
Un paquetage i386 fonctionne sur tous ces processeurs. Un paquetage i686 utilise, en revanche, les
extensions du Pentium 2. Il fonctionne donc probablement plus rapidement, mais pas sur les processeurs plus
anciens.
Le paquetage contient, en plus des chiers installer, de nombreuses informations de ges-
tion : une description du paquetage, des informations sur les numros de versions, un clas-
sement dans la hirarchie de groupes, les dpendances vis--vis dautres paquetages, etc.
Les dpendances indiquent quun paquetage a besoin dun langage de programmation
donn, comme Perl, ou de diffrentes bibliothques. Les paquetages correspondant aux
dpendances doivent tre installs avant le paquetage lui-mme.
rpm maintient une base de donnes dinformations sur tous les paquetages binaires installs.
Cette base est enregistre dans divers chiers dans le rpertoire /var/lib/rpm. Elle contient
des informations uniquement sur les paquetages binaires ; les paquetages de code source
ventuellement installs ne sont pas pris en compte.
Il ne faut en aucun cas modier les chiers de la base de donnes rpm ! Pour que cette base
corresponde aux chiers effectivement installs, il ne faut pas supprimer de chiers, mais
dsinstaller les paquetages correspondants (rpm -e).
Problmes Le systme RPM est fantastique, mais il nest pas sans inconvnient. La liste suivante
recense les problmes les plus frquents :
Certains paquetages RPM ont des dpendances que la commande rpm ne parvient pas
rsoudre. yum sait, en gnral, grer ces cas.
La gestion de dpendances est invasive lorsque vous mlangez des paquetages de diff-
rentes distributions, installez des programmes avec tar ou en compilez vous-mme.
Alors, les informations de la base RPM ne correspondent pas aux logiciels installs sur
lordinateur.
Les nouvelles versions de RPM ont une compatibilit descendante, mais pas ascendante.
Un paquetage RPM cr avec rpm version 5 ne peut pas tre install avec la version 4.4.
Le plus simple dans ce cas est dinstaller une version plus rcente de rpm.
La base de donnes RPM prend normment de place. Une installation de 5 Go remplit
gnralement 50 Mo de base de donnes. Le problme est moins la place sur le disque
que la rapidit des oprations de RPM. Une mise jour de la distribution complte peut
tre relativement longue (voire trs longue si lordinateur dispose de peu de mmoire
vive).
Il arrive que la base de donnes contienne des donnes incohrentes. Cela implique que
la commande rpm ne peut plus tre utilise et quelle renvoie des messages du type
Linux Livre Page 341 Mardi, 23. septembre 2008 1:05 13
LINUX 342
cannot open packages database (impossible douvrir la base de donnes de paquetages).
Les commandes rm -f /var/lib/rpm/__db* et rpm --rebuilddb rparent gnralement
ce type de problmes, mais cela peut durer un certain temps.
Pendant plusieurs annes, RPM na t quen partie maintenu. Diffrents distributeurs
utilisent donc leur propre version avec leurs propres extensions et correctifs. Cette situation
devrait cependant samliorer avec une version unie de RPM.
Syntaxe et exemples
La syntaxe de base de rpm est rpm options nom_de_paquetage/fichier. Le nom de chier
peut galement tre une adresse FTP ou HTTP. Les oprations de base sont effectues avec
les options suivantes :
rpm --help et man rpm fournissent une rfrence complte de la commande. Les exemples
suivants illustrent lutilisation de rpm dans des situations courantes :
root# rpm -i abc-2.0.7-1.i386.rpm
installe le programme abc.
root# rpm --import http://monserveur/RPM-monserveur-GPG-KEY
charge la cl GPG du serveur monserveur et lenregistre comme chier de cls pour RPM.
root# rpm -U http://monserveur/monchemin/abc-2.1.0-2.i386.rpm
met jour le programme abc en tlchargeant directement le paquetage du serveur web
indiqu.
root# rpm -V abc
liste tous les chiers du paquetage abc qui ont t modis depuis linstallation.
root# rpm -e abc
dsinstalle le programme abc.
root# rpm -qa
liste tous les paquetages installs.
root# rpm -qa --last
Options de base de RPM
rpm --install ou -i installe un paquetage
rpm --import installe un fichier de cls
rpm --upgrade ou -U met jour un paquetage
rpm --verify ou -V vrifie ltat dun paquetage
rpm --erase ou -e supprime un paquetage
rpm --query ou -q affiche des informations sur les paquetages installs
Linux Livre Page 342 Mardi, 23. septembre 2008 1:05 13
343 GESTION DES LOGICIELS ET DES PAQUETAGES
liste tous les paquetages installs, tris par date dinstallation (le dernier paquetage install
en premier).
root# rpm -qa |grep -i mysql
liste tous les paquetages installs, dont le nom contient la chane mysql (indpendamment
de la casse).
root# rpm -qi perl
afche des informations sur le paquetage Perl (si celui-ci est install).
root# rpm -ql perl
liste tous les chiers du paquetage Perl.
root# rpm -qd perl
liste tous les chiers de documentation du paquetage Perl.
root# rpm -qc cups
liste tous les chiers de conguration du paquetage CUPS.
root# rpm -qip abc-2.0.7-1.i386.rpm
afche des informations propos du paquetage abc non install.
root# rpm -qf /usr/lib/libkdnssd.so
indique quel paquetage appartient le chier /usr/lib/libkdnssd.so.
root# rpm -q --provides php5-mysql
indique quelles "capacits" fournit le paquetage php5-mysql. openSUSE renvoie php-mysql,
php-mysqli = 5.2.4, php-pdo_mysql = 5.2.4, mysql.so, mysqli.so, pdo_mysql.so et php5-
mysql = 5.2.4-11. Les capacits sont utilises pour rsoudre les dpendances de paquetages.
Les noms des capacits correspondent gnralement ceux des programmes ou des biblio-
thques fournis par un paquetage. Ladministrateur de chaque distribution dcide comment
les capacits sont dnies. Celles-ci peuvent galement indiquer des numros de versions.
root# rpm -q --requires php5-myql
indique quelles dpendances doivent tre remplies pour installer le paquetage. Sous open-
SUSE, la liste des capacits est assez longue, mais contient entre autres libc.so.6, libm.so.6
et libmysqlclient.so.15.
root# rpm -q --requires -p alien-8.68-27.i586.rpm
utilise loption -p an dafcher des listes de capacits pour les paquetages qui ne sont pas
encore installs. Cette option peut galement tre utilise avec --provides.
root# rpm -q --what-provides mysqli.so
indique quel paquetage install fournit la capacit mysqli.so.
root# rpm -q --whatrequires libpthread.so.0
afche une liste de paquetages installs qui dpendent de la capacit libpthread.so.0.
Linux Livre Page 343 Mardi, 23. septembre 2008 1:05 13
LINUX 344
Sur les distributions 64 bits, il arrive que rpm -qi renvoie des informations pour deux paquetages. Il ne
sagit pas dune erreur : cest d au fait que les paquetages 32 et 64 bits dun programme ou dune biblio-
thque sont nomms de manire identique.
Problmes de
dpendances
Un problme de dpendance se manifeste gnralement par un message du type failed
dependencies: nom_capacit is needed by nom_paquetage.
Pour le rsoudre, installez le paquetage avec yum install, plutt quavec rpm -i (ou un
autre outil de gestion de paquetages fourni par votre distribution). Si cela ne fonctionne pas,
vous devez trouver un paquetage fournissant la capacit nom_capacit. Si vous disposez
dune archive de paquetages locale (sur un disque dur ou un CD-ROM), vous pouvez lancer
la recherche avec cette commande :
root# rpm -qpi --provides *.rpm | less
Dans less, utilisez la commande / pour chercher le texte nom_capacit. Installez alors le
paquetage trouv, puis le paquetage que vous souhaitiez installer lorigine.
Dans certains cas, en particulier lorsque vous avez install des paquetages en dehors du systme
rpm, ce dernier narrive pas rsoudre les dpendances, bien que les chiers manquants
soient en fait prsents. Vous pouvez alors mener linstallation bien avec loption --nodeps.
Vous devez nanmoins savoir ce que vous faites dans ce cas.
21.2 Yum (gestion de paquetages RPM)
Yum est un programme facilitant la gestion des paquetages RPM. Il est bas sur rpm, mais
fournit de nombreuses fonctions supplmentaires :
Yum sait utiliser des sources de paquetages (dpts, repositories) qui se trouvent sur
Internet. Une archive Yum est un ensemble de paquetages RPM auquel sont ajoutes
des mtadonnes (rpertoire repodata). Il sagit dinformations sur le contenu et les
dpendances de tous les paquetages. La sparation entre les paquetages et les mtadon-
nes permet de traiter le tout trs rapidement (sans avoir lire tous les paquetages pour
en extraire les donnes). Yum sait passer dun miroir un autre pour une source de
paquetages donne.
Yum rsout automatiquement toutes les dpendances de paquetages, tlcharge tous les
paquetages ncessaires et les installe. Tous les dpts de paquetages sont pris en compte
au cours de cette opration. Si vous souhaitez installer un paquetage provenant du
dpt A, il se peut que Yum tlcharge un paquetage depuis les dpts B et C.
Yum peut actualiser tous les paquetages installs en une seule commande. Pour chaque
paquetage install, il regarde sil en existe une nouvelle version dans lun des dpts
de paquetages enregistrs. Si cest le cas, le paquetage correspondant est tlcharg et
install. Les dpendances de ces nouveaux paquetages sont galement rsolues.
Yum est dvelopp en Python. Il peut tre tendu par des greffons et dispose alors dencore
plus de fonctionnalits. Il est prsent dans plusieurs distributions qui utilisent des paqueta-
ges RPM (par exemple, Fedora et Red Hat). Pour dautres distributions, vous devez le tl-
charger ladresse http://www.linux.duke.edu/projects/yum/.
Linux Livre Page 344 Mardi, 23. septembre 2008 1:05 13
345 GESTION DES LOGICIELS ET DES PAQUETAGES
Conflits de
verrous
Yum ne peut tre lanc quune seule fois (cest galement valable pour toutes les interfaces).
Si Yum ou lune de ses interfaces fonctionne dj, essayer den lancer un deuxime exem-
plaire renvoie lerreur another copy is running (une autre copie fonctionne dj).
Ce problme tire souvent son origine dans le systme de mises jour automatique de Yum.
Vous pouvez le dtecter facilement : le chier /var/run/yum.pid contient le numro de pro-
cessus du programme qui gnre le conit. ps | grep identifiant renvoie le nom du
programme en question. Si cela savre ncessaire, vous pouvez arrter le systme de mises
jour avec /etc/init.d/yum-updated stop et le relancer plus tard.
Configuration
Yum est congur dans le chier /etc/yum.conf. Les lignes suivantes reprsentent la con-
guration de Fedora 9 :
[main]
cachedir=/var/cache/yum
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
metadata_expire=1800 # 30 minutes
installonly_limit=2
keepcache=0 indique que les paquetages tlchargs ne doivent pas tre archivs aprs leur
installation. Il sagit dun paramtre sens, car la place ncessaire pour les paquetages peut
grossir de manire dmesure. De plus, il nexiste aucune raison dinstaller un paquetage
une deuxime fois. Il arrive cependant que yum rencontre un problme et interrompe linstal-
lation : dans ce cas, le paquetage est supprim. Pour rgler le problme et recommencer
linstallation, vous devez tlcharger nouveau le mme paquetage. Pour viter cette situa-
tion, utilisez keepcache=1. Pour supprimer explicitement les paquetages tlchargs, lancez
yum clean packages.
exactarch=1 indique que Yum ne prend en compte que les mises jour qui correspondent
larchitecture du paquetage courant. Ainsi, les paquetages i386 ne peuvent pas tre remplacs
par des paquetages x86_64, mme plus rcents.
gpgcheck=1 demande Yum de vrier lauthenticit dun paquetage avec une cl. gpgcheck
peut galement tre congur pour des sources de paquetages individuelles.
plugins indique si Yum doit prendre en compte des greffons. Yum peut tre tendu par des
greffons sous forme de chiers Python. Les greffons sont congurs grce des chiers du
rpertoire /etc/yum/pluginconf.d.
metadata_expires dnit combien de secondes sont disponibles les mtadonnes dune
source de paquetages. Yum enregistre les mtadonnes dans un cache et ne les retlcharge
que lorsquelles sont primes. Cela conomise du temps et du volume de donnes tlcharges
Linux Livre Page 345 Mardi, 23. septembre 2008 1:05 13
LINUX 346
(les chiers de mtadonnes prennent beaucoup de place). Nanmoins, il arrive que Yum
ignore momentanment les modications de la source de paquetages. yum clean metadata
permet de supprimer les mtadonnes locales ; Yum est alors oblig de rcuprer les mta-
donnes de toutes les sources.
Mise en place
dun dpt de
paquetages
Chaque dpt de paquetages est dni dans son propre chier *.repo dans le rpertoire
/etc/yup.repos.d. On peut aussi dnir les dpts la n de la conguration de base
dans /etc/yum.conf, mais ce nest pas trs courant.
Les lignes suivantes proviennent de la dnition des dpts de Fedora 9. Les lignes baseurl,
mirrorlist et gpgkey ne sont coupes que pour des raisons de place.
[fedora]
name=Fedora $releasever - $basearch
# baseurl=http://download.fedora.redhat.com/pub/fedora/linux/...
# releases/$releasever/Everything/$basearch/os/
mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-
$releasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora file:///etc/pki/rpm-gpg/RPM-
GPG-KEY
Ladresse du dpt peut tre saisie de manire absolue avec baseurl=... ou sous la forme
dun chier de miroirs avec mirrorlist=.... Ce chier contient une liste des serveurs miroir
et Yum dcide lui-mme lequel utiliser. Il remplace dans le chier de conguration les varia-
bles $releasever, $arch et $basearch par le numro de version de la distribution et par
larchitecture.
Blocages des
paquetages
Pour bloquer un paquetage et viter quil ne soit mis jour par Yum, ajoutez dans yum.conf
ou dans le chier *.repo du dpt une ligne exclude nom1 nom2 nom3. Vous pouvez utiliser
des caractres joker dans les noms de paquetages : exclude xemacs* est une ligne valide.
Mise jour de
la distribution
En principe, vous pouvez mettre jour votre distribution avec Yum. Pour cela, remplacez
$releasever par le numro de la distribution souhaite dans le chier de description du
dpt. Lancez alors yum upgrade. Cependant, daprs mon exprience, les mises jour de
distributions fonctionnent gnralement assez mal, quel que soit le systme de gestion
de paquetages. Il vaut mieux rinstaller le systme.
Exemples
man yum fournit une rfrence complte de la syntaxe de yum. Les commandes suivantes sont
des exemples dutilisation de yum.
root# yum check-update
indique quels paquetages seront mis jour si vous lancez yum update.
root# yum update
met jour les paquetages de la distribution.
root# yum install abiword
installe le paquetage abiword et ses dpendances.
Linux Livre Page 346 Mardi, 23. septembre 2008 1:05 13
347 GESTION DES LOGICIELS ET DES PAQUETAGES
La premire utilisation de yum peut tre assez longue, car les mta-donnes de tous les
dpts de paquetages sont tlcharges. Les utilisations suivantes sont visiblement plus
rapides.
Paquetages de
code source
yum ne sait pas installer de paquetages de code source. Cette tche est dlgue yumdown-
loader, qui se trouve dans le paquetage yum-utils. La commande suivante tlcharge le
paquetage de code source de lditeur gedit dans le rpertoire courant :
utilisateur$ yumdownloader --source gedit
Tlchargements et mises jour automatiques
Sur de nombreuses distributions, Yum est congur de sorte que le programme yum-upda-
tesd soit lanc automatiquement par InitV au dmarrage de lordinateur.
yum-updatesd vrie rgulirement si des mises jour sont disponibles. Selon la congura-
tion de /etc/yum/yum-updatesd.conf, les paquetages de mise jour sont directement tl-
chargs et installs. Dans lexemple suivant, les mises jour sont automatiquement
tlcharges, mais doivent tre installes manuellement.
[main]
# tester toutes les heures sil y a de nouvelles mises jour
run_interval = 3600
# contacter le serveur de mise jour au plus toutes les 10 minutes
updaterefresh = 600
# mettre une notification de mise jour via dbus
emit_via = dbus
# tlcharger automatiquement les mises jour
do_download = yes
# tlcharger galement les dpendances pour ces mises jour
do_download_deps = yes
# ne pas installer automatiquement les mises jour
do_update = no
Malheureusement, le programme de mises jour de yum mne souvent des problmes de
verrous. Vous devez alors stopper yum-updatesd avant dinstaller des paquetages. Ensuite,
noubliez pas de redmarrer yum-updatesd.
root# /etc/init.d/yum-updatesd stop
root# ...installer ou supprimer des paquetages...
root# /etc/init.d/yum-updatesd start
21.3 Yum Extender (Yumex)
Il existe plusieurs interfaces graphiques de Yum. Une des plus populaires et des plus stables
est Yum Extender (yumex, voir Figure 21.1). Son utilisation est simple. Une fois dmarr,
Yumex actualise les mtadonnes locales de tous les dpts de paquetages. Vous pouvez
Linux Livre Page 347 Mardi, 23. septembre 2008 1:05 13
LINUX 348
ensuite choisir dans les diffrents groupes (Updates, Disponibles, Installs, Tous) les paque-
tages traiter, puis cliquer sur le bouton Traiter la le dattente.
Longlet Vue des paquetages en le dattente afche toutes les actions que Yumex va effec-
tuer. Le bouton Traiter la le dattente dmarre lopration. Yumex examine alors toutes les
dpendances et afche une bote de dialogue de rsum. Vous devez conrmer avant que
les paquetages ne soient effectivement tlchargs et installs.
21.4 Gestion de paquetages sous Debian (dpkg)
On peut grer les paquetages Debian de deux manires. Cette section dcrit la commande
dpkg, qui est comparable rpm. Elle installe, met jour, supprime des paquetages indivi-
duels et teste si les dpendances de ces paquetages sont remplies. Cependant, elle ne sait
pas rsoudre elle-mme les dpendances de paquetages ou tlcharger des paquetages
depuis un dpt.
La section suivante dcrit APT (Advanced Packaging Tool, outil de paquetages avanc).
Ce systme, bas sur dpkg, fournit des fonctions comparables Yum.
Syntaxe et exemples
Le tableau suivant rsume les oprations de base de dpkg. Vous trouverez plus dinforma-
tions sur la syntaxe dans dpkg --help et man dpkg.
Figure 21.1
Gestion des paquetages
avec Yum Extender.
Linux Livre Page 348 Mardi, 23. septembre 2008 1:05 13
349 GESTION DES LOGICIELS ET DES PAQUETAGES
Les exemples suivants illustrent lutilisation de dpkg dans des situations habituelles. En pra-
tique, dpkg est rarement utilis. Dans la plupart des distributions, les paquetages sont admi-
nistrs grce APT ou un outil bas sur ce systme.
root# dpkg --install test.deb
Dpaquetage de test ( partir de test.deb) ...
Paramtrage de test...
root# dpkg --search /etc/mediaprm
fdutils: /etc/mediaprm
root# dpkg --listfiles fdutils
/.
/usr
/usr/bin
/usr/bin/diskd
...
Certains programmes fournissent comme scripts de conguration des programmes interac-
tifs qui servent installer des programmes individuels. Pour modier la conguration ult-
rieurement, lancez dpkg-reconfigure nom_du_paquetage.
21.5 APT
APT (Advanced Packaging Tool, outil de paquetages avanc) est aux paquetages Debian ce
que Yum est aux paquetages RPM : un gestionnaire de haut niveau qui tlcharge les paque-
tages depuis des dpts et rsout automatiquement les dpendances de paquetages. Il est
souvent remplac par aptitude dans les versions plus rcentes de Debian et dUbuntu, mais
reste une rfrence pour grer les paquetages DEB.
Le systme APT se compose de plusieurs commandes, dont la principale est apt-get. Lorsque
APT est correctement congur, apt-get install nom_du_paquetage tlcharge et installe le
paquetage indiqu et toutes ses dpendances.
Options de base de dpkg
dpkg --install installe ou met jour un paquetage
dpkg --configure lance le script de configuration dun paquetage
dpkg --remove supprime un paquetage
dpkg --purge supprime un paquetage et ses fichiers de configuration
dpkg --list affiche une liste des paquetages installs
dpkg --listfiles affiche les fichiers dun paquetage
dpkg --search dtermine le paquetage auquel un fichier appartient
Linux Livre Page 349 Mardi, 23. septembre 2008 1:05 13
LINUX 350
Configuration
APT est congur par les chiers apt.conf et sources.list du rpertoire /etc/apt. Dautres
chiers, optionnels, peuvent se trouver dans le rpertoire /etc/apt.conf.d.
apt.conf ne contient gnralement que quelques paramtres de base ; vous navez gnrale-
ment pas toucher la conguration fournie par votre distribution (man apt.conf dtaille
les options de ce chier). Le chier sources.list (man sources.list) est plus intressant : il
contient la liste des dpts utiliss par APT. La syntaxe de chaque ligne est de ce type :
type adresse distribution [composants1] [composants2] [composants3] ...
type a la valeur deb pour les paquetages Debian classiques et deb-src pour les paquetages
de code source. La deuxime colonne indique ladresse de base de la source de paquetages.
APT comprend les adresses HTTP et FTP, les rpertoires, les serveurs RSH et SSH, ainsi que
les CD et DVD. Les dpts sur CD et DVD sont cependant un cas particulier ; ils doivent tre
installs avec la commande apt-cdrom.
La troisime colonne indique la distribution (un serveur peut distribuer des paquetages
pour plusieurs distributions ou versions). Les colonnes suivantes indiquent les composants
de la distribution pris en compte. Les noms des composants dpendent de la distribution et
du dpt ! Sous Ubuntu, les paquetages se divisent en paquetages main, restricted, uni-
verse et multiverse, tandis que sous Debian, il sagit des paquetages main, contrib, non-free, etc.
Si un paquetage est prsent dans plusieurs dpt, APT le tlcharge depuis le premier dpt
quil trouve. Les lignes suivantes illustrent la syntaxe. Elles proviennent de la conguration
de miroirs franais pour Ubuntu 8.04.
deb cdrom:[Ubuntu 8.04 _Hardy Heron_ - Release i386 (20080423)]/ hardy main
restricted
deb http://fr.archive.ubuntu.com/ubuntu/ hardy main restricted
deb http://fr.archive.ubuntu.com/ubuntu/ hardy universe multiverse
deb http://security.ubuntu.com/ubuntu hardy-security main restricted
deb http://security.ubuntu.com/ubuntu hardy-security universe
deb http://archive.canonical.com/ubuntu hardy partner
Le plus simple pour modier ce chier est de louvrir dans un diteur de texte. Vous pouvez
aussi utiliser le programme apt-setup ou une interface graphique comme Synaptic.
Ajouter des
dpts sur CD
Les CD peuvent aussi servir de dpts de paquetages. On ne peut cependant pas les ajouter
simplement dans sources.list. Vous devez lancer, pour chaque CD, la commande apt-
cdrom. Celle-ci lit les mtadonnes du CD et ajoute les paquetages prendre en compte dans
un chier de cache. Puis, sources.list est mis jour. Si apt-cdrom se plaint quil ne trouve
pas de CD/DVD, passez-lui en argument le rpertoire de montage du CD avec -d :
root# apt-cdrom -d /media/dvd add
Installer des
cls
La plupart des mtadonnes des dpts sont signes par une cl. Les rpertoires dAPT
contiennent galement des sommes de contrle pour tous les paquetages. Vous pouvez,
grce ces mcanismes, vous assurer quun paquetage nest pas modi malicieusement.
Cependant, ce contrle ne fonctionne que si APT dispose de la cl publique pour authenti-
er les archives de paquetages. Pour installer une cl APT, utilisez la commande apt-key :
root# apt-key add fichier_de_cle.gpg
Linux Livre Page 350 Mardi, 23. septembre 2008 1:05 13
351 GESTION DES LOGICIELS ET DES PAQUETAGES
Exemples
Actualiser les
informations
dAPT
Avant dinstaller des paquetages, il est prfrable de lancer apt-get update pour tlcharger
les dernires informations des dpts. Cette commande ninstalle pas de paquetage et nen
met pas jour. Il ne sagit que des descriptions des paquetages !
root# apt-get update
Atteint http://archive.canonical.com hardy Release.gpg
...
Installer des
paquetages
Vous pouvez ensuite lancer apt-get install, auquel il faut donner le nom exact du paque-
tage. Si la commande dtecte des dpendances non rsolues, elle propose de tlcharger et
dinstaller les paquetages manquants.
root# apt-get install wine
Lecture des listes de paquets... Fait
Construction de larbre des dpendances
Lecture des informations dtat... Fait
Les paquets supplmentaires suivants seront installs:
binfmt-support samba-common smbclient smbfs winbind
Les NOUVEAUX paquets suivants seront installs:
binfmt-support winbind wine
Les paquets suivants seront mis jour:
samba-common smbclient smbfs
3 mis jour, 3 nouvellement installs, 0 enlever et 273 non mis jour.
Il est ncessaire de prendre 17,5Mo dans les archives.
Aprs cette opration, 60,8Mo despace disque supplmentaires seront utiliss.
Souhaitez-vous continuer [O/n]? o
...
Supprimer des
paquetages
apt-get remove paquetage supprime le paquetage indiqu. Les paquetages installs en tant
que dpendances de ce paquetage ne sont pas dsinstalls.
Actualiser des
paquetages
apt-get upgrade permet de mettre jour tous les paquetages dj installs.
Installer un
paquetage de
code source
apt-get source paquetage installe le code source du paquetage dans le rpertoire courant.
Afficher des
informations
sur les
paquetages
apt-cache permet dafcher diverses donnes sur les paquetages disponibles et ceux dj
installs (voir man apt-cache pour plus dinformations sur la syntaxe).
root# apt-cache show apache2
Package: apache2
Priority: optional
Section: web
...
Description-fr: Serveur web de prochaine gnration, modulable et volutif
Apache v2 est la prochaine gnration de lomniprsent serveur web Apache.
Cette version - totalement rcrite - introduit de nombreuses nouvelles
amliorations comme le threading (excution de processus lgers indpendamment
du programme principal), une nouvelle API, le support de lIPv6, le filtrage
de la requte/rponse, et plus encore.
...
Linux Livre Page 351 Mardi, 23. septembre 2008 1:05 13
LINUX 352
root# apt-cache search scribus | sort
create-resources - shared resources for use by creative applications
icc-profiles - ICC color profiles for use with Scribus, Gimp, CinePaint, and
scribus - Open Source Desktop Page Layout
scribus-template - additional scribus templates
Tlchargements et mises jour automatiques
APT est normalement install de manire que seuls quelques chiers de conguration
doivent tre adapts pour tlcharger et installer automatiquement les mises jour. Sous
Ubuntu, le paquetage unattended-upgrades contient les chiers de conguration nces-
saires.
Le point de dpart de la conguration est le programme cron qui lance le script /etc/
cron.daily/apt tous les jours. Les tches menes bien par ce script dpendent de deux
chiers de conguration. 10periodic indique quelle frquence les listes de paquetages
sont mises jour (par exemple, 3 signie "tous les trois jours"), si les paquetages doivent tre
tlchargs, sils doivent tre installs automatiquement et quelle frquence apt-get
autoclean doit tre lanc (0 signie "jamais").
# Fichier /etc/apt/apt.conf.d/10periodic
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "0";
50unattended-updates indique quels dpts sont pris en compte pour les mises jour auto-
matiques (par dfaut, uniquement les dpts de mises jour de scurit critiques). Chaque
dpt est dcrit par deux informations : son origine et son nom.
Unattended-Upgrade::Allowed-Origins {
"Ubuntu hardy-security";
// "Ubuntu hardy-updates";
};
21.6 Synaptic
Il existe dinnombrables interfaces graphiques APT. Lune des plus populaires est
Synaptic.
Installer des
paquetages
Pour installer un paquetage, cherchez-le avec le bouton Rechercher ou directement dans
la liste, cliquez dessus du bouton droit et choisissez Slectionner pour installation (voir
Figure 21.2). Si le paquetage dpend dautres paquetages, une bote de dialogue avec tous
les paquetages supplmentaires devant tre installs apparat.
Vous pouvez afcher la liste de tous les paquetages slectionns en cliquant sur le bouton
Filtres, puis Changements en le dattente. Linstallation commence lorsque vous cliquez
sur Appliquer, qui afche un rsum de toutes les actions mener. Une fois ce rsum
conrm, Synaptic lance toutes les oprations dinstallation. Les modications sont enregistres
et disponibles dans Fichier > Historique.
Linux Livre Page 352 Mardi, 23. septembre 2008 1:05 13
353 GESTION DES LOGICIELS ET DES PAQUETAGES
Administration
des dpts
Les dpts sont congurs dans Conguration > Dpts. Vous pouvez les activer ou les
dsactiver rapidement, modier ceux qui sont prdnis ou en ajouter de nouveaux.
Problmes
Vous pouvez rencontrer certains problmes avec Synaptic. Les points suivants rsument
lorigine et les solutions des plus courants.
Verrous Vous ne pouvez lancer quun seul gestionnaire de chiers la fois. Si vous essayez den lan-
cer deux en mme temps, vous obtiendrez une erreur du type unable to get exclusive lock. Cela
signie que le programme ne peut pas accder aux chiers de gestion de paquetages. Vous
devez donc arrter lun des deux programmes.
Il arrive aussi que cet avertissement apparaisse mme lorsque aucun autre gestionnaire
nest lanc : cest le cas si un programme ne supprime pas le chier de verrou lorsquil est
termin. Il suft alors de supprimer le chier en question :
root# rm /var/lib/dpkg/lock
Paquetages
casss
Il arrive, dans de rares cas, que linstallation ou la dsinstallation dun paquetage ne fonc-
tionne pas ou que lopration ne se termine pas bien. Le paquetage est alors marqu comme
cass. Synaptic et les autres programmes de gestion de paquetages refuseront dobir vos
ordres tant que ce problme ne sera pas rsolu.
Dans Synaptic, cliquez sur Filtres, puis sur Casss pour afcher une liste de tous les paque-
tages casss. Slectionnez-les tous avec Ctrl+A, cliquez du bouton droit sur la liste, puis
Figure 21.2
Gestion de paquetages
avec Synaptic.
Linux Livre Page 353 Mardi, 23. septembre 2008 1:05 13
LINUX 354
choisissez Slectionner pour rinstallation. Cliquez sur Appliquer. Si cela ne rsout pas le
problme, supprimez les paquetages en question.
22.7 Aptitude
Le programme aptitude est galement bas sur APT. Il peut tre utilis en ligne de com-
mande (aptitude install nom_du_paquetage) ou en tant que programme indpendant dans
une console. Pour cela, lancez aptitude sans paramtre supplmentaire ; Ctrl+T permet
dafcher le menu (voir Figure 21.3).
Lutilisation daptitude nest pas aussi confortable que celle de Synaptic, mais il prsente un
avantage dcisif : il note quels paquetages ont t installs comme dpendances et les sup-
prime automatiquement lorsquils ne sont plus utiles.
De plus, il installe galement les paquetages "conseills" en parallle des paquetages ins-
taller et de leurs dpendances.
Utilisation en
ligne de
commande
aptitude peut galement tre install en ligne de commande. Son utilisation ressemble
celle de apt-get. Les deux commandes suivantes installent le paquetage claws-mail-plu-
gins et le suppriment. Remarquez la suppression des paquetages installs par le jeu de
dpendances.
root# aptitude install claws-mail-plugins
Lecture des listes de paquets... Fait
...
Les NOUVEAUX paquets suivants vont tre automatiquement installs:
claws-mail-bogofilter claws-mail-dillo-viewer claws-mail-pgpinline
claws-mail-pgpmime claws-mail-spamassassin claws-mail-trayicon dillo
...
Figure 21.3
Gestion des paquetages
avec Aptitude.
Linux Livre Page 354 Mardi, 23. septembre 2008 1:05 13
355 GESTION DES LOGICIELS ET DES PAQUETAGES
Voulez-vous continuer? [Y/n/?] y
root# aptitude remove claws-mail-plugins
...
Les paquets suivants ne sont pas utiliss et vont tre ENLEVS:
claws-mail-bogofilter claws-mail-dillo-viewer claws-mail-pgpinline
claws-mail-pgpmime claws-mail-spamassassin claws-mail-trayicon
...
21.8 Conversion entre deux formats de paquetages
Que faire lorsque vous ne trouvez un paquetage quau format RPM et que vous dsirez
linstaller sur un systme Debian ou Ubuntu ? Ou lorsque vous souhaitez seulement voir
quelques chiers dun paquetage RPM ? La rponse ces deux questions est le pro-
gramme alien. Cette commande convertit les paquetages entre diffrents formats : RPM,
DEB, archives tar.
alien ne fonctionne cependant que pour les paquetages simples. Si un paquetage fait appel
des scripts dinstallation ou des proprits spciques dun format de paquetages
donn, linstallation chouera probablement. Il sagit globalement dun outil pour les utili-
sateurs avancs de Linux.
Le format du paquetage souhait est indiqu par les options --to-deb (Debian), --to-rpm
(RPM) ou --to-tgz (archive tar). alien doit tre lanc par lutilisateur root pour que les
permissions et droits daccs du nouveau paquetage soient corrects. La commande suivante
convertit un paquetage Debian en paquetage RPM :
root# alien --to-rpm paquetage.deb
Les commandes suivantes montrent comment extraire un chier donn dun paquetage
RPM. Celui-ci est transform en archive tar et la commande tar est ensuite utilise pour
extraire le chier.
root# alien --to-tgz paquetage.rpm
root# tar -xzf paquetage.tgz ./usr/share/doc/packages/paket/TODO
Linux Livre Page 355 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 356 Mardi, 23. septembre 2008 1:05 13
22
Systme XWindow
Le systme XWindow (en abrg, X) est un ensemble de fonctions et de protocoles qui per-
met dafcher des informations graphiques lcran et de grer le clavier et la souris. Ces
fonctions sont galement disponibles sur le rseau.
Une premire implmentation de XWindow provenait du projet XFree86. Il sagissait au
dpart dun systme dvelopp uniquement pour les processeurs compatibles Intel x86,
mais il a t adapt depuis presque toutes les architectures de processeurs et dinnom-
brables drivs dUnix. Le projet X.org a vu le jour partir de la version 4.4 de XFree86, suite
des diffrends entre les dveloppeurs de XFree86 concernant une modication de la
licence de XFree86, incompatible avec la licence GPL. Depuis, presque toutes les distributions
Linux utilisent le serveur X.org.
Ce chapitre se base sur les versions 7.1 7.3. Il dcrit diffrents aspects de la conguration
dun serveur X, y compris linclusion de pilotes binaires dATI/AMD et de NVIDIA. Nous
parlerons galement des fonctions 3D du bureau, de la gestion des polices, ainsi que de
divers utilitaires X (comme xterm). Vous trouverez plus dinformations sur X et X.org
ladresse http://www.x.org.
22.1 Glossaire
Cette section claircit quelques notions de base et concepts auxquels vous serez probablement
confront lors de la conguration de X.
Systme
XWindow
Le systme XWindow (abrg en X) ne dnit que les fonctions de base pour dessiner des
points, des rectangles, etc. Il contient galement un protocole rseau qui permet de lancer un
programme X sur lordinateur A et dafcher les rsultats sur lordinateur B. Fin 2007, la ver-
sion actuelle de X.org (7.3) se base sur X11R7.3. Le systme XWindow a t dvelopp au
dpart par le MIT.
X est la base dune interface graphique pour Linux, mais il nest pas en soi une interface
graphique. Laspect des programmes X et leur utilisation dpendent des bibliothques utilises
par les programmeurs (par exemple, GTK pour Gnome, QT pour KDE) et du gestionnaire
de fentre actif.
Serveur X Le serveur X est linterface entre le systme XWindow et le matriel (carte graphique, souris,
etc.). Ce serveur est modulaire : il est tendu par des fonctions spciales pour chaque carte
graphique.
Modules
dextension
de X
Les fonctions standard du serveur X peuvent tre tendues par divers modules dextension,
par exemple pour les graphismes 3D, une sortie vido plus rapide, etc.
cran virtuel Le serveur X sait exploiter un cran virtuel plus grand que la rsolution effective du moni-
teur. Par exemple, lcran virtuel peut avoir une rsolution de 1600x1200, tandis que seuls
Linux Livre Page 357 Mardi, 23. septembre 2008 1:05 13
LINUX 358
1280x1024 pixels safchent lcran. Le changement de zone visible se fait sans ralentis-
sement ds que la souris sapproche du bord de lcran.
Comme le fait de travailler avec un cran virtuel demande un peu dhabitude, la plupart des
congurations X lvitent. Un cran virtuel peut cependant savrer utile si votre rsolution
est trs faible, par exemple sur un vieil ordinateur portable.
Bureaux
virtuels
Un bureau virtuel est une interface graphique largie qui se compose de plusieurs crans
(espaces de travail) cte cte. Comme vous navez quun seul moniteur physique, vous ne
pouvez voir quun seul bureau la fois. Les bureaux virtuels ne sont pas grs par X, mais
par le gestionnaire de fentre ou de bureau (KDE, Gnome).
Xinerama Avec une carte graphique approprie, le serveur X peut exploiter plusieurs moniteurs grce
au mode Xinerama. Lespace de travail stale alors sur plusieurs moniteurs.
Gestionnaire
de fentres
Le gestionnaire de fentres est un programme X qui sert grer les fentres. Vous pouvez
ainsi dmarrer dautres programmes (au moins une fentre de terminal xterm), passer dune
fentre une autre, dplacer et fermer des fentres, etc. Il sagit de tches trs simples,
mais il ne faut pas oublier quelles sont gres par le gestionnaire de fentres et non par X.
enlightenment, fvwm et xfce sont des gestionnaires de fentres usuels.
Gestionnaire
de bureau
Les gestionnaires de bureau, comme KDE ou Gnome, vont au-del des fonctions dun ges-
tionnaire de fentre. Grce aux bibliothques graphiques, les applications KDE et Gnome
sont plus unies, la fois au niveau de leur aspect et de leur utilisation. Les communica-
tions entre les programmes sont standardises au point que le glisser-dposer entre diff-
rents programmes fonctionne. Vous trouverez plus dinformations sur Gnome et KDE aux
Chapitres 4 et 5.
Du fait que KDE et Gnome sont de plus en plus populaires, il est devenu peu frquent duti-
liser X avec un simple gestionnaire de fentre sans gestionnaire de bureau. Il existe cepen-
dant des cas o ce choix a un sens, par exemple sur un ordinateur avec peu de mmoire vive
ou un processeur lent (KDE et Gnome sont plutt gourmands en ressources).
Bureau 3D Depuis 2006, il existe des gestionnaires de fentres qui "amliorent" diverses oprations
grce aux fonctions 3D de la carte graphique : les fentres sont dformes lorsquelles sont
dplaces, les bureaux sont projets sur un cube lorsquon change de bureau, etc. Des effets
similaires sont utiliss sous Mac OS X et Windows Vista.
Glossaire matriel
Mme si les crans cathodiques se font rares, connatre le fonctionnement dun tel moniteur
aide comprendre les paramtres de conguration dune carte graphique. Pour afcher une
image, un moniteur cathodique parcourt ligne par ligne toute la surface de lcran avec un
faisceau dlectrons et allume des petits points (sauf si ces derniers doivent rester noirs).
Pour que limage ne scintille pas, ce processus est rpt plusieurs fois par seconde (au
moins 60, de prfrence 70 100 fois).
Balayage
horizontal
(HSync)
Le balayage de lcran commence dans le coin en haut gauche. Le faisceau dlectrons se
dplace vers la droite et parcourt ainsi la premire ligne. Il saute alors au dbut de la
deuxime ligne et la traite de la mme manire. Pendant ce retour du faisceau, celui-ci a une
intensit nulle pour quil ne soit pas visible. Ce retour est dclench par limpulsion HSync,
transmise de la carte graphique au moniteur.
Linux Livre Page 358 Mardi, 23. septembre 2008 1:05 13
359 SYSTME XWINDOW
Balayage
vertical
(VSync)
Une fois que toutes les lignes ont t balayes et que le faisceau dlectrons se trouve dans le
coin en bas droite de lcran, limpulsion VSync dclenche le retour du faisceau en haut gau-
che. Celui-ci reste teint pendant ce retour, an dviter une trane lumineuse sur tout lcran.
Frquences La construction dune image est caractrise par trois frquences. Celles-ci sont donnes en
Hz (Hertz, soit le nombre doscillations par seconde) ou en multiples de cette unit, par
exemple kHz ou MHz.
Frquence
verticale
Cette frquence indique combien de fois par seconde lcran est entirement rafrachi. Plus
ce nombre est lev, plus la stabilit de limage est grande. Une frquence de 70 images par
seconde (70 Hz) assure une image sans scintillement.
Frquence
horizontale
Cette frquence indique combien de lignes sont parcourues par le faisceau dlectrons en
une seconde. Pour une rsolution de 640 480 (480 lignes) une frquence verticale de
60 Hz, la frquence horizontale atteint 31,5 kHz (60 480 = 28,8 kHz, mais il faut garder
un peu de temps pour le balayage vertical). Pour une rsolution de 1200 1600 et 85 Hz,
la frquence horizontale atteint 110 kHz.
Il ne faut pas dpasser les frquences maximales dun cran cathodique ! Sinon, le faisceau ne peut pas sui-
vre les donnes, des zones de lcran (voire lcran entier) sont claires trop longtemps ou trop souvent,
et lcran peut rapidement tre dtruit. Les moniteurs modernes reconnaissent normalement cette situation
et dsactivent automatiquement le faisceau ; pour un moniteur plus ancien, le risque de destruction est
rel.
Frquence de
pixels (dbit
vido)
Cette frquence indique le nombre de pixels qui sont transmis de la carte graphique au
moniteur en une seconde. En 640 480 une frquence de 60 Hz, la valeur minimale est de
18,4 MHz. Pour prendre en compte le temps de retour sur le balayage, la frquence vido est
normalement plus proche de 25 MHz.
Comparaison
entre les
crans
cathodiques et
LCD
Sur un cran plat, limage est construite par de llectronique de pilotage qui rend plus ou
moins transparentes des petites parties de la surface de lcran. Il nest donc plus ncessaire
de construire limage ligne par ligne.
Les moniteurs LCD avec une entre analogique traitent, pour des raisons de compatibilit, les
mmes signaux dentre que les moniteurs cathodiques. Le signal est donc converti deux fois :
de la carte graphique numrique au cble analogique puis lcran numrique. Cela peut faire
lgrement scintiller limage. La qualit est meilleure lorsque le signal est transmis en num-
rique via un cble DVI entre les prises correspondantes de la carte graphique et de lcran.
La qualit de limage nest optimale que lorsque la rsolution du moniteur (par exemple
1280 1024) est respecte avec exactitude. Contrairement aux crans cathodiques, les fr-
quences dimage sont le plus souvent xes (gnralement, entre 60 et 75 Hz). Une fr-
quence trop leve peut entraner un cran noir : aucune image ne safche, car la frquence
maximale de llectronique de commande est dpasse.
DDC (Display
Data Channel
canal de
donnes
daffichage)
La plupart des moniteurs modernes transmettent leurs rfrences (par exemple, leur
frquence maximale) la carte vido par le biais du cble de lcran. Cela permet
de reconnatre automatiquement lcran et aide congurer correctement la carte
graphique.
Linux Livre Page 359 Mardi, 23. septembre 2008 1:05 13
LINUX 360
22.2 Problme des pilotes
Avant de dcrire la conguration et lutilisation de X dans les sections suivantes, nous aime-
rions traiter ici du principal problme de X : la mauvaise prise en charge des cartes gra-
phiques modernes par les pilotes libres. (Ce texte a t traduit et mis jour en juillet 2008.
Il se peut que la situation ait chang au moment o vous lirez ces lignes.)
Limmense majorit des PC et ordinateurs portables actuels dispose dun processeur graphi-
que de lun des trois fabricants ATI/AMD, Intel et NVIDIA Intel ne fournit pas de cartes
graphiques, mais uniquement des processeurs. Les solutions graphiques de VIA (principa-
lement en tant que partie de la carte mre) se propagent galement trs vite.
Donnons dabord une bonne nouvelle : les pilotes libres contenus dans X fonctionnent en
principe avec presque toutes les cartes graphiques courantes. Voici maintenant la mauvaise
nouvelle : les performances atteintes sont au mieux mdiocres et de nombreuses fonctions
supplmentaires de la carte graphique restent inutilises, comme les fonctions 3D, la gestion
de plusieurs sorties, etc.
ATI/AMD Jusqu rcemment, ATI/AMD se refusait spcier publiquement les interfaces de ses pro-
cesseurs graphiques, ce qui a longtemps empch le dveloppement de pilotes 3D libres. Il
existait cependant des pilotes ferms gratuits, mais leur prise en charge devenait de pire
en pire au l des ans : incompatibilit avec les versions actuelles de X.org, pas de prise en
charge de AIGLX (bureau 3D), etc.
Depuis le printemps 2007, la situation samliore nettement. ATI/AMD ouvre les spcications
de ses processeurs et les pilotes libres fonctionnent de mieux en mieux.
Intel La prise en charge libre des processeurs graphiques Intel est globalement excellente. Cela
vient du fait quIntel coopre beaucoup avec la communaut libre et fournit lui-mme des
pilotes libres.
NVIDIA NVIDIA reste pour linstant sur ses positions : les accords de licence avec dautres entreprises
et les brevets rendent impossibles le dveloppement de pilotes libres et louverture des sp-
cications. NVIDIA fournit en revanche des pilotes ferms gratuits, dont la qualit est glo-
balement meilleure que celle des pilotes dATI/AMD. Les pilotes libres ne prennent en
charge que les fonctions 2D (nv) ou ne sont pas encore trs mrs (nouveau).
VIA Le pilote libre intgr X ne fonctionne quavec les modles VIA anciens. Pour les plus
rcents, vous avez trois possibilits : le pilote VESA (lent), le pilote libre de VIA (qui na
pas bonne rputation et qui nest pas intgr X) et un second pilote libre du projet open-
Chrome qui nest pas trs mr. Fin juillet, VIA a publi plus de 800 pages de spcica-
tions visant au dveloppement de pilotes libres ; gageons que la situation samliorera
rapidement.
Problmes
avec les pilotes
non libres
Vous vous dites peut-tre que la diffrence entre des "vrais" pilotes libres et des pilotes
binaires gratuits tient du coupage de cheveux en quatre : limportant est que cela fonc-
tionne. Il existe cependant de bonnes raisons de prfrer les pilotes libres aux pilotes
binaires :
Les pilotes binaires ne sont pas toujours stables. Cela sest rcemment amlior, mais il
nexiste aucune garantie pour le futur.
Linux Livre Page 360 Mardi, 23. septembre 2008 1:05 13
361 SYSTME XWINDOW
Pour que les pilotes graphiques fonctionnent de manire efcace, il est ncessaire de les
lier troitement au noyau Linux. Il existe donc entre le pilote rel (propritaire) et le
noyau (sous licence GPL) un petit module de noyau qui sert uniquement dinterface
entre ces deux parties.
De nombreux dveloppeurs de Linux doutent que cette faon de procder soit conforme
la GPL et ne la tolrent qu contrecur. Ils dcrivent un tel noyau comme tainted
(entach) et dclinent dans ce cas toute responsabilit vis--vis dventuels problmes
de stabilit.
La proximit avec le noyau a un inconvnient supplmentaire : aprs une mise jour du
noyau, le module de la carte graphique doit galement tre actualis pour tre compati-
ble avec le noyau. La complexit de cette opration dpend de la distribution. Dans un
cas idal, le pilote est mis jour automatiquement par le gestionnaire de paquetages.
Sinon, le systme graphique ne fonctionne plus et vous devez recompiler un module de
noyau dans une console.
En raison des conits avec la GPL, la redistribution de pilotes ferms est difcile au vu
des licences utilises. Pour de nombreuses distributions, vous devez tlcharger et ins-
taller vous-mme ces pilotes. Cette opration est plus ou moins complexe suivant la dis-
tribution : certaines privilgient le confort des utilisateurs par rapport la stricte
observance des idaux libres.
Comme le code des pilotes graphiques nest connu que des entreprises correspondan-
tes, il est impossible den contrler la scurit depuis lextrieur. Si un pilote rencontre
un problme de scurit (ce qui sest dj produit), les utilisateurs de Linux ne peuvent
quesprer que lentreprise concerne fournisse une mise jour rapide pour du code
libre, la communaut de dveloppeurs peut sen occuper elle-mme, ce qui va gnralement
plus vite.
Faute de code, il est impossible de porter les pilotes pour dautres systmes dexploita-
tion, dautres architectures de processeurs, etc. Les entreprises dcident quels systmes
sont pris en charge. Par exemple, les architectures 64 bits ont longtemps t exclues de
ces pilotes.
La prise en charge graphique sous Linux dpend de la bonne volont dune poigne
dentreprises. Il est dj arriv quune carte graphique soit soudain inutilisable suite
une nouvelle version de X.
Jusqu rcemment, on pouvait rsoudre le dilemme des pilotes en se disant que les pilotes
libres sufsaient pour la 2D et que les fonctions 3D ne jouaient quun rle mineur sous
Linux. Ce nest plus vrai : les bureaux 3D commencent stablir comme des standards. De
plus, certains processeurs graphiques ne fonctionnent plus non plus en 2D sans pilote du
fabricant.
Linux ne peut rester un systme compltement libre que si les principaux composants le
sont galement. Et ces derniers comptent videmment les pilotes graphiques. Renseignez-
vous lors de vos prochains achats de matriel sur le statut des pilotes !
Linux Livre Page 361 Mardi, 23. septembre 2008 1:05 13
LINUX 362
22.3 Dmarrer et arrter X
Cette section est un aperu des commandes qui permettent de dmarrer et darrter X. La
faon de procder dpend de la distribution.
Dmarrage
automatique
En gnral, le processus InitV dmarre X automatiquement par le biais dun gestionnaire
dafchage (Display Manager). Selon la distribution et la conguration, trois programmes
peuvent jouer ce rle : xdm, sa variante KDE kdm ou sa variante Gnome gdm.
Une bote de dialogue de connexion safche gnralement il arrive que le gestionnaire de
bureau soit congur de manire connecter automatiquement un utilisateur donn. Les
dtails du processus de dmarrage dpendent fortement de la distribution.
Sous Fedora et Red Hat, /etc/inittab contient une ligne qui lance X au niveau dexcution 5 :
x:5:once:/etc/X11/prefdm -nodaemon
Sous Debian et Ubuntu, le processus InitV lance le script /etc/init.d/gdm ou /etc/init.d/
kdm aux niveaux dexcution 2 5. Sous SUSE, il lance le script /etc/init.d/xdm au niveau
dexcution 5.
Redmarrer X Les modications dans la conguration de X ne sont prises en compte quaprs un redmar-
rage. Pour cela, dconnectez-vous. Lorsque le gestionnaire dafchage afche la bote de
dialogue de connexion, saisissez la combinaison de touches Ctrl+Alt+Retour Arrire. X est
alors termin et gnralement redmarr immdiatement.
Si X ne redmarre pas, connectez-vous en tant que root et lancez la commande suivante.
Selon la distribution, vous devez remplacer gdm par kdm ou xdm.
root# /etc/init.d/gdm start
Arrter X X fonctionne normalement jusqu larrt de lordinateur sans quil faille larrter. Vous pou-
vez connecter et dconnecter nimporte quel utilisateur. X fonctionne aussi lorsque aucun
utilisateur nest connect et afche, dans ce cas, la bote de dialogue de connexion. Vous
pouvez facilement passer une console texte avec Ctrl+Alt+Fn. X fonctionne alors toujours
et vous pouvez y retourner avec Alt+F7 ou, dans certaines distributions, Alt+F5.
Si vous dsirez rellement arrter X (par exemple, pour effectuer des tches de congu-
ration), dconnectez-vous du bureau courant, passez dans une console texte avec
Ctrl+Alt+F1, puis connectez-vous en tant que root et lancez init 3. Cette procdure fonc-
tionne dans de nombreuses distributions, comme Fedora, Red Hat et SUSE.
root# init 3
En ce qui concerne les distributions bases sur Debian (Debian, Ubuntu), vous devez dans
cette mme console texte arrter le gestionnaire dafchage gdm, kdm ou xdm.
root# /etc/init.d/gdm|kdm|xdm stop
Dsactiver le
dmarrage
automatique
Il est parfois ncessaire de dsactiver le dmarrage automatique de X, par exemple
lorsquon utilise lordinateur en tant que serveur. Sous Red Hat, Fedora et SUSE, il suft de
rduire le niveau standard dexcution de InitV et de le passer de 5 3. Pour cela, modiez
la ligne initdefault dans /etc/inittab.
# Niveau dexcution par dfaut : 3 (multi-utilisateur sans X)
id:3:initdefault:
Linux Livre Page 362 Mardi, 23. septembre 2008 1:05 13
363 SYSTME XWINDOW
Cette modication est prise en compte au redmarrage de lordinateur. Pour ractiver le
dmarrage automatique, repassez au niveau dexcution 5 par dfaut.
La procdure est diffrente pour les distributions bases sur Debian. Le niveau dexcution
nest pas modi, mais le dmarrage automatique du gestionnaire dafchage est supprim.
Remplacez si ncessaire gdm par kdm ou xdm.
root# update-rc.d -f gdm remove
root# update-rc.d gdm stop 1 0 1 2 3 4 5 6 .
Pour ractiver le dmarrage automatique, les deux commandes suivantes sont ncessaires. Les
valeurs 30 et 1 indiquent les valeurs de priorit pour le dmarrage et larrt du service. Elles
varient selon la distribution ; celles indiques ici sont les valeurs par dfaut dUbuntu 8.04.
root# update-rc.d -f gdm remove
root# update-rc.d gdm defaults 30 1
Dmarrer
manuellement
X
Lorsque X nest temporairement pas lanc, il existe deux possibilits pour le dmarrer
manuellement. Jusqu ce que la conguration soit stable, utilisez de prfrence la premire.
startx. Cette commande dmarre directement X. Il ny a pas de bote de dialogue de
connexion. Lutilisateur qui lance startx est lutilisateur connect sous X.
Certaines distributions (Fedora jusqu sa version 7 et RHEL jusqu sa version 5.n)
sappuient sur le fait quun serveur de polices est lanc avant le dmarrage de X. Si vous
lancez X manuellement, ce nest pas le cas. Vous devez alors dmarrer aussi manuellement
le serveur de polices (ce qui nest faisable quen tant que root).
root# /etc/init.d/xfs start
utilisateur$ startx
Dmarrage avec un gestionnaire dafchage. Dans de nombreuses distributions, vous
devez pour lancer le gestionnaire dafchage passer au niveau dexcution 5 :
root# init 5
Pour les distributions bases sur Debian, il faut lancer explicitement le gestionnaire
dafchage :
root# /etc/init.d/gdm|kdm|xdm start
Fichiers de journalisation de X
Au dmarrage de X, dinnombrables messages, avertissements, voire messages derreur
sont enregistrs dans le chier /var/log/Xorg.0.log. Ce dernier contient des informations
supplmentaires sur le chier de conguration utilis, les modules chargs, les problmes
rencontrs, le mode graphique utilis ou encore les raisons de cette utilisation. Les lignes de
ce chier sont annotes par les codes suivants :
(**) paramtre provenant du chier de conguration
(++) paramtre provenant de la ligne de commande
(==) paramtre par dfaut de X
Linux Livre Page 363 Mardi, 23. septembre 2008 1:05 13
LINUX 364
(--) paramtre rsultant du matriel dtect
(!!) information
(II) information
(WW) avertissement
(EE) erreur
Sil existe plusieurs chiers de journalisation pour X dans /var/log, utilisez le plus rcent.
En raison de la grande quantit dinformations dans le chier Xorg.0.log, chercher des
informations pertinentes revient chercher une aiguille dans une botte de foin. Le plus sim-
ple est alors denvoyer le chier en question quelquun qui sy connat mieux ou de le
poster dans un forum daide.
Dterminer la version de X
Pour connatre la version de X que votre ordinateur utilise, lancez la commande suivante.
Depuis quelque temps, celle-ci ne renvoie plus la version de X (par exemple, 7.2 pour
X11R7.2), mais le numro de version du serveur (celle du programme Xorg).
utilisateur$ X -showconfig
...
X.Org X Server 1.4.0.90
Release Date: 5 September 2007
X Protocol Version 11, Revision 0
...
Vous pouvez aussi lancer la commande xdpyinfo :
utilisateur$ xdpyinfo |grep release
vendor release number: 10400090
22.4 Configuration de base
Les versions actuelles du serveur X ne peuvent tre lances que lorsque le chier de congu-
ration /etc/X11/xorg.conf existe. Si celui-ci est absent ou erron (par exemple, si vous
changez de carte graphique), le dmarrage de X choue. Vous devez alors vous connecter
dans une console texte et modier xorg.conf avec un diteur ou un autre programme de
conguration.
Le serveur X est normalement congur pendant linstallation. Si X fonctionne sans soucis
sur votre ordinateur, vous pouvez passer cette section. Mais si vous avez un problme avec
lcran, la souris ou le clavier, cette section et les suivantes vous seront utiles.
Cette section sadresse aux lecteurs qui sintressent la configuration interne de X ou qui ont des problmes
de configuration. Normalement, vous ne devriez pas modifier x.org manuellement, mais utiliser les outils de
configuration de votre distribution :
Debian dpkg-reconfigure xserver-xorg
Fedora, Red Hat system-config-display
Linux Livre Page 364 Mardi, 23. septembre 2008 1:05 13
365 SYSTME XWINDOW
SUSE Module YaST Matriel, Carte graphique et moniteur ou sax2
Ubuntu ( partir de 7.10) display-config-gtk
Toutes les distributions X -configure ou xorgcfg ou xorgconfig
Depuis la version 7.3, le serveur X.org reconnat lui-mme le matriel. Grce ces don-
nes, X peut dmarrer sans chier de conguration (au moins, dans un mode graphique
restreint).
Construction du fichier de configuration xorg.conf
Le chier /etc/X11/xorg.conf se divise en plusieurs sections prxes dune ligne Section
"nom" et termines par EndSection. Voici les diffrents noms de sections :
Un chier de conguration classique ne contient quune partie de ces sections. X utilise dans
ce cas les paramtres par dfaut ou tente de dtecter lui-mme le matriel. Les lignes suivan-
tes offrent un exemple minimal de conguration. Une de mes machines de test dispose
dune carte graphique NVIDIA et dun cran LCD ; elle fonctionne sans problme avec ce
chier de conguration. Cet exemple suppose quun serveur de polices fonctionne ou que
les polices se trouvent dans les rpertoires de polices par dfaut. Si ce nest pas le cas, vous
devez indiquer dans une section Files lemplacement des chiers de polices. X reconnat la
bonne rsolution de lcran et la souris.
# /etc/X11/xorg.conf
Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "InputDevice"
Sections du fichier xorg.conf
Monitor donnes du moniteur
Device configuration de la carte graphique
Screen rsolution de lcran
ServerLayout assemblage des sections Screen et InputDevices
Files noms de fichiers (par exemple, rpertoire de polices)
Module modules supplmentaires (par exemple, freetype, dri)
ServerFlags options diverses du serveur
Modes modes vido (rsolution, frquence, etc.)
InputDevice configuration du clavier
InputDevice configuration de la souris
Linux Livre Page 365 Mardi, 23. septembre 2008 1:05 13
LINUX 366
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
Option "XkbVariant" "nodeadkeys"
EndSection
Section "Device"
Identifier "Videocard0"
Driver "nv"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Vous remarquerez srement que toutes les sections incluent une ligne Identifier. Elle
donne un nom la section. Les noms sont utiliss pour agencer des sections individuelles.
Par exemple, la section ServerLayout fait appel Screen0 et Keyboard0.
Certaines congurations incluent galement des chanes de caractres telles que Board, Vendor
ou ModelName. Ces informations ne servent qu rendre plus clair le chier de conguration.
Elles ne sont pas utilises par X et nont aucune relation avec les fonctions de X.
man xorg.conf est une rfrence complte des mots cls et sections de xorg.conf.
Section Monitor (cran)
La section Monitor ne ncessite gnralement que deux informations : lintervalle de fr-
quences horizontales (en kHz) et lintervalle de frquence dimage (en Hz). Les valeurs sui-
vantes conviennent pour un cran LCD 20" dot dune rsolution de 1600x1200 pixels une
frquence maximale de 75 Hz :
Section "Monitor"
...
HorizSync 30-95 # 30 95kHz (lignes/sec)
VertRefresh 58-78 # 58 78Hz (images/sec)
EndSection
Pour un cran cathodique traditionnel, la frquence dimage doit tre plus leve pour af-
cher des images sans scintillement. Les donnes suivantes sappliquent un moniteur 19"
cathodique classique. Attention, des valeurs leves pour ces deux intervalles peuvent
mener la destruction de votre cran cathodique !
HorizSync 27-102 # 27 bis 102kHz (lignes/sec)
VertRefresh 50-160 # 50 bis 160Hz (images/sec)
Linux Livre Page 366 Mardi, 23. septembre 2008 1:05 13
367 SYSTME XWINDOW
En pratique, ces valeurs sont rarement renseignes lorsquun cran LCD est branch. La sec-
tion ne sert alors qu indiquer les ventuelles options, comme lconomie dnergie du
moniteur.
Section Device (carte graphique)
Le mot cl le plus important de la section Device est Driver. Il indique quel module doit tre
charg. Les pilotes de carte graphique disponibles se trouvent dans le rpertoire /usr/
lib[64]/xorg/modules/drivers.
Choix du
pilote
Si vous ne savez pas quelle carte graphique vous avez, lancez lspci :
root# lspci
...
01:00.0 VGA compatible controller: ATI Technologies Inc M10 NT
[FireGL Mobility T2] (rev 80)
Le rsultat nindique cependant pas toujours le pilote graphique ncessaire. Dans ce cas, les
notes de version de X.org (http://www.x.org/wiki/XorgReleases) sont trs utiles, tout
comme les pages de manuel qui sont indiques. Par exemple, man radeon offre des informations
sur le pilote Radeon et man nv sur le pilote NVIDIA de X.org.
Si vous navez pas de chance, votre carte graphique nest pas encore prise en charge par
X.org, ou alors partiellement. Il sagit peut-tre dun problme de dtection de la carte : vous
avez indiqu le bon module dans la section Device, mais X ne reconnat pas la carte. Dans ce
cas, vous pouvez essayer dindiquer lidentiant dune carte compatible avec loption
ChipID (par exemple ChipID "0x1234"). Le chier pci.ids fournit une liste didentiants
valides. Lemplacement de ce chier dpend de la distribution : /usr/share, /usr/share/
hwdata ou /var/lib/misc. Les forums de discussion peuvent galement tre un bon point de
dpart pour trouver une valeur correcte de ChipID.
Si votre carte ne fonctionne toujours pas, vous pouvez utiliser les pilotes vga, vesa ou fbdev.
Ils fonctionnent avec presque toutes les cartes graphiques, mais leurs performances sont
relativement limites.
Options
spcifiques
aux pilotes
Presque tous les pilotes disposent doptions pour dnir des paramtres spciaux, contour-
ner des problmes ou activer des fonctions particulires. Nous ne pouvons pas les dcrire ici
pour des raisons de place. Vous trouverez des informations dtailles sur ces options dans
les pages de manuel correspondant aux pilotes (par exemple man radeon). Les lignes suivan-
tes illustrent, par exemple, lutilisation de loption DisplayPriority, ncessaire sur un ordi-
nateur portable pour obtenir une image stable sur un moniteur TFT reli la station
daccueil :
Driver "radeon"
Option "DisplayPriority" "High"
Linux Livre Page 367 Mardi, 23. septembre 2008 1:05 13
LINUX 368
Le tableau suivant recense les pilotes les plus frquemment utiliss.
Section Screen (rsolution, nombre de couleurs)
La section Screen lie le moniteur et la carte graphique, et indique quelle rsolution et
quelle profondeur de couleurs la carte graphique doit tre utilise. Chaque chier xorg.conf
doit disposer dune section Screen ; pour une conguration multi-crans, plusieurs sections
sont ncessaires.
Les mots cls Device et Monitor indiquent la carte graphique et lcran utiliser parmi ceux
dj dnis. DefaultDepth dnit la profondeur de couleurs par dfaut ; il sagit de bits par
pixels. 24 bits indique que chaque composant (rouge, vert et bleu) dispose de 8 bits, soit 256
nuances, pour un total de 2
24
couleurs.
Sous-section
Display
Dans la section Screen, plusieurs sous-sections Display peuvent tre dnies pour plusieurs
profondeurs de couleurs. Dans lexemple ci-aprs, un seul mode est dni, pour des cou-
leurs 24 bits :
Section "Screen"
Identifier "Screen0"
Device "Videocard0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
La ligne Modes, optionnelle, peut dnir la rsolution souhaite. Si cette ligne est omise ou
contient une rsolution invalide, X dtermine automatiquement la meilleure rsolution
adapte lcran et la carte graphique. Il utilise pour cela une base de donnes de modes
qui contient les paramtres de rsolutions dnis par les modes VESA VESA signie Video
Electronics Standard Association et dnit une srie de normes suivies par la plupart des car-
tes graphiques.
Il nest malheureusement pas possible de congurer directement la frquence dimage. X
dnit cette valeur lui-mme en fonction des donnes de lcran et de la carte graphique.
La section Display peut aussi dnir la taille dun cran virtuel. Par exemple, Virtual 1600
1200 dnit un cran virtuel de 1600x1200 pixels, quelle que soit la rsolution relle de
lcran.
Pilotes utiliss frquemment par marque de carte graphique
ATI/AMD radeon, fglrx, radeonhd, ati
Intel intel, i810
NVIDIA nv, nvidia, nouveau
Autres vesa, fbdev, vga
Linux Livre Page 368 Mardi, 23. septembre 2008 1:05 13
369 SYSTME XWINDOW
Si la ligne Modes dfinit plusieurs rsolutions valides, X utilise la premire comme paramtrage de base.
Vous pouvez ensuite passer entre les diffrentes rsolutions avec Ctrl+Alt++. Vous devez pour cela utiliser la
touche + du pav numrique.
Section ServerLayout
La section ServerLayout lie les sections Screen et InputDevice. Gnralement, un chier de
conguration ne contient quune seule section Screen et deux sections InputDevice (souris
et clavier). Dans ce cas, la section ServerLayout peut tre omise, car X combine les sections
Screen et InputDevice selon ce schma :
Section "ServerLayout"
Identifier "Layout0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Screen "Screen0"
EndSection
Xinerama La section ServerLayout est particulirement importante lorsque plusieurs moniteurs sont
utiliss en mme temps. Il faut alors activer le mode multi-crans avec Option "Xinerama"
"On" et dnir une section Screen par cran. La conguration minimale pour deux moni-
teurs est indique ci-aprs. Notez que vous avez aussi besoin de deux sections Device,
mme lorsquil ny a quune seule carte graphique.
# deux sections Monitor
Section "Monitor"
Identifier "Monitor1"
...
EndSection
Section "Monitor"
Identifier "Monitor2"
...
EndSection
# deux sections Device, une par moniteur
Section "Device"
Identifier "Videocard1a"
Driver "..."
Screen 0
...
EndSection
Section "Device"
Identifier "Videocard1b"
Driver "..."
Screen 1
...
EndSection
# deux sections Screen qui associent une section Device une section
Linux Livre Page 369 Mardi, 23. septembre 2008 1:05 13
LINUX 370
# Monitor
Section "Screen"
Identifier "Screen1a"
Device "Videocard1a"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1b"
Device "Videocard1b"
Monitor "Monitor2"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
# une section ServerLayout qui assemble les sections Screen
Section "ServerLayout"
Identifier "Layout1"
Screen 0 "Screen1a" LeftOf "Screen1b"
Screen 1 "Screen1b"
Option "Xinerama" "on"
InputDevice ...
EndSection
Plusieurs
dispositions
On peut dnir plusieurs sections ServerLayout pour diffrents scnarios dutilisation, par
exemple Layout0 pour utiliser un portable de manire classique, Layout1 pour une prsenta-
tion sur un vidoprojecteur et Layout2 pour utiliser un moniteur externe. Loption Default-
ServerLayout dans la section ServerFlags permet de choisir la disposition par dfaut.
Section Files
La section Files permet dindiquer divers rpertoires depuis lesquels le serveur X charge
des chiers. Ils ne sont ncessaires que lorsquils diffrent des rpertoires par dfaut. Nous
parlerons des rpertoires FontPath la section 22.14.
Section Module
La section Module contient, grce au mot cl Load, diffrents modules dextensions charger
par le serveur X :
Section "Module"
Load "extmod"
...
EndSection
Linux Livre Page 370 Mardi, 23. septembre 2008 1:05 13
371 SYSTME XWINDOW
La section Module est optionnelle : la plupart des modules importants sont chargs automa-
tiquement. Les chiers de modules se trouvent le plus souvent dans les rpertoires /usr/
lib[64]/xorg/modules/extensions et /usr/lib[64]/xorg/modules/fonts. Le tableau sui-
vant indique les principaux modules.
Section ServerFlags
La section ServerFlags contient des options qui inuent sur le comportement du serveur X :
Section "ServerFlags"
Option "DontZap" "on"
Option "DefaultServerLayout" "Layout2"
EndSection
Une description complte de toutes les options se trouve dans man xorg.conf. Voici les plus
importantes :
AllowMouseOpenFail (par dfaut, off) permet X de dmarrer mme lorsquil choue
initialiser ou reconnatre la souris.
DefaultServerLayout indique la section ServerLayout utiliser par dfaut. Cette option
nest ncessaire que lorsque xorg.conf contient plusieurs sections ServerLayout.
DontZap (par dfaut, off) dsactive, lorsquelle est on, la terminaison immdiate du
serveur X avec la combinaison de touches Ctrl+Alt+Retour Arrire.
DontVTSwitch (par dfaut, off) dsactive, lorsquelle est on, le passage une console
texte avec Ctrl+Alt+Fn.
Dfinir ses propres modes graphiques
X dispose dune base de donnes qui contient toutes les rsolutions et frquences dnies
par VESA. Si vous utilisez lun de ces modes (par exemple, avec la ligne Modes
"1280x1024"), il est inutile de vous occuper de la manire dont ils sont dnis.
Modules importants
extmod extensions souvent installes dans X, presque toujours essentielles
v4l Video 4 Linux (vido pour Linux)
dri Direct Rendering Infrastructure (infrastructure de rendu direct)
glx interface du protocole OpenGL X
dbe Double Buffering Extension (extension de tampon double)
freetype prise en charge des polices TrueType
type1 prise en charge des polices Adobe-Type-1
speedo prise en charge des polices Bitstream
Linux Livre Page 371 Mardi, 23. septembre 2008 1:05 13
LINUX 372
Si vous dsirez utiliser une autre rsolution (ce qui peut tre ncessaire sur certains ordina-
teurs portables dont lcran utilise une rsolution non standard, par exemple 1024x600) ou
atteindre une frquence donne, vous devez indiquer vous-mme les paramtres du mode
graphique souhait. Pour cela, lancez la commande ModeLine dans la section Monitor. Vous
pouvez aussi dcrire ces paramtres dans une sous-section dlimite par Mode et EndMode.
Ces oprations sont rares aujourdhui. Il existe certains tutoriels de calcul de modes,
par exemple aux adresses http://koala.ilog.fr/cgi-bin/nph-colas-modelines-fr ou
http://www.traduc.org/docs/HOWTO/lecture/XFree86-Video-Timings-HOWTO.html.
XVideo
XVideo (V4L) Les lecteurs vido sous Linux (voir Chapitre 11) afchent, lorsque cest possible, les images
sur lextension XVideo (en abrg, XV) grce de la mmoire partage de la carte graphi-
que. Cette mthode ncessite le module de noyau v4l2 (Video 4 Linux version 2). Elle est
trs efcace, mais ne fonctionne que lorsque le pilote de la carte graphique prend en charge
XV, ce qui nest malheureusement pas toujours le cas.
Si cest le cas, lextension X correspondante est normalement active automatiquement.
Dans certaines circonstances, vous pouvez avoir activer manuellement le module avec la
ligne Load "v4l" dans la section Module. Vous pouvez voir si XV est pris en charge avec
la commande xvinfo. Celle-ci devrait renvoyer une longue liste dinformations propos de
diverses fonctions XVideo. Si le rsultat est no adaptors present, XV nest pas utilisable. Vous
trouverez dautres informations sur XV et Video 4 Linux aux adresses http://linuxtv.org/
v4lwiki/index.php/Main_Page et http://www.exploits.org/v4l.
DGA Si le pilote de votre carte graphique ne prend pas en charge XV, DGA fonctionne peut-
tre. linstar de XV, il est activ automatiquement si le pilote reconnat cette extension.
Vous pouvez le tester avec le programme dga. B lance un test de performances et Q quitte
le programme.
22.5 Pilotes ATI/AMD
Les cartes graphiques ATI/AMD disposent de plusieurs pilotes en fonction du modle :
atimisc. Pilote libre pour les cartes graphiques trs anciennes avec un processeur
Mach8/32/64.
r128. Pilote libre pour les cartes disposant dun processeur graphique ATI Rage128
(comme Rage Fury, XPERT 128).
radeon. Pilote libre pour les cartes graphiques actuelles disposant dun processeur gra-
phique Radeon et de la prise en charge des fonctions 3D pour tous les modles R100
R400.
ati. Pilote libre qui active lun des trois pilotes cits ci-dessus en fonction du modle.
radeonhd. Pilote libre pour les cartes graphiques R500 et suprieures. Il ne dispose pas
encore de la prise en charge des fonctions 3D, mais cela devrait changer rapidement au
vu de louverture des spcications des cartes ATI/AMD. Ces pilotes sont, en juillet
2008, en cours de dveloppement.
Linux Livre Page 372 Mardi, 23. septembre 2008 1:05 13
373 SYSTME XWINDOW
fglrx. Pilote propritaire pour les modles Radeon partir du R300. Il prend en charge tou-
tes les fonctions des cartes graphiques actuelles, mais pas celles des cartes plus anciennes.
Le pilote radeon fonctionne convenablement avec les cartes R100 R400 (voir man radeon),
mais il ne prend pas forcment en charge toutes les fonctions des cartes graphiques et est
sensiblement plus lent que fglrx. Jai personnellement test les deux pilotes sur mon porta-
ble dot dune carte ATI Mobility T2 (famille R300). Depuis X.org version 7.2, radeon suft
mes besoins : la sortie DVI fonctionne jusqu une rsolution 1600x1200 dans scintillement
et les fonctions 3D permettent lutilisation du bureau 3D AIGLX.
Le nom de la carte graphique nindique pas quel processeur graphique est utilis. La page Wikipedia sui-
vante savre souvent utile :
http://en.wikipedia.org/wiki/Comparison_of_ATI_Graphics_Processing_Units.
Pilote radeon
Le pilote radeon fait partie du systme X.org ; il nest pas ncessaire de linstaller sparment.
La conguration xorg.conf minimale se compose des lignes suivantes :
Section "Device"
Identifier "Device0"
Driver "radeon"
EndSection
man radeon fournit une rfrence complte des diverses options associes au pilote.
Pilote fglrx
Seules quelques distributions fournissent directement le pilote fglrx. Cependant, il existe
souvent des dpts qui contiennent des paquetages pour le pilote correspondant au noyau
courant. Linstallation est alors un jeu denfant : le pilote est install avec les commandes
habituelles du gestionnaire de paquetages, une fois le dpt ajout.
Pour activer le pilote, lancez la commande aticonfig --initial. Elle modie xorg.conf
pour quil contienne une rfrence au pilote fglrx :
Section "Device"
Identifier "Device0"
Driver "fglrx"
EndSection
aticonfig permet galement de mettre en place des congurations plus avances, par
exemple pour utiliser plusieurs moniteurs (aticonfig --initial=dual).
La nouvelle conguration xorg.conf nest fonctionnelle que lorsque vous redmarrez X.
Pour que les fonctions 3D de la carte soient effectivement utilises, il faut que les conditions
suivantes soient remplies :
xorg.conf doit contenir linstruction Load "dri" dans la section Modules.
Linux Livre Page 373 Mardi, 23. septembre 2008 1:05 13
LINUX 374
Lextension Composite doit tre dsactive explicitement :
Section "Extensions"
Option "Composite" "Disable"
EndSection
Le module du noyau fglrx doit tre charg, ce dont se charge normalement le serveur X
au dmarrage. Pour savoir si ce module est effectivement actif, le plus simple est de lan-
cer lsmod |grep fglrx. Sil nest pas charg, il nest probablement pas install ou incom-
patible avec la version courante du noyau.
Installation
manuelle
Si votre distribution ne dispose pas de paquetages pour les pilotes, vous devez les installer
manuellement. Pour cela, installez tous les programmes ncessaires la compilation dun
module du noyau (compilateur C, make, chiers den-ttes du noyau, etc.). Tlchargez
ensuite le pilote la page http://ati.amd.com/support/driver.html, rendez le chier tl-
charg excutable avec chmod u+x et lancez-le en root.
Pilote radeonhd
Le pilote radeonhd est fourni dans certaines distributions et il suft alors de linstaller. Les
pages http://wiki.x.org/wiki/radeonhd et http://www.radeonhd.org/ fournissent des infor-
mations jour sur le statut de ce pilote.
22.6 Pilotes Intel
Le pilote libre i810 est compatible avec tous les processeurs Intel i8nn et i9nn. Le pilote
intel, disponible depuis le printemps 2007, fonctionne avec quelques processeurs plus
rcents (G33, Q33, Q35).
Les deux pilotes font ofciellement partie de X ; il nest donc pas ncessaire de les installer
en sus. Ils prennent en charge les fonctions 3D. Les performances de ces dernires ne sont
certes pas comparables avec celles des cartes ATI et NVIDIA actuelles, mais elles sont
amplement sufsantes pour utiliser les effets 3D du bureau. man i810, man intel et la page
http://intellinuxgraphics.org/man.html fournissent de plus amples informations sur ces
pilotes.
Configuration Dans la plupart des cas, la section Device ne ncessite pas doption spcique. Il faut nan-
moins indiquer une exception lorsquun ordinateur portable est utilis avec un vidoprojec-
teur ou lorsque deux moniteurs sont utiliss en mme temps. Vous trouverez plus
dinformations ce sujet dans la page de manuel du pilote et la section 22.11.
Modifier la
rsolution de
lcran
Les processeurs graphiques Intel prennent en charge peu de rsolutions par dfaut. En par-
ticulier, les crans larges (rsolutions 1280x800, 1440x1050, etc.) manquent souvent. Pour
utiliser de telles rsolutions, le Bios du processeur graphique doit tre modi. Le pilote
intel actuel reconnat ces rsolutions, mais ce nest pas le cas du pilote i810, plus ancien.
La commande 915resolution peut aider rsoudre les problmes lis au pilote i810 pour
les distributions qui ne fournissent pas encore intel. La page web de ce projet se trouve
ladresse http://www.geocities.com/stomljen/.
Linux Livre Page 374 Mardi, 23. septembre 2008 1:05 13
375 SYSTME XWINDOW
22.7 Pilotes NVIDIA
Les utilisateurs de cartes NVIDIA ont le choix entre les pilotes suivants :
nv est le pilote libre intgr X, utilisable pour tous les modles courants. Il ne prend
pas en charge la 3D et souffre de plusieurs restrictions en ce qui concerne le mode multi-
crans, lutilisation de la sortie TV, etc. Si vous navez pas besoin de ces fonctionnalits,
nv fonctionne sans problme et de manire efcace.
nvidia est le pilote propritaire de NVIDIA prenant en charge presque toutes les fonctions.
Il est disponible ladresse http://www.nvidia.com/Download/index.aspx.
nouveau est un pilote libre plus rcent prenant en charge la 3D. Il nen est cependant
quaux dbuts de son dveloppement. Vous trouverez plus dinformations son sujet
ladresse http://nouveau.freedesktop.org/wiki/.
Pilote nv
Le pilote nv fait partie du systme X.org et ne ncessite pas dinstallation supplmentaire.
La conguration minimale contient les lignes suivantes :
Section "Device"
Identifier "Device0"
Driver "nv"
EndSection
man nv fournit une rfrence des options et des fonctions spciales du pilote.
Pilote nvidia
Seules quelques distributions fournissent directement le pilote nvidia. Il existe cependant
souvent des dpts contenant des paquetages pour le pilote correspondant au noyau courant.
Linstallation est alors un jeu denfant : le pilote est install avec les commandes habituelles
du gestionnaire de paquetages, une fois le dpt ajout.
La documentation du pilote NVIDIA est trs complte et se trouve normalement dans un
des rpertoires /usr/share/doc/xorg-x11-drv-nvidia* ou /usr/share/doc/NVIDIA*.
xorg.conf Pour activer le pilote, lancez la commande nvidia-xconfig en root. Celle-ci modie
xorg.conf pour faire rfrence au pilote dans la section Device :
Section "Device"
Identifier "Device0"
Driver "nvidia"
EndSection
Selon lemplacement o a t install le pilote NVIDIA, la section Files doit galement
contenir une ligne ModulePath :
Section "Files"
ModulePath "/usr/lib[64]/xorg/modules/extensions/nvidia"
...
EndSection
Linux Livre Page 375 Mardi, 23. septembre 2008 1:05 13
LINUX 376
Le pilote NVIDIA est incompatible avec lextension DRI de X.org et effectue les oprations
correspondantes lui-mme. Il faut donc supprimer la ligne Load "dri" de la section Module.
Le programme graphique nvidia-settings permet, une fois le pilote NVIDIA install, de
congurer plus nement lafchage.
Module du
noyau
Il est impratif de disposer du module du noyau nvidia pour que le pilote fonctionne. Sil
est absent ou compil pour une version diffrente du noyau, le pilote ne fonctionne pas et X
ne peut pas tre dmarr.
TwinView Le mode TwinView est une alternative intressante Xinerama. Il prsente lavantage
de pouvoir faire fonctionner toutes les fonctions 3D en parallle sur les deux crans. De
plus, la conguration est relativement simple. Linconvnient est que certains gestion-
naires de bureau ou de fentre prsentent dans ce cas des problmes de positionnement
de fentres. Vous trouverez plus dinformations ce sujet ladresse
http://memoire-grise-liberee.fr.eu.org/nVidia/support/TwinView/.
Installation
manuelle
Si votre distribution ne fournit pas de paquetages pour les pilotes ou si ceux-ci ne sont pas
jour, vous devez installer le pilote et compiler le module du noyau nvidia vous-mme. Ins-
tallez dabord les paquetages ncessaires cette compilation (compilateur C, make, chiers
den-ttes du noyau, etc.).
Sous Ubuntu, assurez-vous que les modules nvidia-glx et linux-restricted-modules ne sont
pas installs et que le chier /etc/init.d/nvidia-glx nexiste pas. La dsinstallation du paque-
tage linux-restricted-modules prsente linconvnient de supprimer tous les paquetages non
GPL, y compris ceux dont vous avez ventuellement besoin, par exemple pour votre carte Wi-Fi.
Tlchargez le pilote ladresse http://www.nvidia.com/Download/index.aspx. Arrtez X
avec init 3 ou /etc/init.d/gdm stop (selon votre distribution), puis lancez le programme
dinstallation en tant que root.
Pour dsinstaller le pilote, lancez la commande :
root# nvidia-installer --uninstall
22.8 Pilotes VESA, Framebuffer et VGA
Si vous utilisez une carte graphique pour laquelle il nexiste pas (encore) de pilote, les trois
pilotes suivants peuvent servir de solution durgence. Lafchage est plutt lent et les fonctions
3D inexistantes, mais ils permettent au moins dutiliser un systme graphique.
Pilote VESA Vous pouvez utiliser tous les modes VESA de votre carte graphique. Ces modes sont des
rsolutions standardises. Chacun est dni par trois caractristiques : la rsolution, la pro-
fondeur de couleurs et la frquence dimage. Presque toutes les cartes graphiques comprennent,
en plus de leurs propres modes, quelques modes VESA.
Les lignes suivantes montrent que lutilisation du pilote VESA est trs simple. Si le reste du
chier de conguration est correct, tous les modes VESA compris par la carte et par lcran
sont pris en charge.
Section "Device"
Identifier "myDevice"
Driver "vesa"
EndSection
Linux Livre Page 376 Mardi, 23. septembre 2008 1:05 13
377 SYSTME XWINDOW
Pilote
Framebuffer
Le pilote fbdev accde directement la mmoire de la carte graphique. Il se situe donc un
niveau encore plus bas que le pilote VESA. Il devrait fonctionner avec presque toutes les car-
tes graphiques si le noyau Linux est compil avec la prise en charge de cette opration. Cest
le cas si le chier /proc/fb existe.
Un prrequis pour utiliser ce pilote est que le mode VGA correct soit choisi au moment de
lamorage de lordinateur. Jusquau redmarrage de lordinateur, X ne peut utiliser que ce
mode graphique. Pour choisir un mode, passez loption vga=n au noyau (voir Chapitre 24).
La valeur correcte de n se trouve dans le tableau suivant.
Vous devez indiquer la bonne chane de caractres pour la ligne Driver de la section Device :
Section "Device"
Identifier "myDevice"
Driver "fbdev"
EndSection
Pilote VGA Le pilote VGA ne peut afcher que 640x480 ou 800x600 pixels en 4 bits (soit 16 couleurs) ; il
est donc la dernire solution envisageable. Vous trouverez plus de dtails avec man vga.
22.9 Clavier
Configuration de base
Il existe deux mcanismes de conguration dun clavier sous X : Xmodmap et Xkb. Ils permet-
tent de modier la disposition du clavier et les touches dtat comme Ctrl, les raccourcis clavier,
etc.
Xmodmap est considr comme obsolte et devrait tre remplac par Xkb. En pratique, vous
utiliserez probablement un mlange des deux :
La disposition du clavier est congure dans xorg.conf avec Xkb.
Pendant le dmarrage, le gestionnaire dafchage lit les chiers Xmodmap et Xkbmap locaux
et globaux. En gnral, les chiers suivants sont pris en compte (lorsquils existent) :
/etc/X11/Xkbmap ;
~/.Xkbmap ;
/etc/X11/Xmodmap (uniquement lorsquil ny a pas de chier Xkbmap) ;
~/.Xmodmap (uniquement lorsquil ny a pas de chier Xkbmap).
640222 2400 640222 2480 800222 2600 1024222 2640 1024222 2768 1152222 2720 1280222 21024 1440222 2900 1600222 21200
8 bpp
768 769 771 874 773 869 775 864 796
16bpp (5:5:5)
797 784 787 875 790 870 793 865 797
16bpp (5:6:5)
798 785 788 876 791 871 794 866 798
24bpp
799 786 789 877 792 872 795 867 799
32bpp
834 809 814 878 824 873 829 868 834
Linux Livre Page 377 Mardi, 23. septembre 2008 1:05 13
LINUX 378
Selon la distribution, certaines divergences peuvent apparatre. La syntaxe des chiers
Xkbmap et Xmodmap est diffrente : Xkbmap est directement redirig vers setxkbmap et
contient une seule ligne doptions pour cette commande (voir man xkbmap), tandis que
Xmodmap contient plusieurs instructions (voir man xmodmap).
Pour nir, KDE et Gnome permettent de modier la conguration du clavier ; Xkb est
alors nouveau utilis.
La large diffusion des chiers Xmodmap provient des innombrables pages Internet qui docu-
mentent Xmodmap. linverse, Xkb a peu de documentation en ligne. Lutilisation en parallle
de ces deux systmes peut cependant mener des incompatibilits.
Si vous dsirez modier vous-mme la conguration de votre clavier, il est prfrable de le
faire dans xorg.conf ou dans les botes de conguration de KDE ou de Gnome. Si ces solu-
tions ne vous conviennent pas, vous pouvez toujours modier directement les chiers
~/.Xmodmap ou ~/.Xkbmap.
xorg.conf La conguration de base du clavier se trouve dans une section InputDevice du chier
xorg.conf. Cette conguration minimale est utilise pour un clavier US de 101 touches :
Section "InputDevice"
Identifier "myKeyboard"
Driver "Keyboard"
EndSection
Ce second exemple dnit un clavier franais de 105 touches :
Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"
EndSection
Lorsque vous congurez vous-mme votre clavier, sans passer par un programme de con-
guration, vous vous heurtez lnorme quantit doptions et de paramtres, souvent insuf-
samment documents (voir man 4 keyboard ou man kbd). Voici quelques lments pour
rgler les principales options :
XkbRules dnit comment les options suivantes sont exploites. En gnral, la bonne
valeur est xorg ; les claviers PC-98 sont une exception pour laquelle il faut saisir la
valeur xfree98.
XkbModel dcrit le clavier.
pc101 : clavier US sans touches Windows (valeur par dfaut).
pc102 : clavier international sans touches Windows.
pc104 : clavier US avec touches Windows.
pc105 : clavier international avec touches Windows.
abnt2 : clavier brsilien.
jp106 : clavier japonais.
pc98 : clavier PC-98.
Linux Livre Page 378 Mardi, 23. septembre 2008 1:05 13
379 SYSTME XWINDOW
macintosh : clavier Apple Macintosh.
powerpcps2 : un clavier Apple Power PC.
XkbLayout dcrit la disposition des touches sur le clavier, qui dpend du pays.
us : clavier anglais US (valeur par dfaut).
fr : clavier franais.
be : clavier belge.
ch : clavier suisse.
de : clavier allemand.
it : clavier italien.
es : clavier espagnol.
XkbVariant permet dajouter des paramtres la disposition du clavier. Elle dnit, par
exemple, le comportement nodeadkeys qui permet de saisir directement les caractres ~, ^,
et `. Par dfaut, ils sont utiliss comme caractres de composition pour les caractres
accentus. Elle sert aussi dnir des variantes dans une disposition de clavier : le clavier
suisse se dcline avec des valeurs de XkbVariant fr ou de.
XkbOptions passe des options supplmentaires qui sont transmises setxkbmap
-option.
Gnome et KDE Sous KDE, vous pouvez modier la disposition du clavier dans la conguration du systme
(Rgional & langue, Disposition du clavier). Sous Gnome, lapplet Indicateur de claviers
permet datteindre un rsultat similaire. Ces outils permettent de passer rapidement dune
disposition de clavier une autre, par exemple pour saisir du texte en plusieurs langues. Si
la modication du clavier dans xorg.conf reste sans effet, cela provient probablement de la
conguration clavier du bureau.
Indpendamment de la conguration du clavier, les deux gestionnaires de bureau permet-
tent dassocier des raccourcis clavier des actions, par exemple pour lancer rapidement des
programmes frquemment utiliss.
Claviers avec
touches
spciales
De plus en plus de claviers ont des touches rapides, par exemple pour dmarrer un navi-
gateur Internet ou dnir des fonctions bureautiques ou multimdias. Pour les utiliser
sous Linux, vous devez installer le programme LinEAK (Linux support for Easy Access and
Internet Keyboards), fourni par de nombreuses distributions dans divers paquetages nom-
ms lineak*. La conguration de LinEAK est dcrite dans man lineakd et sur le site web
http://lineak.sourceforge.net/.
VerrNum et VerrMaj
VerrNum Par dfaut, le pav numrique nest pas actif sous Linux, an dviter des problmes avec
les claviers de portables. Si vous travaillez avec un "vrai" clavier, ce pav peut tre utilis
pour dplacer le curseur. La touche VerrNum permet de lutiliser pour saisir des chiffres.
Sous KDE, vous pouvez activer VerrNum de manire permanente dans le module Clavier &
Souris, Clavier.
Linux Livre Page 379 Mardi, 23. septembre 2008 1:05 13
LINUX 380
Si vous utilisez un autre gestionnaire de bureau, lancez la commande numlockx. Dans de
nombreuses distributions, elle se trouve dans le paquetage du mme nom. Une fois ce dernier
install, VerrNum est activ automatiquement lors de la connexion suivante.
VerrMaj Si vous activez sans cesse par mgarde le verrouillage des majuscules, vous pouvez dsactiver
la touche en ajoutant ces lignes ~/.Xmodmap. VerrMaj fonctionne alors comme Maj.
remove Lock = Caps_Lock
keysym Caps_Lock = Shift_L
add Shift = Shift_L
Je nai pas trouv comment obtenir le mme comportement avec Xkbmap. Le chier ~/.Xkbmap
sassure, en revanche, que VerrMaj peut tre utilis comme une troisime touche Ctrl :
-option ctrl:nocaps
Vous pouvez aussi passer cette option dans la section InputDevice de xorg.conf :
Option "XkbOptions" "ctrl:nocaps"
Saisie de caractres trangers
Il existe plusieurs mthodes sous X pour saisir des caractres trangers qui ne sont pas
directement disponibles sur le clavier :
La touche Compose runit deux caractres. Par exemple, Compose+A+E saisit le carac-
tre .
Selon la conguration, les caractres ~, ^, ou ` sont combins automatiquement avec le
caractre suivant. ~+A saisit le caractre . Ce mode est souvent dsactiv avec loption
nodeadkeys dans /etc/X11/xorg.conf.
Certaines applications ou gestionnaires de bureau (Gnome, KDE et OpenOfce.org par
exemple) proposent une bote de dialogue de caractres spciaux, qui permet de choisir
le caractre souhait la souris.
Touche
Compose
Les combinaisons de touches dnies par la touche Compose, et mme lexistence dune
telle touche dpendent de la distribution. La dnition de cette touche tait auparavant
courante, mais la plupart des distributions lont aujourdhui abandonne.
Le plus simple est de dnir les combinaisons de touches avec xmodmap. Dans les rsultats
prsents ici, la premire colonne indique le code de la touche, la deuxime la touche sans
modicateur Maj et la troisime la touche avec le modicateur Maj. Si xmodmap ne renvoie
pas de rsultat, aucune touche Compose nest dnie.
Le rsultat suivant signie que les trois combinaisons de touche Maj+AltGr, Maj+Ctrl droit
et Maj+Windows droit fonctionnent comme une touche Compose.
utilisateur$ xmodmap -pk | grep -i multi_key
KeyCode Keysym (Keysym) ... (Shift)
109 0xffe4 (Control_R) 0xff20 (Multi_key)
113 0xfe03 (ISO_Level3_Shift) 0xff20 (Multi_key)
116 0xffec (Super_R) 0xff20 (Multi_key)
Le tableau suivant indique les codes de touches pour les touches de contrle importantes
sur un clavier international de PC.
Linux Livre Page 380 Mardi, 23. septembre 2008 1:05 13
381 SYSTME XWINDOW
Si aucune touche Compose nest prvue dans votre distribution, vous pouvez en dnir une
simplement :
Sous Gnome, lancez gnome-keyboard-properties (Systme > Prfrences > Clavier),
cliquez sur le bouton Options de lagencement de longlet Agencements, puis choisissez
une option dans le groupe Position de la touche Compose. Malheureusement, les choix
sont limits et ne permettent pas de dnir une combinaison de touches.
KDE dispose dune conguration similaire, dans le module Rgional & Langue > Cla-
vier > Disposition du clavier. Longlet Avanc permet de dnir la position de la tou-
che Compose.
Indpendamment du bureau, ajoutez dans ~/.Xkbmap lune de ces options :
-option compose:menu pour la touche Windows de menu contextuel ;
-option compose:rwin pour la touche Windows droit qui nest pas disponible sur tous
les claviers ;
-option compose:caps pour la touche VerrMaj.
Vous pouvez aussi saisir cette ligne dans xorg.conf :
Option "XkbOptions" "compose:menu"
Le tableau suivant recense quelques exemples de saisie de caractres spciaux. La dnition
des rgles de composition se trouve dans le chier /usr/share/X11/locale/
jeu_de_caractres/Compose.
Euro et Cent Dans toutes les distributions, pour une disposition franaise, AltGr+E est associ au sym-
bole Euro. De mme, AltGr+C afche le symbole Cent.
Codes de touches pour les touches de contrle (clavier international de PC)
s ^ 50 s S 63
c ^ 37 c S 109
X ^ 115 X S 116
a ^ 64 b S 113
l 66 X 117
Exemples dutilisation de la touche Compose
Compose+"+a Compose+a+e
Compose+`+a Compose+<+<
Compose+`+a Compose+>+>
Compose+~+a Compose+!+!
Compose+o+a Compose+c+!

Linux Livre Page 381 Mardi, 23. septembre 2008 1:05 13


LINUX 382
22.10 Souris et pav tactile
xorg.conf linstar du clavier, la souris est congure dans une section InputDevice. Celle-ci est
optionnelle. Lorsquelle est absente, X tente de dterminer lui-mme une conguration
correcte. Ces lignes illustrent une conguration minimale :
Section "InputDevice"
Identifier "myMouse"
Driver "mouse"
Option "Protocol" "Auto"
Option "Device" "/dev/input/mice"
EndSection
La conguration de la souris fait appel aux mots cls suivants :
Protocol dnit le protocole de communication entre la souris et lordinateur. Voici les
diffrents protocoles :
Auto demande X de dtecter le protocole automatiquement.
ExplorerPS/2 est une souris molette PS/2.
IMPS/2 est une souris molette PS/2 compatible Microsoft.
IntelliMouse est une souris molette srie compatible Microsoft.
PS/2 est une souris classique PS/2.
usb est une souris USB.
Device dnit comment la souris est connecte lordinateur. Les valeurs habituelles de
ce paramtre sont /dev/input/mousen ou /dev/input/mice, ce qui, dans le second cas,
permet dutiliser toutes les souris et pavs tactiles connects en parallle.
Buttons indique combien de boutons a la souris. Par dfaut, X suppose que la souris en
a trois. Attention, la molette est considre comme deux boutons. Pour une souris avec
trois boutons et une molette, il faut donc en compter cinq.
ZAxisMapping indique quels boutons virtuels doivent tre associs une molette. Quand
vous dplacez la molette dans un sens, X dtecte un appui sur un bouton. Quand vous
la dplacez dans lautre sens, X dtecte un appui sur un autre bouton.
Les lignes suivantes fournissent la conguration dune souris molette typique. Elle na
que deux boutons mais, comme la molette peut elle-mme tre utilise comme bouton,
elle est considre comme une souris trois boutons. Les directions de la molette sont
associes aux boutons virtuels 4 et 5.
Option Buttons 5
Option "ZAxisMapping" "4 5"
Emulate3Buttons permet dmuler le comportement dun troisime bouton par un clic
simultan sur les boutons droit et gauche. Il sagit dune solution durgence, mais cela
peut aider travailler sous X avec une souris deux boutons. Emulate3Timeout indique
une dure en millisecondes pendant laquelle lutilisateur doit appuyer sur les deux bou-
tons. Si cette dure est trop courte, lappui presque simultan sur les deux boutons est
compt comme deux clics diffrents. Si elle est trop longue, elle interfre avec les clics
Linux Livre Page 382 Mardi, 23. septembre 2008 1:05 13
383 SYSTME XWINDOW
usuels (car X ne sait pas ce quil doit faire du clic en attendant un ventuel second). Les
paramtres pour ces options sont :
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Pav tactile
Presque tous les ordinateurs portables actuels disposent dun pav tactile (touchpad)
Synaptics ou dun composant compatible. la base, le protocole de ce priphrique
mule une souris standard, de sorte quun pilote spcial ne soit pas ncessaire. Pour
utiliser diverses fonctions supplmentaires du pav tactile, il existe cependant un pilote,
install par dfaut dans la plupart des distributions et gnralement congur auto-
matiquement. Vous trouverez plus dinformations sur synaptics ladresse
http://web.telia.com/~u89404340/touchpad/.
xorg.conf La conguration dans xorg.conf ressemble gnralement celle-ci :
Section "InputDevice"
Identifier "Synaptics"
Driver "synaptics"
Option "Device" "/dev/input/mice"
Option "Protocol" "auto-dev"
Option "Emulate3Buttons" "yes"
EndSection
Loption Emulate3Buttons est ncessaire, car la plupart des modles de pav tactile nont pas
de troisime bouton. Des options supplmentaires (voir man synaptics) permettent dacti-
ver toutes les autres fonctions. Pour dsactiver compltement le pav tactile (lorsque vous
travaillez avec une souris externe), remplacez la section Synaptics par une section pour la
souris, ou utilisez loption "TouchpadOff" "1".
synclient Loption "SHMConfig" "on" permet de modier les paramtres du pav tactile sans redmar-
rage de X. Pour cela, installez la commande synclient ou linterface graphique gsynaptics
(Gnome). synclient nom=valeur modie loption indique. synclient -l afche les para-
mtres courants et synclient -m 100 ltat courant du pav tactile toutes les 100 ms.
22.11 Portable et vidoprojecteur
Quiconque a dj fait une prsentation sous Linux avec un portable connat la sensation de se
demander si la synchronisation de limage avec un vidoprojecteur va fonctionner. Et si lcran
reste noir, reste-t-il assez de temps pour modier xorg.conf, an de faire cooprer la carte gra-
phique et le vidoprojecteur ? Ou vaut-il mieux lancer Windows pour mener bien la conf-
rence ? Grce OpenOfce.org, ce nest pas un problme, mais vous risquez de ne pas faire
bonne impression en tenant une confrence sur Linux avec une prsentation sous Windows...
Il est bien sr possible de faire cette prsentation sous Linux : dans 99 % des cas, les combi-
naisons ordinateur A, vidoprojecteur B et distribution Linux C fonctionnent. Mais il faut en
Linux Livre Page 383 Mardi, 23. septembre 2008 1:05 13
LINUX 384
passer par une conguration manuelle, ce qui demande des comptences techniques, du temps
et de la patience. Le quart dheure prcdant votre prsentation risque de ne pas sufre.
Rgles de
survie
Passons dabord en revue quelques rgles de survie :
Connectez votre portable au vidoprojecteur avant de lallumer. En gnral, lcran
interne du portable est alors dsactiv et la sortie de signal est active. Avec un peu de
chance, le gestionnaire damorage, les messages InitV et X apparaissent directement
sur le vidoprojecteur. Vous pouvez alors paramtrer KDE ou Gnome, an dutiliser la
rsolution optimale du projecteur (gnralement 1024x768).
Certains portables permettent dactiver explicitement la sortie de signal dans le Bios la
sortie nest normalement active que lorsquun moniteur externe ou un vidoprojecteur
est connect.
Testez la sortie vido de votre portable chez vous avec un autre cran. Vous navez
aucune garantie que le projecteur fonctionnera exactement comme votre moniteur, mais
ce test est un premier indicateur dventuels problmes.
Pendant que vous testez et congurez votre portable, il est prfrable de supprimer le
dmarrage automatique de X. Passez en niveau dexcution 3 (init 3) ou arrtez le ges-
tionnaire dafchage. Pour tester vos modications, lancez startx.
Que faire lorsque le vidoprojecteur ou le moniteur externe nont pas dimage lisible, et que lcran du por-
table est galement noir ? Vous pouvez alors essayer de travailler en mode console, ce qui permet de modi-
fier xorg.conf ou au moins dteindre proprement lordinateur. Si cela ne fonctionne pas, la seule
solution consiste redmarrer lordinateur en aveugle. Tapez dabord Ctrl+Alt+Retour Arrire pour terminer
X si celui-ci fonctionne encore puis, avant le redmarrage de X, Ctrl+Alt+Suppr pour redmarrer lordina-
teur.
Configuration
minimale
Pour rgler les problmes de vidoprojecteur, commencez par dnir une rsolution xe de
1024 768 dans une frquence horizontale rduite (de lordre de 53 kHz) et une frquence
verticale denviron 60 Hz. Ces donnes devraient fonctionner avec la plupart des vidopro-
jecteurs, y compris les modles plus anciens. Le chier de conguration qui suit montre les
modications faire en gras.
# /etc/X11/xorg.conf
...
Section "Monitor"
...
HorizSync 31.5 - 53
VertRefresh 57-63
EndSection
...
Section "Screen"
...
DefaultDepth 24
SubSection "Display"
...
Modes "1024x768"
EndSubSection
EndSection
Linux Livre Page 384 Mardi, 23. septembre 2008 1:05 13
385 SYSTME XWINDOW
Cette conguration ne garantit certes pas que le vidoprojecteur fonctionnera aprs le red-
marrage de X, mais la probabilit est largement amliore.
Si vous testez cette configuration sur un cran normal, il arrive que la frquence dimage ne soit pas de
60 Hz, mais bien plus haute, en contradiction avec la configuration dfinie. Cela provient du fait que la plu-
part des moniteurs envoient leurs donnes de configuration via DDC (Display Data Channel, canal de don-
nes daffichage) la carte graphique. Ces donnes ont priorit sur xorg.conf. Certains pilotes
permettent de dsactiver explicitement DDC dans la section Device.
Configurations
multi-crans
Pour les prsentations, il est encore plus confortable dutiliser une conguration multi-
crans, dans laquelle lcran du portable et le vidoprojecteur sont utiliss indpendam-
ment lun de lautre. Vous pouvez alors afcher des notes sur votre portable, tandis que
seule votre prsentation est visible sur le vidoprojecteur selon mon exprience, Open-
Ofce.org a cependant souvent des problmes trouver lcran correct pour afcher la pr-
sentation en mode plein cran.
Les lignes suivantes illustrent des extraits de xorg.conf dans ce type de conguration.
Attention, les options de la section Device dpendent de la carte graphique ! Cet exemple
utilise le pilote i810.
Les autres sections de lexemple peuvent cependant tre utilises pour toutes les congura-
tions multi-crans : vous devez dnir pour chaque cran une section Monitor et une section
Device, puis les assembler dans la section Screen. La section ServerLayout indique la position
relative des deux crans. Vous devez aussi utiliser loption Xinerama.
# /etc/X11/xorg.conf
# Configuration multi-crans pour un portable avec carte graphique Intel
Section "InputDevice"
Identifier "Keyboard0"
...
EndSection
Section "InputDevice"
Identifier "Synaptics"
...
EndSection
# deux sections Monitor pour lcran du portable et le vidoprojecteur
Section "Monitor"
# moniteur du portable, 1280x800
# xorg rcupre lui-mme les donnes ncessaires
Identifier "Monitor0"
EndSection
Section "Monitor"
# vidoprojecteur en 1024x768, 60 Hz
Identifier "Monitor1"
HorizSync 31.5 - 50.0
VertRefresh 58.0 - 62.0
EndSection
# deux sections Device, une par cran
Linux Livre Page 385 Mardi, 23. septembre 2008 1:05 13
LINUX 386
Section "Device"
# priphrique pour lcran du portable
Identifier "Videocard1a"
Driver "i810"
BusID "PCI:0:2:0"
Screen 0
Option "MonitorLayout" "CRT,LFP"
EndSection
Section "Device"
# priphrique pour la sortie externe (vidoprojecteur)
Identifier "Videocard1b"
Driver "i810"
BusID "PCI:0:2:0"
Screen 1
Option "MonitorLayout" "CRT,LFP"
EndSection
# deux sections Screen qui associent chaque Device son moniteur
Section "Screen"
# configuration pour lcran interne pour la disposition 1
Identifier "Screen1a"
Device "Videocard1a"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
# configuration de la sortie pour la disposition 1
Identifier "Screen1b"
Device "Videocard1b"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
# section ServerLayout qui associe les deux sections Screen
Section "ServerLayout"
# mme image sur lcran et sur le projecteur
Identifier "Layout1"
Screen 0 "Screen1a" LeftOf "Screen1b"
Screen 1 "Screen1b"
Option "Xinerama" "on"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Synaptics" "CorePointer"
EndSection
# cette disposition est active
Section "ServerFlags"
# seulement lcran
# Option "DefaultServerLayout" "Layout0"
# cran et projecteur en multi-crans
Option "DefaultServerLayout" "Layout1"
EndSection
Linux Livre Page 386 Mardi, 23. septembre 2008 1:05 13
387 SYSTME XWINDOW
22.12 Graphismes 3D
Les graphismes 3D sous Linux vgtaient auparavant dans lombre. Dune part, en dehors
de quelques conomiseurs dcran et jeux isols, il existait peu dapplications 3D. Dautre
part, les graphismes 3D rclamaient lutilisation de pilotes binaires. La situation des pilotes
sest depuis amliore et, lt 2006, une application majeure a vu le jour : il ne sagit pas
dun jeu, mais des effets 3D pour le bureau prsents pour la premire fois par Novell dans
SUSE Enterprise Desktop 10. Les fonctions 3D de la carte sont utilises pour dformer les
fentres lorsquon les dplace, pour projeter les bureaux sur un cube, etc. Toutes ses fonc-
tionnalits nont pas de relle utilit, mais elles plaisent de nombreux utilisateurs.
Cette section traite des bases des graphismes 3D sous Linux. La section suivante prsente les
bureaux 3D et des astuces de conguration pour diverses combinaisons matriel/logiciel.
Les concepts affrents la 3D sont bien expliqus sur les pages http://dri.freedesktop.org/wiki/Catego-
ryGlossary et http://jonsmirl.googlepages.com/graphics.html.
Vous trouverez plus dinformations sur la 3D sous Linux aux adresses http://dri.freedesktop.org/wiki/
et http://www.mesa3d.org.
OpenGL Les graphismes 3D sous Unix/Linux sont grs par OpenGL. Il sagit dune bibliothque
dveloppe par SGI pour reprsenter des graphismes 3D, disponible sur presque tous les
ordinateurs Unix/Linux. La plupart des programmes et jeux 3D sous Linux sont bass sur
OpenGL.
Le code dOpenGL ntait pas libre initialement (cela a depuis chang) ; cest pourquoi la
bibliothque libre Mesa a t dveloppe. Celle-ci tait au dpart une solution purement
logicielle. Comme elle est trop lente pour de nombreux programmes et jeux, elle est gnra-
lement associe sous X au module DRI.
DRI Le module DRI (Direct Rendering Interface, interface de rendu direct) permet dutiliser les
fonctions 3D rapides de la carte graphique. Cela ne fonctionne que lorsque la carte prend en
charge de telles fonctions (ce qui est le cas de la plupart des modles actuels) et quil existe
un pilote DRI pour la carte.
Les cartes actuelles dotes de processeurs ATI/AMD et NVIDIA ne peuvent tre actuelle-
ment utilises de manire optimale quen installant les pilotes binaires des fabricants. Ceux-
ci fonctionnent en gnral avec le module DRI de X. Le pilote NVIDIA est une exception : il
implmente lui-mme les fonctions de DRI.
GLX Sous X, les fonctions OpenGL sont utilises via la bibliothque GLX. Cette dernire connecte
le systme XWindow OpenGL. GLX sassure, par exemple, que les tches OpenGL ne
soccupent que des calculs touchant une partie visible de la fentre sans collision avec
dautres fentres. GLX est intgr X par un module.
Bibliothque
libGL
La bibliothque libGL est une connexion entre le module GLX et les programmes OpenGL.
Elle doit correspondre limplmentation OpenGL installe (DRI ou NVIDIA). /usr/lib/
libGL.* sont donc des liens vers les bibliothques relles.
Linux Livre Page 387 Mardi, 23. septembre 2008 1:05 13
LINUX 388
Le pilote NVIDIA installe ses propres versions des bibliothques libGL. Les liens de /usr/
lib sont galement modis. Vous pouvez les rtablir avec nvidia-installer --uninstall.
xorg.conf Il nest pas ncessaire de congurer explicitement DRI dans xorg.conf, car les modules dri,
glx et dbe sont chargs par dfaut dbe vite les scintillements pendant la construction et le
changement dimages. Les lignes suivantes dans la section Module indiquent que ces modules
sont chargs :
Section "Module"
...
Load "dbe" # Double Buffering Extension
Load "dri" # Direct Rendering Infrastructure (ne pas utiliser avec
# NVIDIA !)
Load "glx" # GLX (Open GL for X)
EndSection
Droits daccs
DRI
Par dfaut, seul root peut accder directement au matriel graphique. Laccs aux fonctions
DRI/GLX est donc restreint root. Pour permettre dautres utilisateurs de bncier des
graphismes 3D, il faut ajouter deux options xorg.conf. Dans les lignes suivantes, tous les
membres du groupe graphics ont accs aux graphismes 4D vous devez bien sr crer ce
groupe et associer des utilisateurs.
Section "DRI" # (nest pas ncessaire lorsque le pilote nvidia est
# utilis)
Group "graphics"
Mode 0660
EndSection
Ces deux options indiquent le groupe propritaire et les droits daccs au chier /dev/dri/
card0. Ce priphrique sert accder la carte graphique.
Le paramtrage suivant est plus libral. Tous les utilisateurs peuvent alors utiliser les fonc-
tions DRI. Cela peut cependant reprsenter une faille de scurit et nest pas conseill sur les
ordinateurs connects directement un rseau.
Section "DRI" # (nest pas ncessaire lorsque le pilote NVIDIA est
# utilis)
Mode 0666
EndSection
Certaines distributions donnent automatiquement les bons droits au chier /dev/dri/card0
lutilisateur connect au systme graphique. Dans ce cas, vous pouvez vous passer de la
section DRI.
Tester les
fonctions 3D
Le programme glxinfo permet de vrier si tout a fonctionn. Il afche de nombreuses
informations sur le systme GLX. grep ltre les lignes importantes :
root# glxinfo |grep render
direct rendering: Yes
OpenGL renderer string: MOBILITY FIREGL T2 Pentium4 (SSE2) (FireGL) (GNU_ICD)
Ces lignes signient que le pilote DRI pour une carte graphique ATI (fglrx) fonctionne. Si ce
nest pas le cas, la sortie ressemble ceci :
root# glxinfo | grep render
direct rendering: No
OpenGL renderer string: Mesa GLX Indirect
Linux Livre Page 388 Mardi, 23. septembre 2008 1:05 13
389 SYSTME XWINDOW
Un autre test trs visuel est le programme gears ou glxgears. Il fait partie des programmes
de dmonstration de Mesa et doit ventuellement tre install part (paquetage mesa-demos
ou mesa-utils). Si vous utilisez le pilote binaire ATI, vous pouvez aussi lancer le pro-
gramme fgl_glxgears.
glxgears montre dans une fentre trois engrenages qui tournent. Le shell qui a lanc
glxgears afche toutes les cinq secondes le nombre dimages par seconde (FPS). Sur ma
machine de test (Intel Core 2 Duo 2,4 Ghz, carte graphique NVIDIA 7600-GS), jai obtenu
comme rsultats en plein cran (1600x1200 points, couleurs 24 bit) 92 FPS avec le pilote nv
(sans fonctions 3D), et 395 FPS avec le pilote nvidia (avec les fonctions 3D).
22.13 Bureau 3D
Apple a t le prcurseur de lutilisation des fonctions 3D des cartes graphiques modernes
pour le bureau. Des fonctions lmentaires du bureau, comme le dplacement des fentres,
sont ainsi nettement plus rapides. Sun a galement avanc dans ce sens avec son projet
Looking Glass, qui offre au bureau des fonctions 3D pour le rendre plus attrayant.
En 2006, SUSE a prsent SuSE Linux Enterprise Desktop avec des fonctions 3D. Depuis, la
plupart des grandes distributions Linux fournissent ces fonctions leurs utilisateurs, pour
autant que la carte graphique et le pilote soient adapts, et permettent gnralement de
congurer cela en quelques clics.
Fonctions Pour ceux qui nont pas encore test le bureau 3D, voici un bref aperu des fonctions et gadgets
importants :
Lorsquon dplace des fentres, leur forme est modie comme si elles taient caoutchou-
teuses (voir Figure 22.1).
Le passage entre les bureaux afche ces derniers sur les faces dun cube en 3D.
Lapparition, la rduction, lagrandissement et la fermeture des fentres et des menus
sont anims avec diffrents effets (transparence, etc.).
Lorsquon change de fentre avec Alt+Tab, la fentre choisie passe en avant-plan.. la
place dune liste dicnes, vous voyez le programme activer (voir Figure 22.2).
Vous pouvez aussi utiliser la fonction Scale pour changer de fentre. Celle-ci fonctionne
comme Expos sous Mac OS X : toutes les fentres ouvertes sont rduites et safchent
les unes ct des autres. Vous pouvez alors choisir avec la souris ou les touches du cur-
seur la fentre activer. Cette fonction est souvent lance avec les touches Pause,
Ctrl+Alt+Flche haut, F8 ou F9 ou, selon la conguration, lorsque vous dplacez la
souris dans le coin en haut droite de lcran.
La fonction Zoom permet dagrandir une partie du bureau. Lorsque vous dplacez la
souris la frontire de la section visible, la section se dplace sans ralentissement. Cette
fonction facilite la vie des malvoyants, mais permet aussi dafcher des sites web mal
dvelopps sur un grand moniteur une taille dcente.
Linux Livre Page 389 Mardi, 23. septembre 2008 1:05 13
LINUX 390
Il est bien sr lgitime de sinterroger sur lutilit de ces fonctions. Je les ai personnellement
dsactives aprs quelques jours. Le dplacement sans ralentissement des fentres est
agrable, mais seule la fonction Scale ma rellement enthousiasm.
Raccourcis
clavier
La plupart des fonctions peuvent tre congures ou dsactives. En fait, les fonctions
disponibles dpendent largement de la distribution, tout comme les raccourcis clavier
suivants.
Figure 22.1
Dplacement dune
fentre dans un bureau
3D.
Figure 22.2
Changement
de fentre.
Linux Livre Page 390 Mardi, 23. septembre 2008 1:05 13
391 SYSTME XWINDOW
Prrequis Pour proter de ces gadgets 3D, les prrequis suivants doivent tre respects :
X doit permettre dutiliser les fonctions 3D directement dans le gestionnaire de fentre
(et non, comme prcdemment, uniquement lintrieur des fentres). Il existe pour
cela deux choix : AIGLX et XGL.
Un pilote graphique compatible avec ces extensions ou les fournissant directement doit
tre install.
Le gestionnaire de fentre doit utiliser les fonctions 3D en question. Cest, par exemple,
le cas du programme Compiz.
Attention, les effets 3D de la carte graphique ne fonctionnent que lorsque vous travaillez
avec un seul moniteur. Le pilote NVIDIA et son mode TwinView sont une exception : ils
permettent dutiliser un bureau 3D sur deux moniteurs.
Le tableau suivant rsume la compatibilit des diffrents pilotes avec AIGLX et XGL.
Raccourcis utiles pour le gestionnaire de bureau 3D
a+t changement de fentre anim
p ou c+a+W changement de fentre anim (Scale/Expos)
c+a+Z changement de bureau anim
c+a+S ^ tournoiement des bureaux (cube 3D)
X+Clic S zoom (variante 1)
X+Clic ^ zoom (variante 2)
S+0 changement de vitesse des effets 3D
G capture dcran (y compris pendant une animation)
Prise en charge des pilotes (t 2008)
XGL AIGLX
radeon
oui, pour autant que les fonctions 3D de la carte soient
prises en charge par le pilote
oui, pour autant que les fonctions 3D de la carte soient pri-
ses en charge par le pilote
fglrx
oui oui, pour autant que le pilote soit au moins en version 8.42.3
et quune carte graphique compatible soit utilise
radeonhd
non (pas de prise en charge de la 3D) non (pas de prise en charge de la 3D)
i810,
intel
oui, mais ncessite un processeur i9xx au minimum oui
nv
non (pas de prise en charge de la 3D) non (pas de prise en charge de la 3D)
nvidia
oui oui
nouveau
non (prise en charge de la 3D limite) non (prise en charge de la 3D limite)
Linux Livre Page 391 Mardi, 23. septembre 2008 1:05 13
LINUX 392
Vous vous demandez peut-tre sil vaut mieux utiliser XGL ou AIGLX. De nombreux argu-
ments parlent en faveur dAIGLX : il est plus efcace, demande moins de mmoire, est plus
rpandu et compatible avec les jeux 3D. En pratique, vous ne verrez cependant pas de gran-
des diffrences entre XGL et AIGLX. Les effets 3D chargent peu la carte graphique ; une
diffrence de performances de quelques pour cent nest donc pas pertinente. Limportant est
que cela fonctionne !
Lapproche pragmatique est sans doute la meilleure : mettez en place le systme pris en
charge par votre distribution et votre carte graphique. Il vaut mieux viter dinstaller et de
congurer manuellement ces applications : il existe certes dinnombrables tutoriels pour
presque tous les cas particuliers, mais leur adaptation choue souvent cause dune incom-
patibilit quelconque (par exemple, en raison de la parution dune nouvelle version de votre
pilote graphique, de X ou de Compiz Fusion).
Nous nous concentrerons dans cette section sur AIGLX.
AIGLX
AIGLX signie Accelerated Indirect GLX (GLX indirect acclr). Les fonctions 3D sont
transmises au serveur X, qui les transmet la carte graphique (do le terme "indirect").
Cette manire de faire implique donc peu de modications dans larchitecture du ser-
veur X. AIGLX est en particulier utilis par Red Hat/Fedora et par Ubuntu. Vous trou-
verez plus dinformations son sujet sur les pages http://fr.wikipedia.org/wiki/AIGLX,
http://en.wikipedia.org/wiki/AIGLX et http://fedoraproject.org/wiki/RenderingProject/
aiglx.
xorg.conf AIGLX fait partie intgrante du serveur X depuis sa version 7.1. Vous ne devez donc rien
installer de plus. Il est automatiquement activ lorsque cest possible. Le chier de jour-
nalisation contient alors la ligne AIGLX enabled. Si ce nest pas le cas, ajoutez cette ligne
dans xorg.conf :
Section "ServerFlags"
Option "AIGLX" "on"
EndSection
AIGLX suppose que lextension Composite est active, ce qui est normalement le cas lorsque
le serveur X est activ. grep COMPOSITE /var/log/Xorg.0.log doit normalement renvoyer le
rsultat Initializing built-in extension COMPOSITE. Si ce nest pas le cas, ajoutez cette ligne
dans xorg.conf :
Section "Extensions"
Option "Composite" "enable"
EndSection
Les points suivants conseillent des congurations pour utiliser AIGLX avec diffrents pilo-
tes graphiques. Nous tenons ici pour acquis que xorg.conf contient dj toutes les options
ncessaires pour utiliser les fonctions 3D. glixinfo | grep render doit renvoyer Direct
rendering: Yes.
radeon et AIGLX ne demandent aucune option supplmentaire.
Linux Livre Page 392 Mardi, 23. septembre 2008 1:05 13
393 SYSTME XWINDOW
i810/intel et AIGLX ne demandent aucune option supplmentaire.
nvidia et AIGLX fonctionnent actuellement sans problme. La section Device doit contenir
la ligne :
Option "AddARGBGLXVisuals" "True"
Le pilote NVIDIA peut lui-mme fournir les fonctions AIGLX et nest donc pas dpendant
de limplmentation AIGLX du serveur X.org.
Compiz Fusion
Le gestionnaire de fentre est responsable de la reprsentation des effets optiques. Cest
cela que sert Compiz Fusion. Il provient de la fusion entre les projets Compiz et Beryl. Vous
ne le trouverez que dans les distributions rpandues ; les plus anciennes utilisent majoritai-
rement Compiz, Beryl tant parfois propos comme paquetage optionnel.
Compiz Fusion se compose dun ensemble de programmes et de greffons.
compiz est le gestionnaire de fentre en soi. Il dnit les fentres qui sont visibles, celle qui a
le focus, les effets qui sont appliqus lapparition, au redimensionnement ou la fermeture
des fentres, ainsi que les raccourcis clavier qui peuvent tre utiliss. Le code pour les
effets 3D nest pas directement intgr compiz, mais se trouve dans dinnombrables greffons
(/usr/lib[64]/compiz/libXxx.so).
gtk-window-decorator (dans les versions plus anciennes, gnome-window-decorator) afche,
autour du contenu des fentres, les dcorations, dont la barre de titre et quelques boutons.
Ce programme est compatible avec KDE, mais kde-window-decorator est plus souvent uti-
lis sous KDE. Selon la version et la conguration, le programme emerald du projet Beryl
peut aussi tre utilis.
Attention, compiz et les programmes dafchage de dcorations, qui remplacent les compo-
sants correspondants de Gnome et de KDE, ne sont quen partie pris en compte. Cela peut
mener une certaine confusion.
Vous trouverez plus dinformations sur Compiz Fusion et ses greffons ladresse
http://www.compiz-fusion.org/.
Configuration Pour la conguration de base de Compiz et de Compiz Fusion, les grosses distributions ont
dvelopp certains outils de conguration :
Fedora, Red Hat desktop-effects
SUSE gnome-xgl-setting (utilisable aussi sous KDE)
Ubuntu gnome-appareance-properties (uniquement sous Gnome)
Avec ces trois programmes, vous ne pouvez rgler que les fonctions de base du bureau 3D.
Il existe cependant beaucoup dautres paramtrages (activation et conguration de greffons,
raccourcis, etc.). Pour congurer ces fonctions supplmentaires, vous devez installer compiz-
config-settings-manager (voir Figure 22.3).
Linux Livre Page 393 Mardi, 23. septembre 2008 1:05 13
LINUX 394
22.14 Polices
Les polices sous X se divisent en polices vectorielles (chelonnables) et en fontes bitmap
(prvues pour une taille xe).
Jusqu il y a quelques annes, X ne pouvait grer que les fontes bitmap. Celles-ci ne sont
disponibles quen des tailles donnes et xes lavance. Elles peuvent safcher dautres
tailles, mais sont alors "pixelises".
freetype et type1 fournissent depuis, via le serveur de polices xfs, des polices libres vecto-
rielles (TrueType, Type-1). Les applications KDE et Gnome utilisent exclusivement ces poli-
ces. Les fontes bitmap ne jouent aujourdhui quun rle limit et ne sont utilises que dans
certains programmes plus anciens (par exemple, xterm).
La diffrence historique entre ces deux jeux de caractres se retrouve aujourdhui dans de
nombreuses commandes de gestion. Par exemple, fc-list renvoie la liste de toutes les poli-
ces vectorielles, tandis que xlsfonts renvoie celle de toutes les fontes bitmap.
Rpertoire des
polices
Les chiers de polices se trouvent gnralement dans les sous-rpertoires de /usr/share/
fonts. Pour les polices bitmap, il existe un chier pour chaque taille et attribut (par exemple
gras, italique). Pour les polices vectorielles, un chier pour toutes les tailles suft.
fonts.dir et
fonts.scale
Dans les rpertoires de fontes bitmap, on trouve deux chiers spciaux : fonts.dir et
fonts.scale. Ces derniers sont ncessaires pour les programmes X anciens qui nutilisent
pas le systme fontconfig. Ils contiennent des informations sur les noms et les tailles dispo-
nibles des fontes.
fc-list et
xlsfonts
La commande fc-list|sort afche une liste de toutes les polices vectorielles. xlsfonts
effectue la mme opration pour les fontes bitmap. Le rsultat est long et peu clair, car la
liste contient une ligne pour chaque taille de fonte et chaque jeu de caractres. xfontsel per-
met de chercher des fontes bitmap qui correspondent vos critres de recherche.
Figure 22.3
Configuration dtaille
de Compiz.
Linux Livre Page 394 Mardi, 23. septembre 2008 1:05 13
395 SYSTME XWINDOW
Noms des
fontes
Les noms des fontes bitmap sont construits sur ce modle :
-fonderie-famille-graisse-inclinaison-largeur-taille-espacement-codage
Ce qui donne, pour un exemple concret :
-adobe-helvetica-bold-o-normal--10-100-75-75-p-60-iso8859-1
Il sagit dune fonte de lentreprise Adobe.
La famille de la police est Helvetica (qui est, comme Arial, une police sans serif).
Il sagit dune fonte grasse (bold). Les autres possibilits comptent normal, medium,
black, extrabold.
Linclinaison de la fonte est o (oblique). Dautres options sont r (roman, non incline) et i
(italic, italique).
La largeur de la fonte nest pas indique. Certaines polices comprennent ici condensed,
extended, etc.
La taille de la fonte est de 10 points.
Lespacement de la police est p (proportional). Dautres possibilits sont c (character cell)
ou m (monospaced), qui signient toutes deux que les caractres ont la mme chasse. Cest
le cas, par exemple, de la famille de polices Courier.
Les caractres sont cods en ISO-Latin 1. Ce codage contient la plupart des caractres
des langues dEurope occidentale.
Les nombres qui suivent reprsentent la rsolution de la fonte, la largeur moyenne de la
police, etc.
gucharmap,
xfd et
kcharselect
Les programmes gucharmap et kcharselect afchent tous les caractres dune police vecto-
rielle et permettent de copier des caractres individuels dans le presse-papiers (voir
Figure 22.4).
Figure 22.4
Reprsentation
de caractres spciaux
dans gucharmap.
Linux Livre Page 395 Mardi, 23. septembre 2008 1:05 13
LINUX 396
Les caractres bitmap peuvent safcher avec xfd -fn nom_de_la_fonte. nom_de_la_fonte
doit tre le nom exact de la fonte en syntaxe. Le plus simple est dutiliser une ligne de rsultat
de xlsfonts comme paramtre.
Jeux de
caractres
et prise en
charge
dUnicode
X est fourni avec tous les jeux de caractres imaginables, y compris Unicode. Cependant,
ceux qui sont pris en charge dpendent de la police :
Pour les polices vectorielles, les informations du jeu de caractres sont embarques dans
le chier de police. Les chiers de codage associent des symboles individuels au code
dun jeu de caractres. Ces chiers sont grs indpendamment des polices et se trou-
vent habituellement dans le rpertoire /usr/share/fonts/encodings ou /usr/share/
fonts/X11/encodings.
Pour les fontes bitmap, il existe un chier par jeu de caractres pris en charge. Unicode
a peu de fontes bitmap. La commande suivante en afche la liste :
utilisateur$ xlsfonts *iso10646-1*
Attention, le fait quune police comprenne le codage Unicode noffre pas de garantie sur le
nombre de caractres quelle contient. Il existe actuellement peu de polices Unicode compl-
tes (et aucune dentre elles nest gratuite). De plus, les polices de ce type sont normes et peu
adaptes un usage quotidien.
Types de
polices
X fournit diffrents types de polices. En voici une rapide description :
Fontes 75-dpi et 100-dpi (bitmap). Il sagit des fontes les plus anciennes qui font partie
de X depuis plusieurs annes. Elles ne sont disponibles dans des tailles correctes que
pour des rsolutions dcran de 75 et 100 dpi. Les familles de polices correspondantes
comptent gnralement Charter, Courier, Helvetica, Lucida, New Century Schoolbook,
Times et Utopia.
Polices Type1 (vectorielles). Il sagit dun format de polices PostScript dnies par
Adobe. Elles se trouvent dans des chiers *.pfa ou *.pfb.
Polices TrueType (vectorielles). Dveloppes par Microsoft et Apple comme alternative
au format de polices Adobe, elles fournissent une haute qualit dafchage et dimpres-
sion, comparable celle des polices Type1. Elles se trouvent dans des chiers *.ttf. La
police DejaVu est lune des plus populaires sous Linux. Base sur Bitstream Vera, il
sagit dune police libre, souvent utilise par dfaut sous Linux.
Polices OpenType (vectorielles). Il sagit dun mtaformat qui permet de dcrire des
polices TrueType et Type1. Les chiers correspondants ont les extensions *.otf et *.ttf.
Polices Speedo (vectorielles). Il sagit du nom dune police de lentreprise Bitstream.
Sous Linux, elles regroupent gnralement Charter, Courier et Vera.
Polices URW (vectorielles). Lentreprise URW a nanc pour GhostScript un paquetage
de polices PostScript standard vectorielles (AvantGarde, Bookman, Courier, Gothic,
Helvetica, New Century Schoolbook, Palatino, Times, Symbol, ZapfChancery et
ZapfDingbats). Il sagit en interne de polices Type1. Elles peuvent tre redistribues
dans le cadre de la GPL et sont utilises par GhostScript.
Linux Livre Page 396 Mardi, 23. septembre 2008 1:05 13
397 SYSTME XWINDOW
Il existe bien sr, chez des entreprises comme Adobe ou Bitstream, dinnombrables polices qui ne sont
pas fournies sous Linux. Elles doivent tre achetes comme tout produit commercial. Celles fournies sous
Linux ne sont gnralement mises disposition que parce quelles sont offertes par ces entreprises.
Configuration sans serveur de fontes
la base, les fontes peuvent safcher de deux manires lcran. Le serveur X peut conver-
tir lui-mme les chiers de polices en bitmap qui safchent lcran. Un serveur de fontes
(le plus souvent xfs) peut galement effectuer ce travail. RHEL, jusqu sa version 5.n, et
Fedora 7 utilisent un serveur de fontes ; ce nest gnralement pas le cas des autres distributions.
Il ny a pas vraiment davantage ou dinconvnient dcisif pour lune ou lautre des solu-
tions. Les serveurs de fontes ntant plus vraiment utiliss actuellement, nous nen parlerons pas
dans cet ouvrage.
xorg.conf Si vous nutilisez pas de serveur de fontes, vous pouvez ajouter la section Files de
xorg.conf le chemin des rpertoires de polices. Cet ajout est facultatif. Cependant, si vous
lomettez, le serveur X ne prend en compte que quelques rpertoires standard indiqus la
compilation.
Section "Files"
FontPath "/usr/share/fonts/misc:unscaled"
FontPath "/usr/share/fonts/local"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/Type1"
FontPath "/usr/share/fonts/URW"
FontPath "/usr/share/fonts/Speedo"
...
EndSection
Lordre des rpertoires a une importance. Si une fonte existe dans plusieurs rpertoires, la
premire trouve dans la liste de rpertoires est utilise. Il est donc important dindiquer en
premier les polices ayant une bonne qualit dafchage.
Lorsque le chemin est suivi de :unscaled, X nutilise la fonte que lorsquelle est disponible
exactement dans la taille souhaite. Ce mot cl nest valide que pour les polices bitmap et
non vectorielles.
Les versions actuelles du serveur X chargent par dfaut tous les modules pour grer les dif-
frents types de polices. Certains chiers de conguration numrent cependant explici-
tement ces modules :
Section "Module"
Load "bitmap" # fontes bitmap
Load "speedo" # polices Speedo
Load "type1" # polices Type-1 et CID
Load "freetype" # polices TrueType, OpenType et Type1
...
EndSection
Linux Livre Page 397 Mardi, 23. septembre 2008 1:05 13
LINUX 398
Activer la
configuration
Pour prendre en compte les modications de la conguration des polices, il suft gnrale-
ment de lancer la commande suivante. Il arrive cependant quun redmarrage de X soit
ncessaire.
root# xset fp rehash
Installation de polices TrueType et Type1 supplmentaires
La plupart des distributions Linux fournissent peu de polices TrueType et Type1. Si vous
possdez des droits sur de telles polices, cette section propose quelques astuces pour leur
installation. Trois tapes sont ncessaires :
1. Les chiers de polices doivent tre copis dans le rpertoire prvu cet effet.
2. Les chiers fonts.* doivent tre mis jour dans le rpertoire de polices.
3. X (ou le serveur de fontes xfs) doit tre inform que de nouvelles polices sont disponibles.
Installation
manuelle
Copiez les chiers (*.ttf, *.pfa ou *.pfb) dans lun des rpertoires de polices de votre distri-
bution. Veillez ce quils soient lisibles par tous les utilisateurs.
Lancez ces commandes pour enregistrer les nouvelles polices :
root# cd /usr/share/fonts/xxx
root# fc-cache .
root# mkfontscale .
root# mkfontdir .
La commande fc-cache fait partie du systme fontconfig. mkfontscale et mkfontdir mettent
jour les chiers fonts.scale et fonts.dir.
Pour nir, rafrachissez le systme de polices de X :
root# xset fp rehash
Il peut galement tre utile de redmarrer X.
KDE Konqueror afche toutes les polices disponibles lorsque vous saisissez ladresse fonts:/.
Pour installer vos propres polices TrueType et Type1, lancez linstallateur de polices de la
conguration du systme. Vous pouvez les installer pour lutilisateur courant ou tous les
utilisateurs. Dans le premier cas, elles sont installes dans le rpertoire ~/.fonts et ne sont
accessibles qu lutilisateur courant et aux programmes compatibles avec fontconfig. Si
vous les installez pour le systme, elles sont installes dans lun des rpertoires de polices
de X.
Gnome Nautilus permet dafcher toutes les polices du systme ladresse fonts:///.
Pour installer de nouvelles polices, dplacez le chier de police par glisser-dposer. Les poli-
ces sont alors copies dans le rpertoire ~/.fonts et sont disponibles tous les programmes
compatibles avec fontconfig.
Polices
Microsoft
Vous pouvez, mme sans Windows, utiliser des polices Microsoft. Microsoft a long-
temps fourni des polices TrueType en tlchargement. Elles devaient permettre tous les utili-
sateurs dafcher de manire optimale les polices Microsoft utilises sur les sites web.
Linux Livre Page 398 Mardi, 23. septembre 2008 1:05 13
399 SYSTME XWINDOW
Le site de tlchargement original nexiste plus ; les polices ne peuvent plus tre tlchar-
ges que sur le site corefonts. La redistribution commerciale de ces polices est interdite ; cest
pourquoi les distributions ne les fournissent gnralement pas directement.
Malheureusement, leur installation sous Linux est complique, car elles sont contenues
dans un chier *.exe et ne peuvent pas tre distribues sous un autre format. Le site web
http://corefonts.sourceforge.net/ fournit une documentation pour les distributions qui utili-
sent des paquetages RPM.
Sous Ubuntu, le paquetage msttcorefonts permet dinstaller les polices Microsoft.
Anticrnelage
Par dfaut, X utilise lanticrnelage (anti-aliasing) pour afcher les polices TrueType et
Type1. Les contours des lettres safchent alors en niveaux de gris. Les caractres sont
moins pixeliss.
Sur de nombreux crans plats, chaque pixel est compos de trois sous-pixels (rouge, vert et
bleu). La variation des couleurs associes permet une plus grande qualit dafchage de
lanticrnelage. On parle ici de rendu par sous-pixelisation.
Configuration Lanticrnelage et le rendu par sous-pixelisation sont dnis dans le chier XML /etc/
fonts/fonts.conf. Celui-ci ne doit cependant pas tre modi, car il est rgulirement
cras. Les paramtres doivent tre modis dans /etc/fonts/local.conf (pour le systme)
ou dans ~/.fonts.conf (pour lutilisateur). man fontconfig ou man fonts.conf vous donne-
ront plus dinformations ce sujet.
Artefacts
colors
Selon le moniteur, le rendu par sous-pixelisation peut mener des artefacts colors gnants.
Il faut alors dsactiver la fonction avec les lignes suivantes :
<?xml version="1.0"?><!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font" >
<edit mode="assign" name="rgba" >
<const>none</const>
</edit>
</match>
</fontconfig>
Configuration
sous KDE et
Gnome
KDE et Gnome fournissent des botes de dialogue confortables pour modier la con-
guration utilisateur par utilisateur de lanticrnelage et du rendu par sous-pixelisation. Sous
KDE, les paramtres se trouvent dans le module Apparence > Polices de la conguration du
systme. Sous Gnome, lancez gnome-font-properties ou Proprits > Polices.
Linux Livre Page 399 Mardi, 23. septembre 2008 1:05 13
LINUX 400
22.15 Outils X
X fournit quelques programmes. La plupart disposent de versions plus modernes intgres
Gnome ou KDE, mais certains des utilitaires de X sont encore importants de nos jours. En
voici une liste rapide. man commande permet dobtenir plus dinformations sur ces diffrentes
commandes.
xev. xev afche des informations sur les vnements du clavier, de la souris, etc. Vous
pouvez ainsi voir comment X ragit lorsque vous appuyez, par exemple, sur une touche
donne.
xkill. xkill permet de terminer un programme X. Lancez xkill, cliquez sur la fentre et
lapplication correspondante est termine.
xlsfonts. xlsfonts afche une liste de toutes les polices disponibles. On peut lui passer
un motif de ltrage comme ls. Il faut cependant mettre ce motif entre apostrophes
pour quil ne soit pas tendu par bash.
xmodmap. xmodpam permet dafcher et de modier la conguration du clavier. xmodmap
-pk afche la table de clavier courante. xmodmap -e dfinition permet de rednir une
touche.
xrandr. xrandr permet de modier la rsolution de lcran, la frquence de limage et
dautres paramtres de lcran sans quitter X. xrandr -q afche les possibilits de con-
guration. Celles-ci dpendent de la conguration de X et du pilote de la carte graphique.
xrandr -s n modie la rsolution, xrandr -r n la frquence dafchage et xrandr -o
lorientation de limage.
xset. xset modie le paramtrage du serveur X.
xterm. xterm est une fentre de terminal dans laquelle diverses commandes peuvent
tre lances. xterm dispose de nombreuses options pour modier son apparence.
Linux Livre Page 400 Mardi, 23. septembre 2008 1:05 13
23
Administration du systme
de fichiers
Ce chapitre dcrit diverses facettes de ladministration du systme de chiers. Il sadresse
majoritairement aux utilisateurs avancs de Linux et couvre les thmes suivants :
Introduction. Cette section offre un premier aperu des diffrents aspects des systmes
de chiers de Linux.
Noms de priphriques. Linux communique avec les disques durs, les supports de
donnes et les partitions qui y sont contenues par le biais de chiers de priphriques
comme /dev/hda1 ou /dev/sdc. Cette section rsume la nomenclature et la numrotation
de ces chiers.
Partitionnement du disque dur. Le partitionnement du disque dur est une tche cen-
trale de linstallation de Linux. Il est parfois aussi ncessaire de crer une nouvelle
partition alors que Linux fonctionne dj.
Types de systmes de chiers. Peu de systmes dexploitation prennent en charge
autant de systmes de chiers que Linux. Cette section en prsente les plus importants.
Gestion du systme de chiers. Vous y apprendrez comment ajouter des partitions de
donnes manuellement un systme de chiers (mount) et comment automatiser cette
opration (/etc/fstab).
Systmes de chiers Linux. Cette section offre divers conseils et astuces pour utiliser
les trois systmes de chiers les plus importants sous Linux : ext, reiser et xfs.
Systmes de chiers Windows. Vous pouvez aussi accder des partitions Windows
sous Linux. Linux prend en charge les deux systmes de chiers courants FAT32 et
NTFS.
CD/DVD et disquettes. Les CD et DVD de donnes disposent de leurs propres types de
systmes de chiers, qui sont prsents dans cette section. Ce chapitre traite galement
rapidement des disquettes, mme si celles-ci ne sont plus que peu utilises de nos jours.
Supports de donnes externes (USB, Firewire). Lorsque vous connectez un disque dur
Firewire ou une cl USB, dans la plupart des cas, une fentre du gestionnaire de chiers
apparat et vous donne accs vos chiers. Cette section explique ce quil se passe dans
les coulisses dune telle opration et comment utiliser si besoin des supports de donnes
externes manuellement.
Partitions dchange. Lorsque Linux na pas assez de mmoire vive pour excuter ses
programmes, il dcharge une partie de la mmoire dans une partition dchange.
Systmes de chiers rseau. Vous pouvez intgrer des rpertoires dautres ordinateurs
sur votre rseau local, dans votre arborescence de rpertoires. Je mintresse dans cette
section aux systmes de chiers CIFS (Windows / Samba) et NFS (Unix / Linux).
LVM. LVM (Logical Volume Manager, gestionnaire de volumes logiques) permet dadmi-
nistrer les partitions de manire exible. LVM offre la possibilit par exemple de runir
Linux Livre Page 401 Mardi, 23. septembre 2008 1:05 13
LINUX 402
les partitions de plusieurs disques en une seule partition virtuelle, de modier la taille
des partitions sans avoir rinstaller le systme, etc.
Optimisation des disques durs. Cette section dcrit les outils hdparm et SMART avec
lesquels vous pouvez optimiser vos disques durs et relever des statistiques sur leur
utilisation.
Il resterait encore beaucoup crire sur ladministration des systmes de chiers. Je nai
cependant pas la place de traiter des sujets suivants et vous indique donc quelques
pointeurs :
Utilisation du systme de chiers. Les commandes de copie de chiers, de cration de
sauvegarde, de gestion des droits daccs, etc. ont dj t traites au Chapitre 13.
Quotas de disques. Il sagit dun systme qui contrle lespace disque maximum
attribu un utilisateur. Si cette limite est dpasse, lutilisateur ne peut pas crer de
nouveau chier. Vous trouverez une bonne introduction ce systme ladresse
http://tldp.org/HOWTO/Quota.html.
RAID. Le RAID (Redundant Array of Inexpensive Disks, ensemble redondant de disques
bon march) permet dassocier une partition plusieurs disques et ainsi damliorer la
scurit ou les performances de lensemble.
Systmes de chiers chiffrs. Si vous dsirez viter quune personne non autorise
(par exemple un voleur) puisse lire vos donnes, vous devez chiffrer une partie ou la
totalit de votre systme de chiers. Linux fournit plusieurs alternatives pour cela,
comme CryptoFS, DM-Crypt, eCryptfs, Enc-FR, Loop-AES et TrueCrypt. Une recher-
che sur ces termes sur Internet renvoie dinnombrables articles qui dcrivent la mise
en place de tels systmes. Certaines distributions en offrent la possibilit ds linstal-
lation.
Systmes de chiers de grappes (clusters). Les systmes de chiers de grappes ou les
systmes de chiers globaux runissent les donnes de plusieurs ordinateurs via un sys-
tme de chiers virtuel. On peut ainsi construire des systmes de chiers immenses et
les utiliser en parallle depuis plusieurs machines. On peut citer pour exemples de ce
type de systmes OCFS (Oracle Cluster File System) dOracle, ou GFS (Global Filesystem)
de Red Hat.
23.1 Fonctionnement gnral
Les tenants et les aboutissants de la gestion du systme de chiers sont jusquici un peu confus.
Cette section tente den rsumer les principes de manire claire et concise. Pour garder ce
texte aussi clair que possible, je me limite ici aux disques durs intgrs et aux systmes de
chiers habituels. Je ne parle donc ni de supports externes (CD/DVD, disques USB, etc.) ni
de LVM.
Disques durs Les disques durs intgrs lordinateur sont associs des noms de priphriques. Les dis-
tributions les plus rcentes utilisent /dev/sda, /dev/sdb pour de tels disques durs. Dautres
distributions plus anciennes utilisent /dev/hda, /dev/hdb, etc. pour les disques IDE et /dev/
sda, /dev/sdb, etc. pour les disques SATA et SCSI.
Linux Livre Page 402 Mardi, 23. septembre 2008 1:05 13
403 ADMINISTRATION DU SYSTME DE FICHIERS
Partitions Pour loger plusieurs systmes de chiers indpendamment les uns des autres sur un disque
dur, il faut diviser ce disque en sections (partitions). Ces partitions sont elles-mmes asso-
cies des chiers de priphriques, par exemple /dev/sda1 pour la premire partition du
premier disque SATA. La nomenclature dtaille des chiers de priphriques pour les
partitions est traite la section 23.2.
Partition
systme
Au dmarrage de Linux, le noyau accde dabord la partition systme (partition
racine). Son nom de priphrique est indiqu comme paramtre du noyau dans le chier
de conguration de GRUB ou de LILO. Vous trouverez plus de dtails ce sujet au
Chapitre 24.
Partitions
supplmen-
taires
En plus de la partition systme, qui est absolument ncessaire, il peut exister des partitions
supplmentaires qui doivent tre prises en compte ds le dmarrage de Linux. Elles sont
dcrites dans le chier /etc/fstab. Ce chier doit se trouver dans la partition systme ; il est
lu par le processus init.
Test de
cohrence
Lorsquune partition est attache larborescence de chiers, la cohrence de son systme
de chiers est automatiquement vrie. Si lordinateur a t brutalement teint (par exem-
ple par une coupure de courant), une rparation automatique du systme de chiers ou
dautres mcanismes de scurit se mettent en place pour viter dventuelles erreurs de
cohrence. Le test de cohrence est galement lanc aprs une certaine priode dutilisation.
En dtail, cette opration dpend de la distribution et de la conguration individuelle de la
machine. La dure de la rparation et du test de cohrence dpend largement du systme de
chiers.
Arborescence
au lieu de
lettres de
lecteur
Sous Windows, il est courant de communiquer avec diffrents systmes de chiers via des
lettres de lecteur diffrentes (A:, C:, D:, etc.). Sous Linux, ces systmes de chiers sont ras-
sembls dans une arborescence de rpertoires. La partition systme est accessible via le
rpertoire racine /. Le point de dpart des autres systmes de chiers peut varier selon la
distribution et la conguration. On utilise frquemment des sous-rpertoires de /mnt ou de
/media, par exemple /media/dvd pour un DVD de donnes.
Ajout de
systmes de
fichiers
On peut ajouter ou supprimer des systmes de chiers de larborescence de rpertoires alors
que le systme fonctionne. Lorsque lon branche un support de donnes externe (par exem-
ple une cl USB), cela fonctionne gnralement automatiquement. Si cela ne fonctionne pas
ou si le mcanisme a t dsactiv, root peut ajouter ou supprimer des systmes de chiers
manuellement avec les commandes mount et umount.
La seule constante est la partition systme : elle ne peut pas tre supprime de larbores-
cence de chiers lorsque le systme fonctionne. Cela nest possible que pendant le processus
darrt de lordinateur.
Types de
systmes de
fichiers
Linux prend en charge de nombreux types de systmes de chiers. La partition systme doit
se trouver dans un systme de chiers Linux (par exemple ext3, reiserfs ou xfs). Pour les
autres partitions, le choix slargit. Les systmes de chiers de Windows, dUnix ou dApple
sont aussi envisageables.
Linux Livre Page 403 Mardi, 23. septembre 2008 1:05 13
LINUX 404
23.2 Noms de priphriques pour les disques durs
et les autres supports de donnes
Glossaire LIDE, le SATA et le SCSI sont de nos jours des interfaces courantes pour connecter un ordi-
nateur ses lecteurs. LIDE tait ces quinze dernires annes linterface la plus rpandue. Le
SATA est en train de remplacer lIDE. Ses avantages comptent un taux de transfert de don-
nes plus grand et des cbles plus ns. Les disques SCSI sont plus chers que les priphri-
ques IDE ou SATA mais sont plus ables et plus rapides. Ils sont le plus souvent utiliss
dans des serveurs de chiers et de bases de donnes.
Fonctionne-
ment interne
du noyau
Linux accde aux disques durs internes et externes, leurs partitions, aux CD et DVD et
tout autre support de donnes par le biais de chiers de priphriques. Ces chiers sont des
chiers particuliers qui servent dinterface entre Linux et le noyau.
Vous navez besoin de ces chiers qu des ns dadministration, cest--dire lorsque vous
souhaitez modier le partitionnement dun disque ou monter une partition dans larbores-
cence de chiers. En dehors de cela, vous accdez normalement au systme de chiers par le
biais de rpertoires. / est le dbut du systme de chiers. Les partitions peuvent y tre asso-
cies un emplacement particulier : par exemple, une partition Linux supplmentaire peut
tre associe au nom /data, et la partition Windows /media/win.
Il existe deux familles de pilotes pour les disques durs et les autres supports de donnes :
IDE. Le pilote IDE sert grer les disques durs IDE et les lecteurs CD/DVD IDE il
sagit donc de tous les priphriques PATA.
SCSI. Le systme SCSI ne gre pas seulement les priphriques SCSI, mais aussi tous les
lecteurs connects aux bus SATA, USB et Firewire. Comme de nombreuses cartes mre
utilisent maintenant SATA comme interface principale pour les lecteurs DVD et disques
durs, le systme SCSI prend de plus en plus dimportance.
Le code IDE du noyau est relativement ancien et mal maintenu. De ce fait, de plus en plus de distributions
accdent galement aux priphriques IDE par le biais du pilote SCSI. Pour que cela fonctionne, le systme
SCSI du noyau a t tendu par des fonctions PATA. Le module correspondant sappelle libata et se trouve
dans le noyau officiel depuis sa version 2.6.19.
Le passage libata signifie que tous les supports de donnes sont accessibles par les priphriques /
dev/s*. Il ny a plus de priphrique /dev/hd*. Tous les supports de donnes sont donc grs par la
mme base de code.
Glossaire
ATA interface de connexion des disques durs
ATAPI extension dATA pour les lecteurs CD et DVD
IDE description alternative de PATA
PATA ATA parallle (interface ATA courante avec un accs parallle aux donnes)
SATA ATA srie (nouvelle interface ATA avec un accs srie aux donnes)
SCSI alternative IDE/SATA
Linux Livre Page 404 Mardi, 23. septembre 2008 1:05 13
405 ADMINISTRATION DU SYSTME DE FICHIERS
Au passage du pilote IDE au pilote SCSI, les noms de priphriques de tous les priphriques IDE sont
modifis, ce qui peut poser problme lors de la mise jour dun noyau ou dune distribution. Pour rgler
ces problmes, de nombreuses distributions nutilisent plus le nom du priphrique pour identifier une
partition, mais son UUID ou son libell. Cela a un impact sur les fichiers de configuration /etc/fstab
et /boot/grub/menu.lst.
Cependant, le nombre maximal de partitions utilisables sous Linux passe de 64 16. De plus, les fonctions
HD_IO ne sont plus disponibles et certains contrleurs IDE (gnralement anciens) ne sont pas pris en
charge par les systmes SCSI.
Priphriques
IDE
Si le systme IDE est toujours utilis, les disques IDE sont identis par les chiers de pri-
phriques /dev/hda, /dev/hdb, etc. Lordre des priphriques dpend du cblage interne des
disques. Le schma de nommage est rsum dans le tableau ci-aprs. Notons que, selon ce
schma, il se peut que les priphriques hda et hdc existent sans que le priphrique hdb
nexiste.
Priphriques
SCSI et SATA
Les disques SCSI et SATA sont, de manire similaire, nomms sdxy. Pour les distributions
qui utilisent lextension libata du systme SCSI, cela est galement valable pour les disques
IDE.
Les priphriques SATA sont associs une lettre dans lordre du canal utilis. Les cartes
mre modernes voient gnralement six ou huit canaux au plus. Si deux disques durs sont
connects aux canaux 1 et 3, ils sont nomms /dev/sda et /dev/sdb. Si un troisime disque
est ensuite connect au canal 2, le nom du deuxime disque dur devient /dev/sdc.
Lorsque libata est utilis, les priphriques IDE sont galement nomms dans la suite de
priphriques /dev/sda, /dev/sdb, etc. Attention, il existe ici une diffrence de nommage
importante. Lorsque lordinateur dispose dun disque matre sur chacun des canaux IDE,
mais pas de disque esclave, les priphriques IDE sappellent /dev/hda et /dev/hdc, mais
libata les appelle /dev/sda et /dev/sdb.
Pour les priphriques SCSI, lordre dpend du numro didentiant du priphrique. Les
trous dans la numrotation ne sont pas pris en compte : trois priphriques ayant comme
identiants 0, 2 et 5 reoivent les noms de priphriques /dev/sda, /dev/sdb et /dev/sdb.
Comme pour les priphriques SATA, cela peut mener une modication ultrieure de la
conguration.
Noms de priphriques pour les priphriques IDE grs par le systme IDE
/dev/hda priphrique IDE matre du premier canal IDE
/dev/hdb priphrique IDE esclave du premier canal IDE
/dev/hdc priphrique IDE matre du second canal IDE
/dev/hdd priphrique IDE esclave du second canal IDE
...
Linux Livre Page 405 Mardi, 23. septembre 2008 1:05 13
LINUX 406
Les priphriques USB et Firewire sont grs comme des priphriques USB ; lidentiant
utilis est le premier disponible. Lorsque des priphriques SCSI, SATA, USB et Firewire
sont branchs, la numrotation commence avec les priphriques SCSI ou SATA (en fonc-
tion du BIOS, des emplacements PCI utiliss, etc.) et continue avec les priphriques USB et
Firewire dans lordre dans lequel ils ont t branchs.
Les CD et DVD reoivent des noms de priphriques spciaux qui peuvent tre, selon la
distribution, /dev/sdcn ou /dev/srn.
Numrotation
des partitions
En ce qui concerne la numrotation des partitions, indpendamment du bus utilis, les chif-
fres 1 4 sont rservs pour les partitions primaires ou tendues et les chiffres suprieurs
5 servent pour les partitions logiques lintrieur de la partition tendue. Il est donc fr-
quent que cette numrotation contienne des trous. Si votre disque contient une partition pri-
maire, une partition tendue et trois partitions logiques, elles sont respectivement
numrotes 1, 2, 5, 6 et 7. Le tableau suivant donne quelques exemples.
Le nombre de partitions par disque dur est limit. Pour des raisons historiques, on ne peut
crer que quatre partitions primaires ou trois partitions primaires et une partition tendue.
Dautre part, Linux limite le nombre de partitions logiques utilisables 59 (dans le systme
IDE) ou 11 (SCSI/SATA/USB/Firewire/IDE avec libata). Le nombre total de partitions
est alors de 63 ou de 15.
Noms de
priphriques
alternatifs
Comme nous lavons vu prcdemment, la numrotation des disques peut changer au cours
du temps, en particulier lorsque lon ajoute ou supprime un disque. De plus, le nom des
priphriques externes est globalement imprvisible : il dpend de lordre dans lequel les
priphriques sont branchs.
Noms de priphriques pour les priphriques SCSI, SATA, USB, Firewire et IDE avec un
noyau libata
/dev/sda premier disque SCSI/SATA
/dev/sdb second disque SCSI/SATA
...
/dev/scd0 ou /dev/sd0 premier lecteur CD/DVD
/dev/scd1 ou /dev/sr1 second lecteur CD/DVD
Exemples pour les numros de partitions
/dev/hda premier disque IDE complet (systme IDE)
/dev/hda1 premire partition primaire du premier disque dur
/dev/hda2 partition tendue
/dev/hda5 premire partition logique
/dev/hda8 quatrime partition logique
/dev/sda premier disque SCSI/SATA (ou premier disque dur IDE dans un noyau libata)
/dev/sda1 premire partition primaire du premier disque dur
/dev/sdd3 troisime partition primaire du quatrime disque SCSI/SATA
Linux Livre Page 406 Mardi, 23. septembre 2008 1:05 13
407 ADMINISTRATION DU SYSTME DE FICHIERS
Pour accder des priphriques dont le nom varie (par exemple dans un script de sauve-
garde), le rpertoire /dev/disk contient des liens supplmentaires vers tous les supports de
donnes, tris selon plusieurs critres :
/dev/disk/by-id/id utilise des identiants qui dpendent du bus, du nom du priph-
rique et dun numro de srie ou de modle.
/dev/disk/by-label/label utilise des noms indiqus dans le systme de chiers.
/dev/disk/by-path/path utilise un chemin constitu de linterface PCI, du bus et du
numro de la partition. Attention, si un priphrique USB ou Firewire est connect
une autre prise de lordinateur, cet identiant est modi.
/dev/disk/by-uuid/uuid utilise lUUID des partitions. Les UUID (Universal Unique
IDentier, identiant universel unique) sont des numros didentiant unique asso-
cis la partition lors de la cration du systme de chiers et qui peuvent tre utiliss
pour identier le systme de chiers, mme lorsque la conguration matrielle a t
modie.
Le nombre de liens dans chaque rpertoire /dev/disk/* est variable. /dev/disk/by-label et
by-uuid ne contiennent que les partitions nommes ou qui ont un UUID. Le systme udev
cre automatiquement les liens vers les disques. La commande ls suivante montre par
exemple les liens dun systme disposant dun disque SATA, dune cl USB et dune carte
CompactFlash (qui fonctionne galement en USB).
user$ cd /dev/
user$ ls -lR disk/
disk/by-id:
scsi-SATA_ST3320620AS_5QF194H9 -> ../../sda
scsi-SATA_ST3320620AS_5QF194H9-part1 -> ../../sda1
scsi-SATA_ST3320620AS_5QF194H9-part2 -> ../../sda2
scsi-SATA_ST3320620AS_5QF194H9-part3 -> ../../sda3
scsi-SATA_ST3320620AS_5QF194H9-part4 -> ../../sda4
scsi-SATA_ST3320620AS_5QF194H9-part5 -> ../../sda5
usb-Generic_USB_CF_Reader_058F312D81B -> ../../sdc
usb-Generic_USB_MS_Reader_058F312D81B -> ../../sde
usb-Generic_USB_SD_Reader_058F312D81B -> ../../sdb
usb-Generic_USB_SM_Reader_058F312D81B -> ../../sdd
usb-Hama_FlashPen_09202251030128CA -> ../../sdf
usb-Hama_FlashPen_09202251030128CA-part1 -> ../../sdf1
disk/by-path:
pci-0000:00:1a.7-usb-0:1:1.0-scsi-0:0:0:0 -> ../../sdf
pci-0000:00:1a.7-usb-0:1:1.0-scsi-0:0:0:0-part1 -> ../../sdf1
pci-0000:00:1d.7-usb-0:5:1.0-scsi-0:0:0:0 -> ../../sdb
pci-0000:00:1d.7-usb-0:5:1.0-scsi-0:0:0:1 -> ../../sdc
pci-0000:00:1d.7-usb-0:5:1.0-scsi-0:0:0:2 -> ../../sdd
pci-0000:00:1d.7-usb-0:5:1.0-scsi-0:0:0:3 -> ../../sde
pci-0000:00:1f.2-scsi-0:0:0:0 -> ../../sda
pci-0000:00:1f.2-scsi-0:0:0:0-part1 -> ../../sda1
Linux Livre Page 407 Mardi, 23. septembre 2008 1:05 13
LINUX 408
pci-0000:00:1f.2-scsi-0:0:0:0-part2 -> ../../sda2
pci-0000:00:1f.2-scsi-0:0:0:0-part3 -> ../../sda3
pci-0000:00:1f.2-scsi-0:0:0:0-part4 -> ../../sda4
pci-0000:00:1f.2-scsi-0:0:0:0-part5 -> ../../sda5
pci-0000:03:00.1-ide-0:0 -> ../../hde
disk/by-uuid:
008f06ef-28be-45c9-acbc-20cda51f712b -> ../../sda2
06efc09c-9a3e-4668-81d7-8925c380889e -> ../../sda5
366CA8D16CA88D65 -> ../../sda1
D3A0-1831 -> ../../sdf1
e35139a5-5871-48fe-9191-df0d003e4ed5 -> ../../sda3
23.3 Partitionnement du disque dur
Les programmes de partitionnement peuvent dtruire le contenu de votre disque dur ! Lisez cette section
attentivement avant de lancer un outil de partitionnement quelconque. Il est impossible de modifier une parti-
tion monte dans le systme de fichiers.
Le schma de partitionnement de Windows Vista a chang : Vista ne dmarre que lorsque sa partition
commence au 2 048
e
secteur. Or, dans certains programmes de partitionnement, il arrive que le dbut de
la partition passe au 63
e
secteur. Dans ce cas, il faut corriger la partition avant de redmarrer Vista. Le pro-
blme et sa solution sont documents ladresse
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=379835.
Pendant linstallation, presque toutes les distributions Linux fournissent des outils simples
utiliser pour partitionner le disque dur. Une fois linstallation termine, de nombreux
outils sont votre disposition, comme les commandes texte fdisk ou parted ou les applications
graphiques gparted ou qtparted.
Si vous devez modier frquemment le partitionnement de vos disques, LVM est probable-
ment intressant. LVM ajoute un niveau virtuel entre les partitions physiques du disque dur
et les partitions utilises pour les systmes de chiers. Il facilite nettement les modications
futures du partitionnement. Nous en parlerons la section 23.12.
Rgles de base
Indpendamment des outils, vous devez connatre quelques rgles de base :
Il est impossible deffectuer des modications sur une partition monte. Si vous dsirez
redimensionner la partition systme, vous devez dmarrer lordinateur avec un live CD.
Il existe des minidistributions spcialement prvues pour cela, comme GParted Live
(http://gparted.sourceforge.net/livecd.php), Parted Magic (http://partedmagic.com/)
ou SystemRescueCD (http://www.sysresccd.org/Page_Principale).
Gnralement, il nest possible de modier la taille dune partition que pour la dernire
partition du disque dur. Vous ne pouvez pas dplacer les partitions sur le disque.
Linux Livre Page 408 Mardi, 23. septembre 2008 1:05 13
409 ADMINISTRATION DU SYSTME DE FICHIERS
Lorsque vous modiez la taille dune partition, la taille du systme de chiers qui sy
trouve nest pas automatiquement modie ! Diverses commandes supplmentaires
sont ncessaires. Elles dpendent du type de systme de chiers.
Le nombre de partitions par disque est limit (63 pour les disques IDE lorsquils ne sont
pas grs par libata, 15 pour les disques SATA, USB, Firewire et IDE lorsquils sont
grs par libata). Une de ces partitions est la partition tendue qui peut contenir
dautres partitions mais pas de systme de chiers. Le nombre maximal de partitions se
rduit donc 3 partitions primaires et 59 ou 11 partitions logiques.
Lorsque vous modiez une partition en cours dutilisation (par exemple la partition sys-
tme de votre distribution Linux), le programme de partitionnement vous demande de
redmarrer lordinateur. Sous fdisk, lerreur qui safche est AVERTISSEMENT: la relec-
ture de la table de partitions a chou avec lerreur 16: Priphrique ou ressource occup. Le ker-
nel va continuer dutiliser lancienne table. La nouvelle table sera utilise lors du prochain
ramorage.
La raison en est que le noyau Linux ne sait pas lire la table de partitions lorsque le dis-
que fonctionne. La modication est donc enregistre, mais elle nest active quau red-
marrage. Vous devez redmarrer Linux avant de pouvoir utiliser le nouveau
partitionnement.
Problmes de compatibilit
Les outils prsents dans cette section et ceux qui sont utiliss pendant linstallation de
Linux se diffrencient sur plusieurs points. Certains outils laissent la partition tendue
comme elle a t cre lorigine. Nous appellerons ces programmes les programmes de
type 1. Ils comprennent fdisk, parted, les programmes dinstallation de Fedora, de Red Hat,
de SUSE et les outils de partitionnement de Windows.
Dautres programmes modient automatiquement la partition tendue pour quelle dispose
exactement de la place ncessaire pour les partitions logiques (type 2). Ils comprennent les
programmes dinstallation de Debian, de Mandriva et dUbuntu.
Les deux mthodes sont valides, seul leur mlange pose problme. Supposons que vous
criez une nouvelle partition logique avec un outil de type 2. Le programme adapte la
taille de la partition tendue automatiquement. Si vous essayez prsent dutiliser un
outil de type 1 pour crer une nouvelle partition logique, celui-ci indique que la partition
tendue est dj pleine. Les programmes de type 1 ne parviennent pas, lexception de
parted, modier la taille de la partition tendue lorsque des partitions logiques sy trouvent
dj.
Pour corriger cela, lancez un programme de type 2 et modiez le partitionnement. Vous
pouvez aussi utiliser cet outil pour crer une partition logique temporaire pour rserver la
place ncessaire. Vous supprimerez cette partition temporaire avec le programme de type 1
et pourrez alors utiliser lespace libre de la partition tendue.
Linux Livre Page 409 Mardi, 23. septembre 2008 1:05 13
LINUX 410
fdisk
fdisk est un des programmes les plus anciens parmi ceux qui sont encore utiliss
aujourdhui. Linterface utilisateur est plutt dmode, mais le programme est sophistiqu
et apprci par les utilisateurs de longue date.
Dmarrage fdisk ne peut modier quun disque la fois ; son nom doit tre pass en argument (par
exemple /dev/sdc pour le troisime disque). Si vous utilisez loption -l, fdisk afche toutes
les partitions de tous les disques durs. La touche M (menu) afche une courte description
des commandes disponibles. P (print, afcher) afche une liste des partitions existantes sur
le disque.
Lorsque le disque dur se compose de plus de 1 024 cylindres (ce qui est le cas des disques actuels), fdisk
affiche un message davertissement. Ce message concerne la partition damorage de Linux et nest valable
que lorsque votre carte mre est ancienne (BIOS datant davant 1998) ou lorsque vous utilisez une version
de LILO trs ancienne. En rgle gnrale, vous pouvez ignorer cet avertissement.
Cration dune
nouvelle
partition
N (new, nouveau) permet de crer une nouvelle partition sur le disque dur. Vous ne pouvez
pas crer plus de quatre partitions primaires. Si vous dsirez en crer plus de quatre, vous
devez crer une partition tendue. Si plusieurs options sont possibles (partition primaire,
tendue ou logique), fdisk afche les diffrents choix et demande le type de partition
souhait.
Ensuite, il demande quel endroit la partition doit commencer (normalement au premier
cylindre libre) et quelle doit tre sa taille (cylindre de n). La taille peut aussi tre indi-
que par la syntaxe plus confortable +nM. Par exemple, +2500M pour une partition de
2 500 mgaoctets (Mo).
La taille dun cylindre dpend du disque dur, du BIOS et ventuellement du contrleur
SCSI. Cette information se trouve dans la troisime ligne de la sortie de la commande P.
Dans notre exemple, les cylindres sont des ensembles de 16 065 512 octets, soit 8 Mo.
Une fois la partition cre, vous pouvez rafcher la liste des partitions avec P. Pour nir,
vous pouvez crer de nouvelles partitions, supprimer des partitions dj dnies, etc.
Identifiants de
partitions
fdisk cre les nouvelles partitions de type Linux Native (numro didentiant 83). Pour
utiliser un autre type, vous devez indiquer le nouveau type de partition avec T (type).
Les identiants de partitions courants, en hexadcimal, sont :
82 : partition dchange Linux (swap) ;
83 : Linux (pour tous les systmes de chiers Linux : ext, reiser, xfs, etc.) ;
8e : Linux LVM ;
fd : Linux RAID autodetect.
La commande L afche tous les numros didentiants disponibles. La liste contient gale-
ment des codes pour dinnombrables autres systmes dexploitation (DOS, Windows, Unix,
etc.).
Sauvegarde
des modifi-
cations
fdisk effectue les modications uniquement lorsque la commande W (write, crire) est
lance. Vous pouvez vrier avec V (verify, vrier) que toutes les informations internes
sont cohrentes avec le disque. Il sagit dun contrle de scurit supplmentaire.
Linux Livre Page 410 Mardi, 23. septembre 2008 1:05 13
411 ADMINISTRATION DU SYSTME DE FICHIERS
Normalement, V ne fait quafcher le nombre de secteurs qui ne sont pas attribus une
partition primaire ou logique.
Vous pouvez quitter fdisk tout moment avec Q (quit, quitter) ou avec Ctrl+C. Votre disque
dur reste alors inchang.
Les partitions cres avec fdisk sont vides : fdisk ninstalle pas de systme de fichiers ! La commande de
cration dun systme de fichiers dpend du systme souhait (il sagit par exemple de mkfs.ext3 pour
un systme de fichier ext3). Les commandes sont prsentes la section suivante.
Augmentation
de la taille
dune partition
fdisk ne peut pas, de base, augmenter la taille dune partition existante. Il est toutefois pos-
sible de modier la dernire partition du disque dur (ou la dernire partition logique dune
partition tendue) lorsquil reste de la place derrire cette partition. Dans ce cas, vous pouvez
supprimer la partition et la recrer sa nouvelle taille.
fdisk modie uniquement la table de partitions ; il ne modie pas les donnes sur le disque.
Le systme de donnes de la partition nest donc pas adapt. Seule une partie de la partition
est alors utilise. Augmenter la taille du systme de chiers nest possible que pour certains
systmes de chiers (voir la section 23.4).
La modication dune partition ou dun systme de donnes est une opration trs dange-
reuse qui nest conseiller quaux utilisateurs avancs. Noubliez pas deffectuer une
sauvegarde lorsque cela est possible.
Exemple Cet exemple montre comment ajouter une partition supplmentaire un disque dur de
80 gigaoctets (Go). Il sagit du premier disque de lordinateur. fdisk est donc lanc avec le
paramtre /dev/sda.
La commande P donne des informations sur ltat courant du disque. Le disque se compose
de 255 63 9 729 512 octets = 76 316 Mo.
Un cylindre occupe 16 065 512 octets = 7,8 Mo.
Le disque se compose dune premire partition primaire (12 cylindres, 94 Mo, systme de rcu-
pration Dell), dune seconde partition primaire (1 215 cylindres, 9 477 Mo, partition Windows)
et dune partition tendue (le reste des cylindres, 66 300 Mo). Dans cette partition tendue se
trouvent cinq partitions Linux et une partition dchange Linux. La partition tendue dispose
despace libre entre les secteurs 3 783 et 9 729 (soit 46 597 Mo).
root# fdisk /dev/sda
Le nombre de cylindres pour ce disque est initialis 9729.
Il ny a rien dincorrect avec cela, mais cest plus grand que 1024,
et cela pourrait causer des problmes en fonction pour certaines
configurations :
1) logiciels qui sont excuts lamorage (i.e., vieilles versions de LILO)
2) logiciels damorage et de partitionnement pour dautres SE
(i.e., DOS FDISK, OS/2 FDISK)
Commande (m pour laide): p
Disque /dev/sda: 80.0 Go, 80026361856 octets
255 heads, 63 sectors/track, 9729 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Linux Livre Page 411 Mardi, 23. septembre 2008 1:05 13
LINUX 412
Identifiant disque: 0xeede9d79
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sda1 1 12 96358+ de Dell Utility
/dev/sda2 * 13 1228 9767520 7 HPFS/NTFS
/dev/sda3 1229 9729 68284282+ 5 Extended
/dev/sda5 1229 1350 979933+ 82 Linux swap / Solaris
/dev/sda6 1351 3782 19535008+ 83 Linux
N permet de crer une nouvelle partition logique. Le cylindre de dbut est le premier cylin-
dre libre. La taille est indique avec +1500M. Pour nir, la nouvelle table de partitions est
nouveau afche. Elle montre que la nouvelle partition occupe en fait 1 506 Mo (parce que
fdisk travaille uniquement sur des cylindres complets) :
Commande (m pour laide): n
Action de commande
l logique (5 ou plus)
p partition primaire (1-4)
l
Premier cylindre (3783-9729, par dfaut 3783): <Entre>
Utilisation de la valeur par dfaut 3783
Dernier cylindre ou +taille or +tailleM ou +tailleK (3784-9729, par dfaut
9729): +1500M
Commande (m pour laide): p
Disque /dev/sda: 80.0 Go, 80026361856 octets
255 heads, 63 sectors/track, 9729 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Identifiant disque: 0xeede9d79
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sda1 1 12 96358+ de Dell Utility
/dev/sda2 * 13 1228 9767520 7 HPFS/NTFS
/dev/sda3 1229 9729 68284282+ 5 Extended
/dev/sda5 1229 1350 979933+ 82 Linux swap / Solaris
/dev/sda6 1351 3782 19535008+ 83 Linux
/dev/sda7 3783 3974 1542208+ 83 Linux
W enregistre la table de partitions modie. Comme le disque est utilis, fdisk ne parvient
pas lire la nouvelle table. Il faut donc redmarrer lordinateur avant de pouvoir utiliser la
nouvelle partition.
Commande (m pour laide): w
La table de partitions a t altre!
Appel de ioctl() pour relire la table de partitions.
AVERTISSEMENT: la re-lecture de la table de partitions a chou avec lerreur
16: Priphrique ou ressource occup.
Le kernel va continuer dutiliser lancienne table.
La nouvelle table sera utilise lors du prochain ramorage.
Synchronisation des disques.
Linux Livre Page 412 Mardi, 23. septembre 2008 1:05 13
413 ADMINISTRATION DU SYSTME DE FICHIERS
parted
La diffrence la plus importante entre fdisk et parted est que fdisk est un programme de
partitionnement pur tandis que parted tente (autant que possible) de prendre en compte le
contenu des partitions. parted peut par exemple modier la taille dune partition et du sys-
tme de chiers qui sy trouve sans perte de donnes. Cela fonctionne uniquement lorsque
parted peut accder diverses commandes et bibliothques. La page http://www.gnu.org/
software/parted/ recense les nombreuses fonctions de parted.
Malheureusement, son utilisation est encore plus inconfortable que celle de fdisk. Par ailleurs,
toutes les modications sont excutes immdiatement et non aprs une criture explicite sur le
disque. Pour ces raisons, il vaut mieux prfrer fdisk ou un outil graphique de partitionnement.
Dmarrage Indiquez au dmarrage de parted le disque utiliser (par dfaut, /dev/hda). H+Entre af-
che les commandes disponibles. H+commande afche un texte daide rapide propos de la
commande. P afche la table des partitions.
root# parted /dev/sda
GNU Parted 1.7.1
On utilise /dev/sda
Bienvenu dans GNU Parted! Tapez "help" pour voir la liste des commandes.
(parted) h
check NUMERO effectue une simple vrification du systme de fichiers
cp [PRIPHRIQUE-SOURCE] NOMBRE-SOURCE NOMBRE-DESTINATION copie le systme de fichiers
vers une autre partition
help [COMMANDE] affiche laide gnrale, ou laide sur la COMMANDE
mklabel LABEL-TYPE cre une nouvelle tiquette de disque (table de partition)
mkfs NUMERO TYPE-FS cre un systme de fichiers de type TYPE-SF sur la partition
NUMERO.
mkpart TYPE-PART [TYPE-SF] DBUT FIN cre une partition
mkpartfs TYPE-PART TYPE-SF DBUT FIN cre une partition avec un systme de fichiers
move NUMERO DEPART FIN dplace la partition NUMERO.
name NUMERO NOM donne le nom NOM la partition NUMERO.
print [free|NUMRO|all] affiche la table de partitions, une partition ou tous les
priphriques
Raccourcis clavier de fdisk
D supprime la partition (delete)
L affiche les identifiants de partitions (list)
M affiche laide en ligne (menu)
N cre une nouvelle partition (new)
P affiche la liste des partitions (print)
Q termine le programme sans modifier la table de partitions (quit)
T modifie le type de partitions (type)
V vrifie la table de partitions (verify)
W crit la table de partitions (write)
Linux Livre Page 413 Mardi, 23. septembre 2008 1:05 13
LINUX 414
quit quitter le programme
rescue DEPART FIN restaure une partition perdue entre DEPART et FIN
resize NUMERO DPART FIN redimensionne la taille de la partition NUMERO et de son
systme de fichiers.
rm NUMERO supprime la partition NUMERO
select PERIPHERIQUE slectionne le priphrique diter.
set NUMERO STATUT DRAPEAU modifie le drapeau sur la partition NUMERO
toggle [NUMERO [DRAPEAU]] change ltat du DRAPEAU de la partition NUMERO
unit UNITE change lunit par dfaut UNITE
version affiche la version utilise de GNU Parted et les informations de copyright
(parted) p
Disque /dev/sda : 100,0GB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos
Numro Dbut Fin Taille Type Systme de fichiers Fanions
1 32,3kB 98,7MB 98,7MB primaire fat16
2 98,7MB 10,1GB 10,0GB primaire ntfs amorce
3 10,1GB 80,0GB 69,9GB tendue
5 10,1GB 11,1GB 1003MB logique linux-swap
6 11,1GB 31,1GB 20,0GB logique ext3
7 31,1GB 80,0GB 48,9GB logique ext3
Utilisation Les commandes mkpart et rm crent et suppriment des partitions. mkpartfs cre une nou-
velle partition et y cre le systme de chiers souhait, pour autant que parted puisse accder
aux programmes et bibliothques spciques au systme de chiers.
Vous devez passer la commande de cration de partition le dbut et la n souhaite de la
partition. GB est une abrviation de gigaoctet. parted fait en sorte que les partitions se sui-
vent sans problme. Si vous crez une partition logique, vous devez auparavant agrandir la
partition tendue.
Exemple Les commandes suivantes agrandissent dabord la partition tendue (numro 3) de 10 Go.
Puis, une nouvelle partition logique y est cre, sans systme de chiers :
(parted) resize 4 10.1gb 90gb
(parted) mkpart logical 80gb 90gb
(parted) print
Disque /dev/sda : 100,0GB
Taille des secteurs (logique/physique) : 512o/512o
Table de partitions : msdos
Numro Dbut Fin Taille Type Systme de fichiers Fanions
1 32,3kB 98,7MB 98,7MB primaire fat16
2 98,7MB 10,1GB 10,0GB primaire ntfs amorce
3 10,1GB 90,0GB 79,9GB tendue
5 10,1GB 11,1GB 1003MB logique linux-swap
6 11,1GB 31,1GB 20,0GB logique ext3
7 31,1GB 80,0GB 48,9GB logique ext3
8 80,0GB 90,0GB 10,0GB logique
Pour crer une nouvelle partition en tant que partition dchange ou comme partie dun sys-
tme LVM ou RAID, vous devez modier le type de partition. La commande correspon-
dante est set numro_partition nom_attribut. Les diffrents attributs comprennent entre
autres amorce, swap, lvm et raid.
Linux Livre Page 414 Mardi, 23. septembre 2008 1:05 13
415 ADMINISTRATION DU SYSTME DE FICHIERS
Interfaces graphiques (gparted et qtparted)
parted dispose de deux interfaces graphiques : gparted pour les utilisateurs de Gnome et
qtparted pour les utilisateurs de KDE. Le dveloppement de qtparted semble cependant
interrompu la dernire version date de 2005. Cest pour cette raison que seul gparted
(voir Figure 23.1) a t test dans le cadre de cet ouvrage. Ce programme peut galement
tre install et lanc sous KDE, pour autant que les bibliothques Gnome sous-jacentes
soient installes. Vous trouverez plus dinformations sur ces deux programmes aux adresses
http://gparted.sourceforge.net/ et http://qtparted.sourceforge.net/.
Au dmarrage, gparted analyse les disques prsents sur lordinateur.
gparted peut modifier uniquement les partitions qui ne sont pas en cours dutilisation (cest--dire cel-
les qui ne sont pas montes dans larborescence). Toutes les partitions utilises sont affiches avec un
verrou et les boutons ddition correspondants sont dsactivs. La partition tendue est verrouille ds
lors quau moins une des partitions logiques qui sy trouvent est active. En pratique, vous devrez donc
utiliser souvent gparted sur un live CD, sans quoi presque toutes les oprations importantes sont
bloques.
Contrairement parted, gparted enregistre toutes les actions, mais ne les effectue pas direc-
tement. Annuler permet de revenir sur sa dcision ; Appliquer effectue les actions.
gparted ne sait malheureusement pas crer de partitions LVM ou RAID.
Figure 23.1
Agrandir une partition
tendue.
Linux Livre Page 415 Mardi, 23. septembre 2008 1:05 13
LINUX 416
23.4 Types de systmes de fichiers
Cette section est un aperu des types de systmes de chiers utiliss sous Linux. Ce chapitre
traitera plus tard des types de chiers importants : ext, reiserfs, vfat, ntfs et iso9660.
Vous pouvez dterminer quels systmes de chiers vous utilisez actuellement avec la
commande df -T.
Linux Les "systmes de chiers Linux" sont ceux qui sont appropris linstallation et lutilisa-
tion de Linux. Vous ne verrez pas de diffrence au quotidien entre les diffrents systmes de
chiers que vous pouvez utiliser. Les commandes lmentaires comme ls ou cp, la gestion
des droits daccs, etc. fonctionnent quel que soit le systme de chiers.
Ils se diffrencient par des particularits qui nintressent gnralement que les utilisateurs
avancs de Linux ou sur des points qui ne concernent quune utilisation en tant que ser-
veur : les performances daccs de trs gros chiers ou de trs nombreux petits chiers,
lefcacit des oprations de lecture et dcriture, la charge du processeur, la fonction de
journalisation (comportement aprs une interruption), la fonction de quotas (la possibilit
de limiter lespace maximal allou un utilisateur), la compatibilit avec NFS, la surcharge
de gestion, la prise en charge de droits daccs supplmentaires (ACL), la compatibilit avec
SELinux, etc.
ext. ext2 (extended lesystem, systme de chiers tendu, version 2) a longtemps t le
systme de chiers dominant sous Linux. Depuis 2002, ext3 a pris la suite. ext3 est com-
patible avec ext2 mais prend en charge des fonctions de journalisation et, depuis le
noyau 2.6, les ACL. La taille maximale dun chier est de 2 traoctets (To) ; la taille
maximale du systme de chiers et de 8 To.
Le dveloppement dext4 a commenc mi-2006. La taille maximale du systme de
chiers passe alors un exaoctet (Eo), soit 1 048 576 To. Lutilisation pratique de ext4
nest pas encore prvue.
reiser. reiserfs (nomm daprs son crateur, Hans Reiser) fut le premier systme de
chiers disposant de la fonction de journalisation intgre au noyau. La version 3.n tait
le systme de chiers par dfaut de SUSE jusqu sa version 10.1 ; cest toujours le cas
pour la distribution Slackware. Lavantage principal de reiserfs sur ext3 est la gestion
des petits chiers : elle est plus rapide et plus efcace en termes de place (un systme de
donnes typique se compose essentiellement de petits chiers).
Hans Reiser a compltement revu larchitecture de son systme de chiers pour reiser4
(reiserfs version 4), qui devient un des systmes les plus modernes. Les nouveauts
importantes comptent une interface de greffons pour le dveloppement modulaire de
fonctions supplmentaires. Cependant, en raison de divergences personnelles et de cri-
tiques sur la qualit du code, reiser4 ne fait toujours pas partie du noyau Linux ofciel
ce jour. Il est de ce fait peu rpandu. reiser4 est incompatible avec reiserfs : pour
changer de version, il faut copier lancien systme de chiers reiserfs dans une
nouvelle partition reiser4.
Du fait des dmls courants de Hans Reiser avec la justice amricaine, lavenir de ce
systme de chiers est inconnu.
xfs. xfs tait lorigine le systme de chiers des stations de travail SGI qui utilisaient le
systme dexploitation IRIX. Il est surtout adapt la gestion des trs gros chiers et il
Linux Livre Page 416 Mardi, 23. septembre 2008 1:05 13
417 ADMINISTRATION DU SYSTME DE FICHIERS
est par exemple idal pour lexploitation de ux vido. Il prend en charge les quotas et
les ACL. Le systme de chiers peut tre agrandi en cours de fonctionnement.
jfs. jfs signie journaled le system (systme de chiers journalis). Il a t dvelopp
par IBM, puis port sous Linux. jfs na jamais t trs populaire sous Linux et est
actuellement dans lombre des autres systmes de chiers existants.
Il nexiste pas de systme de fichiers "plus sr" ou "plus rapide" : les performances dpendent de lutili-
sation. Pour les dbutants sous Linux, il est conseill dutiliser ext3. Ce systme est trs rpandu, mr et
stable. Ces lments sont plus importants que quelques pour cent supplmentaires de performances sur
des applications prcises. Vous trouverez une description plus prcise de tous les types de systmes de
fichiers dans Wikipedia, o les pages en anglais sont encore plus dtailles. Internet regorge de comparaisons
et de tests de rapidit.
Il est galement possible dexploiter plusieurs types de systmes de fichiers, par exemple ext2 ou ext3
pour la partition damorage (ce qui vite les problmes lis GRUB ou LILO), ext3 pour la partition sys-
tme, reiserfs pour une partition de dveloppement (contenant de nombreux petits fichiers) et xfs
pour une partition multimdia (qui contient gnralement des fichiers plus gros).
Unix Si vous avez install un second systme Unix sur votre machine, les systmes de chiers
suivants peuvent servir pour les changes de chiers :
efs. Le systme efs est utilis sur les anciennes machines SGI (IRIX, versions antrieures
6.0). Certains CD-ROM de SGI utilisent galement ce format. Linux peut uniquement
le lire, il ne sait pas le modier.
sysv. Le systme de chiers sysv est utilis par les systmes SCO, XENIX et Coherent.
ufs. Le systme de chiers UFS est utilis par FreeBSD, NetBSD, NeXTSTEP et SunOS.
Linux peut uniquement lire ces systmes. Pour accder une partition BSD, il faut utiliser
lextension BSD Disklabel. Une extension similaire existe pour les tables de partitions
SunOS.
DOS,
Windows,
OS/2 et
Macintosh
Les systmes de chiers suivants permettent dchanger des chiers avec les systmes DOS,
Windows, OS/2 et Macintosh :
vfat. Ce systme est utilis par Windows 9x/ME. Linux peut lire et crire sur ce type de
partitions. Le pilote vfat peut galement travailler avec le systme de chiers DOS (8+3
caractres).
ntfs. Ce systme de chiers est utilis sous Windows NT4, 2000, XP et Vista. Linux peut
y lire des chiers et en crire, avec certaines restrictions.
hpfs. hpfs est le systme de chiers de OS/2. Linux peut y lire et crire des chiers.
hfs et hfsplus. Ces systmes de chiers sont utiliss sur les ordinateurs Apple. Linux
peut y lire et crire des chiers.
CD-ROM et
DVD
Les CD-ROM et DVD utilisent galement certains systmes de chiers :
iso9660. Le systme de chiers des CD-ROM est dni par la norme ISO 9660. Cepen-
dant, cette norme prvoit uniquement des noms de chiers courts. Les noms de chiers
longs sont dnis selon le systme dexploitation par des extensions diffrentes et
Linux Livre Page 417 Mardi, 23. septembre 2008 1:05 13
LINUX 418
incompatibles entre elles. Linux peut lire aussi bien les extensions Rockridge, souvent
utilises sous Unix, que les extensions Joliet, utilises par Microsoft. De tels CD sont
reconnus automatiquement.
udf. Le format Universal Disk Format (format de disque universel) sest tabli comme
successeur du format ISO 9660. Il est souvent utilis sur les DVD.
Systmes de
fichiers rseau
Les systmes de chiers ne se trouvent pas obligatoirement sur des disques durs locaux,
vous pouvez galement y accder par le rseau. Le noyau Linux prend en charge divers
systmes de chiers rseau. Je vous indique ici les plus courants :
smbfs/cifs. Ces systmes de chiers permettent de monter des rpertoires rseau
Windows ou Samba dans larborescence de chiers.
nfs. Le Network File System (systme de chiers rseau) est le systme de chiers rseau
le plus important sous Unix.
coda. Ce systme de chiers est le plus souvent compar NFS. Il fournit quelques fonc-
tionnalits supplmentaires, mais nest pas trs rpandu.
ncpfs. ncpfs est bas sur NetWare Core Protocol (protocole principal NetWare). Il est
utilis par Novell NetWare.
Systmes
de fichiers
virtuels
Il existe sous Linux de nombreux systmes de chiers qui ne servent pas enregistrer des
chiers sur un disque dur (ou sur un autre support de donnes) mais changer des infor-
mations entre le noyau et les applications. Ils sont indiqus par le mot cl nodev dans /proc/
filesystems. La liste suivante prsente les systmes les plus importants.
devpts. Ce systme de chiers permet daccder aux pseudo-terminaux (PTY) via /dev/
pts/*, conformment la spcication Unix 98. Les pseudo-terminaux mulent une
interface srie. Ils sont utiliss sous Unix/Linux par les mulateurs de terminaux
comme xterm. Les priphriques comme /dev/ttypn sont traditionnellement utiliss. La
spcication Unix 98 dnit leur place de nouveaux priphriques. Vous trouverez
plus de dtails ce sujet dans le Text-Terminal-HOWTO (http://tldp.org/HOWTO/Text-
Terminal-HOWTO.html).
proc et sysfs. Le systme de chiers proc reproduit les informations dadministration
du noyau et de ladministration des processus. Le systme sysfs reproduit la connexion
entre le noyau et le matriel. Ils sont respectivement monts dans le systme aux empla-
cements /proc et /sys.
tmpfs. Ce systme de chiers est la base de la mmoire partage conformment Sys-
temV. Il est gnralement mont lemplacement /dev/shm et permet dchanger efca-
cement des donnes entre deux programmes.
Dans certaines distributions (par exemple Ubuntu), les rpertoires /var/run et /var/
lock sont galement mis en uvre avec tmpfs. Les chiers de ces rpertoires sont uti-
liss par de nombreux dmons rseau pour enregistrer lidentiant des processus
ainsi que des informations daccs des chiers. Grce tmpfs, les donnes sont
accessibles en mmoire vive. Cette mthode est plus rapide et permet de sassurer
quil ne reste aucun chier dans /var/run ou dans /var/lock au redmarrage de
lordinateur.
Linux Livre Page 418 Mardi, 23. septembre 2008 1:05 13
419 ADMINISTRATION DU SYSTME DE FICHIERS
usbfs. usbfs fournit des informations au noyau 2.6 au sujet des priphriques USB
branchs. Il est gnralement intgr au systme de chiers proc (/proc/bus/usb).
Autres
systmes
de fichiers
Pour nir, je vous prsente quelques systmes de chiers ou mots cls qui ne peuvent pas
tre associs aux catgories prcdentes.
auto. Il nexiste en fait pas de systme de chiers auto. Cependant, ce mot cl peut tre
utilis dans /etc/fstab ou comme argument de la commande mount. Linux essaie alors
de reconnatre lui-mme le systme de chiers considr. Cela fonctionne dans la majo-
rit des cas.
autofs, autofs4. autofs et sa nouvelle version autofs4 ne sont pas non plus de rels sys-
tmes de chiers. Il sagit dextensions du noyau qui montent automatiquement les syst-
mes de chiers qui ont dj t utiliss. Si un tel systme nest pas utilis pendant une
certaine priode, umount est automatiquement excut. Ce comportement est particuli-
rement pratique lorsque seuls quelques rpertoires NFS sont utiliss parmi une plthore
dentre eux disponibles sur le systme.
En interne, le programme automount est lanc lors du dmarrage du systme par le
script /etc/init.d/autofs. automount est congur dans le chier /etc/auto.master.
Les programmes correspondants sont installs par dfaut par Fedora et Red Hat. Cepen-
dant, autofs nest actif quaprs la conguration de /etc/auto.master ou de /etc/
auto.misc. Vous trouverez plus de dtails dans le Automount-Mini-HOWTO
(http://tldp.org/HOWTO/Automount.html).
fuse. FUSE signie Filesytem in Userspace (systme de chiers en espace utilisateur) et
permet de dvelopper et dutiliser des pilotes de systmes de chiers en dehors du
noyau. FUSE est donc toujours utilis en conjonction avec un pilote externe. Il a t int-
gr au noyau ofciel 2.6.14. Il est par exemple mis en uvre pour deux pilotes NTFS
(ntfsmount et ntfs-3g).
FUSE est pour le moment le seul moyen dutiliser le systme ZFS de Sun sous Linux.
ZFS est un systme de chiers moderne qui gre des quantits presque illimites de
donnes. Il est cependant publi sous une licence incompatible avec la GPL et ne peut
donc pas tre intgr au noyau.
gfs et ocfs. gfs (Global File System, systme de chiers global) et ocfs (Oracle Cluster File
System, systme de chiers pour grappe dOracle) permettent de construire des syst-
mes de chiers rpartis sur le rseau auquel plusieurs ordinateurs peuvent accder en
parallle.
jffs et cramfs. Ces deux systmes sont utiliss dans les priphriques embarqus. Ils
permettent de compresser autant de chiers que possible sur une mmoire Flash ou sur
une ROM.
loop. Le priphrique de bouclage (loopback device) est un adaptateur qui permet de
considrer un chier habituel comme un priphrique bloc. Vous pouvez alors y crer
un systme de chiers et le monter dans une arborescence de chiers. La fonction du
noyau correspondante, loopback device support (prise en charge du priphrique de bou-
clage) est gre par le module loop.
Linux Livre Page 419 Mardi, 23. septembre 2008 1:05 13
LINUX 420
Les priphriques de bouclage ont de nombreuses applications. Ils servent par exemple
crer un disque virtuel pour GRUB ou LILO, mettre en place des systmes de chiers
chiffrs, tester des images ISO pour les CD, accder des chiers image, etc.
none. none nest pas un systme de chiers. Il offre la possibilit, assez peu utilise, de
monter un rpertoire local dans un autre emplacement de larborescence de chiers.
Pour cela, vous devez passer mount ou fstab le type de chiers none et loption sup-
plmentaire bind. Le rsultat est alors comparable un lien symbolique, mais la mise en
uvre interne en est trs diffrente.
unionfs/aufs. Le concept de unionfs et de sa variante aufs permet de crer plusieurs
systmes de chiers quasiment les uns au-dessus des autres, o le systme le plus haut
a la priorit. unionfs et aufs sont utiliss sur de nombreux systmes "live". Linux
dmarre directement depuis le CD ou depuis le DVD. Un systme de chiers de disque
virtuel (RAM-disk) accessible en criture surcharge celui du CD/DVD, en lecture seule.
Le systme de chiers visible contient alors la structure du CD/DVD, mais permet des
modications sur le disque virtuel.
Systmes de chiers chiffrs. Linux sait chiffrer le contenu dun systme de chiers de
plusieurs manires diffrentes. Certaines mthodes se fondent directement sur leurs
propres systmes de chiers (par exemple CryptoFS ou eCryptfs).
Le fichier /proc/filesystems permet de savoir quels systmes de fichiers sont intgrs au noyau ou
chargs en tant que modules. Les modules du noyau correspondants se trouvent dans le rpertoire /lib/
modules/n/kernel/fs. Si le code source du noyau est install, vous trouverez plus dinformations dans
/fs/filesystems.c et dans /Documentation/filesystems.
23.5 Gestion du systme de fichiers (mount et /etc/fstab)
Une fois Linux install, gnralement, vous ne devez vous occuper de la gestion du systme
de chiers. Divers rpertoires vous permettent daccder la majorit des partitions de don-
nes du disque dur. Lorsque vous insrez un CD ou un DVD ou lorsque vous branchez un
support de donnes externe, le systme de chiers est mont automatiquement dans larbo-
rescence. Tout fonctionne presque comme par magie.
Cette section est un aperu de ce qui se passe en coulisses et dcrit les commandes mount et
umount ainsi que le chier /etc/fstab.
mount et umount sont excutes lorsquune partition ou un support de donnes sont
intgrs ou supprims dans larborescence. Vous pouvez les lancer vous-mme en tant
que root si les mcanismes automatiques chouent.
Le chier de conguration /etc/fstab contrle quels systmes de chiers sont intgrs
automatiquement larborescence lors du dmarrage et avec quelles options. /etc/
fstab est congur pendant linstallation de Linux. Si vous ntes pas satisfait de cette
conguration ou si vous modiez votre environnement, vous devez modier ce chier
avec un diteur de texte. Cette section dcrit la syntaxe du chier.
Linux Livre Page 420 Mardi, 23. septembre 2008 1:05 13
421 ADMINISTRATION DU SYSTME DE FICHIERS
De manire surprenante, il nexiste que peu doutils de configuration graphiques utilisables la place de
mount ou pour modifier /etc/fstab. Au nombre des rares exceptions, on compte le module de YaST Sys-
tme, Partitionneur (SUSE) ainsi que le programme admin-disks, disponible sur certains systmes Gnome.
Cependant, lutilisation de ces outils implique que vous connaissiez les concepts sous-jacents de mount et de
/etc/fstab.
Les supports de donnes externes comme les cls USB ou les disques durs Firewire constituent une excep-
tion : de nombreuses distributions montent automatiquement ces supports dans larborescence. Les mca-
nismes ncessaires cela sont cependant relativement complexes et ne sont pas ralisables directement par
/etc/fstab.
Dterminer ltat courant dun systme de fichiers
df Pour savoir comment votre systme Linux est utilis, le plus simple est de lancer la commande
df. Celle-ci afche lemplacement o sont montes les partitions du disque, les supports de
donnes, etc. et lespace disponible dont le systme de chiers dispose.
Cet exemple montre les systmes de chiers dun ordinateur de tests. Il y a deux partitions
Linux : la partition systme / et la partition de donnes /vmware. Ces deux partitions utilisent le
systme de chiers ext3.
/win-c et /win-d donnent accs aux chiers du Windows XP install sur le mme ordina-
teur. /media/dvd contient un DVD de donnes. Pour nir, la partition /data est une partition
NFS distante sur un autre ordinateur du rseau local. /dev/shm est un systme de chiers
virtuel servant changer des donnes entre processus.
utilisateur$ df -T
Sys. de fich. Type 1K-blocs Occup Disponible Capacit Mont sur
/dev/hdc2 ext3 6940516 6422792 159476 98% /
/dev/hdc5 ext3 14428928 4935304 8760660 37% /vmware
/dev/hda1 ntfs 53872528 49505408 4367120 92% /win-c
/dev/hda2 vfat 4715772 3269176 1446596 70% /win-d
mars:/data nfs 97881408 78792480 14116832 85% /data
tmpfs tmpfs 777764 0 777764 0% /dev/shm
mount La commande mount sans options supplmentaires afche des options plus dtailles encore
sur les systmes de chiers monts. Le rsultat afche galement divers systmes de chiers
virtuels. De plus, la commande afche les options actives de mount. Lexemple suivant a t
mis en forme en colonnes pour amliorer la lisibilit.
utilisateur$ mount
/dev/hdc2 on / type ext3 (rw)
/dev/hda2 on /win-d type vfat (rw,uid=501,gid=100)
/dev/hdc5 on /vmware type ext3 (rw,acl,user_xattr)
/dev/hda1 on /win-c type ntfs (rw,uid=501,gid=100)
mars:/data on /data type nfs (rw,noexec,nosuid,nodev,
addr=192.168.0.1,user=kofler)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
Linux Livre Page 421 Mardi, 23. septembre 2008 1:05 13
LINUX 422
automount on /net type autofs (rw,fd=4,pgrp=1950,minproto=2,
maxproto=4)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
Les chiers /etc/mtab et /proc/mounts contiennent les mmes informations. Ils compren-
nent une liste de tous les supports de donnes monts, associs leurs types de systmes de
chiers et aux options de mount utilises. /etc/mtab est modi chaque fois quun systme
de chiers est mont ou dmont. La syntaxe de mtab est la mme que celle de /etc/fstab. /
proc/mounts contient galement des options qui ne sont indiques explicitement ni par
mount ni par /etc/fstab.
Monter et dmonter des systmes de fichiers manuellement
Aprs linstallation dune distribution Linux rcente, le systme est congur de sorte que
vous nayez que rarement besoin de mount. Tous les systmes Linux sont monts dans
larborescence et une nouvelle fentre du gestionnaire de chiers de KDE ou de Gnome
apparat automatiquement lors de linsertion dun CD/DVD ou lors de la connexion dune
cl USB. Derrire ces mcanismes automatiques se trouve toujours la commande mount.
La syntaxe de mount est celle-ci :
mount [options] priphrique rpertoire
Les options indiquent entre autres le type de systme de chiers (-t xxx). Le nom du pri-
phrique indique la partition ou le lecteur. Le rpertoire est un rpertoire du systme de
chiers courant (il doit dj exister ; vous pouvez le crer avec mkdir).
mount peut gnralement tre excut uniquement par root. Cependant, le chier /etc/
fstab permet dindiquer des partitions individuelles pour lesquelles tous les utilisateurs
peuvent excuter mount (option user ou users).
Exemples Le plus simple pour comprendre mount est de prsenter quelques exemples. Le premier permet
daccder aux chiers dune partition Windows 9x/ME depuis le rpertoire /windows :
root# mkdir /windows
root# mount -t vfat /dev/sda1 /windows
La commande suivante monte le lecteur CD-ROM qui contient un CD de donnes (systme
de chiers ISO 9660) dans le rpertoire /media/cdrom. Le priphrique /dev/scd0 indique
que laccs au lecteur se fait par le systme SCSI du noyau.
root# mount -t iso9660 /dev/scd0 /media/cdrom
Lorsque les paramtres du lecteur CD (type de systme de chiers, nom du priphrique,
rpertoire) sont enregistrs dans /etc/fstab, vous pouvez monter le CD avec la commande
suivante :
root# mount /media/cdrom
mount -o remount permet de remonter un systme de chiers dj mont en modiant ses
options. La commande suivante active par exemple loption exec pour un DVD an de
pouvoir excuter les programmes qui sy trouvent :
root# mount /media/dvd -o remount,exec
Linux Livre Page 422 Mardi, 23. septembre 2008 1:05 13
423 ADMINISTRATION DU SYSTME DE FICHIERS
Si le montage de la partition systme a rencontr un problme pendant le dmarrage de
lordinateur, la partition est monte en lecture seule. Pour corriger lorigine du problme
(par exemple de mauvaises options dans /etc/fstab), il faut souvent modier des chiers
sur le systme de chiers. Pour cela, lancez la commande suivante, qui remonte la partition
systme avec des droits en criture :
root# mount -o remount,rw /
Pour supprimer un systme de chiers de larborescence, lancez la commande umount :
root# umount /win-c
Monter automatiquement des systmes de fichiers
Il serait trs pnible de devoir monter toutes les partitions chaque dmarrage du systme,
de devoir lancer mount avec toutes ses options chaque changement de CD, etc. Le travail
est facilit par le chier /etf/fstab. Il indique quels supports de donnes doivent tre pris
en compte dans le systme de chiers au dmarrage. Dans tous les cas, fstab doit contenir
la partition systme ainsi que tous les systmes ncessaires la gestion interne du systme.
Exemple Selon la distribution, un chier fstab minimal peut ressembler ce qui suit :
# deux lignes dexemple de /etc/fstab
/dev/sda2 / ext2 defaults 1 1
none /proc proc defaults 0 0
... autres systmes de fichiers virtuels (/dev/pts, /dev/shm etc.)
La premire ligne indique quil faut utiliser la deuxime partition du premier disque IDE
comme rpertoire systme. Selon la partition sur laquelle vous avez install Linux, hda2 doit
tre remplac par le bon nom de priphrique.
La deuxime ligne monte le systme de gestion des processus. Les chiers et rpertoires du
rpertoire /proc nexistent en fait pas sur le disque dur, il sagit dune reprsentation des
donnes utilises en interne par le noyau.
Certaines distributions, pour la plupart anciennes, modifient automatiquement le fichier /etc/fstab ds
quun nouveau support de donnes est ajout ou supprim dans le systme. Ces modifications automati-
ques peuvent tre gnantes : des lignes peuvent tre crases ou supprimes.
Syntaxe de /etc/fstab
Lexemple ci-dessus reprsente le format principal de fstab. Chaque ligne dcrit, en six
colonnes, un support de donnes (une partition, un systme de chiers).
Premire
colonne
La premire colonne contient le nom du priphrique du support de donnes. Vous trouverez
des informations sur la nomenclature des partitions de disque la section 23.2.
Au lieu dutiliser le nom dun priphrique, vous pouvez utiliser son nom ou son identi-
ant. La syntaxe correcte dans ces cas est alors LABEL=chane_de_caractres ou UUID=nnn-
nnn. /lib/udev/vol-id permet dobtenir les noms et UUID dune partition. Pour modier
Linux Livre Page 423 Mardi, 23. septembre 2008 1:05 13
LINUX 424
ces donnes, il faut utiliser diffrents outils selon le format du systme de chiers (par exemple
tune2fs ou reiserfstune).
root# /lib/udev/vol_id /dev/sda9
ID_FS_USAGE=filesystem
ID_FS_TYPE=ext3
ID_FS_VERSION=1.0
ID_FS_UUID=a12b639e-fafc-4a21-ad43-4852f47bd571
ID_FS_LABEL=/12
ID_FS_LABEL_SAFE=12
Lavantage des noms de partitions ou des libells par rapport aux noms de priphriques est
quils restent identiques mme quand le priphrique a chang de nom. Cela arrive relativement
frquemment pour les disques SCSI lorsquun lecteur supplmentaire est ajout.
Cette mthode prsente cependant deux inconvnients. Dune part, fstab en devient plutt
moins clair (les UUID le rendent mme illisible). Dautre part, si plusieurs distributions Linux
sont installes en parallle, des problmes supplmentaires peuvent se poser. En effet, lors de
linstallation, la partition dchange et ventuellement dautres partitions sont reformates. Par
consquent, de nouveaux UUID sont gnrs. Les distributions installes ne peuvent donc plus
reconnatre ces partitions. Il faut alors modier fstab pour lui indiquer les nouveaux UUID.
Deuxime
colonne
La deuxime colonne indique dans quel rpertoire le support de donnes doit tre mont.
Les rpertoires de la deuxime colonne doivent dj exister. Le rpertoire ne doit pas nces-
sairement tre vide, mais vous ne pourrez plus accder aux chiers qui sy trouvent aprs
avoir mont le systme de chiers.
Troisime
colonne
La troisime colonne indique le systme de chiers. Le tableau suivant liste tous les systmes
de chiers importants, en ordre alphabtique.
Systmes de fichiers pris en charge par Linux (troisime colonne de /etc/fstab)
auto systme de fichiers reconnatre automatiquement
cifs systme de fichiers rseau de Windows (Samba)
devpts pseudo-terminaux conformment la spcification Unix 98
ext2 ext version 2
ext3 ext version 3
ext4 ext version 4
iso9660 CD-ROM, DVD
nfs systme rseau Unix (NFS)
ntfs systme de fichiers Windows NT/2000/XP/Vista
proc gestion des processus /proc
reiserfs reiser version 3.n
reiser4 reiser version 4.n
smbfs systme de fichiers rseau de Windows (Samba)
swap partition ou fichier dchange
sysfs gestion du systme (/sys)
tmpfs change de donnes entre les programmes conformment SystemV (mmoire partage)
udf Universal Disk Format (DVD, CD-RW)
usbfs gestion des priphriques USB
vfat systme de fichiers Windows 9x/ME
Linux Livre Page 424 Mardi, 23. septembre 2008 1:05 13
425 ADMINISTRATION DU SYSTME DE FICHIERS
On peut galement indiquer plusieurs systmes de chiers, spars par des virgules. Par
exemple, les CD et DVD peuvent tre congurs avec loption iso9660,udf car seuls ces
deux systmes de chiers sont gnralement utiliss dans ce cas. mount choisit alors le format
quil va utiliser.
Quatrime
colonne
La quatrime colonne contient des informations relatives laccs au support de donnes.
Les options sont spares par des virgules ; les espaces ne sont pas autorises. Le tableau
suivant numre les options les plus importantes de mount. Vous en trouverez une rfrence
complte dans man mount. Si vous ne souhaitez pas passer doptions, utilisez le mot cl
defaults.
Cinquime
colonne
La cinquime colonne contient des informations pour le programme dump et est actuelle-
ment ignore. Gnralement, la partition systme contient la valeur 1, et les autres partitions
ou supports de donnes contiennent la valeur 0.
Sixime
colonne
La sixime colonne indique si et dans quel ordre le systme de chiers doit tre vri au
dmarrage. Dans la plupart des distributions, la valeur de cette colonne est 1 pour la parti-
tion systme et 0 pour toutes les autres, ce qui signie que seule la partition systme est vrie
et ventuellement rpare.
Si vous souhaitez vrier dautres partitions automatiquement, donnez-leur la valeur 2
dans cette colonne. Les systmes de chiers qui ne doivent pas tre vris doivent avoir la
valeur 0.
Si les valeurs de la cinquime et de la sixime colonne ne sont pas renseignes dans /etc/
fstab, la valeur 0 est utilise par dfaut.
Options de mount (quatrime colonne de /etc/fstab)
defaults utiliser les options par dfaut
dev prendre en compte les identificateurs des priphriques caractre ou bloc
exec autoriser lexcution de programmes (par exemple pour les lecteurs CD/DVD)
noauto ne pas monter au dmarrage du systme
nodev ignorer les identificateurs des priphriques caractre ou bloc
noexec interdire lexcution de programmes
nosuid ne pas prendre en compte les bits daccs sid et gid
sync ne pas mettre en tampon les accs en criture (plus sr, mais plus lent)
owner autoriser le propritaire excuter (u)mount
user autoriser tous les utilisateurs excuter mount ; seul lutilisateur qui a appel mount
peut appeler umount
users autoriser tous les utilisateurs appeler (u)mount
Linux Livre Page 425 Mardi, 23. septembre 2008 1:05 13
LINUX 426
23.6 Les systmes de fichiers Linux
Cette section traite des trois systmes de chiers les plus importants sous Linux, ext3, rei-
serfs et xfs. Avant den dcrire la mise en uvre et ladministration, nous allons tablir ici
quelques bases indpendantes du systme de chiers. Cette section de gnralits explique
des concepts tels que la journalisation ou LFS et est en quelque sorte un glossaire pour les
sections suivantes.
Gnralits
Journalisation Tous les systmes de chiers actuels sous Linux prennent en charge des fonctions de
journalisation. Dans sa forme la plus simple, la journalisation implique quau dbut et
la n de chaque opration sur les chiers, celle-ci est enregistre dans un chier spci-
que. Grce cet enregistrement, vous pouvez vrier si une opration donne a t com-
pltement excute ou non. Si ce nest pas le cas, elle peut tre rpte (dans le
vocabulaire des bases de donnes, on parle de transactions). Dans les systmes de journa-
lisation avancs, il est galement possible denregistrer les modications propres aux
chiers. Cela ralentit le fonctionnement quotidien, mais fournit plus de possibilits en ce
qui concerne la reconstruction.
Lorsquune opration ne se termine pas correctement, le chier de journalisation entre en
jeu. Lorsque la journalisation est simple, les modications sont perdues (nattendez pas des
miracles de la journalisation), mais ltat prcdent du chier est rtabli.
Lavantage des fonctions de journalisation est que le systme de chiers peut tre ramen
trs rapidement un tat cohrent lors du dmarrage de lordinateur et tre utilis presque
immdiatement. Cest une diffrence majeure par rapport ce qui se faisait prcdemment :
aprs une interruption ou une coupure de courant, le systme de chiers complet devait tre
parcouru la recherche derreurs. Cela durait plusieurs minutes, voire des heures pour les
gros disques durs.
La journalisation noffre pas de garantie en ce qui concerne la cohrence du systme de fichiers aprs une
coupure de courant. Le problme provient des disques durs. Ceux-ci utilisent, pour des raisons defficacit, de
la mmoire tampon interne. Il peut alors arriver que, du point de vue du systme de fichiers, les donnes
soient reues et enregistres par le disque alors quelles ne sont crites sur le disque dur que quelques secondes
plus tard. Si la coupure de courant survient pendant cet intervalle de temps, les donnes de la mmoire
tampon sont perdues. Certains disques durs permettent de dsactiver ce cache. Les performances dcriture
sen ressentent fortement, ce qui explique pourquoi on vite gnralement de le faire.
Indpendamment du cache dcriture, le comportement du disque dur lors dune coupure dlectricit sou-
daine est imprvisible.
Pour formuler cela autrement, les systmes de fichiers journaliss sont une belle chose, mais ils nvitent
pas les pertes de donnes conscutives une coupure. Si vos donnes ont une certaine valeur, investissez
100 euros dans un petit onduleur qui permettra votre ordinateur de sarrter proprement, mme en cas
de coupure dlectricit.
Linux Livre Page 426 Mardi, 23. septembre 2008 1:05 13
427 ADMINISTRATION DU SYSTME DE FICHIERS
Vrification
automatique
du systme de
fichiers
Lorsque Linux dtecte, au moment du dmarrage, que lordinateur na pas t teint correc-
tement, il lance une vrication pour la partition systme et, selon la conguration, pour
dautres partitions listes dans /etc/fstab. La vrication dpend de la valeur de la sixime
colonne du chier, comme lexplique la section 23.5. Grce la journalisation, cette vrication
ne prend normalement que quelques secondes.
Indpendamment de cela, certains systmes de chiers (entre autres toutes les versions
dext) vrient rgulirement leur cohrence. Ces tests relativement longs sont lancs au
dmarrage de lordinateur au bout dune certaine dure ou dun certain nombre de montages
de la partition.
Lorsque les fonctions de journalisation ont t introduites, il a souvent t argument que ce
type de vrication tait redondant. Cela nest malheureusement pas tout fait vrai : un sys-
tme de chiers peut souffrir dincohrences dues des erreurs matrielles et la probabilit
de ce type derreur augmente avec la taille du disque. La spcication dun disque dur de
320 Go indique que la probabilit derreur (non-recoverable read errors per bits read, nombre
derreurs de lecture non rcuprables par bit lu) est de 1/10
14
. Cela semble ngligeable.
Cependant, ce disque contient 2,56 10
13
bits. Les erreurs sont donc probables en fonction-
nement normal, en dehors mme de tout incident. Un test de cohrence rgulier du systme
de chiers ne permet pas dviter ces erreurs, mais il permet de dtecter et de corriger les
comportements derreur (au moins lorsque des zones critiques pour la gestion interne du
systme de chiers sont touches).
Les systmes de chiers prsents dans cet ouvrage ne tolrent malheureusement pas les
erreurs. Les systmes qui dtectent les erreurs matrielles grce des sommes de contrle
ou qui peuvent corriger de telles erreurs grce un enregistrement redondant ne sont
actuellement que des sujets de recherche.
Les dtails de la vrication des systmes de chiers au dmarrage dpendent souvent de la
distribution. Gnralement, elle se fait sans interaction de lutilisateur et ralentit visiblement
le processus de dmarrage. Cela ne devient rellement gnant que lorsque des erreurs non
rcuprables sont rencontres. Dans ce cas, la partition est monte en lecture seule. Vous
devez alors vous connecter en tant que root, rpter la vrication du systme de chiers et
indiquer de manire interactive ce que doit faire loutil de vrication avec les donnes
dfectueuses. Dans la plupart des cas, vous reviendrez ici un tat cohrent du systme de
chiers, mais il est possible que vous narriviez pas secourir tous les chiers. Pour nir,
redmarrez lordinateur.
Vrification
manuelle du
systme de
fichiers
Vous pouvez vrier manuellement un systme de chiers avec la commande fsck. Cepen-
dant, la partition concerne ne peut pas tre utilise pendant ce temps et doit tre dmonte
avec umount.
Vous ne pouvez pas vrier la partition systme lorsque le systme fonctionne car vous ne
pouvez pas la dmonter. Pour forcer la vrication, lancez en tant que root la commande
touch /forcefsck et redmarrez lordinateur. Ce chier est galement cr lorsque vous lancez
shutdown avec loption -F.
Linux Livre Page 427 Mardi, 23. septembre 2008 1:05 13
LINUX 428
Lorsque le chier /forcefsck existe, presque toutes les distributions lancent une vrication
du systme de chiers. Si ce nest pas le cas, utilisez un systme de secours ou un live CD
(Knoppix) et lancez-y fsck.
Limites de
taille
Auparavant, la taille maximale des chiers tait une question rcurrente, dont la rponse
dpendait du noyau, de larchitecture du processeur, de la bibliothque glibc et du systme
de chiers. Les distributions courantes prennent en charge lextension LFS dans la biblio-
thque glibc. La taille des chiers est alors, du point de vue de Linux, presque illimite :
2
63
octets.
En pratique, il existe cependant certaines limites. Mme aujourdhui, certains programmes
se heurtent la limite de 2 Go, ce qui peut par exemple rendre le tlchargement dimages
ISO de DVD pnible. Utilisez des outils adapts, comme wget partir de sa version 1.10.
Dautre part, les systmes de chiers ont diffrentes limites pour la taille maximale des chiers
et des systmes de chiers. Le tableau suivant rsume ces donnes. Ici, 1 To = 1024 Go.
Changement
de systme de
fichiers
Il nexiste pas doutil pour changer de systme de chiers (par exemple passer une partition
de ext3 reiserfs). La seule manire consiste crer une nouvelle partition formate dans
le systme souhait et y copier tous les chiers.
Systmes de fichiers ext (ext2, ext3 et ext4)
Les diffrentes versions de ext dominent le monde des systmes de chiers sous Linux :
ext, la premire version du systme de chiers, na t exploite que brivement aux
dbuts de Linux (1992). La taille maximale du systme de chiers tat de 2 Go.
ext2 tait le systme de chiers dominant sous Linux entre 1993 et 2001. La taille maxi-
male du systme de chiers tait de 8 To.
Les nouveauts principales de ext3 taient les fonctions de journalisation et la prise en
charge des ACL ( partir du noyau 2.6). La large adoption de ext3 est probablement due
sa compatibilit avec ext2. Les systmes ext2 navaient pas besoin dtre formats et
pouvaient tre transforms facilement en systmes ext3. Un systme ext3 peut mme
tre mont en tant que systme ext2.
Le dveloppement de ext4 a commenc en 2006. ext4 fait partie du noyau ofciel
depuis le noyau 2.6.19, mais il a encore actuellement un statut exprimental et ne doit
pas tre utilis pour des donnes importantes.
La taille maximale du systme passe 1 Eo (1 048 576 To) et les dates des modications
de chiers sont enregistres plus prcisment. De plus, diverses optimisations de per-
formances sont prvues. La compatibilit est galement prise en compte an dassurer
Systme de chiers Taille maximale dun chier Taille maximale du systme
ext2 / ext3 2 To 8 To (en blocs de 4 Ko)
ext4 inconnue 1 048 576 To
reiserfs 8 To 16 To
reiser4 inconnue inconnue
xfs 9 437 184 To 9 437 184 To
Linux Livre Page 428 Mardi, 23. septembre 2008 1:05 13
429 ADMINISTRATION DU SYSTME DE FICHIERS
des migrations sans problme de ext3 ext4. Attention, il nest en revanche plus possible
de passer de ext4 ext3.
La compatibilit entre les diffrents systmes ext est galement visible du fait que divers
outils dadministration ont toujours un 2 dans le nom de la commande mme sils fonctionnent
galement pour les versions plus rcentes (par exemple tune2fs).
Les informations qui suivent sont valides pour le systme ext3. Presque toutes les distributions
actuelles utilisent aujourdhui ext3 par dfaut.
/etc/fstab Les systmes ext3 sont gnralement dnis dans /etc/fstab de la manire suivante :
/dev/sdb8 / ext3 defaults 1 1
/dev/sdb9 /data ext3 defaults 0 0
/dev/sdb9 /acl-data ext3 acl,user_xattr 0 0
Cration dun
systme de
fichiers ext3
Les systmes de chiers ext2 et ext3 sont tous deux formats avec la commande mke2fs.
Celle-ci peut galement tre appele sous la forme mkfs.ext2 ou mkfs.ext3. Loption -j sert
crer un chier de journalisation pour le systme de donnes ; ce chier est la seule diff-
rence entre ext2 et ext3. Vous trouverez une rfrence complte de mke2fs dans man mke2fs.
Dans lexemple suivant, un systme ext3 est cr sur une cl USB de 64 Mo. mke2fs choisit
lui-mme une taille de bloc de 1 kilooctet (Ko) et choisit galement dutiliser 256 inodes par
mgaoctet (ce qui correspond loption -i 4096) :
root# mke2fs -j /dev/sda14
mke2fs 1.40.8 (13-Mar-2008)
tiquette de systme de fichiers=
Type de systme dexploitation: Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
16000 i-noeuds, 64000 blocs
3200 blocs (5.00%) rservs pour le super utilisateur
Premier bloc de donnes=1
Nombre maximum de blocs du systme de fichiers=65536000
8 groupes de blocs
8192 blocs par groupe, 8192 fragments par groupe
2000 i-noeuds par groupe
Superblocs de secours stocks sur les blocs:
8193, 24577, 40961, 57345
criture des tables di-noeuds: complt
Cration du journal (4096 blocs): complt
criture des superblocs et de linformation de comptabilit du systme de
fichiers: complt
Le systme de fichiers sera automatiquement vrifi tous les 30 montages ou
aprs 180 jours, selon la premire ventualit. Utiliser tune2fs -c ou -i
pour craser la valeur.
Modes de
journalisation
ext3 peut mener sa journalisation de trois manires diffrentes :
data=ordered. Cest le mode par dfaut. Seules les mtadonnes sont enregistres dans
le journal (les informations sur les chiers et non leur contenu). Dans le journal, les
Linux Livre Page 429 Mardi, 23. septembre 2008 1:05 13
LINUX 430
chiers ne sont indiqus comme tant valids (commited) que lorsquils sont copis
entirement sur le disque.
Aprs un plantage, le systme de chiers peut revenir trs rapidement un tat coh-
rent car tous les chiers qui nont pas t compltement enregistrs sont identiables
immdiatement. Cependant, il est impossible de les rcuprer.
data=writeback. Ce mode est comparable au mode ordered. La seule diffrence est que
le journal et les oprations sur les chiers ne sont pas toujours compltement synchro-
nes (ext3 nattend pas la n de lopration de lenregistrement pour marquer le chier
comme committed).
Ce mode est plus rapide que le mode ordered. Aprs un plantage, lintgrit du systme de
chiers est assure dans la mme mesure. Cependant, il arrive que les chiers contien-
nent des anciennes donnes. Le rsultat est le mme que pour une rcupration aprs
un plantage sous ext2, mais cette correction est nettement plus rapide avec ext3.
data=journal. Au contraire des deux autres, ce mode enregistre aussi les modications
des donnes. Toutes les modications sont donc enregistres deux fois (une fois dans le
journal et une fois dans le chier). ext3 est donc nettement plus lent dans ce mode. Les
chiers dont les modications se trouvent dans le journal (mais pas encore enregistres
dans le chier) peuvent tre rcuprs aprs un plantage.
Si vous ne passez pas doption particulire mount, data=ordered est utilis. Pour utiliser un
autre comportement de journalisation, passez-le mount avec loption -o :
root# mount -t ext3 -o data=journal /dev/sda12 /test
Vous pouvez aussi rgler ce comportement dans /etc/fstab :
/dev/sda12 /test ext3 data=journal 1 0
En interne, cest le dmon de journalisation intgr au noyau kjournald qui soccupe de lactualisation
rgulire du fichier de journalisation. Ce processus est dmarr automatiquement lorsquun systme de
fichiers ext3 est mont dans larborescence. kjournald est responsable du fait quun accs disque ait
lieu toutes les cinq secondes, mme lorsque lordinateur neffectue apparemment aucune tche.
Conversion de
ext2 ext3
Pour convertir un systme ext2 au format ext3, il suft de lancer la commande suivante :
root# tune2fs -j /dev/sda5
Vrification du
systme de
fichiers
Les systmes de chiers ext sont rgulirement contrls lors du dmarrage de lordinateur,
aprs un nombre donn de commandes mount (par dfaut 36) ou aprs une dure donne
(par dfaut 6 mois), quel que soit le premier critre atteint. Certaines distributions modient
ces paramtres pour des valeurs bien plus grandes, voire dsactivent (avec la valeur 0) com-
pltement les vrications. La plupart des distributions congurent fstab pour que seule la
partition systme soit vrie (cela correspond la sixime colonne, voir la section 23.5).
Malgr la journalisation, il est conseill de vrier le systme de chiers rgulirement (au
moins une deux fois par an). Ainsi, vous pouvez dtecter dventuelles dfaillances mat-
rielles. Il arrive galement que le pilote du systme de chiers contienne des erreurs encore
inconnues. Plus les erreurs sont corriges tt, plus les dgts potentiels sont faibles.
Linux Livre Page 430 Mardi, 23. septembre 2008 1:05 13
431 ADMINISTRATION DU SYSTME DE FICHIERS
Vous pouvez lancer manuellement une vrication avec la commande fsck.ext2 ou
fsck.ext3. La partition doit tre dmonte lors du contrle.
root# fsck.ext3 -f /dev/sda13
Passe1: vrification des i-noeuds, des blocs et des tailles
Passe 2: vrification de la structure des rpertoires
Passe3: vrification de la connectivit des rpertoires
Passe 4: vrification des compteurs de rfrence
Passe 5: vrification de linformation du sommaire de groupe
(/dev/sda13): 152190/640000 files (1.0% non-contiguous),
722668/1279167 blocks
Modification
de lintervalle
de vrification
automatique
Vous pouvez dnir et modier lintervalle de vrication du systme de chiers avec
tune2fs. Les options -c et -i permettent de modier respectivement le nombre de montages
de la partition et lintervalle, en jours :
root# tune2fs -l /dev/sda12
...
Mount count: 57
Maximum mount count: 500
Last checked: Thu Dec 4 18:10:14 2003
Check interval: 5184000 (2 months)
...
root# tune2fs -c 100 -i 90 /dev/sda12
Setting maximal mount count to 100
Setting interval between check 7776000 seconds
Dfinition
du nom de
la partition
e2label permet de voir et de dnir le nom interne dune partition ext3 :
root# e2label /dev/sda1 mylabel
Vous pouvez donner ces noms dans la premire colonne de /etc/fstab la place du nom du
priphrique.
Dfinition
de lUUID
Le systme de chiers reoit automatiquement un UUID lors de sa cration. Vous pouvez le
connatre avec la commande vol_id ou /lib/udev/vol_id. Vous pouvez ventuellement le
modier avec tune2fs -U. Cette modication peut tre faite mme lorsque la partition est
monte. Vous pouvez indiquer un identiant alatoire (random) ou prdtermin.
root# tune2fs -U random /dev/sda1
root# tune2fs -U f7c49568-8955-4ffa-9f52-9b2ba9877021 /dev/sda1
Redimension-
nement dun
systme de
fichiers ext3
resize2fs permet de redimensionner un systme de chiers ext3. Attention, vous devez
auparavant modier la taille de la partition !
Dans lexemple suivant, la partition de 1.5 Go /dev/sdb11 est supprime et recre avec une
taille de 2 Go. Cela se passe sans problme : il sagit de la dernire partition du disque et il y
a encore de la place sur le disque dur.
root# umount /dev/sdb11
root# fdisk /dev/sdb
Commande (m pour laide): p
255 heads, 63 sectors/track, 2055 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Linux Livre Page 431 Mardi, 23. septembre 2008 1:05 13
LINUX 432
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sdb11 1334 1525 1542208+ 83 Linux
Commande (m pour laide): d
Numro de partition (1-11): 11
Commande (m pour laide): n
Action de commande
l logique (5 ou plus)
p partition primaire (1-4)
l
Premier cylindre (1334-2055, par dfaut 1334): <Entre>
Utilisation de la valeur par dfaut 1334
Dernier cylindre ou +taille ou +tailleM ou +tailleK (1334-2055, par dfaut
2055): +2000M
Commande (m pour laide): w
La table de partitions a t altre!
Appel de ioctl() pour relire la table de partitions.
AVERTISSEMENT: la re-lecture de la table de partitions a chou avec lerreur
16: Device or resource busy.
La nouvelle table sera utilise lors du prochain ramorage.
Aprs un redmarrage, on peut sans problme modier le systme de chiers de la partition
/dev/hdb11. Il faut vrier le systme avec e2fsck -f avant de lancer resize2fs.
root# e2fsck -f /dev/sdb11
root# resize2fs /dev/sdb11
Le systme de fichiers /dev/sdb11 a maintenant une taille de 512064 blocs.
Il existe, pour le noyau 2.6, un correctif permettant daugmenter (mais pas de diminuer) la taille dun systme
ext3 sans le dmonter. Sous Red Hat et Fedora, ce correctif est intgr par dfaut. Pour les distributions plus
anciennes, vous pouvez modifier la taille du systme de fichiers avec la commande ext2online. partir de
Fedora 6 et de Red Hat Enterprise 5, cette fonction est directement intgre resize2fs ; ext2online
nest plus disponible en tant que commande.
Ce type de modification nest possible que lorsque le systme de fichiers ext3 se trouve sur un priph-
rique LVM ou RAID. Vous ne pouvez pas modifier la taille dune partition classique, le correctif du noyau ny
change rien. Vous trouverez plus dinformations dans les pages de manuel de ext2online et de
resize2fs ainsi qu ladresse http://ext2resize.sourceforge.net/online.html.
Fragmentation
du systme de
fichiers
La fragmentation recouvre le fait quun chier ne soit pas enregistr dans des blocs contigus
mais rpartis sur toute la partition. La fragmentation peut ralentir les accs aux chiers.
ext3 ne ncessite gnralement pas de dfragmentation car le systme de chiers vite glo-
balement la fragmentation. Cependant, vous devez viter de remplir le systme de chiers
plus de 90 %.
Accs au
systme de
fichiers sous
Windows
Sous Windows, vous pouvez aussi accder vos donnes Linux avec diffrents program-
mes. Explore2fs (http://www.chrysocome.net/explore2fs) est, selon moi, un des meilleurs.
Il sagit dun genre de gestionnaire de chiers avec lequel vous pouvez lire les systmes
ext2/3. Vous ne pouvez cependant pas les modier.
Linux Livre Page 432 Mardi, 23. septembre 2008 1:05 13
433 ADMINISTRATION DU SYSTME DE FICHIERS
premire vue, le pilote ext (http://www.fs-driver.org/) est une solution plus lgante. Une
fois ce pilote install, vous pouvez utiliser sans problme des partitions Linux avec tous les
programmes Windows. Cependant, vous devez imprativement teindre compltement le
systme dexploitation (ne pas le mettre en hibernation) lorsque vous passez dun systme
lautre. Vous risquez sinon dendommager votre systme de chiers et de perdre des
donnes.
Systme de fichiers reiserfs
Version 3 Le systme de chiers reiserfs a t dvelopp par lentreprise Namesys sous licence GPL.
Sa version 3.0 tait le premier systme de chiers Linux qui disposait de fonctionnalits de
journalisation et, depuis, il fait partie de la version 2.4.1 du noyau ofciel. Le systme
de chiers reiserfs version 4 tait largement rpandu, notamment parce quil fut le sys-
tme par dfaut sous SUSE pendant de nombreuses annes. SUSE est pass ext3 dans sa
version 10.2. reiserfs est plus efcace que ext pour grer les petits chiers.
Le systme reiserfs est mr, mais se trouve dans une impasse. Le systme nest plus dve-
lopp ou maintenu, lexception des correctifs critiques. Une mise jour vers la version 4
est possible uniquement lorsque toutes les donnes sont copies dans une nouvelle partition
reiser4.
Version 4 Depuis 2004, le systme de chiers Reiser version 4.n est disponible sous le nom reiser4 en
tant que correctif du noyau. Le code de cette version a t entirement redvelopp. Cela a
pour consquence que le systme de chiers nest pas compatible avec les versions 3.n et
quil est impossible de passer de lun lautre facilement. Dun point de vue technique,
reiser4 est le systme de chiers le plus intressant et le plus moderne qui existe sous
Linux. Grce une interface de greffons, on peut ltendre par des modules.
Malgr des lments techniques impressionnants, reiser4 est pour linstant un chec. Il
nest pas intgr au noyau ofciel, la fois en raison des diffrends personnels entre dve-
loppeurs et dune stabilit insufsante. En septembre 2006, Hans Reiser (fondateur et dve-
loppeur principal de lentreprise Namesys) a fait lobjet dune enqute pour meurtre.
Lactivit commerciale de Namesys sest arrte. Hans Reiser a t reconnu coupable pen-
dant lt 2008. Lavenir de reiser4 est incertain, mme si ofciellement il est toujours dve-
lopp.
/etc/fstab Les systmes reiser sont gnralement dnis comme suit dans /etc/fstab :
/dev/sdb11 /data1 reiserfs defaults 0 0
/dev/sdb12 /data2 reiser4 defaults 0 0
Cration dun
systme de
fichiers reiser
Pour crer un systme de chiers reiser dans une partition, utilisez mkfs.reiserfs et
mkfs.reiser4. Les commandes sont galement disponibles sous les noms mkreiserfs
et mkreiser4. De manire gnrale, aucune option en dehors du nom du priphrique nest
ncessaire. Pour partitionner le disque, utilisez comme dhabitude fdisk ou un autre outil
de partitionnement. Les partitions reiserfs doivent avoir le mme identiant de systme
de chiers que les partitions ext3, cest--dire 83.
Linux Livre Page 433 Mardi, 23. septembre 2008 1:05 13
LINUX 434
root# mkfs.reiserfs /dev/sdc1
mkfs.reiserfs 3.6.19 (2003 www.namesys.com)
...
Format 3.6 with standard journal
Count of blocks on the device: 2443872
Number of blocks consumed by mkreiserfs formatting process: 8286
Blocksize: 4096
Hash function used to sort names: "r5"
Journal Size 8193 blocks (first block 18)
Journal Max transaction length 1024
inode generation number: 0
UUID: 064c57a1-9f1f-4c35-b1db-b49559703c3e
...
ReiserFS is successfully created on /dev/sdc1.
Vous devez alors excuter la commande mount pour pouvoir utiliser le nouveau systme de
chiers :
root# mount -t reiserfs /dev/sdc1 /test
Vrification
du systme
de fichiers
fsck.reiserfs et fsck.reiser4 permettent de vrier lintgrit du systme de chiers. Par
dfaut, cette commande afche un rapport dtat, mais ne modie pas le systme de chiers.
Pour effectuer des rparations, vous devez passer les options --fix-fixable ou --fix. Vous
trouverez une rfrence complte de la syntaxe dans les pages de manuel des commandes.
Dfinition
du nom de
la partition
reiserfstune -l permet de modier le nom dune partition. De mme, loption -u permet
den modier lUUID.
Redimension-
nement du
systme de
fichiers
La commande resize_reiserfs permet de modier la taille dun systme reiserfs. Vous
devez avant cela modier la taille de la partition. La section prcdente qui traite dext3
prsente un exemple de procdure comparable.
Systme de fichiers xfs
Le systme de chiers xfs a t dvelopp par lentreprise SGI en 1994 pour ses stations de
travail sous IRIX, un systme Unix. Plus tard, le programme a t port sous Linux et fait
partie du noyau depuis les versions 2.6. xfs est un des plus anciens systmes de chiers
journaliss. Il a t conu comme un systme de chiers 64 bits ; la taille des chiers et du
systme est presque illimite. Il na t que peu modi ces dernires annes et est considr
comme mr, stable et trs efcace pour la gestion des trs gros chiers.
Lorsque vous travaillez avec xfs, vous devez prendre en compte deux particularits :
Le systme de fichiers utilise la partition partir du premier octet et ne laisse pas, la diffrence des
autres systmes de fichiers sous Linux, de place pour le secteur damorage. Linstallation de GRUB ou
de LILO dans le secteur damorage dune partition xfs dtruit donc une partie du systme de
fichiers. Vous devez linstaller dans le MBR ou dans le secteur damorage dune autre partition.
Les systmes de fichiers xfs peuvent tre agrandis avec xfs_growfs, mais ne peuvent pas tre
rduits.
Linux Livre Page 434 Mardi, 23. septembre 2008 1:05 13
435 ADMINISTRATION DU SYSTME DE FICHIERS
Vous trouverez plus dinformations sur le systme de chiers xfs aux adresses
http://en.wikipedia.org/wiki/XFS et http://oss.sgi.com/projects/xfs/faq.html.
/etc/fstab Les systmes xfs sont gnralement dnis comme suit dans /etc/fstab :
/dev/sdb13 /data xfs defaults 0 0
Cration dun
systme de
fichiers xfs
Pour crer un systme de chiers xfs sur une partition, lancez simplement mkfs.xfs :
root# mkfs.xfs /dev/sdc1
meta-data=/dev/sdc1 isize=256 agcount=16, agsize=152742 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=2443872, imaxpct=25
= sunit=0 swidth=0 blks, unwritten=1
naming =version 2 bsize=4096
log =internal log bsize=4096 blocks=2560, version=1
= sectsz=512 sunit=0 blks
realtime =none extsz=65536 blocks=0, rtextents=0
Vous devez alors excuter la commande mount pour pouvoir utiliser le nouveau systme de
chiers :
root# mount -t xfs /dev/sdc1 /test
Vrification
du systme
de fichiers
Lintgrit du systme xfs est vrie automatiquement chaque excution de mount (seul
le chier de journalisation est pris en compte). Pour le vrier manuellement, lancez
xfs_check. Cela nest possible que lorsquil nest pas mont. Si la commande renvoie des
erreurs, vous pouvez essayer de les corriger avec xfs_repair.
Pour des raisons de compatibilit avec les autres systmes, la commande fsck.xfs existe
aussi. Cependant, elle ne remplit aucune tche part pointer vers les outils appropris.
Redimension-
nement du
systme de
fichiers
xfs_growfs agrandit un systme de chiers xfs. Celui-ci doit tre mont. La commande
suppose que la partition sous-jacente a dj t agrandie.
Modification
des para-
mtres du
systme de
fichiers
xfs_admin modie divers paramtres du systme de chiers, en particulier son nom et son
UUID. Le systme de chiers considr doit tre dmont au pralable.
23.7 Systmes de fichiers Windows
De nombreux utilisateurs de Linux ont galement une version de Windows installe en
parallle. De plus, les supports de donnes externes (cls USB, cartes mmoire dappareils
photo numriques, etc.) sont souvent formats dans un systme de chiers Windows. Cette
section traite de laccs ces systmes de chiers, quils soient sur une partition du disque
dur interne ou sur un support de donnes externe.
Il existe deux systmes de chiers Windows :
FAT et VFAT. Ce systme de chiers de DOS et Windows 3.1/9x existe en plusieurs ver-
sions : FAT12 pour les disquettes, FAT16 pour les systmes de chiers jusqu 2 Go,
Linux Livre Page 435 Mardi, 23. septembre 2008 1:05 13
LINUX 436
FAT32 pour les systmes de chiers jusqu 8 To et les chiers jusqu 4 Go (mais divers
outils de formatage Windows limitent la taille du systme 32 Go).
Windows 95 a introduit lextension VFAT, dont la principale amlioration est dautori-
ser des noms de chiers de plus de 8+3 caractres. Les noms de chiers longs sont enre-
gistrs en tant que chanes de caractres Unicode. Les versions rcentes de Windows
enregistrent tous les noms de chiers (y compris les noms courts) en tant que chanes de
caractres Unicode, ce qui assure que la casse des noms soit conserve et quil ne puisse
pas y avoir de problme de jeu de caractres.
Une partition Windows typique dun disque dur est une combinaison de FAT32 et de
VFAT (abrg en VFAT32). Lorsque nous parlerons de VFAT dans les sections qui sui-
vent (ou de systme de chiers vfat), nous parlerons de toutes les combinaisons possibles
de FAT12/16/32 et VFAT.
NTFS. NFTS a t introduit par Windows NT et est pris en charge par toutes les ver-
sions courantes de Windows (2000, XP, 2003, Vista). NFTS est plus sr (droits daccs,
journalisation, etc.) et fournit plus de fonctionnalits. La taille du systme de chiers est
presque illimite (16 777 216 To).
Windows Vista prvoyait un nouveau systme de chiers fond sur une base de donnes,
mais cela na pas pu tre ralis.
Prise en charge
de Linux
Linux peut accder aux systmes de chiers VFAT et NTFS. Le pilote VFAT est mr depuis
plusieurs annes et offre des droits daccs en lecture et en criture. Une partition VFAT est
pour cette raison la mthode la plus simple de partager des donnes entre Windows et
Linux sur un ordinateur. (Si vous travaillez en rseau, vous pouvez utiliser les partages
Windows/Samba cette n.)
La prise en charge de NTFS fut problmatique pendant de nombreuses annes car il nexis-
tait quun pilote en lecture seule. Cependant, la communaut de dveloppement NTFS a
remu ciel et terre pour changer cela : il existe maintenant trois pilotes libres qui se diffrencient
principalement dans la mesure avec laquelle ils permettent laccs en criture.
Conversion de
fichiers texte
Indpendamment du systme de chiers, le transfert de chiers texte entre Linux et Windows
pose souvent problme car les deux systmes utilisent des jeux de caractres et des caractres
de n de ligne diffrents. Vous pouvez rsoudre ces problmes grce divers convertisseurs
(voir Chapitre 15).
Droits daccs VFAT ne connat pas le concept de droits daccs. NTFS prend en charge des droits daccs,
mais ceux-ci ne sont pas grs comme sous Unix/Linux. Un problme se pose alors : quel
utilisateur Linux a le droit daccder quels chiers Windows ? Les options uid, gid et
umask/fmask/dmask de mount permettent de rpondre cette question. Elles dnissent le
propritaire, le groupe et les droits daccs du systme de chiers Windows pour tous les
fichiers du systme de chiers NTFS, indpendamment des ventuels droits NTFS. Les dtails
de ces options sont donns dans man mount.
Formatage
dune partition
Windows
Il est rare de devoir formater une partition Windows, mais cette opration est possible.
mkdosfs permet de formater une partition en VFAT16 (Windows 9x/ME). Pour formater
en VFAT32, il faut utiliser la syntaxe mkdosfs -F 32.
mkntfs cre un systme de chiers NTFS. Cette commande se trouve gnralement dans
le paquetage ntfsprogs, qui doit souvent tre install pralablement.
Linux Livre Page 436 Mardi, 23. septembre 2008 1:05 13
437 ADMINISTRATION DU SYSTME DE FICHIERS
Si vous nteignez pas compltement Windows (mode hibernation ou veille) et si vous dmarrez Linux et
modifiez le systme de fichiers Windows, vous risquez de perdre des donnes. Comme Windows fige gale-
ment ltat du systme de fichiers, il sattend, au dmarrage suivant, trouver le mme tat.
Si vous voulez modifier des fichiers Windows sous Linux, vous devez arrter compltement Windows avant
de passer sous Linux.
Systme de fichiers VFAT
Paramtres par
dfaut
Rsumons dabord rapidement les paramtres par dfaut du pilote vfat. Il reconnat le type
FAT (FAT12/16/32). Les noms de chiers Windows sont reprsents sous Linux dans le jeu
de caractres Latin-1 (ISO8859-1). Lutilisateur qui lance la commande mount peut lire et
modier tous les chiers et rpertoires ; tous les autres utilisateurs peuvent lire, mais ils ne
peuvent pas modier ces chiers.
Vous pouvez modier tous ces paramtres par le biais doptions. Vous trouverez les options
correspondantes dans man mount.
/etc/fstab Les systmes VFAT locaux sont gnralement dnis comme suit dans /etc/fstab. Cette
ligne indique que lutilisateur avec lidentiant 501 peut modier tous les chiers et que les
caractres spciaux des noms de chiers longs (plus de 8+3 caractres) sont reprsents
dans lencodage UTF-8. Ce paramtre est ncessaire si votre distribution est congure par
dfaut en UTF-8, ce qui est le cas dans la majorit des distributions actuelles.
/dev/sda1 /media/win1 vfat noauto,users,gid=users,utf8 0 0
Systme de fichier NTFS (pilote ntfs)
Il existe trois pilotes libres diffrents pour le systme de chiers NTFS.
Les utilisateurs de Red Hat et de Fedora ont longtemps d se passer de pilote NTFS. Ces dis-
tributions nen fournissaient pas par peur dun ventuel procs. Le pilote NTFS devait tre
tlcharg depuis www.linux-nfts.org, puis install. Depuis Fedora 6, le pilote ntfs-3g est
fourni.
Le pilote ntfs Le pilote ntfs intgr au noyau est prsent dans presque toutes les distributions, part Red
Hat et Fedora. Historiquement, il sagit dun redveloppement du pilote pour le noyau 2.6
qui na rien voir avec les pilotes ntfs des versions plus anciennes du noyau. La liste suivante
rsume ltat du pilote ntfs dans le noyau 2.6.24 :
oprations de lecture prises en charge : lecture des chiers et rpertoires, y compris les
chiers compresss et les liens durs ;
oprations dcriture prises en charge : modication des chiers, y compris en modiant
leur taille ;
oprations de lecture non prises en charge : lecture de chiers chiffrs, de ux, liens
symboliques, attributs tendus ;
Linux Livre Page 437 Mardi, 23. septembre 2008 1:05 13
LINUX 438
oprations dcriture non prises en charge : modication des chiers compresss, cra-
tion ou suppression de chiers ou de rpertoires, restauration du systme de chiers
grce aux fonctions de journalisation.
En rsum, le pilote ntfs est gnralement sufsant uniquement pour lire des chiers sur
une partition NTFS et nest adapt que dans des cas particuliers la modication du sys-
tme de chiers. Vous trouverez plus dinformations sur ltat courant du pilote dans le
chier Documentation/filesystems/ntfs.txt du code source du noyau.
Paramtres par
dfaut
Par dfaut, seul root a accs aux chiers. Vous trouverez une rfrence des options de ntfs
pour mount et /etc/fstab dans man mount.
/etc/fstab Les systmes NTFS locaux sont gnralement dnis comme suit dans /etc/fstab. Cette
ligne indique que lutilisateur avec lidentiant 501 peut lire et modier tous les chiers. Les
autres utilisateurs nont aucun accs aux chiers. Les noms de chiers sont reprsents dans
le codage UTF-8.
/dev/sda1 /media/win ntfs nls=utf8,uid=501,gid=100 0 0
Comme les fonctionnalits dcriture du pilote ntfs sont limites, certaines distributions
montent les partitions NTFS avec loption ro (lecture seule).
Administration Le paquetage ntfsprogs contient diverses commandes dadministration des systmes de
chiers NTFS.
Systme de fichiers NTFS (ntfsmount)
La commande ntfsmount est une alternative au module ntfs. Il ne sagit pas dun module
du noyau, mais dun module FUSE. FUSE signie Filesystem in Userspace, systme de
chiers en espace utilisateur. Cest un module du noyau qui communique avec des pro-
grammes externes. FUSE permet dimplmenter des pilotes de systmes de chiers en
dehors du noyau, ce qui est le cas pour ntfsmount. Vous trouverez plus de dtails ce sujet
la page http://www.linux-ntfs.org/doku.php?id=ntfsmount. La liste suivante rsume les
fonctionnalits de ntfsmount version 2.0 :
opration de lecture prises en charge : lecture de chiers et de rpertoires, y compris
compresss et chiffrs, liens durs et liens symboliques, ux, attributs tendus ;
oprations dcriture prises en charge : modication, cration et suppression de
chiers ;
oprations dcriture non prises en charge : modication des chiers compresss ou
chiffrs, restauration du systme de chiers avec les fonctions de journalisation.
Commantes importantes du paquetage ntfsprogs
mkntfs cre un systme de fichiers NTFS
ntfsclone copie un systme de fichiers NTFS
ntfsinfo affiche des informations sur un systme de fichiers NTFS
ntfslabel renomme une partition NTFS
ntfsresize modifie la taille dun systme de fichiers NTFS
ntfsundelete essaie de rcuprer des fichiers supprims
Linux Livre Page 438 Mardi, 23. septembre 2008 1:05 13
439 ADMINISTRATION DU SYSTME DE FICHIERS
Prrequis Pour que ntfsmount fonctionne, certains prrequis doivent tre valids :
ntfsmount doit tre install. La commande se trouve soit dans le paquetage ntfsprogs,
soit dans son propre paquetage (par exemple ntfsprogs-fuse).
ntfsmount utilise les bibliothques et commandes FUSE qui doivent tre galement
installes (paquetages fuse, fuseutils, fuselibs ou libfuse, etc.).
Le module de noyau fuse doit tre disponible, ce qui est le cas pour la plupart des dis-
tributions. Si ntfsmount afche un message derreur indiquant que /dev/fuse nexiste
pas, vous devez le charger manuellement (modprobe fuse).
Dans certaines distributions (Red Hat, Fedora), seuls root et les utilisateurs du groupe fuse ont le droit de
monter des systmes de fichiers grce FUSE.
ntfsmount Pour monter un systme de chiers NTFS avec FUSE, utilisez la commande ntfsmount ou
mount -t ntfs-fuse. Par dfaut, le systme de chiers nest lisible que par root. Vous trouverez
une rfrence des options de ntfsmount dans man ntfsmount.
root# ntfsmount /dev/sda1 /media/win
root# mount -t ntfs-fuse /dev/sda1 /media/win
Pour dmonter le systme de chiers, utilisez comme dhabitude umount ou ntfsmount -u.
/etc/fstab Pour monter automatiquement une partition avec ntfsmount, ajoutez dans /etc/fstab une
ligne selon le schma suivant :
/dev/sda1 /media/win ntfs-fuse uid=501,gid=100 0 0
Lorsque la ligne ntfs-fuse de /etc/fstab reste sans effet ou lorsque mount -t ntfs-fuse renvoie
lerreur unknown filesystem type ntfs-fuse, une cause frquente est que le lien /sbin/mount.ntfs-
fuse vers ntfsmount est manquant ou dfaillant. Les commandes suivantes permettent de rgler cette
situation :
root# cd /sbin
root# rm mount.ntfs-fuse
root# ln -s $(which ntfsmount) mount.ntfs-fuse
Systme de fichiers NTFS (ntfs-3g)
ntfs-3g est techniquement une variante de ntfsmount. ntfs-3g intgre du code supplmen-
taire pour amliorer la prise en charge en criture.
Depuis mars 2007, les dveloppeurs de ntfs-3g lont dclar comme tant ofciellement stable
et lont exprim en passant des numros de version 1.n.
ntfs-3g Pour utiliser ntfs-3g, installez dabord le paquetage portant ce nom. La syntaxe pour mon-
ter un systme de chiers avec ntfs-3g est comparable celle de ntfsmount. Elle se diffrencie
seulement par le nom du systme de chiers. Vous trouverez une rfrence des options de
montage de ntfs-3g dans man ntfs-3g.
Linux Livre Page 439 Mardi, 23. septembre 2008 1:05 13
LINUX 440
root# ntfs.3g /dev/sda1 /media/win
root# mount -t ntfs-3g /dev/sda1 /media/win
umount et fusermount -u permettent de dmonter le systme de chiers.
/etc/fstab La ligne fstab nest modie que par le nom du systme de chiers (ntfs-3g au lieu de
ntfs-fuse) :
/dev/sda1 /media/win ntfs-3g uid=501,gid=100 0 0
Flux Les ux (streams) sont une particularit du systme de chiers NTFS. Un chier NTFS peut
se composer de plusieurs ux. Chaque ux a la mme fonction quun chier. Lorsquon
accde comme dhabitude un chier, le ux par dfaut est lu et modi. Laccs des ux
spciaux (lorsquils existent) passe pas une syntaxe spciale.
Le pilote ntfs-3g offre loption streams_interface pour accder ces ux. Par dfaut,
laccs est bloqu. streams_interface=windows active la syntaxe Windows typique sous la
forme nom_de_fichier:nom_de_flux. streams_interface=xattr permet daccder aux ux
via getfattr/setfattr.
Pour tester cette fonctionnalit, montez le systme NTFS avec loption streams_inter-
face=windows. Crez un nouveau chier streamtest avec cat. Ctrl+D termine la saisie.
Crez ensuite le ux streamtest:stream1.
root# ntfs-3g -o streams_interface=windows /dev/sda1 /media/win
root# mkdir /media/win/test
root# cd /media/win/test
root# cat > streamtest
abc Ctrl+D
root# cat > streamtest:stream1
efg Ctrl+D
root# ls
streamtest
root# cat streamtest
abc
root# cat streamtest:stream1
efg
Les commandes suivantes montrent laccs aux ux via les attributs tendus.
root# cd
root# umount /media/win
root# ntfs-3g -o streams_interface=xattr /dev/sda1 /media/win
root# cd /media/win/test
root# setfattr -n user.stream2 -v "xyz" streamtest
root# getfattr -d -e text streamtest
# file: streamtest
user.stream1="efg^012"
user.stream2="xyz"
Systmes de fichiers NTFS (Captive, Paragon)
Il existe encore deux autres possibilits pour monter un systme de chiers NTFS :
Captive est un paquetage libre, mais il accde au pilote NTFS de Microsoft et ncessite
donc une licence Windows. Cette solution est lente et gourmande en mmoire, mais
Linux Livre Page 440 Mardi, 23. septembre 2008 1:05 13
441 ADMINISTRATION DU SYSTME DE FICHIERS
toutes les fonctions de NTFS sont prises en charge : http://www.jankratochvil.net/pro-
ject/captive/.
Paragon est un produit commercial, compatible avec la majeure partie des fonctions
spciales de NTFS : http://ntfs-linux.com/.
23.8 CD, DVD et disquettes
CD et DVD de donnes
Les lecteurs CD et DVD sont en principe grs comme des disques durs. Cependant, on
peut remarquer deux diffrences importantes. Dune part, on peut changer de CD/DVD
dans un lecteur, alors que lon ne change pas le disque dur traditionnel en cours de fonction-
nement. Dautre part, les CD et DVD de donnes utilisent un autre systme de chiers,
ISO 9660 ou UDF.
ISO 9660 et
UDF
ISO 9660 est une norme universelle pour les CD de donnes. Certaines extensions se sont
tablies pour pallier quelques restrictions. Lextension Rockridge, typique dUnix, permet
denregistrer des noms de chiers longs et des droits daccs. Lextension Joliet, typique de
Windows, permet dutiliser un jeu de caractres Unicode dans les noms de chiers. Lextension
El-Torito permet de dmarrer un ordinateur directement depuis le CD.
UDF (Universal Disk Format, format de disque universel) est le successeur dISO 9660. Il est
utilis sur de nombreux DVD (les DVD peuvent aussi utiliser le format ISO 9660). UDF
permet, la diffrence dISO 9660, les chiers de plus de 2 Go, les noms de chiers jusqu
255 caractres Unicode, une meilleure prise en charge des mdias en lecture-criture, etc.
Noms de
priphriques
CD/DVD
La liste suivante indique quels noms de priphriques sont utiliss pour accder aux lec-
teurs CD/DVD. Le nom du priphrique dpend principalement de sa connexion au sys-
tme (IDE, SCSI, SATA, USB ou Firewire). Pour les priphriques IDE, le pilote utilis (pilote
IDE ou extension libata du systme SCSI) joue galement un rle. Dans le second cas, votre
lecteur IDE se comporte comme un lecteur SCSI.
Si vous ne savez pas quel type de lecteur vous utilisez et comment il est connect lordinateur,
il est probable quil sappelle /dev/hdb, /dev/hdc ou /dev/scd0.
Noms de priphriques CD/DVD
/dev/hda lecteur IDE (matre du premier canal, pilote IDE)
/dev/hdb lecteur IDE (esclave du premier canal, pilote IDE)
/dev/hdc lecteur IDE (matre du second canal, pilote IDE)
/dev/hdd lecteur IDE (esclave du second canal, pilote IDE)
/dev/scd0 oder /dev/sr0 lecteur 1 SATA/SCSI/USB/Firewire/IDE avec pilote libata
/dev/scd1 oder /dev/sr1 lecteur 1 SATA/SCSI/USB/Firewire/IDE avec pilote libata
Linux Livre Page 441 Mardi, 23. septembre 2008 1:05 13
LINUX 442
Certaines distributions crent aussi des liens comme /dev/cdrom, /dev/dvd ou /dev/dvd-
recorder vers le priphrique rel.
Fonctionne-
ment auto-
matique
Pour la plupart des distributions, le systme est congur de manire que, lorsquon insre
un CD ou un DVD de donnes dans le lecteur, une fentre du gestionnaire de fentres appa-
raisse et en afche le contenu. Vous pouvez sortir le CD/DVD tout moment en appuyant
sur le bouton du lecteur ou grce au menu contextuel de licne du lecteur sur le bureau.
Ce comportement est d aux dmons de gestion du matriel de KDE et de Gnome.
Fonctionne-
ment manuel
Lorsque vous travaillez en console ou sur un bureau sans automatismes lis au CD/DVD,
vous devez monter manuellement les CD/DVD. Les noms de priphriques et de rpertoires
varient selon le matriel et la distribution. Les deux lignes suivantes illustrent le montage,
respectivement, dun support ISO 9660 et dun support UDF.
root# mount -t iso9660 -o ro /dev/scd0 /media/dvd
root# mount -t udf -o ro /dev/scd0 /media/dvd
Par dfaut, tous les rpertoires et les chiers sont lisibles par tous les utilisateurs. Si vous
dsirez excuter des programmes qui se trouvent sur un CD ou un DVD, vous devez ajouter
loption exec lors du montage. Pour grer correctement les noms de chiers internationaux,
utilisez loption iocharset=utf8 ou utf8. Vous trouverez plus dinformations dans man
mount.
Avant de pouvoir jecter le CD/DVD, vous devez lancer explicitement umount :
root# umount /media/dvd
la place dumount, vous pouvez lancer la commande eject. Le CD est alors supprim de larborescence
et ject du lecteur. Sil y a plusieurs supports de donnes jectables connects lordinateur, ils sont tests
les uns aprs les autres et le premier support trouv est ject. Vous pouvez aussi indiquer comme option le
nom du priphrique ou le point de montage.
Priphrique
occup
Lorsque la commande umount renvoie le message derreur "priphrique occup", cela signi-
e quun autre programme utilise des donnes sur le CD-ROM. Cest entre autres le cas si
un rpertoire du CD-ROM est ouvert dans un terminal. Lancez-y cd pour revenir votre
rpertoire personnel. Pour chercher lorigine dun problme li umount, vous pouvez utiliser la
commande fuser -m /media/dvd.
Une autre source de problmes peut tre NFS. Si le lecteur CD est utilis via NFS sur un
autre ordinateur, umount choue souvent, mme lorsque lordinateur distant a rendu la main
sur le lecteur CD-ROM. Dans ce cas, il faut redmarrer le serveur NFS, voire, dans de rares
cas, lordinateur lui-mme.
/etc/fstab Dans la plupart des distributions, en raison du mcanisme automatique dcrit ci-dessus, il
ny a pas de ligne pour le lecteur CD/DVD dans /etc/fstab. Si vous montez souvent des
CD/DVD dans larborescence, une ligne comme la suivante se rvle en gnral plus
confortable :
/dev/scd0 /media/dvd udf,iso9660 users,noauto,ro 0 0
Il suft alors de lancer la commande mount /media/dvd ou mount /dev/scd0 pour monter le
CD/DVD. Tous les utilisateurs peuvent lancer ces commandes.
Linux Livre Page 442 Mardi, 23. septembre 2008 1:05 13
443 ADMINISTRATION DU SYSTME DE FICHIERS
CD audio et DVD vido
CD audio Les CD audio sont grs diffremment des CD de donnes. Ils ne sont pas monts dans le
systme de chiers, mais lus directement avec des programmes spciaux (par exemple
Amarok sous KDE ou Rythmbox sous Gnome). On peut aussi lire les pistes audio pour les
transformer, par exemple, en chiers OggVorbis.
DVD vido Les DVD vido sont gnralement au format UDF. Pour lire un DVD vido, vous avez
besoin dun programme comme mplayer ou xine.
Disquettes
Mme si votre ordinateur dispose encore dun lecteur de disquettes, les disquettes ne jouent
plus un grand rle au quotidien sous Linux. Les disquettes que vous avez le plus de chance
de trouver sont des installations de LILO ou de GRUB. Cependant, si vous avez besoin de
lire une disquette, cette section regroupe quelques astuces.
La gestion des disquettes est analogue celle des CD et DVD. Vous montez la disquette avec
mount et accdez ses chiers comme dhabitude. Le nom habituel du priphrique est /dev/
fd0. Pensez lancer umount avant djecter une disquette du lecteur, sans quoi vous risquez
de perdre des donnes. Divers systmes de chiers peuvent se trouver sur une disquette. Le
plus souvent, les disquettes DOS/Windows sont formates en VFAT.
root# mount -t vfat /dev/fd0 /media/floppy
mtools Vous pouvez aussi lire et modier une disquette DOS/Windows sans la monter. Pour cela,
utilisez les commandes mtools, comme mcopy ou mdir. Selon la distribution, il est possible
que vous deviez installer le paquetage mtools.
Formatage
dune
disquette
Pour formater une disquette, utilisez la commande fdformat. Il ne sagit cependant que dun
formatage bas niveau. Pour crer un systme de chiers, vous devez utiliser mformat ou
mkfs.vfat (DOS/Windows), ou encore mke2fs (ext2).
23.9 Supports de donnes externes (USB, Firewire, etc.)
Les cls USB, les cartes mmoire dappareils photo numriques, les disques durs Firewire et
eSATA ainsi que dautres supports de donnes externes ont une particularit commune : ils
sont branchs et dbranchs pendant le fonctionnement de lordinateur. Presque tous ces
lecteurs sont grs comme des lecteurs SCSI. Nous navons trouv comme exception que les
adaptateurs PCMCIA/Flash, qui sont reconnus comme des priphriques IDE.
Fonction-
nement
automatique
Les gestionnaires de bureau KDE et Gnome de presque toutes les distributions ragissent au
branchement dun support de donnes externe en ouvrant (ventuellement aprs conrma-
tion) une nouvelle fentre du gestionnaire de chiers qui offre un accs confortable au sup-
port de donnes. Gnralement, une icne apparat galement sur le bureau. Celle-ci
symbolise le support de donnes et permet de le dmonter partir dun menu contextuel.
Linux Livre Page 443 Mardi, 23. septembre 2008 1:05 13
LINUX 444
Vrifiez que vous avez bien dmont toutes les partitions dun support de donnes avant de le dconnecter
physiquement. Dans la plupart des distributions, cliquez sur licne du support et choisissez
Dconnecter, jecter ou un lment similaire du menu. De cette manire, vous vous assurerez que toutes les
oprations dcriture sont termines avant de couper physiquement la connexion entre le lecteur et lordi-
nateur. Si vous omettez cette tape, vous risquez dendommager votre systme de fichiers ou de perdre des
fichiers.
Si vous navez pas dicne sur votre bureau KDE, saisissez dans Konqueror ladresse media:/. Le gestionnaire
de fichiers affiche alors des icnes pour tous les supports de donnes.
Configuration Sous Gnome, vous pouvez contrler les priphriques externes avec le programme gnome-
volume-properties (voir Figure 23.2). Ce programme se trouve gnralement dans le menu
Systme > Prfrences > Priphriques et mdias amovibles.
Performances Certaines distributions utilisent loption sync par dfaut lorsquelles montent des priphri-
ques externes. Les oprations dcriture ne sont alors pas mises en tampon et sont effectues
immdiatement. Les performances peuvent alors chuter normment. Pour viter cela,
montez le support de donnes manuellement sans loption sync.
Fonctionne-
ment interne
du bran-
chement
chaud
Depuis 2006, la gestion du branchement chaud fait appel au noyau, au systme udev, au
dmon hald et au systme de communication D-Bus. Sous KDE, kioslave media:/ attend
des vnements D-Bus et ragit en fonction. Sous Gnome, gnome-volume-manager effectue
cette tche.
Si vous nutilisez ni KDE ni Gnome et si vous dsirez monter automatiquement des priph-
riques externes, le paquetage ivman (http://ivman.sourceforge.net/) peut vous tre utile.
Larticle consultable ladresse http://www.linux.com/article.pl?sid=06/07/26/2129232 fournit
plus dinformations son sujet.
Il arrive sous KDE et sous Gnome que plusieurs utilisateurs soient connects en mme
temps. Dans ce cas, le premier utilisateur connect obtient les droits daccs sur les priph-
riques nouvellement connects. Ce cas particulier est rsolu selon la distribution et peut
Figure 23.2
Gestion des supports de
donnes externes sous
Gnome.
Linux Livre Page 444 Mardi, 23. septembre 2008 1:05 13
445 ADMINISTRATION DU SYSTME DE FICHIERS
entraner des problmes. Le plus simple est dviter de changer dutilisateur lorsque vous
travaillez avec des disques externes.
Avant la gestion par udev/HAL/D-Bus, il existait dautres alternatives que vous pouvez
encore rencontrer sur des installations plus anciennes :
supermount. Ce pseudo-systme de chiers monte et dmonte automatiquement les
disquettes, CD et DVD.
magicdev. Red Hat employait ce programme dans certaines versions plus anciennes. Il est
dmarr par le gestionnaire de bureau, surveille les lecteurs de disquettes et de CD/DVD
et monte au besoin le systme de chiers correspondant dans larborescence.
subfs/submount. SUSE employait dans les versions 9.1 10.0 le module de noyau non
ofciel subfs qui, en combinaison avec les programmes submountd et net-submountd,
intgrait les supports de donnes externes dans larborescence. Ce systme na jamais
t trs stable.
Fonctionne-
ment manuel
Lorsque vous travaillez en mode texte ou dans un systme de bureau sans gestion automa-
tique des supports de donnes, vous devez lancer vous-mme les commandes mount corres-
pondantes. Pour cela, vriez dabord le nom de votre priphrique (gnralement /dev/
sdx o x est la premire lettre non utilise).
La commande fdisk -l fournit un aperu de tous les supports de donnes (y compris les
disques durs, mais lexception des lecteurs CD et DVD). Dans lexemple suivant, /dev/sda
est le disque SATA interne avec diverses partitions. /dev/sdb /dev/sde sont associs un
lecteur de cartes dans lequel seule une carte CF est insre (/dev/sdc). /dev/sdf1 est la
premire et seule partition dune cl USB.
root# fdisk -l
Disque /dev/sda: 320.0 Go, 320072933376 octets
...
Disque /dev/sdc: 32 Mo, 32112640 octets
...
Disque /dev/sdf: 256 Mo, 256901120 octets
16 heads, 32 sectors/track, 980 cylinders
Units = cylindres of 512 * 512 = 262144 bytes
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sdf1 * 1 980 250864 e W95 FAT16 (LBA)
Les cls USB et les cartes Flash peuvent galement tre formates en tant que super-floppy. Cela signifie
quelles ne contiennent pas de table de partitions. Dans ce cas, le lecteur complet est dsign sous le nom
/dev/sda (et non, comme dhabitude, /dev/sda1).
Lorsque vous connaissez le nom du priphrique, la suite est simple : crez un nouveau
rpertoire et montez-y votre support de donnes :
root# mkdir /media/memorystick
root# mount /dev/sdf1 /media/memorystick
Linux Livre Page 445 Mardi, 23. septembre 2008 1:05 13
LINUX 446
Les supports de donnes externes peuvent utiliser diffrents types de systmes de chiers.
En pratique, VFAT est le plus frquent sur les disques externes et sur les cls USB. Cest ga-
lement le cas des cartes mmoire de divers priphriques lectroniques (PDA, appareils
photo numriques, etc.) utiliss par le biais dun adaptateur USB ou PCMCIA. Sous Linux,
vous pouvez modier le partitionnement du priphrique et formater chaque partition avec
un systme de chiers au choix.
Lorsque vous avez termin ce que vous aviez faire, lancez comme dhabitude la com-
mande umount. Ne dbranchez pas le cble USB ou Firewire avant que la commande umount
soit termine : vous risqueriez de perdre des donnes !
root# umount /media/memorystick
/etc/fstab Seul root a le droit dexcuter la commande mount. Si des utilisateurs sans privilges souhai-
tent monter un support de donnes dans larborescence et le dmonter, root doitajouter la
ligne correspondante dans fstab avec loption users. Pour une cl USB avec un systme de
chiers VFAT, vous pouvez par exemple ajouter :
/dev/sdf1 /media/memorystick vfat users,gid=users,utf8,noatime,noauto 0 0
Tous les utilisateurs peuvent alors monter la cl USB avec mount /media/memorystick et y
lire et crire des chiers. Cette mthode a cependant deux inconvnients :
Selon lordre dans lequel le priphrique est branch, le nom du priphrique peut tre
modi. Si la cl USB est branche en tant que deuxime ou troisime priphrique, elle
peut sappeler /dev/sdg et laccs au rpertoire /media/memorystick choue.
Inversement, la ligne ci-dessus peut tre utilise pour un autre support de donnes, ce
qui nest pas toujours le comportement souhait.
La meilleure solution est dindiquer le nom du priphrique par le biais de son UUID. Pour
dterminer lUUID dun priphrique, utilisez la commande vol_id. Si la commande nest
pas accessible directement sur votre distribution, essayez de lancer /lib/udev/vold_id.
root# vol_id /dev/sdf1
...
ID_FS_UUID=4550-9BD2
La ligne fstab correspondante est ici divise en deux pour des raisons de place :
/dev/disk/by-uuid/4550-9BD2 /media/memorystick vfat \
users,gid=users,utf8,noatime,noauto 0 0
Normalement, il est galement possible de commencer la ligne de fstab par UUID=4550-9BD2. La com-
mande mount fonctionne alors comme dans la variante prcdente, mais la commande umount pose
problme. Malgr lUUID, mount enregistre le nom courant du priphrique. Les lignes de /etc/
fstab et de /etc/mtab ne correspondent donc pas du point de vue de umount, ce qui peut mener
des erreurs.
pmount Les commandes pmount et pumount permettent aux utilisateurs sans privilges de monter et
de dmonter des supports externes. Cependant, ces commandes ne sont disponibles que
dans peu de distributions (Ubuntu en est une exception notable).
Linux Livre Page 446 Mardi, 23. septembre 2008 1:05 13
447 ADMINISTRATION DU SYSTME DE FICHIERS
utilisateur$ pmount /dev/sdf1 /media/usbdisk
utilisateur$ ...
utilisateur$ pumount /media/usbdisk
Avec la conguration par dfaut, pmount permet tous les utilisateurs du groupe plugdev de
monter des supports de donnes externes. Pour des raisons de scurit, cela fonctionne uni-
quement lorsque le priphrique ne se trouve pas dans /dev/fstab. Une partition est consi-
dre comme support externe lorsquelle se trouve sur un lecteur USB ou Firewire pour
lequel le chier /sys/block/nom_du_priphrique/removable contient la valeur 1. De plus,
pmount permet daccder tous les supports de donnes dont le nom de priphrique se
trouve dans /etc/pmount.allow.
Par dfaut, pmount passe mount les options atime, async et utf8 (lorsque cette option est prise
en charge par le systme de chiers). Les options qui diffrent de ce jeu par dfaut doivent tre
indiques explicitement dans une syntaxe diffrente de celle de mount (voir man pmount).
23.10 Systmes de fichiers rseau et virtuels
Systmes de fichiers virtuels
Linux connat de nombreux systmes de chiers virtuels. Il sagit dinformations internes au
fonctionnement de Linux auxquelles on peut accder par le biais dun systme de chiers.
Ces chiers nexistent pas sur un disque dur, ils sont mis disposition par le noyau. Linux
et les programmes excuts par Linux grent ce systme de chiers.
Dans la plupart des distributions, ces systmes de chiers sont monts directement par le
processus InitV sans prendre en compte fstab les lignes correspondantes napparaissent
donc pas. Les systmes virtuels actifs peuvent tre consults dans le chier /etc/mtab ou
proc/mounts.
Systmes de fichiers rseau Unix (NFS)
NFS (Network File System, systme de chiers rseau) est la mthode habituelle pour exporter
un rpertoire dun ordinateur vers le rseau local.
Cette section se limite NFS version 3. NFS4 nest pas encore vraiment rpandu. Vous
trouverez plus dinformations son sujet au Chapitre 30.
Prrequis Pour utiliser NFS, vous devez remplir quelques conditions pralables :
Lordinateur sur lequel vous voulez lire ou modier des donnes doit tre accessible par
le rseau (testez cela avec ping).
Il doit galement avoir un serveur NFS install et congur pour vous permettre dacc-
der aux chiers du rpertoire souhait. Vous trouverez plus dinformations ce sujet au
Chapitre 30.
Si votre ordinateur ou le serveur NFS font fonctionner un pare-feu, les communications
NFS ne doivent pas tre bloques. NFS utilise gnralement le protocole UDP.
Linux Livre Page 447 Mardi, 23. septembre 2008 1:05 13
LINUX 448
mount Une fois ces conditions remplies, laccs un rpertoire NFS est simple. La commande sui-
vante monte le rpertoire /data de lordinateur mars dans le rpertoire /media/nfsdata de
larborescence. Ce rpertoire doit exister avant dexcuter la commande. Vous trouverez les
options de mount spciques au NFS dans man mount.
root# mount -t nfs mars:/data /media/nfsdata
Vous pouvez aussi utiliser ladresse IP de lordinateur la place de son nom.
Pour dconnecter le rpertoire NFS, utilisez comme dhabitude umount. Si la connexion
rseau est interrompue, lancez umount avec loption -f pour acclrer lopration.
root# umount /media/nfsdata
/etc/fstab Pour monter automatiquement un systme de chiers NFS au dmarrage de lordinateur,
ajoutez une ligne selon ce schma /etc/fstab. Loption bg, spcique NFS, permet dex-
cuter la commande mount en tche de fond lorsque le rpertoire nest pas immdiatement
disponible.
jupiter:/data /externaldata nfs user,exec,bg 0 0
Pour la plupart des distributions, tous les rpertoires de /etc/fstab sont monts par le pro-
cessus InitV. SUSE est une exception, il faut que le service nfs soit explicitement activ :
root# insserv nfs
NFS ne se proccupe pas du jeu de caractres des noms de fichiers et les interprte comme des suites
doctets. NFS suppose que tous les utilisateurs emploient le mme jeu de caractres. Si ce nest pas le cas, les
caractres non ASCII saffichent mal.
Il ny a pas de solution ce problme. Assurez-vous que tous les utilisateurs emploient le mme jeu de
caractres ou vitez les caractres internationaux dans les noms de fichiers.
Rpertoires rseau Windows (cifs, smbfs)
Le protocole SMB est le quasi quivalent Windows de NFS. On accde gnralement aux
rpertoires Windows grce au gestionnaire de chiers (voir Chapitres 4 et 5 pour Gnome et
KDE).
Vous pouvez aussi mettre en uvre le systme de chiers cifs ou son prdcesseur obsolte
smbfs pour monter des rpertoires Windows comme des rpertoires NFS. Vous pouvez alors
accder tous les chiers comme sils se trouvaient dans votre systme de chiers. Cette
manire de procder est confortable et fonctionne bien tant que le rpertoire est partag sur
le rseau.
smbfs et cifs Linux peut utiliser deux systmes de chiers pour laccs aux rpertoires rseau Windows :
SMBFS et CIFS. CIFS est une extension du systme de chiers rseau de Microsoft et il est
prfrable de lutiliser autant que possible. Les serveurs CIFS Samba envoient des informa-
tions compatibles avec Unix/Linux propos des droits daccs, ce qui nest pas le cas de
SMBFS.
mount La commande mount permet de monter des rpertoires rseau Windows dans votre sys-
tme de chiers local. Vous pouvez indiquer le systme de chiers (smbfs ou cifs) avec
loption -t. En interne, mount lance les commandes smbmount et mount.cifs, respectivement.
Linux Livre Page 448 Mardi, 23. septembre 2008 1:05 13
449 ADMINISTRATION DU SYSTME DE FICHIERS
Vous trouverez une rfrence des options de ces deux systmes de chiers dans man
mount.cifs pour cifs et dans man smbmount pour smbfs.
root# mount -t cifs //venus/partage /media/winshare
root# mount -t cifs -o username=nom //venus/partage /media/winshare
La commande vous demande un mot de passe, que vous pouvez aussi saisir directement :
root# mount -t cifs -o username=nom,password=pw \
//venus/partage /media/winshare
/etc/fstab Pour monter un systme de chiers Windows lors du dmarrage de lordinateur, ajoutez
une ligne de ce type dans /etc/fstab :
//venus/partage /media/winshare cifs defaults 0 0
Cela suft dans la plupart des distributions. SUSE prsente le mme type dexception que
pour NFS et il faut activer le script InitV smbfs :
root# insserv smbfs
Partages CIFS
pour les
utilisateurs
sans privilges
On peut prfrer prparer Linux pour quun utilisateur sans privilges root puisse monter
ou dmonter un systme de chiers distant. La procdure est peu pratique et dpend de la
distribution pour certains dtails. Jai test ce qui suit dans Ubuntu 8.04.
Ladministrateur cre un nouveau rpertoire et lassocie lutilisateur par dfaut dUbuntu :
user$ sudo -s -H
Password: xxxxxx
root# mkdir /media/winshare
root# chown 1000:1000 /media/winshare
chmod permet de positionner le bit SUID aux commandes mount.cifs et umount.cifs. Cela
induit un risque dinscurit, mais sinon la procdure ne fonctionne pas. Pesez les avantages et
les inconvnients dune telle solution avant de la mettre en uvre.
root# chmod +s /sbin/mount.cifs
root# chmod +s /sbin/umount.cifs
Crez un chier /etc/.winshare-pw contenant lidentiant et le mot de passe du rpertoire
rseau si une authentication est ncessaire :
username=nom
password=xxx
Modiez les droits daccs au chier pour que tout le monde ne puisse pas accder des
mots de passe en clair :
root# chmod go-rw /etc/.winshare-pw
Pour nir, ajoutez /etc/fstab une ligne de ce type (ici spare en deux pour des raisons de
place) :
//venus/partage /media/winshare cifs \
users,noauto,credentials=/etc/.winshare-pw,dir_mode=777,file_mode=777 0 0
Linux Livre Page 449 Mardi, 23. septembre 2008 1:05 13
LINUX 450
23.11 Partitions et fichiers dchange
Lorsque la mmoire vive ne suft pas pour lexcution de tous les programmes, Linux
dcharge une partie de cette mmoire dans une partition ou un chier dchange. Linux peut
ainsi utiliser plus de mmoire que de RAM disponible.
La partition dchange est normalement cre pendant linstallation. La commande free
indique combien de mmoire dchange est disposition. Dans lexemple suivant, lordina-
teur dispose de 1 519 Mo de RAM et de 2 000 Mo de mmoire dchange. La RAM est utili-
se 401 Mo par des programmes et des donnes, le reste est utilis comme tampon et
comme cache. La mmoire dchange est pour linstant inutilise.
root# free -m
total used free shared buffers cached
Mem: 1519 1479 39 0 67 1010
-/+ buffers/cache: 401 1117
Swap: 2000 0 2000
Lorsquun ordinateur fonctionne pendant longtemps, il accde gnralement lespace
dchange mme lorsque beaucoup de mmoire vive est encore disponible. En effet, le
noyau utilise un cache pour les accs en lecture sur les chiers. Si un chier est rutilis par
la suite, il peut tre lu partir du cache. Lorsque le cache est plus grand que la mmoire dis-
ponible, Linux dcharge les blocs mmoire quil na pas utiliss depuis longtemps dans la
partition dchange. Ce nest pas un signe que la mmoire vive est insufsante. Linux essaie
dutiliser la mmoire disponible de la manire la plus efcace possible.
/etc/fstab Les lignes suivantes montrent deux partitions dchange dans /etc/fstab. Loption pri
indique que les deux partitions sont gres de manire identique par Linux. Cela permet
damliorer les performances lorsque les deux partitions se trouvent sur deux disques ind-
pendants. Si une seule partition dchange est disponible, utilisez plutt loption pri=0.
/dev/sda9 swap swap pri=1 0 0
/dev/sdc7 swap swap pri=1 0 0
Combien de
mmoire
dchange ?
On comptait auparavant quun espace dchange devait tre dimensionn pour contenir
deux fois la mmoire vive. Avec laugmentation de la quantit de RAM, cette rgle nest plus
que rarement de mise. Gnralement, pour un ordinateur de bureau, une partition
dchange nettement plus petite suft (par exemple 512 Mo pour 2 Go de RAM).
Les ordinateurs portables sont un cas particulier lorsque vous dsirez utiliser les fonctions de
Suspend to Disk (mise en suspens sur le disque). La mmoire vive complte est alors enregis-
tre dans la partition dchange avant que lordinateur ne passe en veille. Cela suppose que la
partition dchange est plus grande que la mmoire vive (par exemple dun facteur 1,5).
Lorsque vous faites fonctionner un serveur, les donnes sont encore diffrentes. Oracle
conseille par exemple pour son serveur de bases de donnes (10.2) dadapter le facteur multi-
plicatif la taille de la mmoire vive :
jusque 2 Go facteur 2
2 8 Go facteur 1
plus de 8 Go facteur 0,75
Linux Livre Page 450 Mardi, 23. septembre 2008 1:05 13
451 ADMINISTRATION DU SYSTME DE FICHIERS
Sur les systmes 32 bits, la partition dchange est limite 2 Go. Si vous souhaitez plus
despace dchange, vous devez crer plusieurs partitions dchange.
Cration dune
partition
dchange
Si votre partition dchange est trop petite ou si vous souhaitez en crer une autre, crez une
nouvelle partition. Donnez-lui comme type de partition Linux swap (82 dans fdisk), forma-
tez-la avec mkswap et activez-la avec swapon. Lorsque tout cela fonctionne, ajoutez une ligne
/etc/fstab.
Fichier
dchange
On peut aussi crer, la place dune partition dchange, un chier dchange. Cependant,
ce nest quune solution durgence car laccs au systme de chiers en est ralenti.
Suivez pour cela les tapes suivantes :
root# dd bs=1024 if=/dev/zero of=/swapfile count=1000
1000+0 enregistrements lus
1000+0 enregistrements crits
1024000 bytes (1,0 MB) copied, 0,0990064 s, 10,3 MB/s
root# swap /swapfile 1000
Initialisation de la version de lespace de swap 1, taille = 1019 kB
root# sync
root# swapon -v /swapfile
swapon sur /swapfile
Vous pouvez ensuite ajouter le nouveau chier comme une partition dchange dans fstab :
/swapfile none swap sw 0 0
23.12 LVM
LVM (Logical Volume Manager, gestionnaire par volumes logiques) est une couche logique
entre le systme de chiers et les partitions du disque dur. Elle est gre par le module du
noyau md_mod. Cette section est une courte introduction aux bases et la conguration
manuelle de LVM. Vous trouverez plus dinformations aux adresses http://fr.wikipedia.org/
wiki/Gestion_par_volumes_logiques, http://www.redhat.com/magazine/009jul05/featu-
res/lvm2/, http://www.traduc.org/docs/HOWTO/vf/LVM-HOWTO.html et http://sour-
ceware.org/lvm2/.
Avantages et
inconvnients
La description de LVM peut paratre abstraite, mais ses avantages sont rels :
Vous pouvez crer et redimensionner des partitions sans redmarrer lordinateur en
fonctionnement normal : le problme dune partition trop petite appartient au pass.
Vous pouvez joindre plusieurs disques en une seule norme partition virtuelle.
Vous pouvez crer un instantan dun systme de chiers trs facilement. Un tel mca-
nisme est idal pour les sauvegardes dun systme en cours de fonctionnement.
LVM est trs rapide. La exibilit induite ne lest pas au dtriment des performances.
Cependant, LVM prsente galement quelques inconvnients :
LVM doit tre mis en place ds la cration de la partition.
Linux Livre Page 451 Mardi, 23. septembre 2008 1:05 13
LINUX 452
Il soccupe uniquement des partitions et pas du systme de chiers qui sy trouve. Lors-
que vous avez modi la taille dune partition, vous devez modier la taille du systme
de chiers. Gnralement, cela ne fonctionne que lorsquil nest pas utilis (lorsquil est
dmont).
Lorsquun systme de chiers est rparti sur plusieurs disques, la probabilit derreur
augmente. Un problme sur un seul disque dur rend toutes les donnes inutilisables.
La gestion des partitions est plus souple, mais aussi plus complique, en particulier en
ce qui concerne la rcupration en cas dincident.
Vous ne pouvez pas accder une partition contenue dans un systme LVM sous
Windows.
Les versions courantes de GRUB ne parviennent pas dmarrer depuis une partition
LVM. Vous avez donc besoin dune partition /boot lextrieur de LVM.
Versions Il existe deux versions de LVM : LVM1 partir du noyau 2.4 et LVM2 partir du noyau 2.6.
Cette section traite exclusivement de LVM2.
Vous pouvez connatre votre version de LVM avec lvm version. Vous devez installer les
outils LVM2 et charger le module dm_mod.
root# modprobe dm_mod
root# lvm version
LVM version: 2.02.26 (2007-06-15)
Library version: 1.02.20 (2007-06-15)
Driver version: 4.12.0
LVM pour la
partition
systme
Dans cette section, je pars du principe que vous ne mettez en place LVM que pour les
partitions de donnes et que la partition systme est une partition habituelle. Si vous
dsirez mettre en place LVM pour la partition systme, vous devez remplir les conditions
suivantes :
Votre distribution doit le permettre pendant linstallation. Cest le cas pour Debian,
Fedora, Red Hat, SUSE et Ubuntu.
Vous devez crer une partition damorage en dehors du systme LVM ou utiliser le
gestionnaire damorage LILO.
Le chier initrd doit contenir le module md_mod.
Glossaire
Voici un glossaire rapide des divers termes associs LVM.
Volume physique (PV, physical volume). Un PV est un disque utilis par une partition
LVM. Il peut sagir dun disque ou dun ensemble de disques mont en RAID.
Groupe de volumes (VG, volume group). Un ou plusieurs volumes physiques peuvent
tre rassembls dans un groupe. On peut alors rpartir des partitions sur les disques
durs.
Volume logique (LV, logical volume). Un LV est une partie du VG. Pour lutilisateur, un
LV fait ofce de partition. Le systme de chiers y est cr. Tant quil reste de lespace
sur le VG, on peut crer ou agrandir des LV volont.
Linux Livre Page 452 Mardi, 23. septembre 2008 1:05 13
453 ADMINISTRATION DU SYSTME DE FICHIERS
Priphrique physique (PD, physical device). Il sagit dun disque dur. LVM peut utiliser
tout le disque ou plusieurs partitions de ce disque sous la forme de PV.
Extension physique (PE, physical extent). On ne peut pas grer chaque octet dun VG
ou dun LV indpendamment. La plus petite unit de donnes est une extension physique
et sa taille est gnralement de 4 Mo.
Mettre en place un systme LVM simple
Pour ce qui suit, je pars du principe que vous avez install Linux sans LVM et que vous sou-
haitez utiliser des partitions supplmentaires en LVM. Cette section traite du cas o vous
navez quun seul disque utiliser en LVM.
Rglage des
identifiants de
partitions
Les partitions de disque dur doivent tre identies en tant que partitions LVM. Si vous uti-
lisez fdisk, vous pouvez leur associer lidentiant hexadcimal 8e avec la commande T.
Dans parted, la commande correspondante est set numro_partition lvm on.
Dans cet exemple, le systme LVM est cr sur /dev/sdc1, puis tendu /dev/sdc2.
root# fdisk -l /dev/sdc
Disque /dev/sdc: 320.0 GB, 320072933376 octets
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sdc1 1 1217 9775521 8e Linux LVM
/dev/sdc2 1218 2434 9775552+ 8e Linux LVM
Fichier de
configuration
Le seul chier de conguration que vous pouvez modier vous-mme sappelle /etc/lvm/
lvm.conf. Il contient divers paramtres de base qui nont que rarement besoin dtre modis.
Tous les autres paramtres de LVM (paramtres spciques aux volumes) sont grs par les
outils associs.
Initialisation
de LVM
Pour initialiser LVM, lancez modprobe et vgscan. Ces oprations sont prises en charge par les
distributions compatibles avec LVM2 ds le dmarrage de lordinateur lorsque le systme
LVM est mis en uvre.
root# modprobe dm_mod
root# vgscan
Reading all physical volumes (this may take a while...)
No volume groups found
Cration dun
volume
physique
Avant que LVM gre la partition /dev/sdc1, il faut dclarer celle-ci comme volume physique.
Attention, vous perdrez toutes les donnes qui se trouvent sur cette partition.
root# pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created
Cration dun
groupe de
volumes
Il faut maintenant grouper tous les volumes physiques dans un groupe de volumes. Dans
cet exemple, il ny a quun seul PV, mais cette tape reste ncessaire. La commande
vgcreate doit galement contenir le nom souhait du VG. Dans cet exemple, le VG est
nomm myvg1 :
root# vgcreate myvg1 /dev/sdc1
Volume group "myvg1" successfully created
Linux Livre Page 453 Mardi, 23. septembre 2008 1:05 13
LINUX 454
Cration
dun volume
logique
monvg1 est un espace encore inutilis. Pour lutiliser, vous devez crer un volume logique,
cest--dire une partition virtuelle. Pour cela, utilisez la commande lvcreate qui a besoin de
trois informations : la taille du volume logique, son nom et le nom du groupe de volumes.
root# lvcreate -L 2G -n myvol1 myvg1
Logical volume "myvol1" created
Cration
dun systme
de fichiers dans
le volume
logique
Pour crer un systme de chiers dans le volume logique, utilisez simplement mkfs.ext3 ou
mkfs.xfs :
root# mkfs.ext3 /dev/myvg1/myvol1
mount permet de vrier que tout a fonctionn :
root# mkdir /test
root# mount -t ext3 /dev/myvg1/myvol1 /test
Arrt de LVM LVM est interrompu lors de larrt de lordinateur. Vous pouvez aussi effectuer cette opration
manuellement avec vgchange :
root# umount /test
root# vgchange -a n
0 logical volume(s) in volume group "myvg1" now active
Pour rutiliser LVM, relancez vgchange avec loption -a y :
root# vgchange -a y
1 logical volume(s) in volume group "myvg1" now active
Redimensionner un systme de fichiers
Agrandir
un systme
de fichiers
Pour agrandir un systme de chiers, il faut dabord agrandir le volume logique correspondant :
root# lvextend -L 3G /dev/myvg1/myvol1
Extending logical volume myvol1 to 3,00 GB
Logical volume myvol1 successfully resized
Il faut ensuite agrandir le systme de chiers. Si votre noyau ne contient pas le correctif
ext2online, vous devez dmonter la partition, la vrier avec fsck.ext3, la redimensionner
avec resize2fs et la remonter :
root# umount /test
root# fsck.ext3 -f /dev/myvg1/myvol1
...
root# resize2fs /dev/myvg1/myvol1
Resizing the filesystem on /dev/myvg1/myvol1 to 786432 (4k) blocks.
Le systme de fichiers de /dev/myvg1/myvol1 a maintenant une taille de 786432
blocs.
root# mount -t ext3 /dev/myvg1/myvol1 /test
Rduire
un systme
de fichiers
Pour rduire un systme de chiers, vous devez dabord le rduire avec resize2fs ou loutil
quivalent du systme de chiers considr :
root# umount /test
root# fsck.ext3 -f /dev/myvg1/myvol1
root# resize2fs /dev/myvg1/myvol1 2560M
resize2fs 1.38 (30-Jun-2005)
Resizing the filesystem on /dev/myvg1/myvol1 to 655360 (4k) blocks.
Linux Livre Page 454 Mardi, 23. septembre 2008 1:05 13
455 ADMINISTRATION DU SYSTME DE FICHIERS
Vous pouvez alors rduire le volume logique avec lvreduce. Attention, vous devez indiquer
la taille correcte. Dans cet exemple, la taille des blocs est dexactement 1 Ko, il ny a donc
rien calculer. Ce nest pas toujours le cas.
root# lvreduce --size 2560M /dev/myvg1/myvol1
WARNING: Reducing active logical volume to 2,50 GB
THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce myvol1? [y/n]: y
Reducing logical volume myvol1 to 2,50 GB
Logical volume myvol1 successfully resized
Agrandir le
groupe de
volumes
Si vous navez plus de place sur le groupe de volumes et que vous souhaitez ajouter une
partition, reportez-vous aux tapes suivantes :
root# pvcreate /dev/sdc2
Physical volume "/dev/sdc2" successfully created
root# vgextend myvg1 /dev/sdc2
Volume group "myvg1" successfully extended
root# vgdisplay myvg1
...
VG Size 18,64 GB
Alloc PE / Size 640 / 2,50 GB
Free PE / Size 4132 / 16,14 GB
...
23.13 Optimiser les paramtres du disque dur
hdparm
hdparm a t dvelopp pour congurer les disques durs IDE. Depuis la version 2.6.15 du
noyau, il fonctionne aussi pour les disques SATA. Il faut que le noyau prenne en charge
loption libata passthrough. Le plus simple est de tester cela avec hdparm -i priphri-
que : si cette commande renvoie des donnes sur le fonctionnement du disque, hdparm fonc-
tionne. Notez cependant que de nombreuses options de hdparm sont redondantes pour les
disques durs : par exemple les disques SATA ont toujours le mode DMA activ.
tat du disque La commande hdparm -I afche des informations sur le disque dur.
Performances
du disque dur
hdparm -tT afche les performances de transfert de donnes entre le disque dur et lordina-
teur. Cette commande renvoie deux rsultats : les performances pour les donnes dans le
cache du disque dur et les performances pour les donnes qui doivent tre lues sur le disque
dur. Jai obtenu les rsultats suivants sur mon disque dur SATA. Cependant, les performances
ne sont que thoriques.
root# hdparm -tT /dev/sda
Timing cached reads: 15172 MB in 2.00 seconds = 7592.33 MB/sec
Timing buffered disk reads: 224 MB in 3.00 seconds = 74.54 MB/sec
Cache
dcriture
La plupart des disques durs utilisent une mmoire tampon pour les oprations dcriture.
Ds que les donnes sy trouvent, le disque dur indique au systme dexploitation que les
Linux Livre Page 455 Mardi, 23. septembre 2008 1:05 13
LINUX 456
donnes sont crites, mais elles ne le sont physiquement quun peu plus tard. Ce cache acc-
lre les oprations dcriture, mais reprsente un risque dinscurit des donnes. Lors
dune coupure de courant, des donnes peuvent ne pas tre compltement enregistres et
mme un systme de chiers journalis ny fera rien.
Pour dsactiver le cache ce qui diminue les performances mais augmente la scurit , uti-
lisez la commande hdparm -W0. hdparm -W1 ractive le cache.
conomie
dnergie
Les disques durs de portables modernes peuvent tre teints aprs une certaine priode
dinactivit pour conomiser lnergie. laccs suivant, il faut compter quelques secondes
avant que le disque dur ne soit prt lutilisation. Loption -S permet de rgler la valeur
avant que le disque ne soit dsactiv. La valeur de cette option va de 0 255 et son interpr-
tation est dtaille dans man hdparm. vitez les valeurs trs faibles : cela conomise certes de
lnergie, mais rduit normment la dure de vie du disque dur, qui nest prvue que pour
10 000 cycles de dsactivation/ractivation.
La commande suivante dsactive le disque au bout de dix minutes sans activit :
root# hdparm -S 120 /dev/hda
SMART
SMART signie Self-Monitoring, Analysis and Reporting Technology (technologie dautosur-
veillance, danalyse et de rapport) et est utilisable par presque tous les disques IDE, SATA et
SCSI courants. SMART permet denregistrer divers paramtres du disque dur intervalles
rguliers. Ces paramtres donnent un avertissement sur dventuels dfauts du disque et
sur sa dure de vie. La surveillance de ces paramtres par le systme dexploitation est un
systme dalerte prcoce.
Vous trouverez plus dinformations au sujet de SMART dans les pages
http://fr.wikipedia.org/wiki/Self-Monitoring,_Analysis_and_Reporting_Technology,
http://smartmontools.sourceforge.net/ et http://www.linuxjournal.com/article/6983.
Prrequis Pour que SMART puisse tre utilis, quelques conditions doivent tre remplies :
Le disque dur doit prendre en charge SMART. Vous pouvez par exemple savoir cela
avec hdparm -I.
Il doit sagir dun disque dur interne. SMART ne peut pas tre utilis sur les disques
USB et Firewire.
Les disques durs connects par un contrleur RAID matriel ne peuvent utiliser
SMART que dans certains cas particuliers.
Le paquetage smartmontools doit tre install.
Le noyau a besoin, pour les disques SATA, de loption libata passthrough. Cest gn-
ralement le cas pour les noyaux partir de la version 2.6.15.
tat du disque Pour lire les donnes SMART et pour effectuer les tests SMART, on utilise la commande
smartctl.
Lancez smartctl -i pour voir si le disque prend en charge SMART. Si, pour un disque SATA,
le message derreur Device does not support SMART safche, vous devez indiquer le type
de disque avec -d ata. Cette option est ncessaire uniquement pour les versions anciennes
de smartctl.
Linux Livre Page 456 Mardi, 23. septembre 2008 1:05 13
457 ADMINISTRATION DU SYSTME DE FICHIERS
Lorsque smartctl -i afche dans la dernire ligne SMART support is Disabled, activez
SMART avec smartctl -s on.
smartctl -H indique si un disque dur est dans un tat correct et sil est probable quil fonc-
tionne encore dans les prochaines vingt-quatre heures. Si smartctl ne renvoie pas PASSED
comme rsultat, il est urgent de faire une sauvegarde complte du disque concern.
root# smartctl -H /dev/hda
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
smartctl -A afche une liste des attributs du disque dur. Pour interprter les rsultats, il
faut prendre en compte deux valeurs. La colonne VALUE est la valeur actuelle et TRESH est le
seuil au-dessous duquel il faut sattendre des problmes.
Les valeurs sont normalises 100. Par exemple, la valeur Power_On_Hour (indiquant le
nombre dheures pendant lesquelles le disque a fonctionn) est 100 pour un nouveau dis-
que dur et chute au fur et mesure vers 0. La colonne RAW_VALUE indique la valeur brute de
la donne, en loccurrence le nombre dheures de fonctionnement.
smartctl -l error afche des informations sur les cinq dernires erreurs rencontres. Les
erreurs isoles qui ne se rptent pas ne sont gnralement pas pertinentes.
Excution
dun test
SMART permet dtablir encore plus prcisment ltat dun disque avec des tests pousss.
Il existe deux tests : un test court (smartctl -t short) et un test long (smartctl -t long). Le
test est effectu en tche de fond et vous pouvez continuer travailler normalement. Une
fois le test termin, vous pouvez en voir le rsultat avec smartctl -l selftest.
Surveillance
automatique
Il existe galement des outils de surveillance automatique pour collecter des informations
rgulirement sur le disque et pour prvenir lutilisateur en cas de dfaillance. Vous pouvez
par exemple utiliser le dmon smartd (voir man smartd).
Linux Livre Page 457 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 458 Mardi, 23. septembre 2008 1:05 13
24
Dmarrage du systme
Ce chapitre traite du dmarrage dun systme Linux, qui est assur par trois composants :
GRUB sert dmarrer le noyau Linux. Pour cela, il faut linstaller sur une disquette ou
sur le secteur damorage dun disque dur. Il existe des alternatives GRUB, comme
LILO, mais leur usage est de plus en plus restreint.
Lorsque le noyau fonctionne, le systme est initialis (dtection du matriel, accs au
disque dur, etc.). Si cela pose problme, vous pouvez passer des options damorage.
Pour nir, le noyau dmarre le programme init du processus InitV. init effectue diver-
ses tches dinitialisation, comme le montage des systmes de chiers et le dmarrage
des services rseau. Des connaissances de base sur ce processus savrent utiles
lorsquon congure des services.
24.1 GRUB
Pour tre prcis, nous ne parlons pas ici simplement de GRUB, mais de GNU GRUB 0.9.n
legacy. legacy indique que cette version nest plus dveloppe activement. Depuis 2005, les
dveloppeurs travaillent sur une nouvelle implmentation de GRUB, nomme GRUB 2. Mi-
2008, celle-ci ntait toujours pas utilise en pratique. La plupart des distributions fournissent
pour linstant GRUB 0.9.n, auquel ce chapitre est consacr.
GRUB signie GRand Unied Bootloader (grand chargeur damorage uni). La documenta-
tion ofcielle est accessible avec info grub. Vous trouverez plus dinformations sur GRUB,
y compris GRUB 2, la page http://www.gnu.org/software/grub/.
Dtails du dmarrage du systme
Avant de traiter de linstallation et de la conguration de GRUB, voici un aperu des opra-
tions effectues lamorage. Lorsque vous allumez votre ordinateur, le BIOS est initialis.
Certains messages apparaissent lcran, comme par exemple la quantit de mmoire de
votre ordinateur.
Le BIOS charge le contenu du premier secteur du premier disque dur ou de la disquette en
mmoire et excute son code. Ce secteur spcial du disque dur sappelle le MBR (Master Boot
Record, enregistrement damorage matre).
Si seul Windows est install sur votre ordinateur, le petit programme qui se trouve dans le
MBR le lance. Pour Windows NT/2000/XP/Vista, le systme dexploitation nest pas
dmarr directement ; le processus de dmarrage passe par le chargeur damorage. Vous
pouvez, dans ce menu, choisir entre plusieurs versions de Windows.
Chargeur
damorage
de Linux
Si Linux est galement install sur votre ordinateur, le MBR doit contenir le programme qui le
dmarre. Il existe plusieurs chargeurs damorage pour Linux, dont le plus populaire est GRUB.
Linux Livre Page 459 Mardi, 23. septembre 2008 1:05 13
LINUX 460
Le MBR ne peut contenir que 512 octets de donnes. Cest pourquoi le chargeur damorage
ne se trouve pas compltement dans le MBR. Pour contourner cette limite de place, celui-ci
ne contient que le code qui permet de charger le reste du chargeur damorage depuis le
disque dur.
Le code de GRUB est divis en deux ou trois parties. stage1 se trouve dans le MBR et na
comme tche que de charger les premiers secteurs de stage1_5 ou stage2. stage1_5 contient
le code supplmentaire pour accder aux chiers dans divers systmes de chiers et stage2
le gestionnaire damorage rel.
Ds que le gestionnaire damorage est lanc, un menu apparat. Celui-ci permet de choisir
entre tous les systmes dexploitation dnis dans la conguration de GRUB. Vous pouvez
naviguer dans ce menu laide des touches de direction et dmarrer le systme souhait
avec Entre. Le gestionnaire damorage est souvent congur pour dmarrer un systme
donn au bout dun certain temps.
Il nexiste quun seul MBR, mais il peut y avoir plusieurs systmes dexploitation sur votre disque dur. Cela risque
videmment de mener des conflits !
Lorsque vous rinstallez Windows, le MBR est cras et vous ne pouvez plus dmarrer Linux directement.
Si votre ordinateur dispose dun lecteur CD, vous pouvez crer dans ce cas une disquette damorage
GRUB. Si vous navez pas de lecteur de disquette, vous devez lancer pour rparer GRUB un systme live
(par exemple Knoppix) ou un systme durgence (fourni sur le CD ou DVD dinstallation de nombreuses
distributions).
Inversement, GRUB crase galement, lorsquil est install, le code prsent sur le MBR. Cela nest normale-
ment pas un problme, car GRUB peut dmarrer Windows. Malheureusement, linstallation de GRUB peut
chouer. Si cela vous arrive, vous ne pouvez plus dmarrer aucun systme.
Dmarrage
de Linux
Lorsque vous dcidez de lancer Windows, le chargeur damorage doit charger et dmarrer
le chier du noyau sur le disque dur. Ce chier sappelle gnralement /boot/vmlinuz (z
indique que le noyau est compress). Le chargeur damorage doit donc pouvoir charger un
chier depuis le systme de chiers Linux.
Paramtres
du noyau
En gnral, on passe peu de paramtres au noyau, mais il en faut au moins un : le nom du
priphrique contenant la partition systme (par exemple root=/dev/sdb13). Ainsi, le noyau
connat la partition systme. Ds que le noyau est lanc, il passe le contrle au programme
/sbin/init. Ce programme sert initialiser le systme Linux ; il dmarre par exemple tous
les services rseau.
Accs aux
modules
du noyau
Il faut encore prendre en compte une particularit : le noyau Linux est modulaire. Cela
signie quil ne contient que des fonctions relativement lmentaires. Les fonctionnalits
supplmentaires, par exemple pour accder divers composants matriels ou lire et crire
diffrents systmes de chiers, se trouvent dans des modules qui sont chargs depuis le
systme de chiers et qui tendent le noyau.
Pour que le processus de dmarrage fonctionne, le noyau doit pouvoir accder la partition
systme. Si celle-ci est formate dans un systme de chiers que le noyau ne prend pas en
charge ou si elle se trouve sur un disque SCSI pour lequel le noyau na pas de pilote matriel,
survient le classique problme du paradoxe de luf et de la poule : le noyau ne peut pas
Linux Livre Page 460 Mardi, 23. septembre 2008 1:05 13
461 DMARRAGE DU SYSTME
accder au systme de chiers et ne peut donc pas charger le module ncessaire pour lire
des chiers sur le systme de chiers.
Fichier initrd La solution ce problme est de charger, en plus du noyau, un chier initrd. Il sagit dun
chier spcial qui contient tous les modules du noyau ncessaires au dmarrage du sys-
tme. Ce chier est gr par le noyau comme un disque en mmoire vive le noyau peut
alors lancer les modules ncessaires une fois le disque virtuel charg.
Le chier initrd sappelle souvent /boot/initrd ou /boot/initrd.gz. La plupart des distri-
butions fournissent des outils pour crer un chier initrd qui correspond au matriel et au
systme de chiers de la partition systme (commande mkinitrd).
Installation et
configuration
de GRUB
Lorsque nous parlons dinstallation de logiciels dans cet ouvrage, cela implique souvent
linstallation dun paquetage depuis un CD ou Internet. Dans ce chapitre, une autre signi-
cation sapplique. "Installer GRUB" dcrit le processus dcriture du code de dmarrage de
GRUB sur le secteur damorage dun disque dur ou dune disquette. Nous supposerons
que le paquetage logiciel GRUB est install.
La conguration de GRUB consiste modier /boot/grub/menu.lst de manire que tous les
systmes puissent tre dmarrs. GRUB accde par dfaut ce chier. Dans GRUB 2, le chier
de conguration sappelle grub.conf. Fedora et Red Hat utilisent dj ce nom de chier.
LILO Dans ce chapitre, nous ne parlerons pas de LILO, qui nest plus utilis que dans de rares cas
(distribution Slackware et certains serveurs ddis, par exemple). Dans le cas o LILO
serait install par dfaut, vous pouvez gnralement installer GRUB pour le remplacer.
Vous trouverez des informations sur LILO aux adresses http://lilo.go.dyndns.org/, http://
doc.ubuntu-fr.org/lilo et http://fr.wikipedia.org/wiki/Linux_loader.
24.2 GRUB Utilisation
Lorsque GRUB est bien install, un menu permet de choisir le systme dexploitation sou-
hait lors du dmarrage de lordinateur (voir Figure 24.1). Dans certaines distributions, ce
menu safche en mode graphique. Pour utiliser les fonctions supplmentaires de GRUB, il
faut quitter ce mode avec chap.
Figure 24.1
Menu GRUB.
Linux Livre Page 461 Mardi, 23. septembre 2008 1:05 13
LINUX 462
Vous pouvez alors modier une ligne du menu de GRUB avec E (edit). C (command line) per-
met de quitter ce menu. Vous vous trouvez alors dans un interprteur de commandes. help
fournit un aperu des commandes valides, dont certaines seront dcrites dans cette section.
help commande permet den savoir plus sur une commande donne et chap, de revenir au
menu damorage.
GRUB peut tre scuris avec un mot de passe. Dans ce cas, vous ne pouvez accder aux fonctions interactives
de GRUB que lorsque vous avez saisi P et le mot de passe.
GRUB fonctionne normalement en clavier QWERTY US.
Passer des
options au
noyau Linux
La fonction de modication de GRUB sert avant tout passer des options du noyau au
dmarrage de Linux (par exemple, pour rgler des problmes matriels). Pour cela, choisis-
sez la ligne de menu souhaite et passez en mode ddition avec E. Quelques lignes saf-
chent, semblables celles-ci :
root (hd1,12)
kernel /boot/vmlinuz root=/dev/sdb13
initrd /boot/initrd
Choisissez avec les touches de direction la ligne qui commence par kernel, tapez E pour
la modier, puis ajoutez les options du noyau la n de la ligne. Entre permet de vali-
der les modications. chap retourne au menu, do vous pouvez dmarrer Linux. La
modication des options damorage nest utilise quune seule fois ; ces options ne sont
pas enregistres.
Excuter des
commandes
interactives
Depuis le menu GRUB, vous pouvez passer dans un mode de commandes interactives avec
C. Vous pouvez y lancer diverses commandes GRUB. Cela permet de dmarrer un systme
Linux lorsque le menu GRUB ne dispose pas de ligne explicite pour ce systme. Vous devez
pour cela savoir sur quelle partition se trouve Linux et quelles sont les commandes GRUB
correspondantes. Les commandes suivantes dmarrent par exemple la distribution qui se
trouve sur la partition /dev/sdb13 :
grub> root (hd1,12)
grub> kernel /boot/vmlinuz root=/dev/sdb13
grub> initrd /boot/initrd
grub> boot
Lorsque vous saisissez des noms de chiers, GRUB sait complter avec Tab les noms
de chiers de root ou dune partition donne (voir Figure 24.2). cat permet dafcher un
fichier texte. Le mode de commandes interactives fournit de nombreuses autres commandes,
que nous ne dtaillerons pas ici pour des raisons de place.
Modifier le
menu de
manire
persistante
GRUB lit le menu damorage dans le chier /boot/grub/menu.lst. Celui-ci contient des
commandes telles que title, root, kernel, chainloader, etc. Pour modier le menu de
manire persistante, vous devez lancer Linux, chercher le chier de menu de GRUB et le
modier. GRUB prend en compte vos modications ds le dmarrage suivant. La section
suivante traite des modications de ce chier.
Linux Livre Page 462 Mardi, 23. septembre 2008 1:05 13
463 DMARRAGE DU SYSTME
24.3 GRUB Configuration
Cette section dcrit les lments importants du chier de menu de GRUB, souvent situ
dans /boot/grub/menu.lst. partir de la version 2, ce chier de conguration sappelle
grub.conf. Red Hat et Fedora lutilisent dj. Les liens symboliques /boot/grub/menu.lst et
/etc/grub.conf pointent vers ce chier, an de ne pas faire derreur lorsque vous chargez et
modiez menu.lst dans un diteur.
Notez que toutes les commandes prsentes ici peuvent galement tre lances de manire
interactive dans linterprteur de commandes de GRUB. Les modications de menu.lst ne
sont prises en compte que lorsque GRUB se trouve dj sur le secteur damorage de votre
disque dur ou lorsquun autre support de donnes est install. Linstallation de GRUB sera
dtaille la section suivante.
Le caractre # introduit un commentaire.
Il existe galement des outils spciques aux distributions pour modier GRUB, par exemple
dans SUSE le module YaST Systme, Conguration du chargeur damorage.
La plupart des distributions actualisent automatiquement le fichier de menu de GRUB lorsque vous mettez
jour le noyau. Vous tes ainsi assur que le nouveau noyau est amorc au dmarrage suivant. Il arrive
cependant que cette reconfiguration automatique crase vos propres modifications.
Sous les systmes Debian et Ubuntu, le script update-grub reconfigure GRUB.
Tous les noms de fichiers et de partitions de cette section ont valeur dexemple. Vous devez remplacer le nom
du disque par votre propre partition systme ou partition damorage. Si Linux fonctionne, la commande
df permet de connatre le nom de ces partitions.
Il arrive galement que le fichier du noyau ou le fichier initrd aient dautres noms que ceux des exemples
de cet ouvrage.
Figure 24.2
Utiliser GRUB de manire
interactive.
Linux Livre Page 463 Mardi, 23. septembre 2008 1:05 13
LINUX 464
Descriptions des disques durs et partitions
GRUB a sa propre nomenclature pour dsigner les disques durs et les partitions. La rgle de
base est que la numrotation commence toujours par 0.
Selon la manire dont le disque est partitionn, le schma des noms GRUB peut, comme celui du nommage des
partitions, contenir des trous. Un disque dur dot dune partition primaire, dune partition tendue et de deux
partitions logiques aura pour noms de priphriques /dev/sda1, /dev/sda2, /dev/sda5 et /dev/sda6.
Les noms GRUB correspondants sont (hd0,0), (hd0,1), (hd0,4) et (hd0,5).
Les disques SATA et SCSI sont dcrits de la mme faon que les disques IDE. Lorsque plu-
sieurs systmes de disques (par exemple, IDE et SCSI) sont utiliss sur lordinateur, lordre
numrique des disques durs dpend du BIOS. Les lecteurs CD et DVD ne sont pas pris en
compte par la numrotation.
devices.map Le chier /boot/grub/devices.map sert faire correspondre les noms des priphriques et les
noms GRUB. Il est cr lorsque GRUB est lanc pour la premire fois. Cependant, il nest pas
automatiquement actualis lors de lajout dun disque. Vous pouvez, en revanche, le supprimer
et excuter nouveau grub. Le chier est alors recr, ce qui peut prendre jusqu une minute.
Dans les cas tenaces, vous pouvez aussi modier vous-mme le chier. Veillez cependant
ce que vos modications saccordent avec celles que GRUB rcupre du BIOS lors du
dmarrage de lordinateur. Ce chier ressemble ceci :
(hd0) /dev/sda
(hd1) /dev/sdb
(fd0) /dev/fd0
Paramtres globaux de menu.lst
Le chier de menu de GRUB se compose dune section globale, qui contient divers param-
tres de base, et de plusieurs lments de menu, qui commencent tous par title. Voici des
exemples de paramtres globaux de menu.lst :
default 2 # le troisime lment du menu est le choix
# par dfaut
timeout 30 # attendre 30 secondes avant de dmarrer
# le choix par dfaut
color yellow/blue red/white # couleurs du menu
Les paragraphes suivants dnissent les mots cls utilisables dans la section globale de
menu.lst.
Noms de partitions de GRUB
(hd0) premier disque dur (correspond /dev/hda ou /dev/sda)
(hd0,0) premire partition du premier disque dur (correspond /dev/hda1 ou /dev/sda1)
(hd2,7) huitime partition du troisime disque dur
(fd0) lecteur de disquette
Linux Livre Page 464 Mardi, 23. septembre 2008 1:05 13
465 DMARRAGE DU SYSTME
default. Cette option indique le numro de llment du menu qui fait ofce de choix
par dfaut. La numrotation commence 0 ! la place dun numro, vous pouvez aussi
trouver default saved. Dans ce cas, llment par dfaut est celui slectionn lors du
dernier amorage. Pour que cela fonctionne, il faut cependant que llment contienne
le mot cl savedefault, dont nous parlerons la section suivante. Sil ny a pas doption
default, le premier lment du menu est le choix par dfaut.
fallback. Cette option donne le numro du menu utilis lorsque le choix par dfaut ne
fonctionne pas. Lorsque fallback nest pas dni, si llment par dfaut ne fonctionne
pas, GRUB passe en mode interactif.
timeout. Cette option indique le nombre de secondes pendant lesquelles GRUB attend
un choix dans le menu. Une fois cette dure coule, le systme par dfaut est dmarr.
hiddenmenu. Cette option cache le menu. Une fois le temps dni par timeout coul, le
systme par dfaut est dmarr. Lutilisateur peut, pendant ce temps, appuyer sur
chap pour afcher le menu.
password --md5 mot_de_passe. Cette option protge GRUB avec un mot de passe. Les
commandes du menu ne peuvent pas tre utilises sans mot de passe. Les fonctions
interactives de GRUB se limitent la saisie dun mot de passe.
color avant-plan/arrire-plan avant-plan du menu/arrire-plan du menu. Cette
option dnit les couleurs du menu. La premire est la couleur du texte. La deuxime
est la couleur du fond de lcran. Les deux couleurs suivantes dnissent celle du texte
et du fond pour llment en surbrillance du menu. Sil ny a pas doption color, le
menu safche en noir et blanc.
splashimage. Cette option nest pas disponible dans toutes les distributions, car il ne
sagit pas dune option ofcielle de GRUB. Ce mot cl permet dajouter une image de
fond au menu. Celle-ci doit faire 640x480 pixels, tre au format XPM (8 bits par pixel) et
compresse avec gzip. La ligne suivante illustre lutilisation de splashimage :
splashimage=(hd1,1)/boot/grub/splash.xpm.gz
Vous trouverez galement plus de dtails ladresse
http://ruslug.rutgers.edu/~mcgrof/grub-images/.
gfxmenu. Il sagit dune autre extension non ofcielle de GRUB, utilise entre autres par
les distributions SUSE et Novell. Le chier dimage doit tre cr avec mkbootmsg. Ces
commandes, ainsi que le chier de documentation gfxboot.html se trouvent dans le
paquetage gfxboot.
Protection par
mot de passe
La grande exibilit de GRUB pose videmment des problmes de scurit. Un utilisateur
de GRUB peut lire tous les chiers du disque qui se trouvent sur une partition ext2, ext3,
reiserfs ou vfat avec cat. Il est donc sens de protger GRUB par un mot de passe.
Pour cela, lancez la commande grub, puis md5crypt. Vous pouvez alors saisir un mot de
passe. GRUB renvoie une cl chiffre :
root# grub
grub> md5crypt
Password: ******
Encrypted: $1$FWk/60$QfckeBVBoaWNBm274USHO0
Linux Livre Page 465 Mardi, 23. septembre 2008 1:05 13
LINUX 466
Ajoutez simplement cette cl au champ password du chier de menu de GRUB :
password --md5 $1$FWk/60$QfckeBVBoaWNBm274USHO0
Tous les utilisateurs peuvent alors choisir nimporte quel lment du menu, mais ils ne peu-
vent pas utiliser les fonctions interactives de GRUB tant quils nont pas saisi le mot de
passe. Pour ce faire, lutilisateur doit taper P, puis le mot de passe.
Pour protger un lment donn du menu, ajoutez le mot cl lock aprs la ligne title de
llment en question.
lments du menu dans menu.lst
Aprs la conguration globale, menu.lst contient diffrents lments de menu pour diff-
rents systmes dexploitation. Chaque lment commence par title. Le titre indiqu aprs
title est le contenu afch dans le menu. Mes tests montrent que seuls les caractres du jeu
US ASCII sont autoriss, lexception des caractres accentus. Je nai cependant trouv
aucune documentation conrmant ce fait.
Les lignes suivantes (jusqu la section title suivante ou la n du chier) sont les commandes
GRUB lances la suite les unes des autres. Lorsque vous testez des commandes interactives,
vous devez ajouter une commande boot. Celle-ci nest pas ncessaire dans le chier du menu.
Dmarrer
Linux
Pour dmarrer Linux, vous devez indiquer la partition root sur laquelle se trouvent le
noyau et le chier initrd (si ncessaire). Elle est considre comme partition active pour
GRUB. Les options kernel et initrd indiquent lemplacement exact des chiers, ainsi que
dventuelles options damorage du noyau.
Pour les options du noyau, et en particulier pour la saisie du systme de chiers root, la
nomenclature Linux est utilise. Il faut donc taper root=/dev/sdb13 pour indiquer le systme
de chiers utiliser. Vous pouvez aussi utiliser les notations root=LABEL=libell ou
root=UUID=n et dans ce cas, le libell ou le numro didentication du disque (voir Chapitre 23).
Attention, les noms de chiers vmlinuz et initrd peuvent diffrer sur votre systme.
title Linux
root (hd1,12)
kernel /boot/vmlinuz root=/dev/sdb13
initrd /boot/initrd
Vous pouvez aussi omettre la commande root. Vous devez cependant alors indiquer, pour
chaque chier, la partition considrer.
title Linux
kernel (hd1,12)/boot/vmlinuz root=/dev/sdb13
initrd (hd1,12)/boot/initrd
Si /boot ne se trouve pas sur la partition systme, mais sur une partition damorage spa-
re, vous devez modier la commande root en consquence. Comme la partition boot
devient alors le point dentre de tous les chiers, /boot ne doit pas tre ajout aux commandes
indiquant les chiers du noyau et du disque virtuel. Les lignes suivantes supposent que la
partition /dev/sda2 est la partition /boot :
title Linux
root (hd0,1)
Linux Livre Page 466 Mardi, 23. septembre 2008 1:05 13
467 DMARRAGE DU SYSTME
kernel /vmlinuz root=/dev/sdb13
initrd /initrd
Passer des
options au
noyau
Selon le matriel et la distribution, il peut tre ncessaire de passer des options damorage
au noyau Linux. Ces options grent, entre autres, lafchage des messages du processus
InitV. Elles doivent simplement tre ajoutes la n de la ligne kernel. Les lignes suivantes
sont un premier exemple :
title Linux
root (hd1,12)
kernel /boot/vmlinuz root=/dev/sdb13 vga=normal
initrd /boot/initrd
Pour connatre les options ncessaires votre distribution ou votre matriel, le plus simple
est de consulter le chier GRUB cr pendant linstallation. Voici quelques exemples :
Debian 4 root=/dev/xxx ro
Fedora 9, RHEL 5 root=LABEL=xxx ro rhgb quiet
Ubuntu 8.04 root=UUID=xxx ro quiet splash
SUSE 11 root=/dev/xxx vga=xxx resume=/dev/xxx splash=silent showopts
vga=317
Dmarrer
Windows
Pour dmarrer Windows, vous devez indiquer la partition active avec rootnoverify, plutt
quavec root. La commande chainloader +1 assure que le premier secteur de cette partition
est lu et excut. Sous Windows 9x/ME, cela revient dmarrer directement Windows.
Sous Windows NT/2000/XP/Vista, cela lance le gestionnaire damorage de Windows qui
soccupe lui-mme de dmarrer Windows GRUB ne sait pas dmarrer lui-mme Win-
dows NT/2000/XP/Vista.
title Windows
rootnoverify (hd0,0)
chainloader +1
Windows narrive dmarrer que lorsquil se trouve sur le premier disque dur. Si ce nest
pas le cas, il faut changer virtuellement les disques avec les lignes suivantes :
title Windows
rootnoverify (hd1,0)
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
Enregistrer le
dernier choix
Lorsque menu.lst contient de nombreux lments, le fait que GRUB enregistre le dernier
lment choisi peut savrer pratique. Pour cela, ajoutez loption default saved la section
globale de menu.lst, puis le mot cl savedefault dans tous les lments du menu :
title Linux
root (hd1,12)
kernel /boot/vmlinuz root=/dev/sdb13
initrd /boot/initrd
savedefault
Linux Livre Page 467 Mardi, 23. septembre 2008 1:05 13
LINUX 468
Nutilisez savedefault en aucun cas sur un ordinateur pour lequel le BIOS lie deux ou plusieurs disques
en RAID (RAID logiciel au niveau du BIOS). Vous risquez de perdre des donnes et de mettre en danger la
synchronisation des disques du RAID.
Tester la configuration de GRUB
Pour tester rapidement et sans redmarrer la syntaxe dun lment du menu de GRUB, lancez
dabord grub et passez-lui la commande suivante :
root# grub
grub> configfile (hd1,12)/boot/grub/menu.lst
(hd1,12) doit tre remplac par le nom GRUB du disque dur sur lequel se trouve le chier
de menu. Lorsque tout fonctionne, GRUB afche le menu. Cependant, vous ne pouvez pas
choisir de systme dexploitation, puisque Linux est dj dmarr.
24.4 GRUB Installation
Linstallation de GRUB seffectue normalement pendant linstallation de Linux. Il nest donc
pas ncessaire de le rinstaller. Pour le congurer, il suft de modier /boot/grub/menu.lst
(voir section 24.3).
Cette section couvre les cas particuliers suivants :
la rinstallation de GRUB aprs son crasement sur le MBR ;
linstallation de GRUB sur une disquette ;
linstallation de GRUB sur un support USB.
Rinstallation de GRUB
Lorsque linstallation de GRUB choue ou lorsquelle est crase (par exemple, par linstal-
lation de Windows), vous ne pouvez plus accder directement au systme Linux. Knoppix
est un outil pratique pour rparer une installation de Linux, et en particulier le chargeur
damorage. Vous le trouverez ladresse http://knoppix-fr.org/. Vous pouvez aussi tl-
charger la version francise, Kaella, ladresse http://kaella.linux-azur.org/.
Knoppix se grave sur un CD ou un DVD. Il suft alors damorcer lordinateur pour dmar-
rer Knoppix. Celui-ci devient cependant de moins en moins utile mesure que les distributions
fournissent un CD dinstallation "live". Les manipulations ci-aprs peuvent peut-tre fonc-
tionner avec le CD dinstallation de votre distribution.
Une fois Knoppix dmarr, lancez un shell en root. Dans lidal, vous savez sur quelle
partition se trouve votre distribution Linux et en particulier, le rpertoire /boot.
Si ce nest pas le cas, cliquez sur les diffrentes icnes de disque dur du bureau Knoppix.
Vous reconnatrez la partition souhaite son rpertoire /boot qui contient les chiers du
noyau Linux (vmlinuz par exemple), le sous-rpertoire /boot/grub et le chier de menu
GRUB /boot/grub/menu.lst. Si vous avez une partition damorage spare, celle-ci ne
Linux Livre Page 468 Mardi, 23. septembre 2008 1:05 13
469 DMARRAGE DU SYSTME
contient pas de rpertoire boot : vmlinuz et le sous-rpertoire grub se trouvent directement
la racine de cette partition.
Lorsque vous avez trouv cette partition nous supposons dans la suite de cette section
quil sagit de /dev/sda3 , cliquez du bouton droit sur licne de la partition et activez les
droits en criture.
Il faut ensuite installer GRUB sur le secteur damorage du disque dur, an quil puisse lire tous
les chiers ncessaires lamorage sur /dev/sda3. La notation GRUB de cette partition est
(hd0,2) et celle du premier disque, dont le secteur damorage doit tre modi, est (hd0).
root# grub
grub> root (hd0,2)
grub> setup (hd0)
grub> quit
Installation sur une disquette
Si votre ordinateur dispose encore dun lecteur de disquette, vous pouvez installer GRUB sur
une disquette vierge. Linux ne dmarre que lorsque le secteur damorage de la disquette est
lu cela implique gnralement une modication des paramtres du BIOS.
Variantes Il existe deux variantes dinstallation de GRUB sur une disquette :
Installation minimale. Vous ninstallez que le chier stage1 dans le secteur damorage
de la disquette de manire que tous les autres chiers (stage2, le chier de menu de
GRUB, etc.) soient chargs depuis le disque dur. Lamorage est donc plus rapide, car un
seul secteur est lu sur la disquette. Il est cependant ncessaire que tous les autres chiers
se trouvent effectivement sur le disque. Cette disquette ne peut donc servir que de dis-
quette durgence pour dmarrer Linux lorsque le MBR est dfectueux, par exemple
aprs une rinstallation de Windows.
Installation complte. Vous copiez ici tous les chiers GRUB sur la disquette (stage1,
stage-1_5 et stage2, ainsi que les chiers du menu). Lavantage est que lordinateur
dmarre mme lorsque les chiers GRUB ne sont pas lisibles sur lordinateur. Linconv-
nient est que lamorage est plus long, car tous ces chiers doivent tre lus depuis la
disquette.
Installation
minimale
Lexemple suivant suppose que tous les chiers GRUB se trouvent sur la partition /dev/
sdb13 de lordinateur. Pour installer GRUB sur le secteur damorage de la disquette, lancez
les commandes suivantes :
root# grub
grub> root (hd1,12)
grub> setup (fd0)
grub> quit
Installation
complte
Pour installer compltement GRUB sur une disquette, il faut modier, en plus de son sec-
teur damorage, le contenu de la disquette. Les commandes suivantes crent un systme de
chiers ext2 sur la disquette, le montent sur /disquette, crent le rpertoire /disquette/
Linux Livre Page 469 Mardi, 23. septembre 2008 1:05 13
LINUX 470
boot et y copient tous les chiers stage. Selon la distribution, il se peut que ces chiers ne
soient pas dans /usr/lib/grub, mais dans un autre rpertoire.
root# mke2fs /dev/fd0
root# mkdir /floppy
root# mount -t ext2 /dev/fd0 /floppy
root# mkdir /floppy/boot
root# cp -a /usr/lib/grub/ /floppy/boot/
Vous devez aussi copier le chier de menu de GRUB :
root# cp /boot/grub/menu.lst /floppy/boot/
Ensuite, vous devez installer GRUB dans le chargeur damorage de la disquette :
root# grub
grub> root (fd0)
grub> setup (fd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (fd0)"... failed
(this is not fatal)
Running "embed /boot/grub/e2fs_stage1_5 (fd0)"... failed
(this is not fatal)
Running "install /boot/grub/stage1 (fd0) /boot/grub/stage2
p /boot/grub/menu.lst "... succeeded
grub> quit
Pour nir, dmontez le systme de chiers de la disquette.
Pour modier le menu ultrieurement, il suft de modier le chier menu.lst sans avoir
rinstaller GRUB.
Installation sur un support USB
Le BIOS de la plupart des ordinateurs modernes permet damorcer lordinateur depuis un
support USB (disque dur externe, cl USB). En thorie, il nest donc pas difcile dinstaller
GRUB sur le secteur damorage dune cl USB et de lancer avec cette cl Windows, Linux,
etc. Mais dans la pratique, on se heurte souvent des problmes, dont les deux sources
principales sont les suivantes :
La carte mre doit reconnatre le support USB ds lamorage et laccepter comme
mdia damorage. Les cls USB peuvent tre formates avec ou sans table de partition ;
le format accept dpend du BIOS.
De plus, vous devez activer la prise en charge de lUSB dans le BIOS (le plus souvent,
grce une option spciale). linverse de Linux, GRUB dpend du BIOS pour accder
un support USB !
Lorsque le BIOS accepte un support USB en tant que priphrique damorage, lordre
des lecteurs est modi dans GRUB. (hd0) devient alors le support USB et les disques
dj prsents sont nomms (hd1), (hd2), etc.
Linux Livre Page 470 Mardi, 23. septembre 2008 1:05 13
471 DMARRAGE DU SYSTME
La meilleure stratgie est dinstaller une premire fois GRUB sur une cl USB pour voir ce
quil se passe. Lorsque le systme est lanc, GRUB reconnat la cl sous le nom (hdn+1), o n
est le dernier disque interne. Si votre systme se trouve sur /dev/sdb13 et si votre ordinateur
dispose de deux disques durs, la cl a pour identiant (hd2). Pour installer GRUB dans le
MBR de la cl USB, utilisez les commandes suivantes :
root# grub
grub> root (hd1,12)
grub> setup (hd2)
grub> quitv
Si tout se passe bien, lordinateur reconnat GRUB au dmarrage suivant, dmarre depuis la
cl USB et afche le menu. Si cela ne fonctionne pas, passez en mode interactif avec C et
cherchez sous quel nom GRUB reconnat le disque dur. Vous pouvez alors modier la ligne
correspondante avec E.
Installation sur
un disque dur
USB
Nous avons pour linstant suppos que la seule utilit de la cl USB tait lamorage. Lop-
ration est encore plus difcile lorsquil sagit de dmarrer Linux sur une grosse cl USB ou
un disque dur USB. La procdure est identique ce qui prcde, mais le chier initrd doit
contenir tous les modules USB ncessaires lutilisation du disque dur. Seules quelques dis-
tributions font cela automatiquement. Nous parlerons de la cration de chiers initrd au
Chapitre 27.
24.5 GRUB Rsolution de problmes
Que faire lorsque GRUB ne fonctionne pas ? Dans le pire des cas, vous ne pouvez plus
dmarrer de systme dexploitation sur votre ordinateur. Cette section rsume quelques
astuces qui peuvent vous tirer daffaire.
Les lments
du menu de
GRUB ne
fonctionnent
pas
GRUB dmarre, mais si vous choisissez un lment du menu, lordinateur plante. Il est pos-
sible que le chier de menu de GRUB contienne des informations errones. Dans ce cas,
essayez de saisir les commandes damorage manuellement. Lorsque vous arrivez dmarrer
Linux de cette manire, vous pouvez modier le chier de menu.
GRUB naffiche
pas de menu
Aprs le dmarrage, GRUB nafche pas de menu, mais une invite de commande. Il ne peut
visiblement pas trouver le chier de menu. Vous pouvez dans ce cas dmarrer Linux
manuellement avec des commandes GRUB et rinstaller ce dernier depuis Linux.
GRUB plante Ce problme vient probablement dune erreur entre linstallation des chiers stage1 et
stage2. Il est peu probable que vous russissiez dmarrer votre ordinateur de la manire
ordinaire. Vous avez cependant le choix entre les oprations suivantes :
dmarrer Linux avec une disquette damorage GRUB ;
dmarrer le systme durgence de votre CD dinstallation Linux et rinstaller GRUB ;
utiliser un systme "live", comme Knoppix, pour dmarrer un systme et rinstaller
GRUB ;
restaurer le secteur damorage avec une disquette durgence Windows ou un CD dinstal-
lation de Windows pour pouvoir au moins utiliser Windows.
Linux Livre Page 471 Mardi, 23. septembre 2008 1:05 13
LINUX 472
24.6 Options damorage du noyau
Vous pouvez ajouter des options damorage au noyau lorsque vous congurez GRUB. Elles
peuvent galement tre saisies au dmarrage de linstallation ou du gestionnaire damor-
age. La syntaxe gnrale de ces options ressemble ceci :
optionA=parametre optionB=parametre1,parametre2
Les paramtres doivent tre saisis sans espace. Lorsque plusieurs options sont ajoutes, elles
doivent tre spares les unes des autres par des espaces. Les adresses hexadcimales doi-
vent tre saisies au format 0x1234. Les nombres sans prxe 0x sont considrs comme des
nombres dcimaux.
Notez que les paramtres passs au noyau nont une influence que sur les pilotes directement intgrs au
noyau. Les paramtres des modules du noyau doivent tre ajouts au format /etc/modprobe.conf (voir
section 25.1).
Cette section ne dfinit que les options damorage importantes. Vous trouverez plus de dtails dans man
bootparam et dans la documentation du noyau, si celle-ci est installe : /usr/src/linux/Documenta-
tion/kernel-parameters.txt, /usr/src/linux/Documentation/ide.txt et /usr/src/
linux/Documentation/*.
Cette documentation peut, selon la distribution, se trouver un autre endroit. Sous Fedora, elle se trouve
par exemple dans /usr/share/doc/kernel-doc-n.n.
Options damorage importantes
root=/dev/sdb13. Cette option indique la partition systme de lordinateur. Si la parti-
tion est dcrite avec un libell, elle peut tre donne sous la forme root=LABEL=xxx. On
peut aussi lindiquer sous la forme root=UUID=n, o n est lUUID de la partition.
ro. Cette option indique que le systme de chiers doit tre mont en lecture seule.
init. Le programme /sbin/init est automatiquement lanc aprs le dmarrage du
noyau. Si ce nest pas ce que vous voulez, vous pouvez lancer un autre programme avec
loption init. Par exemple, init=/bin/sh permet de lancer un interprteur de comman-
des. Attention, le systme de chiers racine est alors mont en lecture seule, le clavier est
dispos en QWERTY et la variable PATH nest pas initialise.
single ou emergency. Lordinateur dmarre en mode mono-utilisateur. Pour tre prcis,
ces options ne sont pas gres directement par le noyau mais, comme toute option
inconnue du noyau, passes au premier programme lanc par le noyau (en loccurrence
/sbin/init).
initrd= ou noinitrd. Ces deux options sassurent que le disque virtuel nest pas charg.
Cela peut servir lorsque vous dsirez viter une erreur prsente dans ce chier ou que
vous lancez un systme dj install partir du CD-ROM dinstallation.
pci=bios|nobios. Cette option dnit si les composants PCI reconnus par le BIOS doi-
vent tre utiliss ou non. Si la reconnaissance automatique du matriel par le noyau
choue, pci=bios peut tre utile dans certains cas.
Linux Livre Page 472 Mardi, 23. septembre 2008 1:05 13
473 DMARRAGE DU SYSTME
pci=nommconf. Cette option dsactive MMCONFIG pour la conguration du PCI. Cela
rsout des problmes pour certains systmes PCI Express.
quiet. Grce cette option, aucun message ne safche lcran lors du dmarrage du
noyau.
Options SMP
SMP (Symmetric Multi Processing) dcrit la capacit du noyau utiliser plusieurs processeurs
ou curs de processeurs en mme temps. Si vous rencontrez des problmes, vous pouvez
utiliser les options suivantes :
maxcpus=1. Cette option limite le nombre de processeurs utiliss 1. La valeur 0 cor-
respond loption nosmp.
nosmp. Cette option dsactive les fonctions SMP ; le noyau nutilise quun seul pro-
cesseur.
noht. Cette option dsactive les fonctions HyperThreading des processeurs Pentium 4.
nolapic. APIC (Advanced Programmable Interrupt Controller) dcrit un schma pour trans-
mettre les interruptions matrielles au processeur. Sur certains noyaux plus anciens, il
ne pouvait tre activ que sur les ordinateurs avec un seul processeur. Si vous avez des
problmes avec APIC, utilisez nolapic pour que le noyau ne lactive pas et ne lutilise
pas.
noapic. Cette option est un peu moins forte que nolapic ; elle ne dsactive que la partie
entres/sorties dAPIC.
lapic. Cette option active explicitement APIC. Elle est ncessaire lorsque le BIOS dsactive
APIC, alors que celui-ci doit tre utilis.
Options APM et ACPI
APM (Advanced Power Management, gestion avance de lnergie) et ACPI (Advanced Congu-
ration and Power Interface, interface avance de conguration et dnergie) sont les princi-
pales sources de problmes sur le matriel actuel. Ces systmes sont utiliss pour lallumage
et lextinction de lordinateur, mais aussi pour les conomies dnergie sur les ordinateurs
portables, la gestion des diffrents modes dhibernation, etc.
Voici les options qui permettent de grer APM et ACPI dans le noyau :
apm=off|on. Cette option dsactive ou active les fonctions APM du noyau.
acpi=off|on. Cette option dsactive ou active les fonctions ACPI du noyau.
reboot=bios|hard,warm|cold. Cette option indique comment le redmarrage de lordi-
nateur doit tre effectu. Elle attend deux paramtres. Le premier indique si le redmar-
rage doit tre effectu par une fonction du BIOS ou non. Le second indique sil faut
redmarrer la machine normalement ou la rinitialiser compltement. Dans ce dernier
cas, le BIOS est rinitialis, la mmoire teste, etc.
Linux Livre Page 473 Mardi, 23. septembre 2008 1:05 13
LINUX 474
noresume. Lorsque le noyau prend en charge la fonction dhibernation logicielle, cette
option permet dignorer le chier dhibernation lors du redmarrage. Elle savre utile
lorsque lordinateur narrive plus sortir dhibernation, par exemple quand le chier
dhibernation est corrompu.
resume=fichier. Cette option utilise le chier indiqu pour sortir dhibernation.
24.7 InitV
Cette section est consacre InitV et couvre le droulement des oprations entre le dmar-
rage du noyau et lafchage de linvite de connexion.
Aperu dInitV
Le dmarrage de Linux suit gnralement le processus suivant :
1. GRUB charge et dmarre le noyau.
2. Le noyau dmarre le programme /sbin/init.
3. init lit le chier de conguration /etc/inittab.
4. init dmarre un script pour initialiser le systme.
5. init dmarre le script /etc/rc.d/rc ou /etc/init.d/rc. Le script rc dpend de la distri-
bution. Il sert dmarrer les chiers de scripts qui se trouvent dans /etc/rcn.d ou /etc/
init.d/rcn.d (n est le niveau dexcution, voir ci-aprs). Il actualise galement, sur la
plupart des distributions, une barre de progression qui indique la progression du
dmarrage.
6. Les scripts de /etc/rcn.d et /etc/init.d/rcn.d lancent divers services du systme, en
particulier les fonctions rseau.
Niveau dexcution
Le noyau dmarre comme premier programme /sbin/init. Les options qui ne sont pas pri-
ses en compte par le noyau lui sont transmises. Cest ainsi que Linux est dmarr en mode
mono-utilisateur.
Tous les processus sont dmarrs directement ou indirectement par init. Celui-ci est gale-
ment le dernier processus lanc sur lordinateur ; il soccupe de la terminaison correcte de
tous les autres processus.
Niveau
dexcution
sous Fedora,
Red Hat et
SUSE
Le niveau dexcution dcrit diffrents tats que le systme dexploitation peut prendre.
Malheureusement, ces niveaux ne sont pas unis au sein des diverses distributions. Leur
signication est gnralement documente dans /etc/inittab. Les niveaux dexcution sui-
vants sont valables pour la plupart des distributions, lexception de Debian et Ubuntu :
Niveau 0. Extinction du systme et arrt de lordinateur.
Niveau 1 et S. Mode mono-utilisateur.
Niveau 2. Mode multi-utilisateur sans rseau et sans NFS.
Linux Livre Page 474 Mardi, 23. septembre 2008 1:05 13
475 DMARRAGE DU SYSTME
Niveau 3. Mode multi-utilisateur avec rseau, mais sans dmarrage automatique de X.
Niveau 4. Ce niveau nest gnralement pas utilis.
Niveau 5. Mode multi-utilisateur avec rseau et dmarrage de X. Il sagit gnralement
du niveau dexcution par dfaut.
Niveau 6. Extinction du systme et ramorage de lordinateur.
Niveaux
dexcution
sous Debian et
Ubuntu
Sur les systmes drivs de Debian, les niveaux dexcution 2 5 sont identiques et lancent
un systme multi-utilisateur avec le rseau et X. Le niveau dexcution par dfaut est 2. Le
dtail des niveaux dexcution est indiqu dans la liste qui suit :
Niveau S. Initialisation du systme directement aprs le dmarrage.
Niveau 0. Extinction du systme et arrt de lordinateur.
Niveau 1. Mode mono-utilisateur avec rseau.
Niveaux 2-5. Mode multi-utilisateur avec rseau et dmarrage automatique de X.
Niveau 6. Extinction du systme et ramorage de lordinateur.
Modifier le niveau dexcution
root peut modier le niveau dexcution avec init x lorsque le systme fonctionne. shutdown
et Ctrl+Alt+Suppr permettent galement de le modier.
Niveau
dexcution
par dfaut
Le niveau dexcution par dfaut est gnralement dni par la ligne initdefault dans /etc/
inittab. Dans la plupart des distributions actuelles, le niveau par dfaut est 5 ; sous Debian
et Ubuntu, il sagit du niveau 2. Sous Ubuntu, depuis la version 6.10, ce niveau est dni
dans /etc/event.d/rc-default.
Dmarrer
lordinateur en
mode texte ou
en mode
graphique
Dans la plupart des distributions, pour dmarrer lordinateur en mode texte, vous devez
modier le niveau dexcution par dfaut dans la ligne id:n:initdefault : 3 est le mode
texte, 5 le mode avec X.
Sous Debian ou Ubuntu, il faut activer ou dsactiver le dmarrage du gestionnaire daf-
chage de X (gdm, xdm ou kdm). Pour cela, lancez les commandes suivantes :
root# update-rc.d -f gdm remove
root# update-rc.d gdm stop 1 0 1 2 3 4 5 6 .
Pour dmarrer X nouveau automatiquement, utilisez ces lignes :
root# update-rc.d -f gdm remove
root# update-rc.d gdm defaults 30 1
inittab
Le dmarrage du systme est contrl par le chier /etc/inittab. La syntaxe des lignes de
inittab est la suivante :
identifiant:niveau:action:commande
Linux Livre Page 475 Mardi, 23. septembre 2008 1:05 13
LINUX 476
identifiant est un champ de deux caractres qui identie la ligne de manire unique.
niveau indique les niveaux dexcution valides pour la ligne. action contient une instruc-
tion pour init. command indique quelle commande doit tre lance. La liste suivante recense
les mots cls action importants et leur signication. man inittab fournit une liste complte
de ces mots cls.
Initialisation du systme
Avant de lancer les services spciques au niveau dexcution, un script dinitialisation du sys-
tme est lanc juste aprs le dmarrage de lordinateur. Ce script dpend de la distribution :
Debian, Ubuntu /etc/init.d/rcS
Red Hat, Fedora /etc/rc.d/rc.sysinit
SUSE /etc/init.d/boot
Linitialisation du systme effectue les oprations suivantes :
initialiser diverses variables systme (y compris le nom dhte et de domaine) ;
activer le systme de chiers /proc ;
congurer la date et lheure ;
congurer la disposition du clavier pour la console texte ;
dmarrer le systme udev ;
ventuellement activer les systmes RAID et LVM ;
vrier les systmes de chiers ;
remonter la partition systme en mode lecture/criture ;
monter les partitions ;
initialiser les fonctions de base du rseau (uniquement sous Debian et Ubuntu).
Scripts InitV
Une fois le systme activ, le niveau dexcution par dfaut indiqu par /etc/inittab est
dmarr. Chaque niveau dexcution a ses propres scripts. Ceux-ci se trouvent, selon la
distribution, dans /etc/init.d ou /etc/rc.d/init.d.
Mots cls de inittab
ctrlaltdel indique le comportement dinit lappui des touches Ctrl+Alt+Suppr
initdefault dfinit le niveau dexcution par dfaut dinit
once dmarre la commande indique chaque changement de niveau dexcution
respawn redmarre la commande lorsquelle est termine
sysinit dmarre la commande une fois pendant le processus damorage
wait attend la fin de la commande indique
bootwait dmarre le processus pendant lamorage et attend la fin de la commande
Linux Livre Page 476 Mardi, 23. septembre 2008 1:05 13
477 DMARRAGE DU SYSTME
init dmarre le script /etc/rc.d/rc ou /etc/init.d/rc. Le niveau dexcution est pass rc.
Ce dernier lance quelques tches dinitialisation, puis les scripts rcn.d/K* pour terminer
tous les processus courants. Enn, les scripts rcn.d/S* permettant de dmarrer les nouveaux
processus pour le niveau dexcution souhait sont lancs.
Il est donc trs facile dajouter des processus systme InitV : il suft de copier les scripts de
dmarrage et darrt dans les bons rpertoires.
En pratique, les rpertoires rcn.d ne contiennent pas directement des scripts, mais des liens
vers ces derniers. Chaque chier de script est donc unique, mais peut tre utilis dans plusieurs
niveaux dexcution et modi de manire centralise.
Nomenclature Les liens des rpertoires rcn.d commencent par S ou K. Ces liens pointent vers le mme
script. Cependant, le script prendra le paramtre start ou stop selon la lettre par laquelle il
commence.
Le numro qui suit indique lordre dans lequel les scripts sont lancs. Par exemple, les
dmons rseau supposent gnralement quune connexion rseau soit prsente ; le script
network doit donc tre lanc avant ces dmons.
Lancer et
arrter
manuellement
des dmons
Vous pouvez lancer les scripts du niveau dexcution manuellement. Par exemple, cette
commande arrte le serveur Apache :
root# /etc/init.d/httpd stop
Paramtres
des scripts
InitV
La plupart des scripts comprennent les paramtres suivants :
start dmarre le programme.
stop termine le programme.
status afche ltat du programme (actif ou non).
reload est utilis lorsque le chier de conguration doit tre relu sans redmarrer compl-
tement le dmon.
restart redmarre le programme.
Processus InitV sous Debian
Le tableau suivant prsente les rpertoires et chiers de conguration dInitV sous Debian.
Dmarrer un
script InitV
La commande invoke-rc.d permet de lancer manuellement un script InitV :
root# invoke-rc.d samba start
root# invoke-rc.d samba stop
Fichiers et rpertoires de configuration sous Debian
Initialisation du systme /etc/init.d/rcS, /etc/rcS.d/*
Scripts dInit /etc/init.d/*
Liens du niveau dexcution /etc/rcn.d/*
Fichiers de configuration /etc/default/*
Linux Livre Page 477 Mardi, 23. septembre 2008 1:05 13
LINUX 478
Grer les liens
InitV
La commande update-rc.d permet de grer les liens InitV. update-rc.d nom remove sup-
prime tous les liens de dmarrage et darrt du service concern. update-rc.d nom defaults
ajoute des liens de dmarrage aux niveaux dexcution 2 5 et des liens darrt aux niveaux
dexcution 0, 1 et 6. Reportez-vous man update-rc.d pour plus dinformations ce sujet.
Processus InitV sous Red Hat et Fedora
Le tableau suivant prsente les rpertoires et chiers de conguration dInitV sous Red Hat
et Fedora.
Dmarrer un
script InitV
La commande service permet de lancer manuellement un script InitV :
root# service httpd start
root# service httpd stop
Grer les liens
InitV
La commande chkconfig permet de grer les liens des niveaux dexcution. chkconfig --list
afche tous les scripts, ainsi que les niveaux auxquels ils sont lancs ou arrts.
chkconfig --del nom permet de supprimer un script de tous les niveaux dexcution. chk-
config --add ajoute des liens pour un nouveau service tous les niveaux prvus. Cette
option ne fonctionne que lorsque le script InitV contient des informations sur ces niveaux.
chkconfig --level n nom on|off permet dajouter des scripts de dmarrage ou darrt un
niveau donn.
man chkconfig est une rfrence de cette commande contenant toutes les informations
ncessaires son utilisation.
Processus InitV sous SUSE
Le tableau suivant prsente les rpertoires et chiers de conguration dInitV sous SUSE.
Dmarrer un
script InitV
Sous SUSE, les scripts lancs normalement par /etc/init.d/nom peuvent galement ltre
sous la forme rcnom. Par exemple, rcsmb permet de lancer ou darrter le serveur Samba.
Fichiers et rpertoires de configuration sous Red Hat et Fedora
Initialisation du systme /etc/rc.d/rcsysconfig
Scripts dInit /etc/rc.d/init/*
Liens du niveau dexcution /etc/rc.d/rcn.d/*
Fichiers de configuration /etc/sysconfig/*
Fichiers et rpertoires de configuration sous SUSE
Initialisation du systme /etc/init.d/boot, /etc/init.d/boot.d/*
Scripts dInit /etc/rc.d/init/*
Liens du niveau dexcution /etc/rc.d/rcn.d/*
Fichiers de configuration /etc/sysconfig/*
Linux Livre Page 478 Mardi, 23. septembre 2008 1:05 13
479 DMARRAGE DU SYSTME
Grer les liens
InitV
La commande insserv permet dajouter de nouveaux liens vers les scripts InitV. insserv
nom lit les commentaires Default-Start et Default-Stop du script qui indiquent quels
niveaux dexcution le script doit tre ajout. Pour supprimer ces liens, passez loption -r.
man insserv offre une rfrence complte de insserv.
De plus, SUSE fournit, pour des raisons de compatibilit, la commande chkconfig. Les com-
mandes -add, -del et -list fonctionnent comme sous Red Hat, mais certaines divergences
subsistent sur les autres options. chkconfig appelle insserv.
Linux Livre Page 479 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 480 Mardi, 23. septembre 2008 1:05 13
25
Noyau et modules
Ce chapitre traite du noyau Linux et de ses modules. Ces derniers sont des parties du noyau
qui peuvent tre charges lorsquelles sont ncessaires, par exemple lorsquun priphrique
est utilis pour la premire fois. La section 25.1 explique le fonctionnement et la gestion des
modules du noyau Linux.
Rares sont les cas o vous devez imprativement recompiler le noyau. Vous naurez proba-
blement quun module compiler. La section 25.2 traite de la compilation des modules et du
noyau, et la section 25.3 de la cration dun chier initrd. Les options damorage du noyau
sont quant elles dcrites au Chapitre 24.
Ce chapitre sadresse aux utilisateurs avancs de Linux. Les dbutants ont gnralement
intrt utiliser le noyau de leur distribution et ninstaller que des paquetages fournis par
cette dernire. Nous traiterons ici des noyaux 2.6.
25.1 Modules du noyau
Le noyau gre les fonctions lmentaires du systme, comme la gestion de la mmoire et des
processus, laccs aux disques durs et aux cartes rseau, etc. Il est de plus modulaire : le noyau
lanc lamorage ne contient que les fonctions ncessaires au dmarrage de lordinateur.
Lorsquune fonction supplmentaire est requise (par exemple, pour du matriel spcial), le
code ncessaire est li au noyau en tant que module. Lorsque cette fonction nest plus utili-
se pendant quelque temps, le module peut tre supprim du noyau. Ce concept modulaire
prsente plusieurs avantages :
Les modules peuvent tre lis la demande. Lorsquun module est peu utilis, la mmoire
correspondante peut tre conomise ; le noyau nest pas plus gros que ncessaire et
adapt au matriel de lutilisateur.
Lorsque le matriel prsent est modi (ajout dune nouvelle carte rseau, par exemple),
le noyau ne doit pas tre recompil ; il suft dajouter le module ncessaire. Toutes les
distributions courantes sont bases sur ce concept.
Lorsquun nouveau module du noyau est dvelopp, il ne faut pas forcment redmar-
rer lordinateur chaque modication. Il suft de recompiler le module, qui peut tre
test directement.
Les fabricants de matriel peuvent fournir des modules binaires pour leurs priph-
riques sans fournir le code. Cela entrane un certain nombre dinconvnients (voir
Chapitre 22).
Charger
automati-
quement des
modules
Le composant kmod du noyau fait en sorte que les modules du noyau soient chargs automa-
tiquement ds quils sont ncessaires. Il est contrl par /etc/modprobe.conf. Nous parlerons
plus en dtail de ce chier dans ce qui suit.
Linux Livre Page 481 Mardi, 23. septembre 2008 1:05 13
LINUX 482
Le noyau
et les modules
doivent corres-
pondre
Jusquau noyau 2.6.15, les versions du noyau et de ses modules doivent tre identiques. On
ne peut pas charger un module compil pour une autre version du noyau. Cest pourquoi
chaque version a son propre rpertoire de modules, /lib/modules/version_du_noyau. En ce
qui concerne les modules qui ne sont pas fournis avec la distribution (module NTFS de
Fedora/Red Hat, modules pour les cartes graphiques ATI ou NVIDIA, etc.), la dpendance
de versions pose souvent problme.
Versionnage
de modules
Depuis le noyau 2.6.16, le mcanisme de module versioning (versionnage de modules) est une
amlioration signicative. Le module enregistre des informations supplmentaires qui indi-
quent sil peut fonctionner avec une version diffrente du noyau. Cela permet galement
dutiliser des modules qui ne correspondent pas la version du noyau. Cependant, ce mca-
nisme ne fonctionne que lorsque loption module versioning a t active lors de la compila-
tion du noyau et que linterface du noyau na pas t modie entre la version du noyau et
celle du module.
Le mcanisme de module versioning peut galement tre dcrit sous les noms kernel symbol
versions ou modversions.
Commandes de gestion des modules
Toutes les distributions courantes sont congures de manire charger automatiquement
les modules ncessaires. Par exemple, si vous montez avec mount une partition Windows de
votre systme, le module ntfs ou vfat, qui sert lire ce systme de chiers, est charg.
Par consquent, la gestion des modules est en gnral automatique et transparente, sans que
vous ayez utiliser les commandes que nous allons dcrire. Celles-ci sont cependant utiles
pour charger un module manuellement si le besoin sen fait sentir.
Tous les modules se trouvent dans le rpertoire /lib/modules/n. n est la version du noyau
en cours de fonctionnement. Les modules ont lextension *.ko.
Connatre
la version
de son noyau
La commande uname -r afche le numro de version du noyau courant :
utilisateur$ uname -r
2.6.24-16-generic
Charger
des fichiers
de modules
insmod intgre le module indiqu dans le noyau. Cette commande prend pour argument le
nom complet du chier. Vous pouvez aussi passer des options au module. Si vous indiquez
des valeurs hexadcimales, vous devez les prxer de 0x.
root# insmod /lib/modules/2.6.24-16-generic/kernel/fs/fuse/fuse.ko
insmod -f tente de charger le module mme lorsquil ne correspond pas la version cou-
rante du noyau. Le fonctionnement effectif de cette opration dpend de la compatibilit
intrinsque entre le noyau et le module.
Gnralement, on ne charge pas les modules avec insmod, mais avec modprobe. Cette com-
mande prsente deux avantages. Dune part, elle cherche elle-mme le module insrer ; il
suft dindiquer le nom du module. Dautre part, elle charge galement tous les modules
utiliss par le module souhait. De plus, toutes les options du module indiques dans /etc/
modprobe.conf sont prises en compte. modprobe demande cependant une conguration
correcte des modules (modprobe.conf et modules.dep).
root# modprobe fuse
Linux Livre Page 482 Mardi, 23. septembre 2008 1:05 13
483 NOYAU ET MODULES
Liste des
modules
chargs
La commande lsmod afche une liste (normalement assez longue) de tous les modules intgrs
dans le noyau au moment o elle est excute.
root# lsmod | sort
ac 6916 0
acpi_cpufreq 10796 1
aes_i586 33536 0
af_packet 23812 12
agpgart 34760 3 drm,intel_agp
...
fuse 50580 3
...
Supprimer un
module
rmmod supprime le module indiqu du noyau et libre la mmoire correspondante. Cette
commande ne fonctionne que lorsque le module nest plus utilis. rmmod -a supprime tous
les modules non utiliss du noyau.
root# rmmod fuse
Afficher des
informations
sur un module
modinfo afche des informations sur un module. Celui-ci ne doit pas ncessairement se trou-
ver dans le noyau. Lexemple suivant afche les donnes pour le module e1000, qui est un
pilote pour les cartes rseau Intel Pro/1000.
root# modinfo e1000
filename: /lib/modules/2.6.24-16-generic/kernel/drivers/net/e1000/
e1000.ko
version: 7.3.20-k2-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <linux.nics@intel.com>
srcversion: AD899B6372523BED5266B06
alias: pci:v00008086d000010DAsv*sd*bc*sc*i*
...
depends:
vermagic: 2.6.24-16-generic SMP mod_unload 586
parm: TxDescriptors:Number of transmit descriptors (array of int)
...
parm: debug:Debug level (0=none,...,16=all) (int)
Configuration des modules
La gestion des modules fonctionne presque comme par magie. Lorsque vous dsirez monter
une partition dans le systme de chiers et que cela implique lutilisation dun format de
systme de chiers jusqualors inutilis, le module de ce systme est automatiquement
charg. Lorsque la partition se trouve sur un disque SCSI, le module SCSI est galement
activ et le module du pilote de la carte rseau est automatiquement charg pendant linitia-
lisation des fonctions rseau.
Linux Livre Page 483 Mardi, 23. septembre 2008 1:05 13
LINUX 484
Pour que tout cela fonctionne, divers mcanismes de conguration sont mis en uvre :
Modules au dmarrage de lordinateur. Certains modules sont utiliss ds le dmar-
rage de lordinateur (par exemple, ceux qui servent accder aux systmes de chiers).
Lorsquils ne font pas partie intgrante du noyau, ils doivent tre fournis au noyau sous
la forme dun disque virtuel initrd par le chargeur damorage ds le dmarrage.
Modules de base. Les modules de gestion de base des composants USB, Firewire ou
PCMCI sont directement chargs par divers scripts du processus InitV grce mod-
probe grep modprobe /etc/init.d/* donne un aperu rapide des modules chargs
de cette manire.
Modules dinterface. Diffrents modules sont ensuite chargs lorsquune interface don-
ne est utilise pour la premire fois. Cela peut poser des problmes, car certaines inter-
faces correspondent plusieurs modules. Par exemple, lorsque vous utilisez linterface
eth0 pour la premire fois, il faut charger le module correspondant la carte rseau.
Comme le noyau ne peut pas le deviner, il faut ajouter cette information au chier de
conguration de modules /etc/modprobe.conf.
Nous parlerons plus en dtail de ce chier de conguration la prochaine section. Ce
chier est particulirement important, car cest lun des rares endroits o la congura-
tion doit tre adapte votre matriel. Dans la plupart des cas, cette adaptation est gre
par les outils de conguration de votre distribution. Pour les composants trs rcents ou
exotiques, il arrive cependant que vous deviez modier ce chier manuellement.
La gestion des priphriques par le systme udev charge galement les modules lorsquils
sont ncessaires. Vous trouverez les rgles correspondantes dans /etc/udev/rules.d.
Modules pour les cartes PCMCIA, les priphriques USB et Firewire, etc. Ces priphri-
ques ont un rle particulier. Plusieurs chiers *.map dans /lib/modules/version_du_noyau
diffrencient ces composants en fonction dun identiant et chargent le module correct.
Modules non
GPL (Ubuntu)
La plupart des distributions ne fournissent que des modules dont le code source est
conforme la GPL. Ubuntu fait exception et fournit des modules de diffrents pilotes mat-
riels qui contiennent du code binaire de divers fabricants (ATI, AVM et NVIDIA, par exem-
ple). Ces modules sont regroups dans le paquetage linux-restricted-modules-arch et
installs dans le rpertoire /lib/linux-restricted-modules.
Le script InitV linux-restricted-modules-common appelle le script lrm-manager pendant le
dmarrage de lordinateur. Ce script cre un systme de chiers temporaire dans le rper-
toire /lib/modules/version_du_noyau/volatile. Ce systme contient des copies de tous les
modules qui ne se conforment pas la FPL et depmod est lanc sur ce rpertoire. Ces tapes
assurent une utilisation sans problme des modules. Pour dsactiver certains modules du
paquetage, indiquez leur nom dans la variable DISABLED_MODULES de /etc/default/linux-
restricted-modules-common.
Dpendances entre modules (modules.dep, modules*.map)
Certains modules dpendent les uns des autres. Par exemple, le module nfs du systme de
chiers NFS ne fonctionne que lorsque les modules lockd, nfs_acl et sunrpc sont chargs.
De telles dpendances sont enregistres de manire centrale dans le chier /lib/modules/n/
modules.dep.
Linux Livre Page 484 Mardi, 23. septembre 2008 1:05 13
485 NOYAU ET MODULES
depmod Si ce chier nexiste pas encore ou sil est incomplet (par exemple, aprs la compilation dun
nouveau module), vous devez le crer ou lactualiser avec la commande depmod. Celle-ci
examine les symboles dnis et utiliss dans les modules. Elle cre quelques chiers *.map
pour faire la correspondance entre diffrents composants matriels et les modules ncessai-
res. Les chiers *.map sont ncessaires pour le branchement chaud des priphriques. Par
exemple, lorsque vous branchez un nouveau priphrique USB, le module ncessaire sa
prise en charge peut tre dtect automatiquement grce un code didentication.
Les chiers modules.dep et *.map sont normalement crs pendant linstallation des modu-
les. Il est donc rarement ncessaire de lancer depmod manuellement.
Paramtres des modules et ordre des priphriques
Pour que le module correct soit charg la premire fois quune interface est active, le noyau
prend en compte de nombreux paramtres dnis dans les modules et le paquetage modu-
tils pour depmod, et enregistrs dans modules.dep et modules*.map.
Les paramtres correspondants sont en gnral enregistrs dans le chier /etc/mod-
probe.conf et les chiers du rpertoire /etc/modprobe.d.
Les diffrentes distributions ont chacune leurs particularits.
Debian,
Ubuntu
modprobe.conf nexiste pas. Les paramtres sont enregistrs dans les chiers du rpertoire
modprobe.d.
Red Hat,
Fedora
modprobe.conf ne contient que quelques paramtres spciques lordinateur. Le chier /
etc/modprobe.d/modprobe.conf.dist contient une liste plus longue avec les paramtres par
dfaut de la distribution.
SUSE modprobe.conf contient une liste interminable de paramtres, dont la plupart sont valides
par dfaut. Les modications doivent tre effectues dans modprobe.conf.local.
Syntaxe de modprobe.conf
Cette section dcrit les mots cls importants de modprobe.conf et des chiers de modprobe.d/.
Vous trouverez plus de dtails dans man modprobe.conf.
alias Les instructions alias indiquent quel module du noyau doit tre utilis pour quel priph-
rique. Par exemple, le priphrique /dev/eth0 est associ au module 8139too :
alias eth0 8139too
On accde gnralement des composants matriels grce aux priphriques bloc et carac-
tre /dev/xxx. Du point de vue du noyau, ces chiers ne sont pas caractriss par leur nom,
mais par leurs numros de priphriques majeur et mineur. De nombreuses instructions
alias font la correspondance entre les numros de priphriques et les modules. Les deux
exemples suivants montrent que les priphriques bloc ayant le numro majeur 2 doivent
charger le module floppy. De mme, les priphriques caractre ayant le numro majeur 6
doivent charger le module lp.
alias block-major-2 floppy
alias char-major-6 lp
Linux Livre Page 485 Mardi, 23. septembre 2008 1:05 13
LINUX 486
La dnition des protocoles rseau est similaire. Pour utiliser un protocole donn, le noyau
cherche une famille de protocoles nomme net-pf-n. Dans lexemple suivant, le module
AppleTalk est utilis pour la famille de protocoles 5 :
alias net-pf-5 appletalk
Lorsque vous navez pas besoin de ce protocole (ou si vous navez pas install le module
correspondant), linstruction suivante supprime des messages derreur :
alias net-pf-5 off
options Les instructions options indiquent avec quelles options doit tre charg un module donn.
La ligne suivante indique que le module ne (pour les cartes Ethernet compatibles NE2000)
doit tre charg avec loption io=0x300 :
options ne io=0x300
include Les instructions include chargent des chiers de conguration supplmentaires.
install Les instructions install permettent de lancer des commandes, plutt que de charger sim-
plement le module. Lexemple suivant est partag en deux lignes pour des raisons de
place. Lorsque le module ALSA snd est utilis, ces commandes doivent tre lances :
install snd modprobe --ignore-install snd $CMDLINE_OPTS && \
{ modprobe -Qb snd-ioctl32;:; }
remove remove permet de lancer des commandes lorsquun module doit tre supprim.
blacklist Les instructions blacklist indiquent que les dnitions de modules ne doivent pas tre uti-
lises et se trouvent gnralement dans le chier /etc/modprobe.d/blacklist. Celui-ci
contient la liste des modules qui ne doivent pas tre chargs, pour des raisons de compatibi-
lit ou parce quune meilleure alternative existe. Dans cet exemple, usbmouse nest pas charg ;
en gnral, hid est utilis la place.
blacklist usbmouse
Exemple
de fichier
modprobe
.conf
Le chier modprobe.conf diffre largement dune distribution une autre. Des chiers de
conguration courts sappuient souvent sur les paramtres de base de /lib/modules/n.n/
module.alias et modules.symbols.
Ce chier rete la conguration matrielle individuelle et est modi par la distribution. Il
est gnralement minimal. Les lignes suivantes montrent la conguration de lune de mes
machines de test sous Fedora 7. Elles correspondent deux cartes rseau (Ethernet et Wi-Fi),
au contrleur IDE et une carte son.
alias eth0 e1000
alias eth1 ipw2100
alias scsi_hostadapter ata_piix
alias scsi_hostadapter1 usb-storage
alias snd-card-0 snd-intel8x0
options snd-card-0 index=0
options snd-intel8x0 index=0
Linux Livre Page 486 Mardi, 23. septembre 2008 1:05 13
487 NOYAU ET MODULES
Compiler un module supplmentaire
Pour utiliser VMware, pour exploiter les pilotes binaires dATI ou de NVIDIA, ou si vous
avez besoin dun module spcique votre matriel qui nest pas prsent dans votre distri-
bution, vous devez compiler un module qui correspond au noyau courant. En gnral, un
script (par exemple, vmware-config.pl ou le script dinstallation de vos pilotes) mne bien
cette tche. Cependant, certains prrequis doivent tre remplis, comme pour compiler un
noyau complet.
Outils de
dvelop-
pement
Vous devez tout dabord installer les outils de dveloppement (en particulier, le compilateur
C gcc, ainsi que make) dans une version sufsamment actuelle.
Fichiers
den-tte du
noyau
Vous avez galement besoin des chiers den-tte du noyau courant. Ces derniers font par-
tie du code du noyau. Pour de nombreuses distributions, les chiers den-tte et le reste du
code se trouvent dans deux paquetages spars. Cela permet de ne pas avoir installer
lensemble du code lorsque vous navez besoin que des chiers den-tte.
Les paquetages de chiers den-tte ont les noms suivants et sont installs dans les rpertoires
indiqus :
Debian, Ubuntu linux-headers-generic /usr/include/linux
Red Hat, Fedora kernel-devel-n.n /lib/modules/n.n/build/include
SUSE kernel-source /usr/src/linux-n.n/include
Lorsque vous compilez vous-mme votre noyau, les chiers den-tte sont installs dans le
rpertoire /lib/modules/n.n/build/include.
25.2 Configurer et compiler son propre noyau
Un utilisateur classique ne doit gnralement pas compiler son noyau. Toutes les distribu-
tions actuelles fournissent par dfaut un noyau utilisable et de nombreux modules. Voici
cependant quelques raisons qui peuvent vous amener recompiler un noyau :
Vous voulez apprendre mieux connatre votre systme.
Vous avez besoin de fonctionnalits qui ne sont pas intgres au noyau et qui ne sont
pas fournies en tant que module (par exemple, les fonctions rseau).
Vous dsirez utiliser une version plus rcente du noyau que celle fournie par votre distri-
bution.
Vous souhaitez ajouter un correctif votre noyau. Les correctifs servent prendre en
charge du matriel trs rcent ou utiliser de nouvelles fonctions, sans pour autant utiliser
un noyau en cours de dveloppement.
Vous aimeriez prendre part au dveloppement du noyau et exprimenter les noyaux en
cours de dveloppement.
Vous avez envie de pouvoir dire votre entourage que vous avez compil vous-mme
le dernier noyau Linux !
Linux Livre Page 487 Mardi, 23. septembre 2008 1:05 13
LINUX 488
Obstacles la
compilation du
noyau
Il existe cependant des arguments lencontre de la compilation dun noyau personnalis :
La plupart des distributions nutilisent pas le noyau original tel que fourni par Linus
Torvalds et la communaut, mais une version modie avec diverses fonctions suppl-
mentaires chaque distribution utilise videmment ses propres correctifs. En soi, cest
plutt une bonne chose pour les utilisateurs : ils peuvent ainsi bncier des fonctions
supplmentaires que le mainteneur de la distribution considre comme stables. Cepen-
dant, les noyaux originaux du serveur FTP de kernel.org ne disposent pas de ces cor-
rectifs. Certains lments de votre distribution peuvent alors ne plus fonctionner ou
poser certains problmes.
La compilation dun noyau nest pas difcile. En revanche, la conguration de cette
compilation lest. Le noyau a plus de 100 options. Celles-ci inuent sur les fonctions
intgres au noyau, sur les modules compils et sur les options qui ne doivent pas tre
mises disposition. Si vous prenez de mauvaises dcisions pour certaines de ces
options, les fonctions correspondantes peuvent refuser de vous obir et il peut tre dif-
cile de trouver lorigine du problme. Il est cependant pratiquement impossible pour un
dbutant sous Linux de deviner toutes les options correctement.
Installer les paquetages ncessaires
Outils de
dvelop-
pement
Vous pouvez installer les outils de dveloppement (gcc, make, etc.) paquetage par paque-
tage, mais la plupart des distributions effectuent une section de paquetages ou fournissent
un mtapaquetage qui installe tous les paquetages ncessaires. En voici un rsum :
Debian, Ubuntu mtapaquetage build-essential
Red Hat, Fedora groupe Dveloppement
SUSE groupe Dveloppement
Pour faciliter et automatiser la compilation de noyaux ou de modules sous Debian ou Ubuntu, vous pouvez
considrer les paquetages kernel-package et module-assistant. Ils fournissent des scripts qui facili-
tent certaines oprations.
Code du noyau Jusqu la version 2.6, il existait des versions "stables" du noyau (2.0.n, 2.2.n, 2.4.n) et des
versions "dveloppeurs" (2.3.n, 2.5.n). Ce schma a chang avec le noyau 2.6. Il nexiste plus
de branche 2.7.n de dveloppement ; tous les dveloppements sont effectus directement
dans la branche 2.6.
Le code du noyau se trouve gnralement dans le rpertoire /usr/src/linux. Vous pouvez
choisir dinstaller le code de votre distribution ou le code ofciel.
Pour le code du noyau de votre distribution, installez les paquetages suivants :
Debian, Ubuntu linux-source-n.n
Red Hat, Fedora paquetage de code source de kernel-n.n
SUSE kernel-source
Linux Livre Page 488 Mardi, 23. septembre 2008 1:05 13
489 NOYAU ET MODULES
Pour rcuprer une version du noyau qui nest pas fournie par votre distribution (par exem-
ple, la version la plus rcente), vous devez vous rendre sur le site www.kernel.org, qui indique
quelle est la dernire version stable du noyau et o la tlcharger.
Configurer le noyau
Le noyau se compose de milliers de fonctions. Avant la compilation, vous pouvez dcider
du devenir de chacune delles : doivent-elles tre intgres directement au noyau, compiles
en tant que modules ou ne pas tre mises disposition ? Cette opration sappelle congurer le
noyau.
Noyau
monolithique
ou modulaire
Vous devez principalement choisir entre un noyau monolithique ou modulaire. Les noyaux
monolithiques contiennent tous les pilotes ncessaires directement dans le noyau et ne pren-
nent pas en charge les modules. Les noyaux modulaires peuvent prendre en compte des
modules et sont, dans presque tous les cas, le bon choix.
Choix des
composants
Pour la plupart des composants, vous avez le choix entre trois options : Yes, Module et No.
Yes signie que le composant est intgr directement au noyau, Module quil est compil en
tant que module, et No quil ne sera pas compil.
Outils de
configuration
La conguration du noyau se trouve dans le chier .config la racine des sources du
noyau. Il sagit dun chier texte assez long qui contient une liste de composants et le choix
effectu prcdemment pour chacun deux (y, m ou n). Il nest gnralement pas modi
manuellement, mais laide des outils suivants :
make config fonctionne toujours, mais est trs pnible utiliser et nest pas conseill.
Vous devez en effet passer toutes les options, y compris lorsque vous souhaitez nen
modier que quelques-unes.
make menuconfig ncessite que ncurses-devel soit install. Il sagit dune interface en
mode texte, mais les diffrentes options sont structures dans des menus et non listes
les unes la suite des autres.
make xconfig ncessite que X soit lanc et que le paquetage qt3-devel ou qt4-devel soit
install. make compile linterface graphique et la lance.
make gconfig est le pendant GTK de make xconfig. Diverses bibliothques de dvelop-
pement de Gnome doivent tre installes (entre autres, libgtk2-devel et libglade2-
devel).
Tous ces outils de conguration permettent dafcher une aide en ligne pour savoir quoi
correspondent les diffrentes options.
Reprendre une
configuration
existante
Vous pouvez souvent reprendre la conguration dun noyau existant et lutiliser comme
base pour votre nouveau noyau. Pour cela, copiez le chier .config de lancien noyau dans
larborescence du nouveau et lancez la commande make oldconfig. Les options du nouveau
noyau qui ntaient pas prsentes dans la conguration existante seront alors proposes, de
manire comparable make config. Le succs de cette opration nest pas garanti (surtout si
les deux versions sont trs diffrentes), mais le temps ncessaire la conguration du noyau
est si faible que cela vaut gnralement la peine dessayer.
Linux Livre Page 489 Mardi, 23. septembre 2008 1:05 13
LINUX 490
Si votre noyau a t compil avec les bonnes options, le chier /proc/config.gz contient le
chier .config du noyau courant. Certaines distributions installent galement le chier de
conguration du noyau dans /boot paralllement au noyau.
Compiler et installer le noyau
Une fois la conguration du noyau acheve, il est temps de passer la compilation. Attention,
cest une opration assez longue et coteuse en place disque.
root# cd /usr/src/linux-n.n
root# make all
root# make modules_install
Le rsultat de ces commandes est une image bzImage dans le rpertoire /usr/src/linux-
n.n/arch/i386/boot. La taille du chier varie entre 1 et 2 Mo, selon le nombre de fonctions
que vous avez intgres au noyau.
make modules_install copie les modules lendroit o insmod les attend.
Installer le
noyau
Le noyau frachement compil nest pas encore actif ! Vous devez le copier dans un endroit
accessible GRUB et ajouter un lment au menu :
root# mv /usr/src/linux-n.n/arch/i386/boot/bzImage /boot/vmlinuz-n.n
Pour modier GRUB, le plus simple est gnralement de copier llment existant et de
modier cette copie pour ladapter au nouveau noyau. Ne remplacez pas le noyau courant,
ni sa conguration : il se peut que votre noyau ne fonctionne pas du premier coup. Il est
alors intressant de pouvoir revenir lancienne version.
25.3 Crer un fichier initrd
Dans le menu GRUB, la plupart des lments indiquent deux chiers : le noyau Linux et le
chier initrd qui lui correspond. Ces deux chiers se trouvent gnralement dans le rper-
toire /boot, mais leur nom varie selon la distribution. initrd contient tous les modules dont
le noyau a besoin pour accder au systme de chiers. GRUB cre un disque virtuel pour
mettre ce chier disposition du noyau.
En gnral, initrd contient un module pour le pilote du systme de chiers de la partition
systme. Si votre partition se trouve sur un disque SCSI, initrd doit galement contenir le
pilote de votre carte SCSI. Si votre partition racine est installe dans un systme LVM ou
RAID, des pilotes supplmentaires sont prvoir.
Le fichier initrd nest pas obligatoire. Si votre noyau contient tous les composants ncessaires au proces-
sus damorage, le dmarrage fonctionne sans initrd. Le noyau doit cependant tre compil de cette
manire.
Le chier initrd doit correspondre exactement la version du noyau. Il faut donc recrer
un chier initrd chaque fois que lon compile un noyau.
Linux Livre Page 490 Mardi, 23. septembre 2008 1:05 13
491 NOYAU ET MODULES
mkinitramfs Sous Debian et Ubuntu, le script mkinitramfs sert crer le chier initrd. La conguration
de base se trouve dans /etc/initramfs-tools/initramfs.conf, ainsi que dans les chiers
du rpertoire /etc/initramfs-tools/conf.d. initrd contient tous les modules du chier /etc/
initramfs-tools/modules (un module par ligne).
Vous pouvez ensuite gnrer initrd :
root# mkinitramfs -o myinitrd 2.16.13-10-i686
Pour plus dinformations ce sujet, reportez-vous man mkinitramfs.
mkinitrd (Red
Hat, Fedora)
Sous Fedora et Red Hat, cest le script mkinitrd qui permet de crer le chier initrd, qui
contient tous les modules ncessaires pour accder la partition systme. Les modules qui
ne sont pas automatiquement reconnus par le programme doivent tre ajouts avec loption
--with=nom_du_module. Vous trouverez plus doptions pour la commande mkinitrd dans
man mkinitrd. Cette commande cre un disque virtuel qui permet daccder un systme de
chiers reiserfs :
root# mkinitrd --with=reiserfs /boot/initrd-2.6.16-1.2111_FC5.img \
2.6.16-1.2111_FC5
mkinitrd
(SUSE)
La commande mkinitrd fonctionne diffremment sous SUSE et Red Hat. Normalement,
vous ne devez passer aucun paramtre mkinitrd sous SUSE. mkinitrd cre automatique-
ment un chier initrd pour tous les noyaux quil trouve dans le rpertoire /boot. Les nouveaux
chiers sont nomms /boot/initrd-nnn, o nnn est la version du noyau.
mkinitrd examine la variable INITRD_MODULES du chier /etc/sysconfig/kernel. Celle-ci
contient tous les modules lancer ds lamorage et ressemble ceci :
INITRD_MODULES="via82cxxx processor thermal fan jbd ext3"
Voir le
contenu dun
fichier initrd
Pour examiner le contenu dun chier initrd, lancez les commandes suivantes :
root# cd /boot
root# cp initrd-n.n initrd-test.gz
root# gunzip initrd-test
root# mkdir test
root# cd test
root# cpio -i < ../initrd-test.gz
root# ls -lR
Linux Livre Page 491 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 492 Mardi, 23. septembre 2008 1:05 13
PARTIE 5 CONFIGURATION RSEAU ET SERVEUR
26
Configurer laccs rseau
(rseau local, Wi-Fi)
Ce chapitre dcrit comment connecter un ordinateur Linux un routeur
(ADSL), un rseau local (LAN ou Local Area Network) ou un rseau sans l
(Wi-Fi), et ce qui se passe en coulisse de cette procdure.
Lorsque tout fonctionne, la conguration du rseau local ou sans l ne prend
quune deux minutes. Bien souvent, la conguration a lieu (avec succs) lors
de linstallation. Ce chapitre se focalise donc davantage sur les bases : quoi
servent les adresses IP ? Comment tester les fonctionnalits rseau ? De quels
moyens dispose-t-on pour identier les erreurs ?
Dans le cadre dun rseau sans l, lintgration au rseau nest pas tout : la
connexion doit galement tre sre. Le meilleur chemin vers une scurit accrue
consiste mettre en place un rseau priv virtuel (VPN ou Virtual Private Network).
Ce chapitre part du principe que vous souhaitez connecter votre ordinateur
Linux un rseau local prexistant. Si vous devez congurer vous-mme la
connexion Internet, le prochain chapitre vous fournira les informations nces-
saires (PPP, modem, ADSL). Si vous envisagez dutiliser votre ordinateur non
pas en tant que client, mais en tant que serveur au sein dun rseau local, vous
trouverez des informations dtailles sur ce sujet au Chapitre 28.
26.1 Bases rseau
Dans cette section, nous aborderons les bases et les rouages internes de la con-
guration rseau. Les informations donnes ici valent non seulement pour la
connexion un rseau local, mais galement pour la conguration Wi-Fi, ADSL
ou modem tlphonique.
Glossaire
TCP/IP Tous les systmes dexploitation existants prennent en charge TCP/IP en tant
que protocole rseau. Celui-ci rgit les communications entre ordinateurs, aussi
bien sur un rseau local (LAN, intranet) que sur Internet. Pour cette raison, de
nombreux services rseau nont aucun besoin de savoir si lordinateur cible se
trouve cinq mtres du serveur et sur le mme rseau local, ou sil se trouve au
Japon. Dans le second cas, la vitesse de transfert sera simplement moins leve.
Le protocole IP (Internet Protocol) constitue la base pour le protocole TCP (Transmis-
sion Control Protocol). TCP/IP gre donc conjointement deux tches : il identie
chaque ordinateur par le biais dun numro unique (adresse IP) et se charge de
vrier que les donnes devant tre mises lattention dune adresse particulire
lui parviennent effectivement. Ces donnes sont transmises sous la forme de petits
paquets.
Linux Livre Page 493 Mardi, 23. septembre 2008 1:05 13
LINUX 494
Mme si votre ordinateur ne fait pas partie dun rseau et que vous ne possdez ni connexion rseau ni
modem, vous aurez quand mme besoin des fonctionnalits TCP/IP ! De nombreux programmes Linux utili-
sent en effet ce protocole pour leurs communications internes. Pour cette raison, linterface loopback doit
dans tous les cas tre installe (voir plus bas). Cest le cas par dfaut sur toutes les distributions.
UDP et ICMP Outre TCP, il existe deux autres protocoles jouant un rle important sur Internet : UDP et
ICMP. UDP est lacronyme dUser Datagram Protocol. Il permet de transmettre les paquets de
faon non able. "Non able" signie dans ce contexte que lmetteur et le destinataire ne
sont pas connects en permanence lun lautre pour changer des informations sur les
paquets transmis. Avec UDP, il est donc possible que des paquets narrivent pas du tout
destination, ou dans le dsordre par rapport leur ordre denvoi. Cest le rle du destina-
taire (et non du protocole) de vrier lintgrit des donnes. UDP possde lavantage, par
rapport TCP, dtre plus efcace pour certaines applications du fait de la faible charge quil
occasionne et quil permet des temps de raction plus courts. Il est par exemple utilis pour
les services DNS et NFS.
ICMP est lacronyme dInternet Control Message Protocol. Il est conu non seulement pour
lchange de donnes entre programmes mais galement pour la transmission de codes de
contrle et derreur pour TCP/IP. ICMP est par exemple utilis par loutil ping.
Ports Chaque paquet IP est class suivant un numro de port. Ceci permet dordonnancer plus
facilement les paquets au niveau du destinataire. La plupart des applications Internet
(WWW, FTP, E-mail, etc.) se voient attribuer un numro de port propre.
PPP Lorsque la connexion Internet intervient, non pas travers linfrastructure dun rseau
local mais directement par le biais dun modem ou dune carte RNIS, cest le protocole PPP
(Point-to-Point Protocol) qui entre en jeu. Il permet de transmettre les donnes TCP/IP sur
une ligne tlphonique, par RNIS ou par ADSL. PPP peut galement tre utilis pour la mise
en place des rseaux privs virtuels (VPN).
Nom dhte et
nom de
domaine
Les adresses IP (voir ci-aprs) sont certes pratiques pour les ordinateurs, mais elles sont peu
commodes pour les tres humains. Pour cette raison, lordinateur peut aussi tre identi
par la combinaison de son nom dhte et du nom de domaine.
Le nom dhte est le nom effectivement attribu lordinateur. Le nom de domaine dcrit la
portion de rseau dans laquelle on peut accder lordinateur. Le nom de domaine peut
galement comprendre plusieurs sections.
Au sein dun rseau local, les noms dhte et de domaine servent principalement daide-
mmoire pour les utilisateurs. Ainsi, mes ordinateurs de test sont nomms suivant les pla-
ntes de notre systme solaire (par exemple jupiter), tandis que le domaine associ est sol.
Le nom complet rsultant est donc jupiter.sol.
Il faut viter dutiliser comme nom dhte le fabricant de lordinateur, son propritaire, le nom dun projet, etc.
car cela peut conduire une certaine confusion. Utilisez des noms courts et faciles retenir, correspondant
des animaux, des plantes, des rivires ou tout autre domaine de votre choix. Les caractres spciaux ne sont
pas autoriss.
Nutilisez jamais localhost en tant que nom dhte ! Ce nom possde une signification particulire : il
sert de nom pleinement qualifi (fully qualified). Il est toujours affect ladresse 127.0.0.1 de linterface
loopback, indpendamment de tout autre paramtre de la configuration rseau.
Linux Livre Page 494 Mardi, 23. septembre 2008 1:05 13
495 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Vous avez moins de marge de manuvre sur le choix du nom de domaine. Celui-ci doit cor-
respondre aux noms de domaines dj utiliss au sein du rseau. Ce nest que lorsque vous
mettez en place un nouveau rseau local que vous pouvez librement choisir votre nom de
domaine.
Lorsque votre ordinateur Linux doit tre visible sur Internet en tant que serveur web, e-mail
ou pour tout autre service, vous devez enregistrer le nom de domaine souhait auprs dun
fournisseur daccs Internet ou dun bureau denregistrement NIC (Network Information Cen-
ter), par exemple auprs de lAFNIC (http://www.afnic.fr) pour les noms de domaines en .fr
ou de CORE (http://www.corenic.org) pour les noms de domaines en .com, .net et .org.
Adresses IP Les adresses IP servent identier de faon univoque un ordinateur au sein dun rseau.
192.168.0.75 est par exemple une adresse IP typique pour un ordinateur du rseau local. Vous
trouverez davantage dinformations sur les adresses IP un peu plus loin dans ce chapitre.
Adresse MAC Ladresse MAC (Media Access Control) est un numro didentiant univoque que possde
chaque contrleur Ethernet. Ladresse MAC permet didentier le contrleur rseau avant
mme que lui soit affecte une adresse IP. Ladresse MAC est en particulier utilise par le
protocole DHCP (voir Chapitre 28).
Interface Ladresse IP dcrit non pas un ordinateur mais une interface IP. Un ordinateur possde souvent
plusieurs interfaces, chacune dote dune adresse IP diffrente. Sur un ordinateur, on retrouve
gnralement linterface loopback (127.0.0.1, voir ci-aprs), une ou plusieurs interfaces Ethernet,
ainsi quune ventuelle interface PPP pour laccs Internet par modem, RNIS ou ADSL.
Lorsque lon parle de ladresse IP (comme sil nen existait quune), on fait alors gnrale-
ment rfrence ladresse permettant daccder lordinateur au sein du rseau local ou
dInternet. En rgle gnrale, il sagit de ladresse IP de linterface Ethernet laquelle sont
affects les noms dhte et de domaine, et qui est unique au sein du rseau local.
Nom
dinterface
En interne Linux, toutes les interfaces rseau se voient attribuer un nom. Des noms typi-
ques sont par exemple lo pour linterface loopback, eth0, eth1, etc. pour les interfaces Ethernet
et pppn pour les interfaces PPP.
Interface
loopback
Linterface loopback joue un rle particulier : elle permet dutiliser le protocole rseau pour les
services locaux et donc pour la communication interne lordinateur. Cela peut sembler
absurde, mais cest obligatoire pour de nombreuses commandes lmentaires de Linux. En
effet, celles-ci basent leurs communications sur le protocole rseau, et ce que les donnes res-
tent sur lordinateur local ou quelles soient transmises destination dun ordinateur distant
sur le rseau. Un exemple de ce fonctionnement est le systme dimpression CUPS, qui traite
les tches dimpression aussi bien locales quen provenance dautres ordinateurs sur le rseau.
Ladresse IP rserve pour linterface loopback est 127.0.0.1. Toutes les distributions grent
automatiquement la conguration de linterface loopback, mme si aucune conguration
rseau nest effectue par ailleurs.
Masques de
sous-rseau,
adresse
rseau,
adresse de
broadcast
Ltendue dun rseau local est exprime par deux ou trois masques. Il sagit pour chaque
masque de quatre groupes de chiffres, utiliss en interne comme motif binaire pour les
adresses IP. Lorsque le rseau local comprend toutes les adresses 192.168.0.n, le masque de
sous-rseau correspondant est 255.255.255.0, ladresse rseau, 192.168.0.0 et ladresse de broad-
cast (ou adresse de diffusion), 192.168.0.255. Dans de nombreux outils de conguration,
Linux Livre Page 495 Mardi, 23. septembre 2008 1:05 13
LINUX 496
vous navez pas besoin de renseigner ladresse de broadcast dans la mesure o celle-ci est
calcule partir des deux autres adresses fournies.
Le rseau rsultant est alors dcrit comme 192.168.0.0/255.255.255.0 ou, plus brivement,
192.168.0.0/24 (cette seconde notation fournit le nombre de valeurs binaires 1 dans le mas-
que de sous-rseau). Deux ordinateurs dadresses IP 192.168.0.71 et 192.168.0.72 peuvent
donc communiquer directement lun avec lautre sur ce rseau (parce que les adresses IP
correspondent au domaine dni par le masque de sous-rseau). Le nombre maximal
dordinateurs pouvant communiquer entre eux dans ce rseau est de 254 (correspondant
aux adresses .1 .254, les adresses .0 et .255 tant rserves).
Passerelle Une passerelle (gateway) est un ordinateur constituant une interface entre deux rseaux
(bien souvent, entre le rseau local et Internet). Pour que votre ordinateur Linux, situ sur le
rseau local, puisse accder Internet, vous devez fournir ladresse de la passerelle la
conguration.
Ladresse de la passerelle dcrit donc un ordinateur du rseau local (par exemple
192.168.0.1). Cet ordinateur possde une position particulire dans la mesure o il est gale-
ment connect (par exemple par une liaison ADSL) Internet. Le trac Internet de lensemble
du rseau local transite donc par la passerelle.
Serveur
de noms
Un serveur de noms est un programme traduisant les noms des ordinateurs ou les adresses
Internet (par exemple www.yahoo.fr) en adresses IP. Sur les petits rseaux, la correspon-
dance entre nom et adresse seffectue bien souvent par le biais dun tableau (le chier /etc/
hosts). Sur Internet, ce sont des ordinateurs dots des bases de donnes appropries qui
grent cette tche. Pour dcrire un serveur de noms, on utilise galement labrviation DNS
(pour Domain Name Server).
Lorsque vous souhaitez consulter la page www.yahoo.fr dans un navigateur web, un contact
est tabli en premier lieu avec le serveur de noms pour en obtenir ladresse IP du serveur
web correspondant. Ce nest quaprs la russite de cette opration quune connexion peut
tre tablie avec ladresse IP en question.
DHCP Le protocole DHCP (Dynamic Host Conguration Protocol) est frquemment utilis au sein des
rseaux locaux pour centraliser ladministration du rseau. Plutt que congurer individuelle-
ment, sur chaque ordinateur, ladresse IP, la passerelle, le serveur de noms, etc., un ordinateur
est congur comme serveur DHCP (voir Chapitre 28). Tous les autres postes du rseau local
prennent contact, lamorage, avec le serveur DHCP pour en obtenir les paramtres utiliser
pour le rseau. La conguration des clients est donc rduite sa plus simple expression.
Adresses IP
Nous avons dj mentionn que les adresses IP servent lidentication des ordinateurs au
sein dun rseau. Cela vaut aussi bien pour le rseau local que pour Internet. Cette section
fournit des informations de base sur lutilisation des adresses IP.
En thorie, il existe 256
4
adresses IP (environ 4 milliards). Toutefois, le nombre dadresses
disponibles de fait est trs infrieur car, dune part, un certain nombre de ces adresses sont
rserves (par exemple toutes celles nissant par .0 et .255) et, dautre part, parce que les
adresses IP ont par le pass t attribues de faon assez librale.
Du fait de la croissance exponentielle dInternet, le besoin en adresses IP univoques pour
chaque ordinateur prsent sur Internet est devenu un problme grandissant. Jusqu ladoption
Linux Livre Page 496 Mardi, 23. septembre 2008 1:05 13
497 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
complte dIPv6 (une nouvelle version du protocole Internet qui, outre de nombreuses am-
liorations, offrira galement un espace dadresses considrablement plus grand), les adresses
IP resteront un bien rare.
Adresses IP
sur Internet
Si vous souhaitez connecter votre propre serveur web Internet, vous aurez besoin non seu-
lement dun nom de domaine valable mondialement (par exemple "masociete.fr"), mais
galement dune adresse IP propre. Le plus simple pour obtenir ces deux paramtres consiste
passer par votre FAI ou par lorganisme NIC de votre pays.
Pour les utilisateurs privs ou les petites organisations, ceci nest toutefois que rarement
ncessaire. Pour le rseau local, ce sont les adresses IP de lespace dadresses priv qui sont
utilises (voir un peu plus loin pour les dtails). La connexion Internet seffectue par le
biais dun FAI qui, pour la dure de la connexion, met votre disposition une adresse IP
valable mondialement.
Si, toutefois, vous souhaitez tre prsent sur Internet avec votre propre site web, vous
devrez en gnral faire appel un fournisseur de services. Lordinateur hbergeant le ser-
veur web et vos documents HTML se trouve chez le fournisseur (et non votre domicile) et
cest le prestataire qui est responsable de ladresse IP. Ce fonctionnement prsente un avan-
tage supplmentaire dans la mesure o vous navez pas tre connect en permanence
Internet pour que votre site web soit, lui, accessible.
Pour rsumer : vous naurez besoin dune adresse IP personnelle et univoque que si votre
ordinateur doit tre en permanence accessible sur Internet et que vous possdiez cet effet
une connexion directe Internet (par exemple par une ligne ddie). Cela ne concerne en
gnral que les grosses socits et les universits.
Adresses IP sur
le rseau local
Les ordinateurs du rseau local sont en rgle gnrale invisibles depuis Internet. Cela signi-
e que les ordinateurs peuvent certes utiliser les fonctionnalits Internet par le biais dune
conguration approprie, mais quils sont protgs contre les accs non autoriss raliss
depuis Internet. En consquence, les adresses IP du rseau local nont besoin dtre univoques
quau sein de ce rseau et non au niveau mondial.
Les adresses IP tant un bien rare, ceci offre des possibilits intressantes dconomies. Trois
plages dadresses parmi lespace dadresses IP disponibles ont donc t rserves aux
rseaux locaux :
10.0.0.0 - 10.255.255.255
172.16.0.0 - 172.31.255.255
192.168.0.0 - 192.168.255.255
Le premier domaine permet de mettre en place un rseau local trs important (comprenant
en thorie 16 millions dordinateurs, ce qui suft dj pour de trs grosses entreprises). Le
deuxime domaine compte de fait 16 plages dadresses denviron 65 000 adresses chacune
(par exemple 172.23.0.0 172.23.255.255). Le troisime domaine est constitu de 256 petites
plages dadresses (par exemple 192.168.75.0 192.168.75.255.
La plage dadresses dans laquelle vous choisissez de congurer votre rseau local na pas
dimportance : ce systme garantit quil ny aura aucun conit dadresse avec les "vraies"
adresses IP dInternet.
Linux Livre Page 497 Mardi, 23. septembre 2008 1:05 13
LINUX 498
La plupart du temps, vous souhaiterez pouvoir utiliser librement les fonctionnalits Inter-
net au sein du rseau local (par exemple consulter des pages web). Pour ce faire, vous
devrez congurer un ordinateur du rseau local en tant que passerelle vers Internet. Cet
ordinateur tablit la connexion Internet (quil sagisse dune connexion ADSL, RNIS,
modem ou autre) et redirige toutes les requtes Internet du rseau local. La passerelle a en
outre la responsabilit de traduire les adresses IP locales en une adresse IP valable
lextrieur : cette fonction porte le nom de mascarade et est dcrite au Chapitre 28.
Adresses IP
dynamiques
Le fait quune adresse IP est obligatoire pour identier un ordinateur sur le rseau devrait
maintenant tre clair. Mais do lordinateur peut-il savoir quelle adresse utiliser ? La solu-
tion la plus simple consiste renseigner explicitement ladresse IP la conguration. Sur les
petits rseaux locaux, cest la procdure la plus courante. Le premier ordinateur du rseau
se voit par exemple attribuer ladresse 192.168.0.1, le second 192.168.0.2, etc. Ladresse est
enregistre dans le chier /etc/hosts.
Plus la taille du rseau augmente, et plus cette conguration dcentralise devient probl-
matique. Pour viter la surcharge de travail affrente, on utilise frquemment des adresses
IP dynamiques. Pour cela, un ordinateur du rseau local doit tre congur en tant que ser-
veur DHCP (Dynamic Host Conguration Protocol). Tous les autres postes du rseau, au lance-
ment de leurs fonctions rseau, prennent contact avec le serveur DHCP et se voient attribuer
une adresse IP. Il nest pas rare de voir un routeur ADSL jouer ce rle de serveur DHCP.
Ceci prsente avant tout deux avantages : tout dabord, lensemble du rseau peut tre gr
de manire centralise (plutt que devoir congurer des paramtres sur chaque poste) ;
ensuite, la charge de travail dadministration par client tend alors vers zro. Pour connecter
un client au rseau, il ny a plus besoin que de fournir le nom de machine et dactiver
loption DHCP. Toutes les autres donnes (adresse IP propre, adresses IP de la passerelle et
du DNS, etc.) sont transmises par DHCP.
Il existe en outre un troisime avantage qui est toutefois plus intressant pour les FAI : du
fait que les adresses IP sont attribues de manire dynamique et que tous les ordinateurs ne
sont pas connects simultanment au rseau, le nombre dadresses IP ncessaires pour
rpondre aux besoins dun grand nombre dutilisateurs est donc infrieur au nombre total
de postes. Chaque fois quun utilisateur sidentie auprs de son FAI par modem ou ADSL,
il obtient la premire adresse disponible ce moment prcis.
Un ordinateur,
plusieurs
adresses IP
Un ordinateur possde, en rgle gnrale, plusieurs adresses IP ! Si nous navons jusqu
prsent parl que de ladresse IP, nous impliquions quil sagissait de ladresse affecte
linterface du contrleur Ethernet. Cest donc ladresse identiant lordinateur au sein du
rseau. Cela signie galement, plus prcisment, que ladresse IP est non pas celle de lordi-
nateur proprement parler mais celle de linterface associe au contrleur rseau prsent dans
cet ordinateur.
Chaque ordinateur Linux/Unix est par ailleurs accessible par le biais de ladresse 127.0.0.1
ou du nom localhost. Cette interface loopback, que nous avons dj mentionne, est rser-
ve au trac rseau local. Vous pouvez tester trs simplement son bon fonctionnement
laide de ping :
utilisateur$ ping localhost
PING localhost (127.0.0.1) 56(84) bytes of data.
64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.049 ms
64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.040 ms
Linux Livre Page 498 Mardi, 23. septembre 2008 1:05 13
499 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.041 ms
--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 1999ms
rtt min/avg/max/mdev = 0.040/0.043/0.049/0.006 ms
ping transmet des paquets de donnes ladresse fournie en paramtre et mesure la dure
coule jusqu conrmation de la bonne rception des paquets. ping localhost devrait
mme fonctionner si votre ordinateur ne possde aucun contrleur Ethernet !
Enn, un ordinateur peut galement tre pourvu de plusieurs contrleurs rseau. Chaque
contrleur fonctionne alors comme une interface individuelle et possde donc sa propre
adresse IP. Les connexions PPP tablies par le biais dun modem ou dune carte RNIS
constituent galement des interfaces. Celles-ci se voient attribuer une adresse IP, gnralement
dtermine par le FAI (il sagit dune adresse IP dynamique).
Un ordinateur peut tre quip de plusieurs contrleurs rseau si, par exemple, il doit relier
deux portions de rseau situes dans des plages dadresses diffrentes. Lordinateur est
alors dsign par le terme de routeur. Un exemple en est la passerelle Internet dun rseau.
Tant que la connexion Internet est tablie, la passerelle possde au moins trois adresses IP :
ladresse loopback 127.0.0.1, une adresse au sein du rseau local et enn une adresse Inter-
net globale attribue par un FAI (pour tre tout fait exact, une passerelle assure les fonc-
tionnalits non pas de routage mais uniquement de mascarade ; cette diffrence subtile est
dcrite plus prcisment au Chapitre 28).
Configuration
statique de
ladresse IP
Lorsquil ny a pas de serveur DHCP sur un rseau local, vous devez paramtrer de faon
statique ladresse IP de linterface lors de la conguration rseau. Mais quelle adresse IP
devez-vous utiliser ?
Si votre ordinateur ne fait pas partie dun rseau local : en dehors de ladresse 127.0.0.1
pour linterface loopback, vous navez pas besoin de la moindre adresse IP (ceci vaut mme
si cet ordinateur doit tre ultrieurement connect Internet par une liaison modem/
RNIS/ADSL). Votre seule tche de conguration consiste donc fournir les noms dhte et
de domaine.
Si votre ordinateur fait partie dun rseau local existant : ladresse IP doit se trouver dans la
plage dadresses valides pour ce rseau (par exemple 192.168.0.*) et doit y tre unique.
Si votre ordinateur doit tre le premier dun nouveau rseau local : choisissez une plage
dadresses prive (par exemple 192.168.0.*) et affectez lordinateur une adresse IP de
cette plage.
IPv6
Jusqu prsent, je nai fond mes explications que sur le protocole IP dans sa version 4
(IPv4). Internet, dans sa forme actuelle et dans son ensemble, est galement bas sur cette
version du protocole IP. Toutefois, depuis plusieurs annes dj se dessine une pnurie
dadresses IP. De surcrot, ce protocole prsente quelques lacunes fonctionnelles qui le
Linux Livre Page 499 Mardi, 23. septembre 2008 1:05 13
LINUX 500
rendent peu adapt de nombreuses applications actuelles et venir (par exemple la tl-
phonie sur IP, le streaming audio et vido).
Adresses IPv6 La version 6 du protocole IP (IPv6), lorsquelle sera mise en place, devrait combler ces lacunes.
Le changement le plus marquant et le plus visible pour les administrateurs est sans doute la
longueur des adresses, qui de 32 bits avec IPv4 passera 128 bits avec IPv6. Les adresses
IPv6 devraient donc tre rdiges sur le modle suivant :
121.57.242.17.122.58.243.18.19.123.59.20.244.124.60.245
Il est toutefois manifeste que cette criture nest pas utilisable. Pour conomiser de la place,
les adresses IPv6 sont donc prsentes sous la forme de groupes (jusqu huit) de chiffres
hexadcimaux, spars par un caractre deux-points ":", comme dans lexemple suivant :
abcd:17:2ff:12aa:2222:783:dd:1234
Pour gagner encore en lisibilit, on abrge une succession de plusieurs groupes de valeur
nulle en un double caractre deux-points "::" :
abcd:17:0:0:0:0:dd:1234 -> abcd:17::dd:1234
0:0:0:0:0:783:dd:1234 -> ::783:dd:1234
Pour localhost, il existe une criture encore plus compacte : ::1.
Lorsque lon convertit des adresses IPv4 en adresses IPv6, les six premiers groupes sont
constitus de zros. Les deux derniers groupes peuvent galement tre crits sous la forme
dcimale bien connue :
Adresse IPv4 : ::110.111.112.113
Dans le cadre de ladoption dIPv6, il sera ncessaire pendant plusieurs annes dutiliser
conjointement IPv4 et IPv6. Il existe plusieurs mthodes pour faire transiter des paquets
IPv6 sur des rseaux IPv4 (et vice versa).
IPv6 et Linux Le noyau Linux gre en principe IPv6 depuis la version 2.2 ; en pratique, la prise en charge
dIPv6 nest mre que depuis le noyau 2.6. Une majorit des applications rseau sont galement
devenues compatibles IPv6 entre-temps.
Du fait quIPv6 ne sest pas encore couramment tabli dans lespace europen, les informations de cet
ouvrage ne sappliquent pour le moment qu IPv4. Les pages suivantes constituent un bon point de dpart
pour rechercher des informations supplmentaires sur IPv6 et sur les particularits de Linux :
http://www.ipv6.org/ ; http://www.ipv6forum.com/ ; http://fr.wikipedia.org/wiki/IPv6 ;
http://www.faqs.org/rfcs/rfc1752.html
26.2 Activer manuellement un contrleur LAN
Le contrleur rseau ou LAN est en rgle gnrale une puce sur la carte mre de votre ordi-
nateur qui gre les fonctionnalits Ethernet. Le contrleur peut galement se trouver sur une
carte rseau propre (PCI, ISA, PCMCIA). Les cartes rseau sont pratiques pour doter un
vieil ordinateur de fonctionnalits rseau ou tendre les capacits dun ordinateur moderne
en lui ajoutant une interface rseau supplmentaire.
Linux Livre Page 500 Mardi, 23. septembre 2008 1:05 13
501 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Indpendamment de la faon dont les fonctionnalits rseau sont physiquement mises en
uvre, je ne parlerai dans la suite que de contrleur rseau. Si vous avez dj congur le
contrleur rseau, cest votre distribution qui se charge, lamorage, de sa mise en service.
Cette section vous montre comment se droule linitialisation dun contrleur rseau et
comment vous pouvez activer manuellement linterface rseau. Lobjectif de cette section est
non pas de vous faire congurer lavenir vos interfaces rseau la main, mais de vous faire
matriser les bases du fonctionnement.
Reconnais-
sance du
matriel
La premire tape consiste vrier que le module noyau correspondant votre contrleur
rseau est bien charg. Frquemment, le noyau y parvient automatiquement. Dans ce cas, la
commande ifconfig eth0 up ne doit renvoyer aucun message derreur (voir ci-aprs). Si
vous rencontrez des problmes ce stade, vous devez identier quel contrleur rseau est
utilis dans votre ordinateur et quel module noyau en est responsable. Dans de tels cas,
lspci vous renvoie les premires informations utiles :
root# lspci | grep -i net
02:01.0 Ethernet controller: Intel Corporation 82540EP Gigabit Ethernet
Controller (Mobile) (rev 03)
...
Ce portable utilise donc le contrleur Ethernet Gigabit 82540EP dIntel. La seconde tape
consiste alors affecter un pilote appropri au contrleur (cest--dire un module noyau issu
du rpertoire /lib/modules/n.n/net/*). Une recherche Internet sur les termes linux kernel
module 82540EP conduit rapidement au module noyau appropri, e1000.
root# modinfo e1000
filename: /lib/modules/2.6.17-10-generic/kernel/drivers/net/e1000/
e1000.ko
author: Intel Corporation, <linux.nics@intel.com>
description: Intel(R) PRO/1000 Network Driver
license: GPL
version: 7.1.9-k4
...
La commande modprobe vous permet de charger le module correspondant :
root# modprobe e1000
dmesg montre si des erreurs surviennent au chargement du module (ce qui nest pas le cas
ici). Lavertissement link is not ready indique uniquement que linterface nest pour le
moment pas active faute de conguration adquate.
root# dmesg -c
...
Intel(R) PRO/1000 Network Driver - version 7.1.9-k4
Copyright (c) 1999-2006 Intel Corporation.
ACPI: PCI Interrupt 0000:02:01.0[A] -> Link [LNKA] -> GSI 11 (level, low) -> IRQ 11
e1000: 0000:02:01.0: e1000_probe: (PCI:33MHz:32-bit) 00:11:25:32:4f:5d
e1000: eth0: e1000_probe: Intel(R) PRO/1000 Network Connection
ADDRCONF(NETDEV_UP): eth0: link is not ready
Linux Livre Page 501 Mardi, 23. septembre 2008 1:05 13
LINUX 502
Pour que ce module soit, lavenir, automatiquement charg, enregistrez dans le chier de
conguration des modules (voir Chapitre 25) la correspondance entre linterface eth0 et le
module noyau 8139too :
# Fichier de configuration des modules /etc/modprobe.conf ou /etc/modprobe.d/aliases
alias eth0 e1000
Configuration
des para-
mtres de
contrleur
Dans tous les cas, le contrleur rseau identie lui-mme les paramtres obligatoires pour
communiquer au sein du rseau. Ce nest que dans de trs rares cas quil devient ncessaire
de congurer explicitement des paramtres tels que la vitesse, le mode duplex, etc. Dans de
tels cas, la commande ethtool pourra vous tre utile (voir man ethtool).
Activation
de linterface
Vous pouvez enn activer linterface rseau laide difconfig :
root# ifconfig eth0 up
Si aucun module nest charg ou que ce ne soit pas le bon, le message derreur suivant appa-
rat alors : eth0: unknown interface: No such device. dmesg vous donne plus de dtails sur la
russite ou lchec de lopration :
root# dmesg -c
e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex
ADDRCONF(NETDEV_CHANGE): eth1: link becomes ready
eth0: no IPv6 routers present
Cartes rseau
ISA
Avec les cartes ISA, qui commencent dater, il peut y avoir une complication supplmen-
taire dans certaines circonstances : le module nest, en rgle gnrale, pas en mesure diden-
tier le domaine dentres/sorties de la carte ou la bonne interruption. Cette information
doit tre saisie manuellement dans modprobe.conf ou dans un chier du rpertoire /etc/
modprobe.d/, et ce sous la forme dune ligne alias. Pour une carte ISA compatible NE-2000,
les lignes correspondantes ont lallure suivante :
alias eth0 ne
options ne io=0x300
Linux peut aussi grer plusieurs cartes rseau simultanment (tant que cela ne gnre pas
de conit entre domaines dadresses dentres/sorties ou entre interruptions). Voici l
encore un exemple :
alias eth0 ne
alias eth1 ne
options ne io=0x300,0x320 irq=5,7
Vous trouverez plus dinformations sur ce sujet dans les HOW-TO ddis au matriel et Ethernet, ainsi que
sur le site web : http://www.scyld.com/network/
Configuration
de linterface
Pour congurer linterface rseau, fournissez son nom (eth0), ainsi que ladresse IP souhai-
te, la commande ifconfig. Si vous excutez une seconde fois la commande sans fournir
cette fois dadresse IP, vous obtenez toutes les informations connues relatives linterface
rseau :
root# ifconfig eth0 192.168.0.2
root# ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:11:25:32:4F:5D
Linux Livre Page 502 Mardi, 23. septembre 2008 1:05 13
503 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
inet adr:192.168.0.2 Bcast:192.168.0.255 Masque:255.255.255.0
adr inet6: fe80::211:25ff:fe32:4f5d/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:82 errors:0 dropped:0 overruns:0 frame:0
TX packets:49 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 file transmission:100
RX bytes:9252 (9.0 KiB) TX bytes:7732 (7.5 KiB)
Interruption:17 Adresse de base:0x8000
Vous pouvez alors vrier avec la commande ping si vous parvenez contacter dautres
ordinateurs du rseau local. Loption -c 2 vous permet denvoyer exactement deux paquets
ping :
root# ping -c 2 192.168.0.1
PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data.
64 bytes from 192.168.0.1: icmp_seq=1 ttl=64 time=2.95 ms
64 bytes from 192.168.0.1: icmp_seq=2 ttl=64 time=0.169 ms
--- 192.168.0.1 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.169/1.560/2.952/1.392 ms
Configuration
du serveur de
noms
La commande ping ne fonctionne pour le moment que si vous lui fournissez directement
une adresse IP. Pour pouvoir lui passer aussi des noms de machine, le chier /etc/
resolv.conf doit contenir ladresse IP dun serveur de noms. Lexemple qui suit part du
principe que le rseau local dispose de son propre serveur de noms, dadresse IP 192.168.0.1.
Le serveur de noms peut toutefois tre extrieur au rseau et, par exemple, tre mis dispo-
sition par le FAI (vous trouverez un peu plus loin dans ce chapitre des informations sur ce
chier de conguration).
# /etc/resolv.conv
nameserver 192.168.0.1
Passerelle par
dfaut
lheure actuelle, vous ne pouvez envoyer des paquets qu destination du rseau local.
Pour permettre galement des contacts avec lextrieur (en particulier avec Internet), lordi-
nateur doit savoir o envoyer ces paquets. Vous devez pour cela fournir ladresse de la pas-
serelle Internet de votre rseau, laide de la commande route. Dans lexemple qui suit,
ladresse IP de la passerelle est 192.168.0.1 :
root# route add default gw 192.168.0.1
root# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
Il devrait maintenant tre possible denvoyer des paquets vers toute adresse situe sur
Internet :
root# ping -c 2 yahoo.com
PING yahoo.com (216.109.112.135) 56(84) bytes of data.
Linux Livre Page 503 Mardi, 23. septembre 2008 1:05 13
LINUX 504
64 bytes from w2.rc.vip.dcn.yahoo.com (216.109.112.135): icmp_seq=1 ttl=52
time=116 ms
64 bytes from w2.rc.vip.dcn.yahoo.com (216.109.112.135): icmp_seq=2 ttl=52
time=115 ms
--- yahoo.com ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 115.397/115.807/116.217/0.410 ms
Rcuprer les
informations
par DHCP
Sil y a sur le rseau un serveur DHCP, vous pouvez vous appuyer dessus pour la congu-
ration. Une fois linterface rseau active (ifconfig eth0 up sans autre paramtre), excutez
sous Debian et Ubuntu la commande dhclient3 :
root# dhclient3 eth0
...
Listening on LPF/eth0/00:11:25:32:4f:5d
Sending on LPF/eth0/00:11:25:32:4f:5d
Sending on Socket/fallback
DHCPDISCOVER on eth0 to 255.255.255.255 port 67 interval 3
DHCPOFFER from 192.168.0.1
DHCPREQUEST on eth0 to 255.255.255.255 port 67
DHCPACK from 192.168.0.1
bound to 192.168.0.15 -- renewal in 36624 seconds.
Sur SUSE, vous parviendrez au mme rsultat avec la commande dhcpd :
root# dhcpcd eth0
Red Hat ou Fedora reposent, comme Debian et Ubuntu, sur dhclient pour la conguration
du client DHCP. Toutefois, la commande y est prcongure de telle sorte quun appel
manuel ne fonctionne pas. dhclient ne peut tre utilis sur ces distributions que dans le
cadre des scripts Init-V, pour une initialisation automatise du rseau.
Pour la conguration DHCP, Knoppix utilise le programme pump, pilot par le biais du
chier /etc/pump.conf. Il est possible de lappeler manuellement sous la forme pump -i
eth0. pump -s renvoie les informations dtat relatives aux interfaces congures par
DHCP.
Dsactivation
de linterface
Pour dsactiver une interface rseau, utilisez la commande ifconfig avec loption down :
root# ifconfig eth0 down
Gestion de
plusieurs
contrleurs
Il nest maintenant pas rare de rencontrer des ordinateurs dots de plusieurs contrleurs
rseau. La quasi-totalit des portables actuels possde un contrleur Ethernet ainsi quun
contrleur Wi-Fi (dont linterface est gre, en interne Linux, de faon strictement sembla-
ble une interface Ethernet ; plus de dtails sur ce sujet un peu plus loin dans ce chapitre).
Les serveurs rseau ncessitent galement plusieurs contrleurs : cest travers un premier
contrleur qua lieu la connexion Internet, un deuxime gre la connexion au rseau local,
un troisime peut galement grer le Wi-Fi, etc.
Linux na, en principe, aucun problme grer plusieurs contrleurs et les intgrer dans la
conguration rseau. Le systme udev est charg de gnrer une correspondance cohrente
entre le matriel (les contrleurs) et les noms des interfaces associes (eth0, eth1, etc.), de
sorte que chaque contrleur se voie systmatiquement affecter le mme nom dinterface
(voir un peu plus loin).
Linux Livre Page 504 Mardi, 23. septembre 2008 1:05 13
505 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
26.3 Fichiers de configuration du rseau local
En rgle gnrale, il vaut mieux viter de modier directement les chiers de conguration
du rseau local et faire appel aux outils de conguration de votre distribution (ou ceux de
Gnome ou KDE, si votre distribution ne prvoit aucun outil de conguration de ce type).
Aprs avoir modi la conguration rseau, vous devrez fermer votre session Gnome ou
KDE et en ouvrir une nouvelle !
Gnome network-admin
KDE Centre de conguration > Internet et Rseau > Paramtres rseau
Debian Outils Gnome ou KDE
Red Hat, Fedora system-config-network = neat
SUSE YaST (Priphriques rseau > Carte rseau)
Ubuntu/Kubuntu Outils Gnome ou KDE
Cette section dcrit les principaux chiers de conguration pour connecter un ordinateur
un rseau local. Malheureusement, il nexiste de rgles unies pour les principales distri-
butions que pour une partie de ces chiers. Pour les autres chiers, qui concernent principa-
lement les interfaces et le contrleur, je prsenterai ici les variantes Debian/Ubuntu, Red
Hat/Fedora et SUSE (test avec Ubuntu 7.04, Fedora 7 et OpenSUSE 10.2).
Voici quelques lments valables pour tous les exemples de cette section : lordinateur
congurer sappelle uranus, son domaine, sol. Les autres ordinateurs du rseau local
sappellent jupiter, saturne, etc. Le rseau local utilise des adresses de la plage 192.168.0.*.
Lordinateur local possde ladresse IP 192.168.0.2. La passerelle du rseau local a lIP
192.168.0.1 et elle hberge galement un serveur de noms. Les noms et adresses ne sont bien
entendu que des exemples.
Configuration de base
/etc/hosts Le chier /etc/hosts contient une liste dadresses IP connues et des noms de machine asso-
cis. Le chier doit, dans tous les cas, contenir les donnes relatives linterface loopback,
dont lentre correspondante a en gnral lallure suivante :
# /etc/hosts
127.0.0.1 localhost # Interface loopback de lordinateur
...
Sur la plupart des distributions Linux, au lieu de lcriture 127.0.0.1, on trouve galement
lcriture IPv6 ::1. Sur Red Hat et Fedora, la ligne localhost comprend en outre lentre
localhost.localdomain. Cette ligne ne doit pas tre modie :
# /etc/hosts sur Red Hat und Fedora
::1 localhost.localdomain localhost
...
Linux Livre Page 505 Mardi, 23. septembre 2008 1:05 13
LINUX 506
Suivant la distribution, le chier hosts prsente galement une entre pour lordinateur
local. Lorsque son contrleur rseau est congur avec une adresse IP statique, celle-ci est
renseigne. Lorsque le contrleur rseau obtient son adresse dynamiquement par DHCP,
cest la pseudo-adresse 127.0.0.1 qui est alors renseigne (par exemple sur Debian et
Ubuntu), ou lentre napparat pas du tout (sur Red Hat et Fedora).
# /etc/hosts (suite)
...
192.168.0.2 uranus.sol uranus # adresse IP statique de lordinateur local
Si vous souhaitez pouvoir dialoguer avec dautres ordinateurs du rseau en utilisant leurs
noms, en labsence dun serveur de noms sur le rseau local (voir chapitre suivant), vous
devrez renseigner leurs noms dans /etc/hosts. Vous pourrez alors excuter la commande ping
saturne au lieu de ping 192.168.0.13 pour tester votre connexion lordinateur saturne :
# /etc/hosts (suite)
...
192.168.0.1 mars.sol mars # Adresses IP et noms des autres
192.168.0.2 uranus.sol uranus # ordinateurs sur le rseau
192.168.0.13 saturne.sol saturne
Des informations similaires doivent tre saisies dans les chiers /etc/hosts de tous les ordi-
nateurs du rseau local. Plus celui-ci compte de postes, plus la gestion de ces nombreux
chiers /etc/hosts devient fastidieuse. Pour cette raison, il est conseill, sur les rseaux les
plus tendus, de mettre en place un serveur de noms sur un ordinateur (voir chapitre sui-
vant). Cet ordinateur (et donc le serveur de noms) connat les noms de tous les ordinateurs
du rseau. Les ordinateurs du rseau local peuvent contacter le serveur de noms pour en
obtenir ces informations. /etc/hosts peut alors tre rduit sa plus simple expression, ne
comprenant que quelques lignes pour localhost. Toutefois, cela ncessite de congurer correc-
tement le chier /etc/resolv.conf (voir un peu plus loin dans ce chapitre).
Sur de nombreuses distributions, /etc/hosts contient en outre quelques adresses IPv6 parti-
culires comme fe00::0. Ces adresses nont toutefois de sens que si vous utilisez le nouveau
protocole IPv6.
/etc/host.conf Le chier /etc/host.conf indique comment TCP/IP doit identier les adresses IP inconnues.
Suivant le chier dexemple ci-aprs, on commence par analyser le chier /etc/hosts (mot-
cl hosts) avant dinterroger le serveur de noms renseign dans /etc/resolv.conf (mot-cl
bind). La seconde ligne autorise laffectation de plusieurs adresses IP un mme nom dhte
renseign dans /etc/hosts.
Ce chier existe dans la quasi-totalit des distributions sous la forme prsente ici et il ne
doit pas tre modi.
# /etc/host.conf
order hosts, bind
multi on
/etc/
resolv.conf
Le chier /etc/resolv.conf pilote la faon dont sont identies les adresses IP correspon-
dant des noms de rseau ou dhtes inconnus (inconnus signiant ici que les noms ne sont
pas dnis dans hosts.conf).
Les mots-cls domain et search permettent de complter les noms dhtes (par exemple jupi-
ter) avec le nom de domaine (pour obtenir par exemple jupiter.sol). Ceci amliore le confort
Linux Livre Page 506 Mardi, 23. septembre 2008 1:05 13
507 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
dutilisation car les noms dhtes peuvent alors tre fournis sous forme abrge. search permet
de renseigner plusieurs noms de domaines (avec domain, un seul peut tre fourni) : pour cette
raison, le nom domain a la prsance sur les noms search et il est test en priorit. Si, comme ici,
un seul nom de domaine est renseign, la ligne domain peut tre totalement ignore.
Les entres les plus importantes de /etc/resolv.conf sont prcdes du mot-cl
nameserver : ceci permet de renseigner jusqu trois adresses IP de serveurs de noms. On
interroge toujours ces serveurs pour identier ladresse IP correspondant un nom de
machine inconnu (par exemple www.yahoo.com). Il est donc absolument indispensable de
renseigner un serveur de noms pour pouvoir rsoudre les adresses IP dURL Internet. En tant
que particulier, vous obtenez les adresses IP dun serveur DNS de votre FAI. Dans les rseaux
locaux de plus grande envergure, il y a au moins un serveur de noms propre (voir plus haut)
directement connect au rseau : demandez-en ladresse IP votre administrateur systme !
# /etc/resolv.conf
domain sol # Les noms dhtes sappliquent .sol
search sol # Les noms dhtes sappliquent .sol
nameserver 192.92.138.35 # DNS primaire
nameserver 195.3.96.67 # DNS secondaire (en cas de panne du primaire)
Si votre rseau comprend un serveur de noms local, renseignez-en ladresse IP :
# /etc/resolv.conf
domain sol # Les noms dhtes sappliquent .sol
search sol # Les noms dhtes sappliquent .sol
nameserver 192.168.0.1 # Adresse IP dun serveur de noms local
Suivant la conguration rseau, le chier resolv.conf est gnr dynamiquement :
ltablissement dune connexion Internet par PPP (modem, ADSL ou RNIS), le script
grant la connexion insre automatiquement ladresse du serveur de noms nameserver
de votre FAI dans le chier /etc/resolv.conf.
Lorsque votre connexion au rseau local (LAN, Wi-Fi) est congure par DHCP, le script
grant la connexion insre les adresses des serveurs de noms transmises par le serveur
DHCP.
Protger
resolv.conf
de toute
modification
Ladaptation automatique du chier resolv.conf est, dans la plupart des cas, la solution la
plus pratique. Si toutefois vous ne souhaitez pas lutiliser, vous pouvez empcher les modi-
cations automatiques dans la plupart des cas.
Sur Debian et Ubuntu, pour les connexions PPP, vous devez supprimer du chier /etc/ppp/
peers/nom le mot-cl usepeerdns. Pour les interfaces rseau congures par DHCP, cela
dpend du client DHCP install. Sil sagit de pump, insrez les lignes suivantes dans le
chier pump.conf :
# /etc/pump.conf
# empcher les modifications du fichier /etc/resolv.conf
# la configuration deth0 par DHCP (Debian)
device eth0 {
nodns
}
Linux Livre Page 507 Mardi, 23. septembre 2008 1:05 13
LINUX 508
Si cest dhcp3-client qui est install, vous devez modier son chier de conguration
dhclient.conf :
# /etc/dhcp3/dhclient.conf
...
supersede domain-name "sol";
prepend domain-name-servers 192.168.0.1;
Sur Red Hat ou Fedora, vous devrez modier le chier ifcfg-xxx correspondant linter-
face rseau souhaite :
# /etc/sysconfig/network-scripts/ifcfg-xxxx (Red Hat, Fedora)
PEERDNS=no
Sur SUSE, deux chiers de conguration sont concerns :
# /etc/sysconfig/network/config pour Modem, ISDN, ADSL (SUSE)
MODIFY_RESOLV_CONF_DYNAMICALLY="no"
# /etc/sysconfig/network/dhcp fr DHCP-Clients (SUSE)
DHCLIENT_MODIFY_RESOLV_CONF="no"
Configuration
de la
passerelle
Il nexiste pas une unique manire ou un seul chier pour congurer une passerelle. Sur un
rseau local, ladresse de la passerelle est en gnral fournie par DHCP. Dans le cadre dune
conguration statique, les chiers concerns dpendent de la distribution.
Sur Debian et Ubuntu, le chier /etc/network/interfaces dcrit toutes les interfaces
rseau. Dans le cadre dinterfaces congures de faon statique, la passerelle est indique
par le mot-cl gateway :
# /etc/network/interfaces (Debian, Ubuntu)
...
iface eth0 inet static
address 192.168.0.2
netmask 255.255.255.0
gateway 192.168.0.1
Sur Red Hat et Fedora, le chier de conguration de linterface rseau contient la variable
GATEWAY :
# /etc/sysconfig/network-scripts/ifcfg-xxxx (Red Hat, Fedora)
GATEWAY=192.168.0.1
Sur SUSE, la conguration seffectue de faon centralise dans le chier suivant :
# /etc/sysconfig/network/routes (SUSE)
default 192.168.0.1 - -
Le paramtrage effectif de la passerelle seffectue de la mme manire sur toutes les distri-
butions, par le biais de la commande route. Les deux commandes qui suivent vous mon-
trent comment insrer manuellement la passerelle 192.168.0.1 dans la table de routage puis
comment len supprimer :
root# route add default gw 192.168.0.1
root# route del default gw 192.168.0.1
Configuration
du nom dhte
Vous pouvez afcher le nom dhte courant par le biais de la commande hostname. Si ce nom
dhte nest pas paramtr par DHCP, la conguration seffectue sur Debian et Ubuntu par
Linux Livre Page 508 Mardi, 23. septembre 2008 1:05 13
509 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
le biais du chier /etc/hostname, sur SUSE par /etc/HOSTNAME. Sur Red Hat et Fedora, le
nom dhte est paramtr par la variable hostname dans le chier /etc/sysconfig/network.
Veillez bien assurer la cohrence avec /etc/hosts, au cas o ce chier contienne une ligne
indiquant le nom dhte de lordinateur.
Correspondance entre contrleur et interface rseau
Tant quil ny a quun seul contrleur Ethernet, les choses sont vraiment simples : ce contr-
leur reoit le nom dinterface eth0. Sil y a plusieurs contrleurs, il est essentiel que ceux-ci
reoivent toujours le mme nom dinterface, indpendamment de leur ordre dactivation. Par
le pass, cela a frquemment occasionn des problmes. En rgle gnrale, les noms dinterfa-
ces taient attribus dans lordre dactivation : suivant lordre dans lequel taient chargs les
modules noyau pour les contrleurs rseau, il ntait pas rare de nir dans un tat de chaos.
Sur la plupart des distributions Linux actuelles, cest le systme udev qui est charg de la corres-
pondance entre contrleurs rseau et noms dinterface (voir galement Chapitre 13). Toutefois,
la conguration dudev varie dune distribution lautre. Du fait quaucun standard commun
ne sest pour le moment tabli, jai choisi de dcrire ici trois distributions particulires.
Fedora 7 Sur Fedora 7, le systme udev ne prsente pas encore de rgles pour la correspondance des
interfaces rseau. Au lieu de cela, /etc/modprobe.conf pilote laffectation des modules
noyau aux interfaces. Cette mthode est certes simple, mais galement moins able que les
variantes udev dautres distributions.
# /etc/modprobe.conf (Fedora)
alias eth0 skge
alias eth1 sky2
...
OpenSUSE
10.2
Sur OpenSUSE 10.2, cest la rgle udev 30-net_persistent_names.rules qui gre le nom-
mage des interfaces rseau. Ce chier peut, par exemple, avoir lallure suivante :
# /udev/rules.d/30-net_persistent_names.rules (SUSE)
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:16:17:cd:c3:81", \
IMPORT="/lib/udev/rename_netiface %k eth0"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:4f:4e:0f:8e:a0", \
IMPORT="/lib/udev/rename_netiface %k eth1"
SUBSYSTEM=="net", ACTION=="add", SYSFS{address}=="00:14:6c:8e:d9:71", \
IMPORT="/lib/udev/rename_netiface %k eth2"
Lorsque le systme udev identie un nouveau contrleur rseau, une nouvelle rgle lui cor-
respondant est insre dans le chier, ce dont le chier de rgles udev 31-network.rules est
responsable : il dlgue ensuite cette tche au script /lib/udev/rename_netiface.
Si vous souhaitez dsactiver le mcanisme de nommage des interfaces, modiez le contenu
du chier de conguration suivant :
# /etc/sysconfig/network/config
...
FORCE_PERSISTENT_NAMES=no
Linux Livre Page 509 Mardi, 23. septembre 2008 1:05 13
LINUX 510
Ubuntu 7.04 Sur Ubuntu, cest le chier /etc/iftab qui pilote la correspondance entre contrleur rseau
et nom dinterface. iftab est analys par le chier de rgles udev 25-iftab.rules.
Pour identier un contrleur dans iftab, on utilise ladresse MAC. Le chier peut avoir
lallure suivante :
# /etc/iftab
eth0 mac 00:0c:f1:58:f9:93 arp 1
eth1 mac 00:11:25:32:4f:5d arp 1
Configuration et initialisation des interfaces rseau
(Debian et Ubuntu)
Cette section dcrit dans quels chiers sont congures les interfaces rseau et quels scripts
sont responsables de linitialisation automatique de ces interfaces lamorage. Comme ces
dtails dpendent fortement de la conguration, nous nous focaliserons ici sur Debian et
Ubuntu. Les deux sections suivantes fourniront les renseignements correspondant Red
Hat/Fedora et SUSE.
/etc/network/
interfaces
Sur Debian et Ubuntu, cest le chier /etc/network/interfaces qui contient lensemble des
paramtres courants pour toutes les interfaces rseau actives (loopback, LAN, Wi-Fi, etc.).
La ligne auto indique quelles interfaces doivent tre actives lamorage. La ligne iface
introduit la description dune interface. Vous obtiendrez plus de dtails sur la structure du
chier laide de la commande man interfaces.
Lexemple suivant dcrit un ordinateur dot de deux interfaces rseau locales : eth0 est
congur par DHCP, tandis queth1 est congur de faon statique. Les options dinterface
ont t indentes pour donner plus de lisibilit au chier :
# /etc/network/interfaces
auto lo eth0 eth1 eth2
iface lo inet loopback
iface eth0 inet dhcp
iface eth1 inet static
address 172.16.0.1
netmask 255.255.255.0
Initialisation Le script InitV /etc/init.d/networking, excut ds linitialisation du systme (lien /etc/
rcS.d/S40networking), gre linitialisation automatique des interfaces rseau lamorage
de lordinateur. Cest la commande spcique Debian ifup (paquetage ifupdown) qui
assure le travail effectif. ifup -a analyse /etc/network/interfaces et active toutes les inter-
faces auto.
Si les interfaces sont congures par DHCP, ifup fait appel la commande dhclient pour
transmettre et analyser les donnes DHCP. Cest le chier /etc/dhcp3/dhclient.conf qui
est responsable de la conguration.
Si vous possdez les droits dadministration, vous pouvez aussi utiliser manuellement
ifup : ifup nom active linterface souhaite, ifdown nom la dsactive.
Linux Livre Page 510 Mardi, 23. septembre 2008 1:05 13
511 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Configuration et initialisation des interfaces rseau
(Red Hat, Fedora)
/etc/sysconfig/
network-
scripts/ifcfg-
xxx
Chaque interface rseau est congure par le biais de son propre chier ifcfg-nom (o nom
dsigne linterface), hberg dans le rpertoire /etc/sysconfig/network-scripts. Les lignes
qui suivent sont extraites dun chier de conguration typique pour un contrleur Ethernet
congur par DHCP.
# /etc/sysconfig/network-scripts/ifcfg-eth0
# Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:17:31:67:BA:40
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
IPV6INIT=no
PEERDNS=yes
Le chier suivant contient une description exhaustive de la plupart des chiers de congu-
ration rseau et des variables quils contiennent :
/usr/share/doc/initscripts-n.n/sysconfig.txt
Aprs avoir modi la conguration rseau, il est frquemment recommand de redmarrer
compltement les fonctionnalits rseau :
root# /etc/init.d/network restart
Initialisation Le script InitV /etc/init.d/network gre linitialisation de toutes les interfaces rseau con-
gures. Le script network appelle, pour chaque interface, le script spcique Red Hat ifup.
Celui-ci fait appel diffrentes fonctions shell dnies dans le chier network-functions. En
outre, des chiers additionnels sont appels suivant le type dinterface (ifup-eth, ifup-ppp,
ifup-wireless). Tous ces chiers se trouvent dans le rpertoire /etc/sysconfig/network-
scripts.
Si les interfaces rseau doivent accder un serveur DHCP (BOOTPROTO=dhcp dans le chier
de conguration), la commande dhclient est appele cet effet.
De faon analogue aux scripts ifup, il existe galement des scripts ifdown pour dsactiver
les interfaces rseau.
usernetctl Lutilisateur root peut activer et dsactiver confortablement une interface rseau laide de
la commande spcique Red Hat usernetctl :
root# usernetctl eth0 up
root# usernetctl eth0 down
Les utilisateurs usuels peuvent galement utiliser cette commande sils en fournissent le
chemin complet (/usr/sbin/usernetctl). Cest le paramtre USERCTL=yes/no, du chier de
conguration ifcfg-interface, qui dtermine sils sont autoriss modier ltat dune
connexion rseau.
Linux Livre Page 511 Mardi, 23. septembre 2008 1:05 13
LINUX 512
Configuration et initialisation des interfaces rseau (SUSE)
/etc/sysconfig/
network/ifcfg-
xxx
Pour chaque interface rseau, le rpertoire /etc/sysconfig/network prsente un chier de
conguration dont le nom est form partir du type dinterface et, pour les contrleurs
Ethernet, de ladresse MAC. Les lignes qui suivent illustrent un chier de conguration
typique :
# /etc/sysconfig/network/ifcfg-eth-id-00:14:6c:8e:d9:71
BOOTPROTO=static
BROADCAST=
ETHTOOL_OPTIONS=
IPADDR=192.168.0.1
MTU=
NAME=Netgear RTL-8169 Gigabit Ethernet
NETMASK=255.255.255.0
NETWORK=
REMOTE_IPADDR=
STARTMODE=auto
...
Les chiers config, dhcp et routes du rpertoire /etc/sysconfig/network contiennent
divers paramtres rseau gnraux. La page de manuel difup, ainsi que le chier suivant,
vous donneront des informations dtailles quant la conguration rseau sur SUSE :
/usr/share/doc/packages/sysconfig/Network
Initialisation Le script InitV /etc/init.d/network est galement sur SUSE le point dentre pour linitiali-
sation des interfaces rseau. network dmarre aussi bien linterface loopback pour local-
host que toutes les interfaces rseau congures.
Le script spcique SUSE /sbin/ifup est prvu pour lactivation dinterfaces individuel-
les. Mme si le nom de ce script est identique sur Debian, Fedora, Red Hat, Ubuntu et SUSE,
le code sous-jacent est diffrent dans chaque cas ! De manire analogue ifup, il existe ga-
lement des scripts ifstatus et ifdown permettant respectivement dobtenir ltat dune
interface rseau ou de la dsactiver. Pour les interfaces congures par DHCP, ifrenew permet
de relire les donnes DHCP.
Suivant le type dinterface, ifup appelle lun des scripts additionnels ifup-ppp, ifup-wire-
less, etc. Diverses fonctions communes sont hberges dans le chier functions. Tous ces
chiers se trouvent dans le rpertoire /etc/sysconfig/network/scripts.
Si linterface rseau doit faire appel un serveur DHCP (BOOTPROTO=dhcp dans le chier de
conguration), dhcpd se charge de transmettre et danalyser les donnes DHCP.
26.4 Bases sur le Wi-Fi
Pour dcrire les rseaux sans l, on utilise des abrviations diverses. La plus courante en
franais est sans conteste Wi-Fi (Wireless Fidelity). On trouve galement lacronyme WLAN
(Wireless Local Area Network), essentiellement dans les documents anglophones.
Linux Livre Page 512 Mardi, 23. septembre 2008 1:05 13
513 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Standards, glossaire
Cette section vise prsenter brivement la terminologie Wi-Fi. Si vous vous tes dj fami-
liaris avec les bases des rseaux sans l, vous pouvez passer aux sections suivantes, qui
abordent de plus prs les dtails spciques Linux concernant le Wi-Fi.
Standards Les standards Wi-Fi sont nombreux : ils sont dnis par lIEEE (Institute of Electrical and Elec-
tronics Engineers) et commencent tous par le nombre 802.11. La lettre qui vient complter
cette rfrence indique la succession chronologique des nouvelles versions ou variantes du
standard. La liste qui suit numre quelques-uns des standards Wi-Fi :
802.11. Le premier standard 802.11 dnissait la frquence dmission 2,4 GHz. Le
dbit brut maximal ntait toutefois que de 2 Mbits/s. Ce standard na aujourdhui plus
cours du fait de cette vitesse trs limite.
802.11a. Avec ce standard, la frquence dmission est dnie 5,2 GHz et le dbit brut
peut atteindre 54 Mbits/s. Toutefois, il na t jusqu prsent adopt quaux tats-Unis.
En Europe, le standard 802.11a nest autoris quavec une puissance dmission beau-
coup plus rduite quaux tats-Unis (dans plusieurs pays, lutilisation de matriel
802.11a est mme totalement interdite). Il prsente en outre linconvnient dtre incom-
patible avec les standards 802.11b et 802.11g, beaucoup plus rpandus, ainsi que davoir
une porte limite.
802.11b. Ce standard, dni depuis 1999, est jusqu maintenant le dnominateur com-
mun du monde Wi-Fi. Des millions de composants Wi-Fi sont bass sur ce standard ou
sont compatibles avec. Le matriel 802.11b met une frquence de 2,4 GHz. Le dbit
brut natteint toutefois que 11 MBits/s, ce qui suft pour surfer sur le Web.
802.11g. Ce standard est le successeur du 802.11b et est compatible avec ce dernier. Le
matriel 802.11g est disponible depuis 2003. La frquence dmission est, comme pour le
802.11b, de 2,4 GHz, le dbit brut est toutefois meilleur (54 MBits/s).
802.11i. Il sagit dune extension de 802.11a/b/g/h pour amliorer la scurit de ces
standards. 802.11i dnit la mthode de chiffrement et dauthentication WPA2.
802.11n. Successeur de 802.11a, b et g, le standard 802.11n amliore quelque peu la por-
te et notablement le dbit brut (qui atteint dsormais 540 MBits/s). Ces deux amliora-
tions sont permises par lutilisation simultane de plus dantennes, plus de rcepteurs et
plus dmetteurs (MIMO ou Multiple-in, Multiple-out). 802.11n est certes compatible
avec les variantes a, b et g, mais un seul lment Wi-Fi non compatible 802.11n peut
affecter la vitesse de lensemble du rseau.
Le matriel compatible 802.11n ou prvu pour ltre (pre-n, draft-n) existe depuis mi-
2006. La certication dnitive du standard nest toutefois prvue que pour lautomne
2008.
Brut/net Le dbit brut (par exemple 54 MBits/s pour 802.11g) peut sembler trs prometteur. Toute-
fois, si lon tient compte de la surcharge importante lie au protocole, le dbit net restant est
nettement plus faible et natteint pas la moiti de la valeur brute (mme lorsquil ne sagit de
faire communiquer que deux participants entre eux, que la liaison physique radio est bonne
et quaucun participant au rseau nutilise un standard antrieur).
Linux Livre Page 513 Mardi, 23. septembre 2008 1:05 13
LINUX 514
Adaptateurs
Wi-Fi
Tous les ordinateurs portables modernes intgrent un contrleur Wi-Fi. Les portables plus
anciens ou les ordinateurs de bureau pourront au besoin voir leurs capacits tendues par le
biais de cartes PCMCIA, dadaptateurs Wi-Fi USB ou de cartes PCI.
Ponts, points
daccs et
routeurs sans
fil
Les ponts, points daccs et routeurs Wi-Fi sont des priphriques autonomes connects au
rseau local ou un modem ADSL par le biais dun cble Ethernet :
Un pont sans l connecte un priphrique LAN isol un rseau sans l. Le pont assure
la mme fonctionnalit quune carte Wi-Fi mais la connexion lordinateur est
diffrente : elle est assure par Ethernet plutt que par PCI, PCMCIA ou USB.
Un point daccs (access point) reprsente la mthode la plus simple pour connecter plu-
sieurs clients sans l. Un point daccs est, comme un pont, connect un serveur ou
un hub rseau par un cble Ethernet. Il met plusieurs fois par seconde un signal (bea-
con) permettant aux autres priphriques Wi-Fi de dterminer la porte du point
daccs. Contrairement au pont, le point daccs prend en charge plusieurs modes Wi-Fi
et peut communiquer avec plusieurs clients sans l la fois (les diffrences entre pont et
point daccs concernent donc avant tout le logiciel de pilotage plutt que le matriel).
Un routeur Wi-Fi connecte un rseau entier (LAN et Wi-Fi) Internet. Le point de sortie
est, le plus souvent, un modem ADSL quip dune sortie Ethernet ou un serveur rseau
local. Il existe galement des routeurs Wi-Fi intgrs un modem ADSL : on dcrit de
fait des priphriques de ce type comme des passerelles.
Le routeur est gnralement constitu dun point daccs et dun petit hub pour, au
maximum, quatre priphriques Ethernet. Le logiciel interne du routeur pilote laccs
Internet et la gestion du rseau local. Un routeur hberge en gnral des fonctionnalits
de traduction dadresses (NAT), un serveur DHCP, un pare-feu lmentaire, etc. Ces
fonctionnalits sont dcrites en dtail au Chapitre 28.
Les ponts, points daccs et routeurs Wi-Fi prsentent deux avantages par rapport la majo-
rit des cartes et adaptateurs Wi-Fi : tout dabord, ils comprennent une ou mme deux
antennes relativement grandes qui permettent une meilleure connectivit que les antennes
souvent trop petites des cartes dextension Wi-Fi. Par ailleurs, il sagit de priphriques
autonomes fonctionnant sans pilotes Linux (la connexion un ordinateur sous Linux peut
donc tre assure par un cble Ethernet tout ce quil y a de plus ordinaire).
La conguration de priphriques Wi-Fi seffectue en rgle gnrale par le biais dun navi-
gateur Internet. Pour ce faire, les priphriques mettent disposition leurs propres pages de
conguration sur une adresse IP dnie (par exemple http://192.168.0.1). Attention, toute-
fois, au fait quil existe des priphriques Wi-Fi ne pouvant tre congurs que par le biais
dun logiciel disponible uniquement sous Windows ! Cela concerne principalement les
ponts Wi-Fi : de tels priphriques sont naturellement peu utilisables avec Linux.
La terminologie utilise ici nest pas uniforme chez tous les fabricants. Vous pourrez trouver des explications
relativement exhaustives sur les concepts rseau du type pont, hub, routeur, passerelle, etc. sur Wikipedia
ainsi que sur le site suivant : http://whatis.techtarget.com/
Le site web suivant est galement intressant sur le sujet du Wi-Fi et non spcifique Linux :
http://www.wi-fiplanet.com/
Linux Livre Page 514 Mardi, 23. septembre 2008 1:05 13
515 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Centrino Le nom de marque Centrino, dpos par Intel, dcrit les ordinateurs portables dots dun
processeur mobile Intel, dun chipset Intel ainsi que dun module Wi-Fi Intel. Les premires
gnrations de Centrino, compatibles avec les standards Wi-Fi 802.11a, b et g, sont dsor-
mais trs bien prises en charge par Linux.
Paramtres de connexion Wi-Fi
Lorsque vous tablissez une connexion entre deux priphriques Wi-Fi, divers paramtres
doivent tre congurs. La liste qui suit explique rapidement le rle de chacun deux.
Mode rseau Les composants Wi-Fi peuvent communiquer entre eux de diffrentes manires. Nous ne
dcrivons ici brivement que les trois modes principaux :
Le mode infrastructure (galement appel mode gr) permet de communiquer avec
un point daccs centralis. Le rseau est donc structur en forme dtoile. La plupart du
temps, la connexion stablit avec un point daccs ou un routeur Wi-Fi, mais ce peut
galement tre un ordinateur spcialement congur pour jouer ce rle.
Le priphrique Wi-Fi du point daccs fonctionne en mode matre (le mode infrastruc-
ture ne vaut donc que pour les clients, tandis que le mode matre est utilis au niveau
du serveur dun rseau Wi-Fi).
En mode ad-hoc, chaque priphrique Wi-Fi communique directement avec tous ceux
qui sont sa porte.
SSID et ESSID Les abrviations SSID (Service Set Identication) et ESSID (Extended SSID) dsignent tout
simplement une chane de caractres dcrivant le nom dun rseau Wi-Fi. Les priphriques
Wi-Fi ne peuvent communiquer entre eux que si leurs SSID se correspondent. Des SSID diff-
rents permettent galement de distinguer plusieurs rseaux Wi-Fi actifs dans la mme zone.
Le nom du fabricant est frquemment prdni en tant que chane de caractres SSID. Pour
cette raison, des priphriques issus du mme fabricant peuvent souvent communiquer lun
avec lautre directement, tandis que des appareils dorigines diffrentes ncessiteront tout
dabord de paramtrer une chane SSID commune.
De nombreuses cartes Wi-Fi prvoient une conguration automatique pour la chane SSID
(valeur any). Attention : pour la chane de caractres SSID, on diffrencie les majuscules et
les minuscules !
NWID Au sein dun mme rseau Wi-Fi (un unique SSID), il peut y avoir plusieurs cellules (cells)
diffrencies par leurs identiants NWID (Network ID). En pratique, ceci nest plus que rare-
ment utilis car de nombreux programmes de conguration renoncent tout simplement
utiliser le paramtre NWID.
Parfois, au lieu de lidentiant NWID, on parle de domaine, ce qui peut conduire une certaine
confusion : lidentiant NWID na rien voir avec les noms de domaine des adresses IP.
Canal lintrieur des bandes de frquence prvues par chacun des standards 802.11x, il existe
plusieurs canaux sur lesquels on peut mettre en parallle. En mode infrastructure, les adap-
tateurs Wi-Fi identient par eux-mmes le canal utilis par le point daccs. Par consquent,
Linux Livre Page 515 Mardi, 23. septembre 2008 1:05 13
LINUX 516
il ne devient ncessaire de congurer explicitement le canal quen cas dinterfrences entre
plusieurs rseaux Wi-Fi.
Cl WEP/WPA Pour des raisons videntes, il est ncessaire de scuriser les rseaux Wi-Fi. Suivant le stan-
dard pris en charge par votre matriel Wi-Fi, vous aurez le choix entre les mthodes WEP,
WPA ou, idalement, WPA2 (plus de dtails sur ce sujet la prochaine section). Vous devez
fournir la cl lors de la conguration de votre contrleur Wi-Fi. Suivant le systme employ,
vous devez fournir la cl sous forme de code hexadcimal ou sous forme de texte. Attention
au fait que de nombreux programmes de conguration ncessitent de faire prcder la cl
hexadcimale du code 0x !
Scurit dun rseau Wi-Fi
Il est fondamentalement possible de faire fonctionner un rseau Wi-Fi sans le moindre chif-
frement. Toutefois, nimporte qui situ porte du rseau peut alors lutiliser et couter tou-
tes les communications qui y ont lieu ! Un fonctionnement non chiffr est donc proscrire !
WEP Pour chiffrer le ux de donnes, les premires gnrations de rseaux Wi-Fi ont utilis le
systme WEP (Wired Equivalent Privacy). Les donnes taient dans ce cadre chiffres laide
dune cl 40 ou 104 bits (on parle souvent de cls 64 ou 128 bits, mais les 24 bits restants
ne servent pas au chiffrement proprement parler).
La cl WEP est en rgle gnrale fournie sous la forme dun nombre hexadcimal (10 ou 26
chiffres suivant la taille de la cl). Comme la saisie dun nombre 26 chiffres est sujette
erreur, de nombreux outils de conguration permettent de gnrer la cl partir dune
"phrase de passe" (cest--dire un texte de votre choix, qui peut tre constitu de plusieurs
mots). Toutefois, la gnration de la cl dpend du fabricant du matriel. La mme phrase
de passe peut donc aboutir des cls diffrentes sur des matriels diffrents. En cas de
doute, il ne reste donc quune seule solution, saisir exactement la cl.
la conguration WEP, vous pouvez saisir jusqu quatre cls. Dans les faits, une seule cl
est utilise la fois. La gestion de quatre cls prsente nanmoins un avantage : lorsque
vous changez de rseau Wi-Fi, vous navez pas saisir intgralement la nouvelle cl, mais
vous pouvez tout simplement changer de cl active.
Du fait de srieuses lacunes de conception, WEP sest rvl insuffisamment sr. Mme une cl sur 104 bits
peut tre identifie en un temps relativement court (au pire quelques heures mais bien souvent beaucoup
moins) par simple coute du trafic rseau. Des programmes permettant de "craquer" les cls WEP sont
disposition librement sur Internet. En dautres termes, une protection WEP est mieux que rien, mais pas
de beaucoup.
Si votre matriel le permet, vous devriez utiliser WPA ou, mieux, WPA2 (voir plus bas). Si ce nest pas possi-
ble, vous devez protger votre rseau sans fil par dautres mesures supplmentaires, idalement par la mise
en place dun VPN.
WPA, WPA2 la suite de WEP, les mthodes de protection WPA (Wi-Fi Protected Access) ainsi que sa ver-
sion amliore WPA2 ont vu le jour. La spcication exacte de WPA2 est inscrite dans le
standard 802.11i. La diffrence principale entre WPA et WPA2 rside dans lalgorithme de
chiffrement (RC4 pour WPA et AES pour WPA2).
Linux Livre Page 516 Mardi, 23. septembre 2008 1:05 13
517 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
WPA a t conu comme une solution de contournement jusqu la nalisation du standard
802.11i. Comme il existe toutefois du matriel Wi-Fi qui ne prend en charge que WPA et pas
encore WPA2, les deux variantes devraient rester en usage pendant encore un certain temps.
Lavantage essentiel de WPA rside dans le fait que la cl ne sert qu ltablissement de la
connexion. Une fois celle-ci tablie, les cls sont rgulirement changes suivant un algo-
rithme sophistiqu. WPA et WPA2 peuvent, en ltat actuel des techniques, tre considrs
comme srs tant que lon utilise une phrase de passe sufsamment longue (et donc une cl
constitue de plusieurs mots et caractres).
Ce livre ne traite que la variante PSK (Pre-Shared Key) de WPA/WPA2 : tous les utilisateurs
du Wi-Fi se connectent au rseau laide de la mme cl. La version Managed Key, encore
plus sre, attribue chaque utilisateur sa propre cl (mais cela ncessite de grer les cls sur
un serveur centralis).
Attention au fait que vous devez configurer sur la plupart des routeurs et points daccs Wi-Fi une mthode
de chiffrement. Il nest donc pas possible quun ordinateur tablisse une connexion avec WPA2 tandis
quun autre utiliserait WEP. Ainsi, le niveau de scurit de vos priphriques les plus anciens dtermine le
niveau de scurit global de votre rseau.
Protection
de base
Indpendamment de la technique de chiffrement choisie, vous devriez galement mettre en
place une protection de base de votre rseau Wi-Fi :
La conguration dun point daccs seffectue normalement par un navigateur web.
Laccs web est protg par un mot de passe que vous devez imprativement changer.
Vous devriez limiter autant que possible les possibilits de gestion distante de lappareil
et surtout lautoriser uniquement travers une connexion par cble (et non sans l).
De nombreux points daccs permettent de nautoriser laccs au rseau Wi-Fi que pour
des adresses MAC donnes. Une adresse MAC (Media Access Control) est un numro
univoque identiant le contrleur Wi-Fi. Cette mesure de protection na toutefois
quune efcacit limite, car un pirate peut travailler avec une fausse adresse MAC.
teignez le point daccs lorsque vous ne lutilisez pas.
Utilisez autant que possible des cls et mots de passe longs, qui ne peuvent tre "craqus"
par des essais multiples.
Pare-feu Un pare-feu vous permet de restreindre le trac Wi-Fi certains protocoles, segments de
rseau, etc. Vous trouverez au Chapitre 29 des indications pour la scurisation dun client
Wi-Fi par le biais dun pare-feu. Si votre point daccs Wi-Fi est branch un serveur Linux,
ce chapitre vous fournira galement des astuces intressantes.
VPN Une autre solution pour augmenter la scurit consiste considrer le rseau Wi-Fi comme
non sr, malgr toutes les protections possibles. Pour communiquer de faon scurise,
vous devez chiffrer votre trac rseau vous-mme. La solution la plus populaire consiste
utiliser un rseau priv virtuel (VPN).
Linux Livre Page 517 Mardi, 23. septembre 2008 1:05 13
LINUX 518
Prise en charge du Wi-Fi par Linux
Wireless-Tools Pour utiliser un contrleur Wi-Fi sous Linux, on fait appel aux outils Wireless-Tools (quil
sagisse dun composant Wi-Fi intgr, dune carte PCI ou PCMCIA ou encore dun priph-
rique USB externe). Les Wireless-Tools sont une collection de commandes relativement res-
treinte (iwconfig, iwstatus, etc.) permettant de congurer ladaptateur Wi-Fi. La page web
ci-aprs prsente quelques-unes de ces commandes plus en dtail. Les outils Wireless-Tools
sont livrs avec toutes les distributions courantes.
http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html
Pilotes
matriels
Les outils Wireless-Tools ne contiennent que des commandes de contrle. Les pilotes mat-
riels se trouvent quant eux dans les modules du noyau. Si, dans les ditions prcdentes
de cet ouvrage, je me suis plaint de la mauvaise prise en charge du Wi-Fi, la situation a
entre-temps bien volu : de nombreux contrleurs Wi-Fi populaires pour les standards
802.11a, b et g sont bien pris en charge. Cela inclut en particulier les contrleurs Intel PRO
Wireless 2100, 2200 et 2915, que vous pourrez trouver dans les portables Centrino. Le Wi-Fi
fonctionne de faon particulirement confortable sur Ubuntu : de nombreux contrleurs Wi-Fi
sont reconnus et congurs automatiquement ds linstallation.
Nanmoins, au niveau du noyau, le secteur du Wi-Fi demeure comme auparavant un certain
chantier : tous les pilotes Wi-Fi possdent, depuis le noyau 2.6.22, une nouvelle base commune
(mac80211, lui-mme bas sur la pile WLAN!Stack de Devicescape). Paralllement doit tre
introduite une interface de communication avec les outils rseau (cfg80211). Enn, de nou-
veaux pilotes ou des amliorations des pilotes existants sont livrs avec chaque nouvelle
version du noyau. Tout ceci conduit rgulirement des incompatibilits et autres problmes.
Les articles suivants donnent une vision assez synthtique de la situation courant 2007 :
http://lwn.net/Articles/219102/ ; http://www.linux-watch.com/news/NS9956020927.html
Un certain nombre de contrleurs Wi-Fi ne sont pas encore pris en charge par Linux ou exigent une installa-
tion manuelle et complexe de pilotes non encore intgrs officiellement au noyau. Il est encore trop tt pour
le moment pour tablir un pronostic sur la prise en charge des contrleurs 802.11n ; dexprience, il faut au
minimum un an pour que le pilote dun nouveau contrleur Wi-Fi fasse son apparition au sein dune distribu-
tion. Ne vous attendez donc pas ce que votre portable dernire gnration flambant neuf fonctionne imm-
diatement sous Linux.
Avant lachat dun nouveau portable, renseignez-vous imprativement pour savoir si le contrleur quil int-
gre est pris en charge. Cest malheureusement plus simple dire qu faire : courant 2007, je nai pu trou-
ver aucune rfrence jour sur Internet indiquant quels contrleurs Wi-Fi sont pris en charge sous Linux.
Les deux sites suivants, sur lesquels vous pourrez trouver des retours dexprience sur la majorit des por-
tables disponibles sur le march, se rvlent dj trs utiles :
http://www.linux-on-laptops.com/ ; http://tuxmobil.org/
Problmes de
firmware
La plupart des contrleurs Wi-Fi sont programmables. Pour quils fonctionnent correcte-
ment, un rmware (programme interne au contrleur) doit tre transmis au contrleur lors
de son initialisation. Le rmware provient du fabricant et peut tre librement distribu sous
rserve de respecter les termes de licence. Cest en gnral le module noyau ou le systme
Linux Livre Page 518 Mardi, 23. septembre 2008 1:05 13
519 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
udev qui se charge de la transmission du code vers le contrleur. Le code se trouve dans des
chiers binaires (blobs), gnralement dans le rpertoire /lib/firmware.
Toutefois, les fabricants de puces ne mettent disposition le rmware que sous forme
binaire et non sous forme de code source. Cette situation ainsi que les termes de licence
jusqu prsent complexes et restrictifs des fabricants ntaient pas compatibles avec les
idaux open-source de nombreux dveloppeurs. Pour cette raison, le rmware est absent de
nombreuses distributions Linux. Pour utiliser votre contrleur Wi-Fi, vous devez rechercher
et installer le paquetage correspondant au rmware. Cest un peu pesant, mais gure
compliqu : pour la plupart des distributions populaires, il existe des sources spciales pour
de tels paquetages (par exemple livnia pour Fedora). SUSE et Ubuntu comptent parmi les
exceptions positives : sur Ubuntu, le paquetage restricted contient les rmwares de trs
nombreux composants matriels tandis que, sur SUSE, ce sont les paquetages Non-OSS
(pour lesquels il existe une source propre).
Personnellement, je ne vois pas le problme des licences de firmwares de faon aussi dramatique : autrefois, le
contrleur Wi-Fi aurait compris un EPROM et personne ne se serait plaint de labsence de code open-source. La
solution actuelle est plus souple et moins coteuse (car elle permet des mises jour). Naturellement, il serait
souhaitable que le code source soit disponible pour les programmes excuts dans le contrleur, mais cette
esprance nest pas raliste. Tant que les fabricants de contrleurs Wi-Fi permettent de redistribuer leur firm-
ware, je ne vois pas dargument qui soppose la politique dUbuntu.
Larticle qui suit offre dailleurs une perspective intressante sur les discussions des dveloppeurs Debian sur
la gestion des firmwares : http://lwn.net/Articles/195820/
Problmes
avec la GPL
Comme si les problmes de rmware dj voqus ntaient pas sufsants, de nombreux
pilotes Wi-Fi sont totalement incompatibles avec la GPL. Cela concerne en particulier le
pilote MadWi-Fi pour de nombreux contrleurs Atheros. Ces pilotes contiennent un bloc de
code binaire (Hardware Abstraction Layer ou HAL) qui est toutefois directement excut
depuis le noyau (il ne sagit donc pas du rmware excut sur le contrleur). Leur statut est
comparable celui des pilotes des fabricants pour les cartes ATI et NVidia.
Ubuntu est distribue avec ces pilotes mais, sur la plupart des autres distributions, vous
devrez les installer vous-mme depuis des sources externes.
Utiliser des
pilotes
Windows
Lorsquil nexiste aucun pilote Linux, pourquoi ne pas utiliser le pilote Windows ? Ce qui
peut sembler totalement impossible au premier abord nest nalement pas si compliqu
mettre en pratique : linterface dintgration des pilotes Wi-Fi sous Windows est relative-
ment compacte. Plusieurs projets commerciaux et open-source ont implment cette inter-
face (NDIS) sous Linux. Vous pourrez trouver des informations sur lutilisation de pilotes
binaires Windows sous Linux sur les pages suivantes :
http://www.linuxant.com/driverloader/wlan/ (commercial)
http://ndiswrapper.sourceforge.net/ (open-source)
Naturellement, il est contraire lesprit open-source dutiliser des pilotes binaires, dont le
code sous-jacent nest pas contrl par la communaut open-source. Cela vaut toutefois
Linux Livre Page 519 Mardi, 23. septembre 2008 1:05 13
LINUX 520
galement pour les pilotes binaires de nombreuses cartes graphiques, auxquelles bon nom-
bre dutilisateurs Linux se sont habitus. Un autre inconvnient est le fait que les pilotes
Windows ne sont disponibles que pour les systmes compatibles Intel/AMD.
26.5 Activer manuellement le contrleur Wi-Fi
Cette section dcrit linitialisation manuelle dun contrleur Wi-Fi. La procdure est compa-
rable celle employe pour un contrleur rseau usuel (voir un peu plus haut dans ce cha-
pitre). Lobjectif principal de cette section est de vous donner un aperu de ce qui se passe en
coulisse des outils de conguration modernes. Paralllement, elle doit galement vous ser-
vir daide lorsque vous rencontrez des difcults congurer et activer automatiquement
votre contrleur Wi-Fi.
Reconnais-
sance du
matriel
La premire tape consiste charger le module appropri pour votre contrleur Wi-Fi. Ida-
lement, ce module est charg automatiquement lorsque vous amorcez votre ordinateur. La
commande iwconfig vous permet de constater si la reconnaissance automatique a russi.
Elle vous fournit des informations sur lensemble des adaptateurs Wi-Fi disponibles. Les
lignes dexemple qui suivent proviennent dun portable Centrino dj peu rcent utilisant
un contrleur Intel Pro Wireless 2100. Le contrleur a t reconnu automatiquement.
root# iwconfig
lo no wireless extensions.
irda0 no wireless extensions.
eth0 unassociated ESSID:off/any Nickname:"ipw2100"
Mode:Managed Channel=0 Access Point: Not-Associated
Bit Rate=0 kb/s Tx-Power:16 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality:0 Signal level:0 Noise level:0
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
eth1 no wireless extensions.
Si iwconfig ne renvoie aucune information, vous devrez charger vous-mme le module
noyau ncessaire laide de la commande modprobe. La commande dmesg ou un coup dil
/var/log/messages devraient vous indiquer si le chargement du module sest bien
droul. Pour le module ipw2100, les messages du noyau ont lallure suivante :
root# dmesg -c | less
...
ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2
ipw2100: Copyright(c) 2003-2006 Intel Corporation
...
ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
...
Linux Livre Page 520 Mardi, 23. septembre 2008 1:05 13
521 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Si vous ne savez pas de quel contrleur Wi-Fi vous disposez, excutez la commande lspci
(ou lspcmcia sil sagit dune carte PCMCIA) :
root# lspci
...
02:02.0 Network controller: Intel Corporation PRO/Wireless LAN 2100 3B Mini
PCI Adapter (rev 04)
Il est souvent plus difcile didentier le module noyau correspondant votre contrleur. La
meilleure solution consiste ici effectuer une recherche sur Internet (par exemple sur http://
groups.google.com). Suivant le contrleur, il est galement possible que vous deviez pralable-
ment installer le module noyau ncessaire et/ou le rmware (voir la section prcdente). Cela
dpend non pas seulement du matriel mais galement de la distribution que vous utilisez.
Pour les installations aussi bien que pour vos recherches Internet, vous aurez besoin dune connexion
rseau. Il est donc recommand de raliser la mise en service de votre contrleur Wi-Fi lorsque vous pouvez
connecter votre ordinateur par un cble rseau ou, a minima, par un modem tlphonique.
Nom
dinterface
De nombreux modules noyau Wi-Fi dsignent linterface Wi-Fi non pas par le nom ethn,
mais par wlann ou athn (par exemple le pilote MadWi pour le contrleur Atheros). Cela
limite le risque de dsordre dans la numrotation des interfaces rseau au branchement
dun adaptateur Wi-Fi.
Cette nomenclature diffrente nest toutefois pas trs loigne sur le fond : dans toutes les
commandes qui suivent, il vous suft de remplacer eth0 par wlan0 ou ath0.
Configuration
Wi-Fi
An que la carte Wi-Fi puisse communiquer avec le point daccs, vous devrez en gnral
congurer trois paramtres : le mode, lidentiant SSID et la cl. Vous pouvez congurer le
mode et lidentiant SSID laide de la commande iwconfig :
root# iwconfig eth0 mode managed
root# iwconfig eth0 essid wlan-sol
La suite des oprations dpend de la scurisation du rseau Wi-Fi. Les choses sont simples
(mais pas particulirement sres) avec WEP : fournissez la cl hexadcimale iwconfig.
root# iwconfig eth0 key c8192b13adf4ee58309953eebe
Si tout se passe bien, dmesg -c renvoie quelques nouveaux messages du noyau, qui
devraient avoir une allure proche de ceci :
root# dmesg -c
ieee80211_crypt: registered algorithm WEP
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
eth0: no IPv6 routers present
WPA Les choses sont lgrement plus compliques lorsque vous utilisez WPA ou WPA2. Dans ce
cas, le programme wpa_supplicant (issu du paquetage ponyme) est responsable de lini-
tialisation de la connexion et des changes ultrieurs des cls en mutation permanente.
Une fois celui-ci install, vous devez mettre en place un chier de conguration, que vous
pouvez par exemple nommer /etc/wpa_supplicant.conf.
Linux Livre Page 521 Mardi, 23. septembre 2008 1:05 13
LINUX 522
Le chier contient tout dabord quelques paramtres globaux, puis des paramtres spci-
ques pour divers rseaux Wi-Fi. Lexemple suivant vous montre une variante minimaliste,
sufsante pour la connexion un routeur ou un point daccs Wi-Fi avec chiffrement per-
sonnel WPA ou WPA2. Les deux paramtres dcisifs ici sont ssid (identication du rseau)
et psk (contenant la cl, chiffre pour des raisons de scurit, mais que lon peut galement
renseigner sous forme de texte en clair, entre guillemets).
# /etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
ssid="sol"
psk=00a38f42e6681596e1a5a4c5ede9a15250fb2a01c21028c6d490bb3458b8ea00
}
network={
ssid="wlan-sol2"
psk=053633deb59038da9e9168e015fef97d3d54ae3794d4a12d31ee75a830cccec2
}
wpa_passphrase peut vous tre utile pour chiffrer votre mot de passe WPA. Vous pouvez
copier directement le rsultat de cette commande dans wpa_supplicant.conf et y supprimer
la ligne contenant votre mot de passe en clair :
root# wpa_passphrase sol Mon mot de passe trs secret
network={
ssid="sol"
#psk="Mon mot de passe trs secret"
psk=18555b0f9e0fc28cd0aa9ee19575a9790de1f46050b5bb932682febf824699c4
}
Vous pouvez maintenant lancer wpa_supplicant. La commande sexcute jusqu ce que vous
linterrompiez par la combinaison de touches Ctrl+C. Elle se charge dtablir la connexion
Wi-Fi et, par la suite, de renouveler rgulirement la cl scurisant la connexion. En dautres
termes, ce programme doit sexcuter tant que vous utilisez la connexion Wi-Fi. Vous devez
donc partir de maintenant travailler dans une autre console.
Quelques remarques complmentaires quant aux options de cette commande : -i renseigne
linterface rseau, -c le chier de conguration (dont vous pouvez librement choisir le
nom). Avec -D, vous indiquez le pilote Wi-Fi utiliser. Commencez par essayer wext (il sagit
dune interface Wi-Fi gnrique prise en charge par de nombreux pilotes). Si cela ne fonc-
tionne pas, vous pouvez alors essayer dindiquer explicitement votre pilote, par exemple -D
madwifi. man wpa_supplicant vous renvoie une liste de tous les pilotes pris en charge.
root# wpa_supplicant -i eth0 -D wext -c /etc/wpa_supplicant.conf
Trying to associate with 00:13:46:b5:25:6e (SSID=sol freq=0 MHz)
Associated with 00:13:46:b5:25:6e
WPA: Key negotiation completed with 00:13:46:b5:25:6e [PTK=TKIP GTK=TKIP]
CTRL-EVENT-CONNECTED - Connection to 00:13:46:b5:25:6e completed (auth) [id=0
id_str=]
...
Vous obtiendrez une documentation exhaustive dans les pages de manuel de
wpa_supplicant et wpa_supplicant.conf, dans le chier README livr avec le paquetage (suivant
Linux Livre Page 522 Mardi, 23. septembre 2008 1:05 13
523 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
les distributions, il peut par exemple se trouver dans /usr/share/doc/wpasupplicant/) ainsi
que sur le site web suivant : http://hostap.epitest./wpa_supplicant/
La page suivante, spcique Ubuntu, est galement une source intressante :
http://wiki.ubuntuusers.de/WLAN/wpa_supplicant
Configuration
du rseau
Vous navez maintenant plus qu connecter votre interface Wi-Fi votre rseau. Pour cela, fai-
tes appel comme pour une interface laire la commande ifconfig. Lorsque lordinateur doit
tre insr au rseau avec ladresse IP 192.168.0.12, la commande a donc lallure suivante :
root# ifconfig eth0 up 192.168.0.12
La commande ping vous permet de tester si la connexion vers le routeur ou le point daccs
fonctionne (vous devez pour cela connatre ladresse IP de lappareil). Pour pouvoir gale-
ment accder Internet, vous devrez paramtrer ladresse de la passerelle et dun serveur
de noms, comme nous lavons dcrit la section correspondante de conguration manuelle
dun rseau Ethernet (voir plus haut).
Lors de mes tests, jai rencontr des problmes avec un routeur ADSL : celui-ci rpondait correctement aux
requtes DHCP de clients Ethernet, ainsi que des clients Wi-Fi non chiffrs ou chiffrs par WEP. Toutefois, il
ignorait les requtes DHCP des clients Wi-Fi chiffrs par WPA.
Sur Internet, je nai trouv que des rfrences isoles des problmes WPA/DHCP comparables, sans pour
autant que ces rfrences ne me permettent didentifier des points communs avec le matriel et les logiciels
que jutilisais. DHCP a par ailleurs fonctionn sans le moindre problme avec un autre routeur Wi-Fi : Linux
ntait donc (probablement) pas en cause.
En rsum : si WPA et DHCP ne parviennent pas fonctionner ensemble, ne doutez pas de vous mais confi-
gurez votre client en adresse IP statique.
Rcuprer le
statut Wi-Fi
La commande iwconfig renvoie une synthse des paramtres principaux de toutes les inter-
faces Wi-Fi :
root# iwconfig eth0
eth0 IEEE 802.11b ESSID:"wlan-sol" Nickname:"ipw2100"
Mode:Managed Frequency:2.457 GHz Access Point: 00:09:5B:52:CC:28
Bit Rate=11 Mb/s Tx-Power:16 dBm
Retry min limit:7 RTS thr:off Fragment thr:off
Encryption key:8C19-2B13-ADF4-EE58-3099-53EE-BE Security mode:open
Power Management:off
Link Quality=100/100 Signal level=-42 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Le pseudo-chier /proc/net/wireless fournit galement une synthse de la qualit cou-
rante de la connexion Wi-Fi :
root# cat /proc/net/wireless
Inter-| sta-| Quality | Discarded packets | Missed | WE
face | tus | link level noise | nwid crypt frag retry misc | beacon | 20
eth0: 0004 100. 212. 0. 0 0 0 0 0 0
Linux Livre Page 523 Mardi, 23. septembre 2008 1:05 13
LINUX 524
La commande iwlist est galement parfois utile : elle fournit les choix disponibles pour dif-
frents paramtres et indique galement loption active parmi celles disponibles. Les deux
exemples suivants illustrent son utilisation pour le canal et pour le rseau Wi-Fi actifs parmi
ceux disponibles :
root# iwlist eth0 channel
eth0 14 channels in total; available frequencies:
Channel 01 : 2.412 GHz
Channel 02 : 2.417 GHz
...
Channel 12 : 2.467 GHz
Channel 13 : 2.472 GHz
Current Channel=10
root# iwlist eth0 scan
eth0 Scan completed :
Cell 01 - Address: 00:13:46:B5:25:6E
ESSID:"sol"
Protocol:IEEE 802.11bg
Mode:Master
Channel:6
Encryption key:on
...
Cell 02 - Address: 00:16:B6:9D:FF:4B
ESSID:"wlan-sol2"
...
26.6 Fichiers de configuration Wi-Fi
Pour congurer votre client Wi-Fi, vous disposez en gnral des mmes outils que pour la
conguration dun client Ethernet (voir un peu plus haut dans ce chapitre). Une alternative
est le gestionnaire de rseaux NetworkManager, particulirement adapt si vous utilisez
frquemment votre connexion Wi-Fi (voir un peu plus loin dans ce chapitre).
Dans cette section, jaborderai brivement les principaux chiers de conguration spci-
ques au Wi-Fi. Je pars ici du principe que vous connaissez les chiers de conguration
Ethernet de votre distribution.
En matire de Wi-Fi, il existe de grosses diffrences dune distribution lautre ! De nombreux contrleurs
Wi-Fi fonctionnant immdiatement sur Ubuntu ne sont mme pas reconnus sur Fedora. SUSE se situe quel-
que part entre les deux. Naturellement, il est possible de faire fonctionner sur toute distribution un contr-
leur Wi-Fi gr par une distribution en particulier ; la question est seulement de savoir combien de temps
vous tes prt y passer...
Debian,
Ubuntu
La conguration centrale seffectue, comme pour les interfaces rseau laire, dans le chier
/etc/network/interfaces. Deux options supplmentaires permettent de saisir la chane
ESSID et la cl WEP.
Linux Livre Page 524 Mardi, 23. septembre 2008 1:05 13
525 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
# /etc/network/interfaces
...
# Interface Wifi avec WEP
auto eth2
iface eth2 inet dhcp
wireless-essid sol
wireless-key xxxxxxxx
network-admin nest pour le moment pas en mesure dtablir des connexions Wi-Fi chiffres
par WPA. Prfrez-lui donc autant que possible le gestionnaire NetworkManager (voir un
peu plus loin). Dans le cas contraire, vous devrez plonger les mains dans le cambouis : com-
mencez par crer un chier /etc/wpa_supplicant.conf (comme mentionn prcdemment)
puis remplacez le mot-cl wireless par wpa :
# /etc/network/interfaces
...
# Interface Wifi avec WPA
auto eth2
iface eth2 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
Les versions anciennes de Debian et dUbuntu ne connaissent pas le mot-cl wpa. Vous pou-
vez alors vous aider des termes pre-up et post-down. Ces mots-cls indiquent quelles com-
mandes doivent tre excutes avant ltablissement et aprs la fermeture de la connexion.
Linstruction pre-up apparat ici sur plusieurs lignes pour des raisons de lisibilit (il a donc
fallu la couper par un caractre \) :
# /etc/network/interfaces
...
# Interface Wifi avec WPA
auto eth2
iface eth2 inet dhcp
pre-up /sbin/wpa_supplicant -d wext -i eth2 \
-c /etc/wpa_supplicant.conf -Bw; sleep 2;
post-down killall -q wpa_supplicant
Red Hat,
Fedora
Sur Red Hat et Fedora, les interfaces Wi-Fi sont traites comme des interfaces LAN. Les
lignes qui suivent prsentent un chier de conguration typique :
# /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
TYPE=Wireless
HWADDR=00:0c:f1:58:f9:93
IPADDR=192.168.1.16
GATEWAY=192.168.1.254
MODE=Managed
...
La ou les cls WEP sont enregistres dans un chier propre keys-interface :
# /etc/sysconfig/network-scripts/keys-eth1
KEY=8C192B13ADF4EE58309953EEBE
Linux Livre Page 525 Mardi, 23. septembre 2008 1:05 13
LINUX 526
Dans la dernire version teste (Fedora 7), system-config-network ne prenait pas encore en
charge WPA. Pour utiliser WPA, vous devez soit congurer manuellement wpa_supplicant,
soit faire appel au NetworkManager.
SUSE Les versions actuelles de SUSE prennent en charge deux variantes trs diffrentes de con-
guration Wi-Fi : la conguration classique (que nous prsentons ici) par Yast ainsi que la
conguration dynamique laide du NetworkManager (voir la section suivante). Vous pou-
vez choisir la variante utiliser dans la premire bote de dialogue du module YaST Pri-
phriques rseau > Carte rseau. La conguration est enregistre dans la variable
NETWORKMANAGER dans le chier /etc/sysconfig/network/config.
Si vous avez opt pour la variante classique, chaque interface Wi-Fi possde son propre
chier de conguration dans /etc/sysconfig/network. Les lignes qui suivent (fortement
lagues) visent montrer la structure dun tel chier pour une connexion Wi-Fi chiffre par
WPA.
# Exemple pour /etc/sysconfig/network/ifcfg-eth-pcmcia
# /etc/sysconfig/network/ifcfg-wlan-bus-pci-0000:05:04.1
BOOTPROTO=dhcp
STARTMODE=auto
WIRELESS_AUTH_MODE=psk
WIRELESS_BITRATE=auto
WIRELESS_ESSID=wlan-sol2
WIRELESS_MODE=Managed
WIRELESS_POWER=yes
WIRELESS_WPA_PSK=Jag aelskar dig, Heidi!
...
26.7 NetworkManager
Les outils classiques de conguration rseau sont bien souvent inadapts au quotidien des
utilisateurs de portables : lorsque lon doit, plusieurs fois par jour, changer demplacement
avec son ordinateur et chaque fois congurer une nouvelle connexion au rseau sans l
local, lnervement nest pas loin.
Cest prcisment pour des cas comme celui-ci que le NetworkManager a t dvelopp.
Une appliquette montre, dans le tableau de bord KDE ou Gnome, ltat du rseau. Un menu
vous permet de choisir parmi les rseaux sans l ou laires actuellement disponibles. Lors-
que vous utilisez pour la premire fois un rseau sans l, le NetworkManager vous
demande le mot de passe ; il reconnat lui-mme la technologie de chiffrement employe
(WEP, WPA, WPA2). Si le rseau est nouveau utilis ultrieurement, les donnes dj connues
sont rutilises automatiquement.
http://www.gnome.org/projects/NetworkManager
http://live.gnome.org/DarrenAlbers/NetworkManagerFAQ
Problmes,
inconvnients
Si vous pensez toutefois que le NetworkManager soit la solution tous les problmes de Wi-Fi,
je me dois malheureusement de vous dcevoir :
Le NetworkManager ne peut tre utilis que sur un rseau gr par DHCP : il nest pas
possible de congurer les paramtres de faon statique.
Linux Livre Page 526 Mardi, 23. septembre 2008 1:05 13
527 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Le NetworkManager est inadapt pour congurer plusieurs interfaces LAN (comme
cest le cas, par exemple, sur un serveur).
Courant 2007, le NetworkManager rencontrait encore des problmes de compatibilit
avec certains contrleurs Wi-Fi. Il fonctionne bien avec, entre autres, les contrleurs
Intel 2100, 2200 et 2915 ainsi quavec le pilote MadWi. La page suivante vous donnera
plus de dtails sur ce sujet : http://live.gnome.org/NetworkManagerHardware
Du fait que le NetworkManager est pilot par une interface graphique, vous ne pouvez
tablir une connexion rseau quaprs avoir ouvert une session. Pour de nombreuses
fonctionnalits, il serait souhaitable de disposer dune connexion rseau ds lamorage
de lordinateur.
Il existe par ailleurs une complication supplmentaire : le NetworkManager ne peut grer
que les interfaces non utilises. En dautres termes, lutilisation simultane doutils de con-
guration classiques avec le NetworkManager conduit des conits. Fin 2006, OpenSUSE
10.2 a t la premire distribution en tirer des consquences et demander la conguration
rseau quel outil (parmi YaST ou le NetworkManager) utiliser.
Dmarrage Le NetworkManager est, sur la plupart des distributions, partag entre plusieurs paquets :
network-manager contient le programme NetworkManager proprement parler ainsi que Net-
workManagerDispatcher, qui effectuent tout le travail en tche de fond. Vriez bien que ces
services sont effectivement lancs par le systme Init-V. Sur certaines distributions (par
exemple Fedora), ce nest pas le cas par dfaut.
Les interfaces graphiques pour Gnome et KDE se trouvent dans les paquetages network-
manager-gnome et knetworkmanager.
Avant de lancer le NetworkManager, vriez que les interfaces rseau ne sont pas gres
par le programme de conguration de votre distribution. Effacez-y toute interface
existante ! Sur Debian et Ubuntu, vous pouvez aussi, tout simplement, effacer les lignes cor-
respondantes dans le chier /etc/network/interfaces (faites-en toutefois ventuellement
une copie de sauvegarde).
Les interfaces rseau devraient maintenant tre inutilises, ce dont vous pouvez vous convain-
cre laide de la commande ifconfig. Au besoin, dsactivez vous-mme les interfaces :
root# ifconfig eth0 down
root# ifconfig eth1 down
Pour lancer le NetworkManager, excutez lune des deux commandes suivantes selon votre
environnement de bureau. Le programme (Applet) apparat alors sous la forme dune icne
dans le tableau de bord. Au besoin, les services NetworkManager requis sont lancs automati-
quement. Par la suite, Gnome et KDE se chargeront de lancer automatiquement lappliquette.
utilisateur$ nm-applet & Gnome
utilisateur$ knetworkmanager & KDE
Un clic sur lappliquette vous montre tous les rseaux porte desquels vous vous trouvez,
ainsi que leur nom. Une fois que vous avez choisi un rseau, apparat une bote de dialogue
pour saisir votre mot de passe. Pour vous viter davoir saisir systmatiquement le mot de
Linux Livre Page 527 Mardi, 23. septembre 2008 1:05 13
LINUX 528
passe, le NetworkManager enregistre ce dernier dans la base de donnes centrale de Gnome ou
KDE (dont vous devez fournir le mot de passe matre la premire tentative dutilisation).
26.8 Zeroconf et Avahi
Zeroconf Jusqu prsent, je suis parti du principe que la conguration rseau de votre ordinateur
tait effectue soit par vous-mme, soit par le biais dun serveur DHCP (voir Chapitre 28). Il
existe toutefois une troisime voie : la conguration automatique par Zeroconf.
Dans ce cadre, tous les ordinateurs prsents sur le rseau partagent leurs informations de
connexion. Un nouvel ordinateur ou priphrique connect au rseau peut donc se congu-
rer automatiquement laide de ces informations, de manire pouvoir communiquer sans
conit avec les autres priphriques. Les ordinateurs congurs par ce biais utilisent des
adresses IP de la plage 169.254.*.* ainsi que des noms dhtes se terminant par .local.
Les communications Zeroconf interviennent sur le port UDP 5454. Pour que Zeroconf fonctionne, ce port ne
doit donc pas tre bloqu par un pare-feu !
Zeroconf et DHCP ne sont pas mutuellement exclusifs : lorsque les ordinateurs Zeroconf obtiennent leurs
adresses IP par DHCP, Zeroconf ne modifie pas les valeurs de celles-ci. Cela devient toutefois problmatique
lorsque certaines adresses IP sont attribues par DHCP et dautres par Zeroconf : les ordinateurs se trouvent
alors sur deux segments de rseau distincts qui ne peuvent communiquer entre eux.
Un explorateur compatible Zeroconf montre tous les ordinateurs Zeroconf visibles sur le
rseau ainsi que leurs ressources (par exemple les partages rseau, serveurs HTTP ou FTP).
Ainsi, il est possible dintgrer plusieurs ordinateurs un rseau et de partager des donnes,
sans pour autant exiger un gros travail de conguration.
Il reste voir si le concept de Zeroconf peut simposer : le dveloppement des routeurs
(ADSL) intgrant des serveurs DHCP facilite lintgration dordinateurs Linux au sein dun
rseau, mme sans faire appel Zeroconf. Pour les rseaux statiques, dont la structure ne
change que rarement, Zeroconf prsente peu dintrt. Mme pour les rseaux htrognes
comprenant des ordinateurs sous Windows, Zeroconf nest pas dune grande assistance car
il est peu usit sous Windows.
Avahi Zeroconf fut initialement implment par Apple sous le nom Rendezvous. Ce projet, ult-
rieurement baptis Bonjour, est galement disponible pour Windows. Cette implmenta-
tion, bien que disponible sous forme de code open-source, nest toutefois pas compatible
avec la licence GPL. Pour cette raison, un projet Zeroconf (indpendant de Bonjour) a vu le
jour pour Linux, sous le nom dAvahi. Sa licence de distribution est la LGPL.
http://avahi.org
Le service avahi-daemon est responsable des communications entre ordinateurs Avahi. La
quasi-totalit des grandes distributions propose un paquetage Avahi dans lequel vous trou-
verez ce programme ainsi que divers outils et bibliothques. Il nest toutefois que rarement
install et activ.
Linux Livre Page 528 Mardi, 23. septembre 2008 1:05 13
529 CONFIGURER LACCS RSEAU (RSEAU LOCAL, WI-FI)
Il existe galement des lacunes au niveau de lintgration avec les outils de conguration
rseau. Loutil Gnome network-admin est toutefois une exception positive : vous pouvez y
activer le lancement automatique du dmon Avahi par le biais du systme Init-V.
lheure actuelle, mes tests ont montr que lutilisation dAvahi nest pas aussi simple
quon pourrait sy attendre. Ces problmes ne sont pas forcment lis la technique en soi
ou limplmentation dAvahi. Ladoption de Zeroconf est encore trs limite et, par
ailleurs, il existe un certain scepticisme quant la sret de loutil. Aucune distribution na
donc pour le moment franchi le pas de mettre en place Avahi ds linstallation dun
ordinateur : cela contribuerait pourtant donner ses lettres de noblesse cet outil.
Linux Livre Page 529 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 530 Mardi, 23. septembre 2008 1:05 13
27
Accs Internet
Dans les chapitres prcdents, nous avons suppos que lordinateur tait connect un
rseau local et accdait de cette manire Internet. La situation actuelle en France y corres-
pond souvent. Du fait de la prpondrance des "box" sur le march de lADSL, peu de per-
sonnes se soucient aujourdhui de laccs Internet : lordinateur est souvent branch via
Ethernet la box et celle-ci se charge de tout. Si vous utilisez ce type de "box" ou un routeur
ADSL, ce chapitre ne vous concerne pas. La conguration est gre par le routeur et est
quivalente la connexion dun ordinateur au rseau local. Les informations pertinentes
ce sujet se trouvent au Chapitre 26.
Cependant, il existe dautres mthodes daccs Internet :
Modem analogique. Dans certaines zones non desservies par lADSL ou pour des rai-
sons dconomies, le modem analogique est une alternative souvent peu coteuse bien
que lente. Toutes les distributions Linux fournissent des outils de conguration pour les
modems. Les modems plus anciens connects une interface srie prsentent peu de
problmes. Les modems internes (sur un ordinateur portable), les cartes PCI modem et
les modems USB ont souvent besoin de pilotes qui manquent frquemment sous Linux.
RNIS. Le RNIS est largement pass de mode en France. De plus, peu de distributions
fournissent les outils de conguration. Pour de nombreuses cartes, il faut tlcharger les
pilotes du fabricant (ce qui est difcile sans accs Internet). Nous nen parlerons que
brivement dans cette section.
ADSL. Si vous disposez dun routeur ADSL (ce que sont la plupart des "box" des four-
nisseurs daccs), il suft de brancher votre ordinateur au routeur. Techniquement, cette
conguration est quivalente un rseau local. La conguration est un jeu denfant
grce DHCP et tout peut tre prt en moins dune minute.
En revanche, si vous utilisez un modem ADSL non routeur, la conguration est gnrale-
ment plus complique et dpend de nombreux facteurs comme votre fournisseur daccs
et linterface du modem. Cest de cette situation que nous traiterons dans ce chapitre.
27.1 Outils de configuration
Configuration dun modem analogique
Outils de
configuration
Selon la distribution et votre environnement de bureau, les diverses interfaces utilisateur
suivantes sont votre disposition pour congurer votre modem. Vous pouvez aussi lancer
la connexion avec loutil network-admin. Cependant, cet outil est peu pratique au quotidien.
Le problme principal est que cet outil ne renvoie aucune information sur ltat de la connexion
et sur les diffrents problmes rencontrs. Pour les utilisateurs de Gnome, gnome-ppp est le
meilleur choix.
Linux Livre Page 531 Mardi, 23. septembre 2008 1:05 13
LINUX 532
Laspect de ces diffrents programmes varie, mais il se ramne toujours aux quatre informa-
tions principales que sont le numro de tlphone de votre fournisseur daccs, votre identi-
ant et votre mot de passe chez ce fournisseur ainsi que linterface physique de votre modem.
Certains programmes sparent la conguration matrielle de la conguration du fournisseur
daccs.
Les problmes de conguration ne sont gnralement lis quau matriel. Il existe diffrents
types de modems analogiques :
Modems externes. Les modems externes sont des priphriques relier linterface
srie de lordinateur. Ils ne prsentent gnralement que peu de problmes. On accde
linterface srie sous Linux avec /dev/ttySn, o n est, selon toute probabilit, 0 ou 1.
Modems USB. Ces modems sont connects lordinateur via USB. Linterface corres-
pondante est souvent /dev/ACMn ou /dev/input/ttyACMn. Gnralement, ce type de
modem est galement pris en charge, mais certains modles peuvent poser problme.
Vous trouverez une liste de compatibilit ladresse http://www.linux-usb.org/.
Modems internes. Les modems internes consistent en une carte additionnelle ou sont
intgrs directement la carte mre de lordinateur. Sous Linux, on accde gnrale-
ment ces modems comme des modems externes par /dev/ttySn. Malheureusement,
il sagit souvent de "winmodems", qui sont peu ou mal pris en charge sous Linux.
Gnome gnome-ppp
KDE kppp (voir Figure 27.1)
Debian, Ubuntu outils Gnome/KDE
Red Hat, Fedora system-config-network = neat
SUSE module YaST Priphriques rseau > Modem
Figure 27.1
Configuration dun
modem avec KPPP.
Linux Livre Page 532 Mardi, 23. septembre 2008 1:05 13
533 ACCS INTERNET
Configuration RNIS
Outils de
configuration
Traditionnellement, SUSE tait la meilleure distribution pour les utilisateurs de RNIS. Le
march allemand avait de nombreux utilisateurs RNIS et beaucoup de matriels RNIS sont
allemands (AVM, Siemens). Depuis, SUSE fait partie de lentreprise amricaine Novell et ne
fournit plus les pilotes binaires AVM, ce qui est sens du point de vue de la philosophie
libre, mais nettement moins pratique pour les utilisateurs de RNIS.
Selon votre distribution, il existe diffrentes interfaces utilisateur pour congurer votre carte
RNIS.
Nous ne traiterons pas plus du RNIS dans le cadre de cet ouvrage. La conguration et les dif-
cults que vous pouvez rencontrer dpendent largement du matriel et de la distribution. Vous
pouvez par exemple lire la page http://forum.ubuntu-fr.org/viewtopic.php?pid=1775181 pour
avoir des informations sur une conguration RNIS sous Ubuntu 8.04.
Configuration ADSL
La mthode daccs Internet la plus simple consiste utiliser un routeur ADSL. Si vous
disposez uniquement dun modem ADSL, sa conguration dpend de son type, de la
variante de PPP utilise et de votre distribution.
Type de modem. On distingue les modems Ethernet des modems USB. Si vous le pouvez,
vitez les modems USB, qui manquent gnralement cruellement de pilotes.
Variante de PPP. Les informations TCP/IP peuvent tre transmises par PPPoA, PPPoE
ou PPTP. Vous trouverez des informations ce sujet la section suivante. Si vous ne
savez pas quel protocole utiliser, demandez votre fournisseur daccs.
Outils de
configuration
Le tableau suivant rsume les outils de conguration ADSL utilisables dans chaque distri-
bution et les protocoles quils prennent en charge.
Si votre distribution ne fournit pas doutils pour votre modem ADSL ou pour le protocole
pris en charge par votre fournisseur daccs, vous pouvez vous procurer un routeur ADSL
ou congurer manuellement votre modem.
Debian, Ubuntu network-admin (suppose que le matriel CAPI est configur)
Red Hat, Fedora system-config-network = neat (uniquement ISDN4Linux)
SUSE module YaST Priphriques Rseau, ISDN (RNIS) (ISDN4Linux, CAPI)
Debian, Ubuntu pppoeconf (uniquement PPPOE)
Red Hat, Fedora system-config-network = neat (uniquement PPPOE)
SUSE module YaST Priphriques rseau, DSL (PPPOE, PPPOA, PPTP, CAPI pour ADSL).
Linux Livre Page 533 Mardi, 23. septembre 2008 1:05 13
LINUX 534
pppoeconf Les distributions bases sur Debian fournissent loutil en ligne de commande pppoeconf.
Dmarrez pppoeconf en tant que root dans une fentre de terminal. La commande cherche
un modem ADSL sur toutes les interfaces rseau.
Une fois le modem trouv, indiquez votre identiant et votre mot de passe. Vous pouvez
simplement conrmer les questions suivantes propos de la conguration du DNS et des
paramtres MSS.
Pour nir, le programme vous demande si la connexion ADSL doit tre lance automatique-
ment au dmarrage de lordinateur ou bien manuellement. La premire variante est sense
lorsque votre accs ADSL est illimit (ce qui est le cas pour limmense majorit des forfaits en
France) et lorsque vous voulez rester en ligne en permanence. Dans la seconde variante, vous
devez activer et dsactiver manuellement laccs Internet avec les commandes suivantes :
root# pon dsl-provider
...
root# poff dsl-provider
27.2 Configuration manuelle dun modem
Cette section traite du problme des winmodems et de la conguration manuelle dune
connexion avec un modem via pppd. Il ne sagit que dune section minimale ; en cas de pro-
blme ou pour plus de dtails, reportez-vous au Modem HOWTO (http://tldp.org/
HOWTO/Modem-HOWTO.html).
Winmodems
Les modems internes sont souvent des winmodems (ou softmodems). Les fonctions diver-
ses du modem ne sont pas gres par le matriel, mais mules par du logiciel. Ce logiciel
nest souvent disponible que sous Windows.
Peu de winmodems fonctionnent sous Linux. La plupart des entreprises ne fournissent pas les
spcications ncessaires au dveloppement de pilotes pour les projets libres. Vous trouverez
plus dinformations ce sujet aux adresses http://linmodems.org/ et http://walbran.org/sean/
linux/linmodem-howto.html.
Ce genre de modem est le plus souvent rencontr sur des ordinateurs portables. Le site web
http://www.linux-laptop.net prsente de nombreux modles, leur compatibilit avec Linux
et ventuellement dcrit leur fonctionnement.
scanModem La premire tape consiste dterminer le type exact de modem dont vous disposez. Tl-
chargez pour cela la commande scanModem et lancez-la :
user$ wget http://linmodems.technion.ac.il/packages/scanModem.gz
user$ gunzip scanModem.gz
user$ chmod u+x scanModem
user$ ./scanModem
Identifying PCI bus slots with candidate modems.
=== Finished modem firmware and bootup diagnostics section. ===
=== Next deducing cogent software ===
Analysing card in PCI bus 00:1f.6, writing to scanout.00:1f.6
Linux Livre Page 534 Mardi, 23. septembre 2008 1:05 13
535 ACCS INTERNET
Modem with PCI ID 8086:24c6 is in the software modem category.
The modem driver snd-intel8x0m is Not loaded.
...
Unload and reload the modem driver:
sudo modprobe -r snd-intel8x0m
sudo modprobe snd-intel8x0m
and rerun
./scanModem
Sur mon ordinateur portable, scanModem indique que la fonction du modem est gre par
une puce son Intel. La commande indique que je dois charger le module du noyau snd-
intel8x0m et relancer scanModem :
root# modprobe snd-intel8x0m
user$ ./scanModem
...
Checking for match with Archived softmodem information.
IDENT=hsfmodem
Using scanout.00:1f.6 data, and writing guidance to ModemData.txt
Writing Intel.txt
Writing Conexant.txt
Writing residual guidance customized to your System.
A subfolder Modem/ has been written, containing these files with
more detailed Information:
--------------------------------------------------------------------
1stRead.txt Bootup.txt Conexant.txt dmesg.txt
DriverCompiling.txt InfoGeneral.txt Intel.txt ModemData.txt
Rational.txt scanout.00:1f.6 SoftModem.txt Testing.txt
UNSUBSCRIBE.txt wvdial.txt YourSystem.txt
scanModem a cr divers chiers dans le rpertoire Modem. Ceux-ci fournissent des informa-
tions supplmentaires sur le modem et sur les tapes suivantes. On y trouve en particulier :
user$ less Modem/ModemData.txt
...
Formal support for Conexant chipset modems are available ONLY through
http://www.linuxant.com/drivers. Read Conexant.txt for details. and
Modem/YourSystem.txt for follow through guidance. Driver speed is limited to
14,400 until a key is purchased. There is NO freeware alternative.
...
Suivez les instructions de scanModem. Notez que, si vous avez besoin de pilotes binaires,
ceux-ci doivent tre actualiss chaque mise jour du noyau. Cela en fait une solution
limiter aux cas durgence.
Configuration manuelle de pppd
La connexion stablit en deux tapes. Le modem doit dabord composer le bon numro de
tlphone, ce que fait le programme chat. Lorsque la connexion tlphonique est tablie,
Linux Livre Page 535 Mardi, 23. septembre 2008 1:05 13
LINUX 536
pppd est dmarr. Il prend le contrle du modem et commence communiquer avec le four-
nisseur daccs. Une fois lauthentication russie, votre ordinateur est connect Internet.
chat chat dnit ltablissement de la communication entre le modem et le fournisseur daccs.
Le chier suivant est un exemple de conguration de chat.
# /etc/chatscripts/mychat
# paramtres
TIMEOUT 60
ABORT ERROR
ABORT BUSY
ABORT VOICE
ABORT "NO CARRIER"
ABORT "NO DIALTONE"
ABORT "NO DIAL TONE"
ABORT "NO ANSWER"
# la communication elle-mme
"" "+++ATZ"
"OK" "ATDT1234567890"
CONNECT
La premire section indique quelles erreurs sont rdhibitoires pour la connexion. La
seconde section est la communication du modem. La premire ligne remet 0 le modem,
la deuxime ligne lance la numrotation (1234567890 est ici remplacer par le numro de
tlphone de votre fournisseur daccs) et la troisime ligne tablit la connexion si aucune
des erreurs prcdentes na t rencontre.
Options
de pppd
Le chier suivant, placer dans le rpertoire /etc/ppp/peers (par exemple /etc/ppp/peers/
myconnection), contient les options de pppd pour tablir la connexion. Linterface du modem
doit tre indique dans la premire ligne ( lexception des commentaires). Le mot cl connect
appelle le bon chier de conguration pour chat. Vous trouverez une description de toutes
les autres options de ce chier dans man pppd.
/dev/ttyS0
# spcifique aux modems analogiques
crtscts
connect '/usr/sbin/chat -f /etc/chatscripts/mychat'
# options classiques de pppd
lock
noauth
usepeerdns
noipdefault
defaultroute
name "hofer"
idle 300
# pour Red Hat / Fedora
ipparam "modem"
Authentifi-
cation
Les chiers de conguration pour PAP et pour CHAP doivent tous les deux tre composs
dune ligne qui contient lidentiant et le mot de passe chez votre fournisseur daccs :
# login name password (secret)
"identifiant" * "mot_de_passe"
Linux Livre Page 536 Mardi, 23. septembre 2008 1:05 13
537 ACCS INTERNET
Red Hat et
Fedora
Il existe une tape supplmentaire sous Red Hat et Fedora. Vous devez modier le chier
/etc/sysconfig/network-scripts/ifcfg-myconnection pour y ajouter le paramtre
PEERDNS=yes.
Dmarrage et
arrt de la
configuration
La connexion est dmarre avec :
root# pppd call myconnection
pppd est lanc en tche de fond. Il faut gnralement compter une trentaine de secondes
pour que la connexion soit tablie. Vous pouvez alors vrier avec ifconfig, route -n et ping
si la connexion fonctionne bien.
Pour couper la connexion, lancez :
root# killall pppd
27.3 Configuration matrielle de lADSL
Variantes de
configuration
Il existe plusieurs possibilits de conguration en fonction du type de modem ADSL (Ether-
net ou USB) ou du protocole (PPPoE, PPPoA, PPTP). Dans cette section, nous traiterons de
PPPoE et de PPTP. Nous ne visons cependant pas lexhaustivit, qui dpend en grande partie
du matriel et du fournisseur daccs. Vous trouverez des informations sur certains modles
courants en France ladresse http://doc.ubuntu-fr.org/modem_adsl.
Nous nvoquerons donc pas PPPoA. Nous vous conseillons dviter ces modems sous
Linux. Linstallation en est complexe et lutilisation trop sujette erreur. Si vous devez passer
par PPPoA, il est prfrable dacqurir un routeur ADSL compatible avec PPPoA. La page
http://www.linux-usb.org/SpeedTouch/ parle plus prcisment des modems Speedtouch.
Configuration manuelle de PPPoE
Configuration
de la carte
rseau
Le modem ADSL est connect la carte rseau par un cble Ethernet. Cependant, le proto-
cole TCP/IP nest pas utilis. Ladresse IP et le masque de sous-rseau de linterface ne sont
pas pris en compte. Il nest donc pas ncessaire de congurer la carte. En particulier, linter-
face rseau ne doit pas tre congure en tant que passerelle.
Configuration
de pppd
PPPoE est gr par un module du noyau. Pour que pppd puisse utiliser linterface rseau
pour PPPoE, il faut installer le module de pppd, rp-pppoe.so. Ce chier est gnralement
install avec pppd.
Pour congurer pppd, vous avez besoin dun chier de conguration dans /etc/ppp/peers
(par exemple /etc/ppp/peers/adsl) analogue celui-ci :
# options spcifiques PPPoE
plugin rp-pppoe.so
mru 1492
mtu 1492
# le modem ADSL est branch cette interface
eth0
# options habituelles
Linux Livre Page 537 Mardi, 23. septembre 2008 1:05 13
LINUX 538
lock
noauth
noipdefault
defaultroute
usepeerdns
# identifiant pour /etc/ppp/pap-secrets et chap-secrets
name "hofer"
# attendre 4 secondes lors d'une dconnexion avant d'essayer de
# reconnecter
persist
holdoff 4
maxfail 25
# pour Red Hat/Fedora
ipparam "adsl"
Dmarrage et
arrt de pppd
pppd est dmarr comme un modem analogique avec la commande :
root# pppd call adsl
Pour fermer la connexion, arrtez pppd avec killall.
root# killall pppd
Configuration manuelle de PPTP
Le protocole PPTP est pris en charge par le programme pptp. La plupart des distribu-
tions courantes fournissent ce paquet dans un seul paquet du mme nom, qui nest
cependant pas toujours install automatiquement. Vous trouverez plus dinformations
sur PPTP et sur son programme de conguration graphique pptpconfig ladresse
http://pptpclient.sourceforge.net/.
Configuration
de la carte
rseau
Le modem ADSL est connect lordinateur via Ethernet, mais il faut cette fois congurer la
connexion. Vous devez choisir ladresse IP et le masque de sous-rseau de manire que le
modem soit accessible. Si ladresse IP de votre modem est 10.0.0.138 (ce qui est le cas de cer-
tains modems Alcatel), choisissez pour votre interface une IP de type 10.0.0.n et un masque
255.255.255.0. Nindiquez pas dadresse de passerelle.
Pour vrier que la connexion fonctionne, utilisez simplement ping et vriez que le
modem rpond son adresse.
Configuration
de pppd
Pour congurer pppd, vous avez besoin dun chier dans /etc/ppp/peers, par exemple /
etc/ppp/peers/adsl. Les lignes qui suivent sont un exemple de ce type de chier.
# /etc/ppp/peers/adsl
# options spcifiques pptp
pty "/usr/sbin/pptp 10.0.0.138 --nolaunchpppd"
# pas de compression
nobsdcomp
nodeflate
# identifiant pour les fichiers /etc/ppp/pap-secrets et chap-secrets
name "hofer"
# options habituelles
lock
noauth
noipdefault
Linux Livre Page 538 Mardi, 23. septembre 2008 1:05 13
539 ACCS INTERNET
defaultroute
usepeerdns
# attendre 4 secondes lors d'une dconnexion avant d'essayer de
# reconnecter
persist
holdoff 4
maxfail 25
# pour Red Hat/Fedora
ipparam "adsl"
Dmarrage et
arrt de pppd
Pour dmarrer et arrter pppd, utilisez les commandes habituelles :
root# pppd call adsl
root# killall pppd
Linux Livre Page 539 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 540 Mardi, 23. septembre 2008 1:05 13
28
Passerelle Internet
(mascarade et DHCP)
Ce chapitre traite de la conguration dun serveur. Il sadresse tous ceux qui grent de
petits rseaux locaux, dans lesquels se trouvent ventuellement des clients Windows.
Il dcrit la mise en place dune passerelle Internet pour le rseau local. Il sagit dun ordina-
teur qui met disposition laccs Internet pour dautres ordinateurs. Le plus simple est
gnralement dactiver la mascarade sur cet ordinateur. Pour faciliter la gestion du rseau
local, linstallation dun serveur DHCP est galement conseille. Les clients qui sy connectent
peuvent alors tre congurs presque entirement automatiquement.
Une passerelle devrait toujours tre protge par un pare-feu (voir Chapitre 29).
Les informations de ce chapitre ont t testes uniquement sous Ubuntu, openSUSE et
Fedora, mais la conguration des distributions Debian, SUSE Enterprise et Red Hat diffre
gnralement peu.
28.1 Introduction
Ce chapitre dcrit linstallation des composants suivants :
Mascarade/NAT. La mascarade permet de connecter tous les clients dun rseau local
Internet. Un ordinateur est connect Internet via ISDN ou ADSL, tandis que tous les
autres sont connects cette machine et peuvent utiliser Internet de cette manire. Il
nest donc pas ncessaire que tous aient leur propre modem !
DHCP et DNS. Le DHCP permet de grer automatiquement les adresses IP et dautres
paramtres rseau sur tous les clients. Il existe deux possibilits pour mettre en place ce
type de serveur. Dans le cas dun petit rseau simple, on peut utiliser dnsmasq, qui gre
la fois le DHCP et le service de noms (DNS) du rseau. Pour des tches plus importan-
tes, on utilise plutt dhcpd. Celui-ci ne fait pas ofce de serveur de noms ; il est gnra-
lement coupl avec Bind. La conguration de ce dernier, plutt complexe, sort du cadre
de cet ouvrage.
Installation
des
paquetages
Pour des raisons de scurit, les paquetages prsents ici ne sont gnralement pas installs
par dfaut. Il existe parfois des paquetages avec des noms similaires pour les services clients
associs, mais ils ne sufsent pas. Une fois le paquetage serveur install, le programme doit
tre activ explicitement.
Aides la
configuration
Ce chapitre sadresse des utilisateurs avancs de Linux. Les divers chiers de congura-
tion seront dcrits, ce qui ne sera pas le cas des interfaces utilisateur mises disposition par
les diffrentes distributions.
Lapproche suivie ici (modication manuelle des chiers de conguration) peut sembler
dmode, mais elle a fait ses preuves. Vous ne savez o se trouvent les chiers que lorsque
vous les modiez manuellement. Et seule cette mthode permet de modier ou de transfrer
Linux Livre Page 541 Mardi, 23. septembre 2008 1:05 13
LINUX 542
une conguration sur un autre serveur, par exemple aprs une rinstallation ou un changement
de distribution.
Scurit Si vous dsirez utiliser Linux en tant que serveur rseau, vous devez vous proccuper de la
scurit (voir Chapitre 29).
IPv6 Toutes les commandes utilises ici sont compatibles avec IPv6. Les tests nont cependant t
effectus que sur une base IPv4 et les spcicits dIPv6 ne seront pas traites.
Topologie du rseau utilis comme exemple
Pour faciliter lorientation dans ce chapitre et les suivants, nous utilisons un rseau xe (voir
Figure 28.1).
Nom de
domaine sol
(192.168.0.*)
Le rseau local utilise la plage dadresses 192.168.0.* et le domaine sol. Les adresses IP sont
obtenues de la manire suivante. Lorsque vous planiez un rseau, le serveur obtient gn-
ralement ladresse *.*.*.1 et tous les clients, des adresses *.*.*.n, o n est une suite de
nombres squentielle.
Passerelle
mars
(192.168.0.1)
mars est la passerelle. Elle scurise aussi le rseau contre les accs extrieurs par un pare-feu.
Divers services rseau fonctionnent dessus (DHCP, DNS, Apache, MySQL, Samba, NFS,
SSH, etc.).
Figure 28.1
Topologie du rseau.
Linux Livre Page 542 Mardi, 23. septembre 2008 1:05 13
543 PASSERELLE INTERNET (MASCARADE ET DHCP)
Laccs Internet est assur par un modem ADSL, branch via un cble rseau (eth1).
Laccs au rseau local passe par un concentrateur (hub) via eth2. Lordinateur dispose ga-
lement dune imprimante USB, partage par tout le rseau.
Autres
lments
du rseau
uranus et saturne sont des ordinateurs xes, avec pour adresses IP 192.168.0.2 et
192.168.0.13. mercure est un ordinateur portable, avec pour IP 192.168.0.15. pluton est une
imprimante laser rseau.
Pour des raisons de scurit, il serait prfrable que mars ne serve qu laccs Internet et au pare-feu. Un
vieil ordinateur peut alors suffire. Tous les autres services du rseau peuvent tre grs par un second ordina-
teur derrire le pare-feu.
Le problme de cette configuration est que chaque programme serveur sur mars prsente le danger quun
intrus lutilise pour accder lordinateur (malgr le pare-feu).
Dans les grandes entreprises, larchitecture rseau spare gnralement lordinateur pare-feu et les ser-
veurs. Pour mon environnement de test priv, cest nanmoins nettement moins pratique.
Installation dune passerelle Internet
Pour installer une passerelle Internet, on passe gnralement par les tapes suivantes :
Installation de la distribution. Installez dabord la distribution souhaite, de la manire
la plus rduite possible. Plus le nombre de paquetages est lev, plus le risque dune
faille de scurit est grand.
Conguration du rseau. Pour congurer le rseau, utilisez des adresses statiques. La
passerelle dispose gnralement de deux cartes Ethernet : lune delles assure la connexion
Internet (par exemple, via un modem ADSL), la seconde sert de connexion au rseau
local.
Conguration dInternet. Congurez Internet. Si votre connexion nest pas permanente
ou illimite, il faut gnralement la congurer de sorte quelle soit mise en place auto-
matiquement et coupe lorsquelle nest plus utilise. Si votre accs est permanent et illi-
mit, rien ne soppose ce que la connexion soit tablie ds le dmarrage de lordinateur
et arrte en mme temps que ce dernier.
Mascarade. Pour que les autres ordinateurs du rseau accdent Internet, il faut activer
la mascarade. Pour que les ordinateurs clients puissent utiliser cette fonction, les prre-
quis suivants sont ncessaires. Ils doivent tre connects au serveur via le rseau local,
indiquer ladresse du serveur en tant que passerelle et comme serveur de noms celui du
fournisseur daccs Internet. Pour les premiers tests, vous pouvez paramtrer les
clients de manire statique.
DHCP. Pour faciliter la conguration des clients, il est conseill dinstaller un serveur
DHCP qui attribue tous les clients leur adresse IP, ainsi que la passerelle et ladresse
du serveur de noms. Le client ne doit alors tre congur quen tant que client DHCP, ce
que permettent toutes les distributions Linux et Windows en quelques clics.
Linux Livre Page 543 Mardi, 23. septembre 2008 1:05 13
LINUX 544
Serveurs de noms. Pour que les clients connaissent les noms des ordinateurs du rseau,
linstallation dun serveur de noms simpose souvent dans les rseaux importants. Ce
service est utile pour la communication interne et se place entre le DNS du fournisseur
daccs et lordinateur client. Il rduit le trac Internet vers le fournisseur daccs et les
requtes peuvent tre traites plus vite.
Pare-feu. Pour scuriser les ordinateurs du rseau local contre un accs indsirable, il
faut absolument installer un pare-feu sur lordinateur (voir Chapitre 29).
Ajout de
nouveaux
clients
Lorsque votre rseau local est congur, vous pouvez rapidement ajouter un client. Si votre
DHCP est gr par dnsmasq, il suft dajouter une ligne hostname /etc/dnsmasq.conf. Ici,
00:11:22:33:44:55 est lidentiant MAC de la carte rseau (numro unique), terre le nom
dhte du nouvel ordinateur et 192.168.0.21 ladresse IP souhaite.
dhcp-host=00:11:22:33:44:55,terre,192.168.0.21
Si vous utilisez dhcpd et bind, ajoutez un lment selon le motif suivant :
host terre {
hardware ethernet 00:11:22:33:44:55;
fixed-address 192.168.0.12;}
Sur le client, linstallation est encore plus simple : il suft dindiquer que la conguration
rseau est assure par DHCP.
Comparaison entre un routeur matriel et une passerelle Linux
De nombreuses fonctions de ce chapitre peuvent galement tre remplies par un routeur
ADSL matriel. Il sagit dun appareil qui fait ofce de modem ADSL, de commutateur
Ethernet et ventuellement de point daccs sans l. Cest le cas de la plupart des "box" pr-
tes ou loues par de nombreux fournisseurs daccs franais. En gnral, ce type dappareil
sert galement de serveur DHCP et de pare-feu. Il est congur via un navigateur web. Il
faudrait dailleurs plutt parler de passerelle, mais le terme routeur sest impos.
Le principal avantage dun routeur matriel est que la conguration est trs simple et quil
est, lachat, moins cher quun ordinateur sous Linux et un commutateur (auxquels il faut
parfois ajouter un modem ADSL et une carte sans l). Si vous souhaitez rapidement mettre
en place un accs Internet, ce type de solution vous conomisera du temps et de la fatigue.
Figure 28.2
Routeur ADSL.
Linux Livre Page 544 Mardi, 23. septembre 2008 1:05 13
545 PASSERELLE INTERNET (MASCARADE ET DHCP)
Il suft alors gnralement de connecter les ordinateurs au routeur, comme lillustre la
Figure 28.2.
Cette solution prsente lavantage de la simplicit. Vous pouvez, par exemple, intgrer un
serveur web local ou des serveurs dauthentication ou de chiers (LDAP, Samba, etc.). De
plus, vous comprendrez vraiment comment fonctionne votre rseau et quels services sont
votre disposition.
Pour nir, il est possible de combiner ces deux stratgies : utiliser un routeur ADSL pour les
fonctions routeur et DHCP, et un serveur Linux pour les autres fonctions.
28.2 Mascarade (NAT)
Notions de base
Le point de dpart de la mascarade est toujours le mme : un ordinateur est connect Internet
et doit fournir un accs Internet dautres ordinateurs du rseau local.
Le problme est quen gnral, les clients du rseau local utilisent des adresses IP prives :
celles-ci se trouvent dans des plages dadresses rserves pour les rseaux locaux. Elles ne
sont valides que sur le rseau local et pas sur Internet. Seul le serveur dispose (en plus de
son IP sur le rseau local) dune seconde adresse IP unique sur le rseau mondial, attribue
par le fournisseur daccs Internet. Cette adresse nest souvent pas xe ; elle peut changer
intervalles rguliers ou chaque dconnexion.
Pour viter les conits dadresses, le serveur ne peut pas se contenter de transmettre les
requtes Internet des clients sans les modier. On parlerait dans ce cas dun routeur. Les ter-
mes de mascarade et de routage sont souvent intervertis, mais recouvrent deux concepts
diffrents. Le routage sur Internet nest possible que lorsque les clients disposent dune IP
valide sur Internet, ce qui est rarement le cas dans un rseau local.
Dans ce qui suit, lordinateur dot de laccs Internet est dsign comme serveur et tous les autres sont
appels clients, indpendamment de leurs fonctions relles. Dans le cas de la mascarade, le serveur est sou-
vent appel passerelle Internet ou routeur (ce qui est un abus de langage).
Mascarade Selon le concept de mascarade, les paquets de donnes provenant des clients destination
dInternet sont accepts par le serveur, puis transforms comme sils en provenaient. Pour
formuler cela de manire plus concrte, ladresse dexpdition du paquet du client (par
exemple 192.168.0.17) est transforme en ladresse du serveur (par exemple 175.118.190.232).
Cette modication est dsigne par le terme NAT (Network Address Translation, traduction
dadresses rseau). Le NAT est un concept plus avanc que celui de mascarade. En effet, il
existe plusieurs manires de mettre en place un NAT, la mascarade tant la plus simple.
Le paquet peut alors tre envoy sur Internet, qui renvoie gnralement une rponse
aprs un certain temps. Par exemple, si le paquet de donnes de dpart est une requte
vers un site web, la rponse est le document HTML demand sous la forme de paquets IP.
Linux Livre Page 545 Mardi, 23. septembre 2008 1:05 13
LINUX 546
Le problme pour le serveur est alors dadresser la rponse au bon ordinateur (en loccur-
rence, 192.168.0.17). Comment connat-il la bonne adresse ? Vu que le paquet de requte
provient du serveur, la rponse lui est galement adresse.
Pour rsoudre ce problme, le serveur modie non seulement ladresse dexpdition, mais
aussi le port dexpdition. Chaque adresse IP du rseau local est associe un port donn.
Les communications TCP/IP sont rparties sur diffrents ports. Les ports sont des informa-
tions supplmentaires qui identient le service. Par exemple, FTP utilise normalement les
ports 20 et 21, HTTP 80, etc. Il existe aussi de nombreux ports auxquels aucun service nest
associ. Ces numros sont, entre autres, utiliss pour la mascarade.
Celle-ci est mise en place grce diverses commandes selon la version du noyau. Le
noyau 2.0 utilisait ipfwadm, le noyau 2.2 ipchains et, depuis la version 2.4, le noyau utilise
iptables. Cette section se limite iptables.
Mascarade
et pare-feu
Les fonctions de mascarade et de pare-feu sont troitement lies. Cette section suppose que
lordinateur nest pas encore congur en tant que pare-feu. Si cest le cas, vous devrez
dabord dsactiver le pare-feu avant de pouvoir activer la mascarade (voir Chapitre 29 ).
Mascarade avec iptables
Configuration
manuelle
Aprs cette description de la mascarade, vous vous attendez probablement une conguration
extrmement complique. Vous ne pourriez pas vous tromper davantage. Deux commandes
sufsent lactiver :
root# echo 1 > /proc/sys/net/ipv4/ip_forward
root# iptables -A POSTROUTING -t nat -o eth1 -j MASQUERADE
echo active la fonction de transfert dIP du noyau, qui est par dfaut dsactive. Dans de
nombreuses distributions, vous pouvez utiliser la place la commande sysctl, plus
lgante :
root# sysctl -w net.ipv4.ip_forward=1
La commande iptables dnit une rgle selon laquelle un paquet qui doit quitter le rseau
local est transmis linterface eth1 et manipul avec les rgles du NAT. Selon la congura-
tion de votre accs Internet, vous devez utiliser, la place de eth1, une autre interface,
comme ppp0 ou ipp0 !
MSS clamping Si le serveur accde lADSL via le protocole PPPoE (ce qui est rarement le cas en France),
cela peut poser problme pour les gros paquets IP. Pour viter cela, on utilise une com-
mande iptables supplmentaire. Cette rgle, appele MSS clamping, vite que de trop gros
paquets ne soient envoys :
root# iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN \
-j TCPMSS --clamp-mss-to-pmtu
Scurit
minimale
Il est prfrable de mettre en place une scurit minimale contre les abus. Aprs tout, une
fois la mascarade active, tous les ordinateurs du rseau local sont connects Internet.
Les trois commandes suivantes sassurent que tous les paquets du rseau local passent, mais
que seuls les paquets entrants envoys en rponse une requte sont transmis au rseau
local. Nous supposons ici que le rseau local est connect au serveur via eth2 et que laccs
Linux Livre Page 546 Mardi, 23. septembre 2008 1:05 13
547 PASSERELLE INTERNET (MASCARADE ET DHCP)
Internet passe par eth1. Vous devez modier ces valeurs en fonction de votre propre con-
guration.
root# echo 1 > /proc/sys/net/ipv4/ip_forward
root# iptables -P FORWARD DROP
root# iptables -A FORWARD -i eth2 -o eth1 -j ACCEPT
root# iptables -A FORWARD -i eth1 -o eth2 -m state \
--state ESTABLISHED,RELATED -j ACCEPT
root# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
Dsactiver la
mascarade
Pour dsactiver la mascarade, lancez les commandes suivantes :
root# iptables -t nat -D POSTROUTING -o eth1 -j MASQUERADE
root# echo 0 > /proc/sys/net/ipv4/ip_forward
Modules
iptables
Si votre systme est bien congur, la commande iptables charge automatiquement les
modules ncessaires dans le noyau. Dans le cas contraire, vous devez les activer manuelle-
ment. Les principaux modules sont ip_tables, iptable_nat, ip_conntrack, ipt_MASQUERADE,
iptable_filter, ip_conntrack_ftp et ip_nat_ftp.
Activation et dsactivation automatique de la mascarade
Il ne faut videmment pas activer manuellement la mascarade chaque dmarrage du ser-
veur. La procdure habituelle est de lactiver en mme temps que le pare-feu. De nombreu-
ses distributions et programmes de pare-feu fournissent des assistants de conguration
ces ns. Si vous activez le pare-feu manuellement, activez-le, y compris la mascarade, par
un script lanc lors du processus InitV.
Si vous navez pas de pare-feu ou si vous dsirez contrler ces oprations indpendamment,
vous pouvez lancer ou arrter la mascarade par le biais de son propre script InitV.
Si vous accdez Internet par PPP (modem ADSL ou RNIS), vous pouvez intgrer les com-
mandes de mascarade dans les scripts ip-up ou ip-down de /etc/ppp. La mascarade est alors
active ds que vous tes connect Internet et dsactive lorsque la connexion est coupe.
Cette mthode nest pas compatible avec une gestion des connexions la demande.
Problmes
La mascarade est une solution lgante pour fournir un accs Internet des ordinateurs
qui ne disposent pas dadresse IP valable sur le rseau mondial. Elle pose cependant parfois
quelques problmes, dont seuls les plus frquents sont dtaills ici.
Un certain nombre de protocoles Internet ont des mcanismes de protection qui vrient
lassociation de ladresse IP. Le fait que la mascarade empche une correspondance unique
entre une adresse IP et un ordinateur peut tre la source de certaines difcults.
Certains protocoles envoient ladresse non seulement dans le paquet IP, mais aussi dans
le contenu de donnes du paquet (en tant que texte ASCII ou de manire protge). FTP
est un exemple connu de ce type de comportement. Pour que ce dernier fonctionne
Linux Livre Page 547 Mardi, 23. septembre 2008 1:05 13
LINUX 548
malgr la mascarade, le serveur de mascarade doit modier, en plus du paquet, le
contenu de ce paquet.
Linux fournit divers modules pour faire cohabiter la mascarade et les services Internet,
par exemple ip_masq_ftp. Ils doivent tre activs au besoin :
root# modprobe ip_nat_ftp
root# modprobe ip_conntrack_ftp
Si les clients FTP rencontrent toujours des difcults, le plus simple est de les faire fonc-
tionner en mode passif. La plupart activent ce mode automatiquement ou permettent
au moins de le faire.
Si le serveur de mascarade est connect via ADSL/PPPoE Internet, la taille maximale
(MTU) des paquets peut poser problme. Pour viter cela, il faut la modier sur tous les
clients ou mettre en place un MSS clamping sur le serveur.
Configuration des clients
Pour quun client puisse utiliser la passerelle pour accder Internet, sa conguration
rseau doit tre la suivante :
Ladresse de la passerelle doit contenir ladresse IP de la passerelle Linux.
Ladresse du serveur de noms doit tre celle du fournisseur daccs Internet.
28.3 Serveur DHCP et serveur de noms intgr (dnsmasq)
Introduction DHCP
Divers chiers permettent de rgler les diffrents paramtres rseau : ladresse IP et celle
des autres ordinateurs du rseau (/etc/hosts), ladresse de la passerelle et du serveur de
noms, etc. (voir Chapitre 26). Tous ces paramtres peuvent tre congurs statiquement sur
lensemble des machines. Pour un petit rseau de trois ou quatre ordinateurs, cette procdure
est acceptable.
Configuration
centrale par
DHCP
Pour les gros rseaux, il est plus sens quun seul ordinateur soccupe de transmettre les
adresses IP toutes les autres machines. Cest cela que sert DHCP (Dynamic Host Congu-
ration Protocol, protocole de conguration dynamique dhtes). Lordinateur qui contrle le
tout est appel serveur DHCP ; les autres sont les clients DHCP.
DHCP prsente divers avantages par rapport une conguration manuelle :
Ladministration est centralise, et donc facilite.
La conguration des clients est limite au minimum ; vous devez indiquer le nom de
lordinateur et du domaine, puis activer DHCP.
Lajout dun ordinateur dans le rseau se fait sans problme et ne demande que des
modications mineures sur le chier de conguration. Cest particulirement intres-
sant pour les ordinateurs portables qui ne sont connects qupisodiquement au rseau.
Linux Livre Page 548 Mardi, 23. septembre 2008 1:05 13
549 PASSERELLE INTERNET (MASCARADE ET DHCP)
Seuls les ordinateurs effectivement en service ont besoin dune adresse IP. Cela ne pr-
sente un avantage que lorsque le nombre dadresses IP est faible, ce qui nest gnralement
pas le cas dans un rseau local.
Il compte cependant galement quelques inconvnients :
Le fonctionnement de tout le rseau dpend de lordinateur sur lequel fonctionne le ser-
veur DHCP. Si ce dernier tombe en panne, les clients actifs utilisent simplement leur
dernire adresse. Les clients nouvellement connects nont cependant pas dadresse
rseau. La dpendance un seul ordinateur peut tre diminue si plusieurs ordinateurs
sont congurs comme serveurs DHCP.
Un systme DHCP dynamique peut reprsenter un risque de scurit. Quiconque entre
dans votre bureau peut se connecter au rseau avec un ordinateur. Laccs effectif aux
donnes dpend largement du reste de la conguration du rseau, mais la premire
tape en devient triviale.
DHCP et noms
dhte des
clients
DHCP peut galement grer les noms dhte des ordinateurs. Il existe deux variantes de
conguration :
Conguration centrale du nom dhte par DHCP. Chaque client reoit du serveur
DHCP son nom dhte. DHCP est souvent congur pour associer une IP et le nom
dhte correspondant une adresse MAC donne. Cette adresse est un identiant unique
de la carte rseau.
Gestion locale des noms dhte sur les clients. Les clients locaux ont un nom dhte
xe. Le serveur DHCP ne sert quau reste de la conguration.
Ces deux solutions ont chacune leurs arguments et aucune nest meilleure en soi. Si vous
utilisez la seconde, il faut cependant veiller lors de la conguration du client ce que celui-
ci envoie son nom dhte au serveur DHCP, ce qui sert actualiser le serveur de noms.
Fonctionne-
ment interne
de DHCP
Lorsquun ordinateur (client DHCP) est dmarr, il envoie une requte ladresse
255.255.255.255 (soit tous les ordinateurs du rseau local). Seul le serveur DHCP ragit cette
requte et renvoie comme rponse une adresse IP qui provient de la liste des adresses IP valides.
Vous vous demandez peut-tre o le serveur envoie sa rponse : le client na en effet pas encore
dadresse IP. Ladressage passe par une adresse MAC, qui est connue grce la requte DHCP.
Le serveur DHCP assigne les adresses IP pour une dure donne (lease time). Celle-ci est
gnralement dune journe, mais elle peut tre paramtre diffremment. Avant que cette
dure ne soit coule, le client doit renouveler ladresse auprs du serveur DHCP ou
demander une nouvelle adresse IP.
Paramtrage du serveur de noms
Un serveur de noms de domaine (abrg en serveur de noms, voire en DNS) tablit la cor-
respondance entre les noms dordinateurs et les adresses IP. Tous les fournisseurs daccs
Internet mettent disposition un serveur DNS. Plutt que daccder ce serveur, vous pou-
vez mettre en place un serveur DNS pour votre propre rseau local. Cela a deux avantages :
Linux Livre Page 549 Mardi, 23. septembre 2008 1:05 13
LINUX 550
Rapidit. Le DNS gre un cache des adresses rcemment utilises. Si vous accdez deux
fois www.yahoo.com sur une journe, le serveur DNS na pas rinterroger le serveur
DNS de votre fournisseur daccs le DNS local a dj enregistr ladresse.
Rsolution locale. Le DNS gre les noms et adresses IP des ordinateurs du rseau local.
Vous pouvez ainsi accder tous les ordinateurs du rseau via un nom et, par exemple,
lancer depuis lordinateur mercure la commande ping saturne. mercure ne contacte que
le serveur de noms local, qui renvoie ladresse IP de saturne. La rsolution de noms
locaux est un lment de base pour utiliser confortablement des services rseau comme
NFS, FTP, SSH, etc.
Les DNS du monde entier sont connects les uns aux autres. Lorsquun DNS ne connat pas
un nom donn, il transmet la requte un autre DNS. Les DNS sont organiss de manire
hirarchique.
Configuration de dnsmasq
Cette section dcrit le programme dnsmasq, qui intgre les fonctions de serveur DHCP et de
serveur de noms. La section suivante traite de dhcpd, qui ne sert que de serveur DHCP.
Prrequis Nous supposons ici que le paquet dnsmasq est install et que dhcpd ne lest pas (sans quoi, les
deux programmes peuvent entrer en conit).
Un autre prrequis important est la conguration correcte du chier /etc/hosts sur la pas-
serelle. Celui-ci est tonnamment incomplet ou mal congur sur de nombreuses congura-
tions. Pensez le vrier lorsque vous modiez la conguration rseau de votre passerelle.
Llment dcisif est lassociation entre lordinateur local (ici, mars et mars.sol) et ladresse
IP locale (192.168.0.1). Diverses lignes suivent gnralement. Elles concernent la conguration
IPv6, que nous ne traitons pas dans cet ouvrage.
# /etc/hosts sur la passerelle
127.0.0.1 localhost
192.168.0.1 mars mars.sol
Si vous rencontrez des problmes, pensez regarder la configuration de votre pare-feu. Linterface du
rseau local ne doit pas tre bloque par le pare-feu !
dnsmasq.conf dnsmasq est congur dans le chier /etc/dnsmasq.conf. Le chier de conguration par
dfaut fait ofce de documentation et se compose de presque 400 lignes de commentaires.
Renommez-le en dnsmasq.conf.orig et crez un nouveau chier sans ces commentaires
avec grep :
root# cd /etc
root# cp dnsmasq.conf dnsmasq.conf.orig
root# grep -v '^#' /etc/dnsmasq.conf.orig | cat -s > dnsmasq.conf
La conguration de dnsmasq rclame, en plus de /etc/dnsmasq, des chiers /etc/hosts et /etc/
resolv.conf fonctionnels. Si vous modiez ces chiers, il faut relancer dnsmasq.
Linux Livre Page 550 Mardi, 23. septembre 2008 1:05 13
551 PASSERELLE INTERNET (MASCARADE ET DHCP)
Dmarrer et
arrter
dnsmasq
dnsmasq est un dmon. Certaines distributions le dmarrent tout de suite aprs son installa-
tion. Dans le cas contraire, vous devez le lancer manuellement. Lorsque vous en modiez la
conguration, vous devez galement le relancer :
root# /etc/init.d/dnsmasq restart
Vous pouvez aussi avoir congurer son dmarrage automatique. Vous trouverez plus
dinformations ce sujet la section 24.7.
Configuration
minimale
La conguration minimale ci-aprs permet dnsmasq de fonctionner sans problme. Il sert
ici de cache de serveur de noms pour Internet et fournit aux clients des adresses IP comprises
entre 192.168.0.2 et 192.168.0.254 :
# /etc/dnsmasq.conf - configuration minimale
domain-needed
bogus-priv
interface=eth2
dhcp-range=192.168.0.2,192.168.0.254,24h
Expliquons rapidement les mots cls du chier. domain-needed et bogus-priv empchent
que dnsmasq envoie des noms dhte locaux ou des adresses IP locales au serveur de noms
de votre fournisseur daccs Internet le serveur de noms de votre fournisseur ne rsout
que les adresses Internet et non les adresses locales.
interface indique que dnsmasq ne doit rpondre quaux requtes provenant de eth2. dhcp-
range prcise la plage dadresses accessible au serveur DHCP pour rpondre aux requtes
DHCP. Les adresses transmises sont valides 24 heures et doivent ensuite tre renouveles
par le client.
Le serveur de noms et la passerelle nont pas tre congurs. dnsmasq lit le chier /etc/
resolv.conf et renvoie ladresse du serveur de noms qui sy trouve. Les clients DHCP reoivent
comme passerelle et serveur de noms ladresse IP locale.
Mise en place
dun serveur
de noms local
La conguration minimale ci-dessus ne permet dnsmasq de rsoudre les noms dhte
locaux que lorsque le chier /etc/hosts contient les informations correspondantes. Les
adresses attribues dynamiquement par DHCP sont donc inaccessibles par ce biais. Pour
que dnsmasq fonctionne galement comme serveur de noms pour les adresses locales du
rseau local sol, il faut ajouter les lignes suivantes dnsmasq.conf et redmarrer dnsmasq :
# /etc/dnsmasq.conf - serveur de noms pour les adresses locales
local=/sol/
domain=sol
expand-hosts
Le mot cl local indique que les requtes dadresses sur ce domaine doivent tre gres
directement par dnsmasq (et non par le serveur de noms du fournisseur daccs). Si vous
navez pas de meilleur nom de domaine, utilisez simplement localnet ou localdomain.
domain indique dnsmasq le nom de domaine transmettre aux clients DHCP. Ce nom doit
correspondre celui indiqu dans le paramtre local.
Linux Livre Page 551 Mardi, 23. septembre 2008 1:05 13
LINUX 552
expand-hosts fait en sorte que les requtes au serveur de noms qui nindiquent pas de nom
de domaine soient sufxes du nom de domaine indiqu dans domain. Ainsi, lorsque vous
lancez ping uranus, dnsmasq tend ladresse uranus.sol.
Dans la conguration courante, dnsmasq ne soccupe pas du nom dhte des clients. Celui-ci
doit donc tre gr individuellement par les clients. Pour que la rsolution de noms fonc-
tionne localement, les clients doivent envoyer leur nom dhte au serveur DHCP (dnsmaq).
Noms dhte
et adresses
statiques
dnsmasq peut galement tre congur pour fournir aux clients des noms dhte. Lassocia-
tion statique des noms et adresses IP se fait grce ladresse MAC des clients. Cest la
mthode de conguration que je prfre : un chier unique contrle sous quels noms et
adresses IP sont accessibles les ordinateurs de mon rseau. Lorsquun nouvel ordinateur est
branch, il suft dajouter une ligne dnsmasq.
Le mot cl dhcp-host permet une telle conguration. Les lignes suivantes illustrent la con-
guration de lordinateur mercure et de limprimante pluton. La plage 192.168.2-127 est rser-
ve aux adresses statiques et 192.168.0.128-254, aux adresses dynamiques (par exemple,
lorsquun ami dsire se connecter rapidement Internet avec son ordinateur portable).
# /etc/dnsmasq.conf - ajout d'adresses statiques
# associations statiques pour les clients dont l'adresse MAC est connue
dhcp-host=00:11:25:32:4f:5d,mercure,192.168.0.15
dhcp-host=00:c0:ee:51:39:9f,pluton,192.168.0.127
# plage d'adresses dynamiques pour les clients ayant une adresse MAC
# inconnue: 192.168.0.128-254
dhcp-range=192.168.0.128,192.168.0.254,24h
man dnsmasq et /etc/dnsmasq.conf.orig dcrivent de nombreuses variantes de syntaxe
pour dhcp-host. Vous pouvez, par exemple, tablir une correspondance entre des noms
dhte et des adresses IP, bloquer compltement certaines adresses MAC, etc.
DNS pour
lordinateur
local
Par dfaut, dnsmasq ne fonctionne comme serveur de noms que pour les autres ordinateurs
du rseau. En effet, cest le DNS indiqu dans /etc/resolv.conf qui est utilis. Gnralement,
ce chier contient le serveur de noms de votre fournisseur daccs Internet.
Pour que dnsmasq assure galement la rsolution de noms locale, vous devez ajouter /etc/
resolv.conf la ligne nameserver 127.0.0.1. Si lordinateur rcupre lui-mme sa congura-
tion via DHCP, cela ne sert rien : aprs chaque redmarrage, resolv.conf sera cras. Il
faut pour cela utiliser une conguration rseau statique.
# /etc/resolv.conf - pour que dnsmasq fonctionne pour lordinateur local
nameserver 127.0.0.1
...
La deuxime modication concerne dnsmasq. Comme il ne peut plus obtenir ladresse du
serveur DNS externe via resolv.conf, il faut indiquer explicitement cette adresse et lui dire
dignorer resolv.conf. Ajoutez pour cela les deux lignes ci-aprs dnsmasq.conf dans
lexemple suivant, 192.168.1.1 est ladresse du routeur ADSL qui fait aussi ofce de DNS.
# /etc/dnsmasq.conf - ajouts pour que le DNS fonctionne sur la machine
#locale
# ignorer /etc/resolv.conf
no-resolv
# accder au DNS externe
server=192.168.1.1
Linux Livre Page 552 Mardi, 23. septembre 2008 1:05 13
553 PASSERELLE INTERNET (MASCARADE ET DHCP)
Journalisation dnsmasq enregistre toutes les adresses IP dynamiques dans le chier /var/lib/misc/dns-
masq.leases. Les adresses statiques ne sont, en revanche, pas prises en compte. Chaque
ligne contient aussi ladresse MAC et, lorsquil est connu, le nom dhte du client. Ce chier
est pratique pour connatre ladresse MAC des nouveaux clients.
Lorsque dnsmasq ne fonctionne pas comme souhait, ajoutez le mot cl log-queries dns-
masq.conf. Le programme journalise alors toutes les requtes au serveur de noms dans /var/
log/syslog ou /var/log/messages.
Configuration des clients
La conguration correcte dun ordinateur pour quil puisse rcuprer son IP est trs simple.
Les distributions Linux et les versions actuelles de Windows fournissent toutes une option
dans la bote de dialogue de conguration du rseau ; en principe tout fonctionne !
Le point critique est la conguration du nom dhte. Celui-ci doit-il tre gr par DHCP ou
le client doit-il renvoyer son nom dhte au serveur DHCP ? Cette conguration diffre
selon la distribution Linux.
Debian,
Ubuntu
Pour modier le nom dhte sous Debian et Ubuntu, vous pouvez utiliser le programme
network-admin, dans longlet Gnral. Les donnes statiques ont priorit sur celles envoyes
par le serveur DHCP ! Si vous dsirez que le nom dhte soit transmis par le serveur DHCP,
vous devez laisser le champ vide. Pour nir, vous devez redmarrer lordinateur.
Les noms dhte statiques ne sont pas transmis au serveur DHCP. network-admin noffre pas
doption sur ce point. En interne, cest le programme dhclient qui sen occupe. Dans son
chier de conguration /etc/dhcp3/dhclient.conf, vous pouvez indiquer le nom envoy
au serveur DHCP :
# /etc/dhclient.conf
send host-name "mercure.sol"
Red Hat,
Fedora
Sous Red Hat et Fedora, vous pouvez modier le nom dhte et de domaine dans le champ
texte Nom dhte de longlet DNS du programme system-config-network. Lorsque le ser-
veur DHCP transmet un nom dhte, celui-ci a priorit sur le nom de la conguration statique.
Par dfaut, le nom dhte nest pas transmis au serveur DHCP. Si vous dsirez ce comporte-
ment, ouvrez avec Modier la fentre de proprits de linterface rseau (gnralement
eth0) et indiquez le nom dhte dans les paramtres DHCP.
Le programme dhclient value les informations DHCP. Il est, entre autres, appel par le
script /etc/sysconfig/network-scripts/ifup-eth et peut tre contrl par le systme de
communication DBUS. Fedora utilise pour cela le paquetage dhcdbd, qui est install par
dfaut, mais qui nest gnralement pas actif. dhcdbd est en particulier utilis par Network-
Manager. Vous trouverez plus dinformations sur dhcdbd dans le chier /usr/share/doc/
dhcdbd-n/README.
SUSE Dans SUSE, le nom dhte est dni dans longlet Nom dhte/DNS module Priphriques
rseau, Paramtres rseau de YaST. Si le serveur DHCP transmet un nom dhte, ce nom a
Linux Livre Page 553 Mardi, 23. septembre 2008 1:05 13
LINUX 554
par dfaut priorit sur la conguration statique. Ce comportement peut tre modi grce
loption Modier le nom dhte via DHCP.
SUSE transmet par dfaut le nom dhte au serveur DHCP. Si ce nest pas le comportement
souhait ou si un autre nom doit tre envoy, modiez le paramtrage dans longlet Options
globales du mme module.
Au contraire de Debian et Red Hat, SUSE utilise la commande dhcpcd pour exploiter les
informations DHCP. Celle-ci est, entre autres, lance dans /etc/init.d./network. dhcpcd
peut galement communiquer sur le systme DBUS via dhcdbd.
Recharger les
donnes DHCP
Lorsque vous testez le serveur DHCP, vous devez redmarrer les clients chaque fois. Un
redmarrage du rseau suft parfaitement et rcupre nouveau les informations DHCP.
Sous Fedora, Red Hat et SUSE, lancez la commande
root# /etc/init.d/network restart
Sous Debian et Ubuntu, lancez
root# /etc/init.d/networking restart
Vous pouvez vous assurer avec ifconfig et un examen du chier /etc/resolv.conf que
tout a fonctionn. Si vous travaillez sous KDE ou Gnome, vous devez vous reconnecter lorsque
le nom dhte ou un autre paramtre rseau essentiel a t modi.
Vous pouvez aussi recharger les donnes DHCP sous Windows sans le redmarrer. Ouvrez
une fentre de commande et lancez
> ipconfig /renew
28.4 Serveur DHCP (dhcpcd)
dhcpd est le serveur DHCP classique. Il fonctionne sur presque tous les serveurs Linux qui
doivent grer un rseau important. Ses possibilits de conguration sont bien plus grandes
que celles de dnsmasq.
Prrequis Dans cette section, nous supposons que dhcpd est utilis au moins en version 3. Le nom du
paquetage diffre selon la distribution : dhcpd3-server sous Debian et Ubuntu, dhcp sous
Fedora et Red Hat, et dhcp-server sous SUSE. dnsmasq ne peut pas tre install en parallle,
sans quoi les deux programmes entrent en conit.
Nous supposons galement que vous avez lu lintroduction DHCP et que votre chier /etc/
hosts est correctement congur. La conguration des clients est identique celle de
dnsmasq.
Vous trouverez plus dinformations sur la conguration et le serveur lui-mme dans
les pages de manuel dhcpd, dhcpd.conf et dhcp-options, ainsi que sur le site web
http://www.isc.org/sw/dhcp/.
Dmarrage
et arrt
Le serveur DHCP est un dmon. Les commandes pour son dmarrage (automatique)
dpendent de la distribution. Le nom du script InitV est dhcp3-server sous Debian et
Ubuntu, et dhcpd sous Fedora, Red Hat et SUSE. Lorsque vous modiez la conguration du
serveur, il faut le relancer :
root# /etc/init.d/dhcp3-server restart
Linux Livre Page 554 Mardi, 23. septembre 2008 1:05 13
555 PASSERELLE INTERNET (MASCARADE ET DHCP)
Configuration
minimale
dhcpd est congur dans le chier /etc/dhcp3/dhcpd.conf. Les lignes suivantes illustrent
une conguration minimale qui attribue des adresses IP dynamiquement entre
192.168.0.128 et 192.168.0.265. Les IP 192.168.0.0 et 192.168.0.255 sont rserves et ne peu-
vent donc pas tre attribues. La plage 192.168.0.1 192.168.0.127 est rserve pour attribuer
des adresses statiques.
# /etc/dhcpd.conf
# options globales
authoritative;
default-lease-time 86400;
max-lease-time 86400;
# informations cls du rseau local
option broadcast-address 192.168.0.255;
option subnet-mask 255.255.255.0;
option routers 192.168.0.1;
option domain-name-servers 199.85.37.2;
# plage d'adresses dynamiques
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.128 192.168.0.254;
}
authoritative indique que ce serveur est le serveur DHCP ofciel du rseau local. default-
lease-time et max-lease-time indiquent combien de temps les adresses IP sont valides (une
journe, soit 86 400 secondes). Une fois cette dure coule, les clients doivent renouveler
leurs donnes de conguration (cela est automatique).
Les options broadcast-address et subnet-mask dcrivent le segment de rseau gr par le
serveur DHCP. routers indique ladresse de lordinateur qui sert de routeur ou de passe-
relle pour le rseau local. Dans lexemple ci-dessus, il sagit de lordinateur qui fait ofce de
serveur DHCP.
domain-name-servers est une liste de serveurs DNS (au maximum trois, spars par des virgu-
les). Si vous utilisez un serveur DNS local, donnez-en ladresse. Ces adresses sont transmises
aux clients pour quils puissent aussi se passer de congurer eux-mmes le DNS.
Vous pouvez rcuprer ladresse du serveur de noms dans /etc/resolv.conf. Si vous utilisez aussi
un serveur de noms local, indiquez dans domain-name-server ladresse de la passerelle locale. Dans notre
exemple, il sagit de 192.168.0.1.
Si un serveur WINS fonctionne sur votre rseau, vous pouvez indiquer son adresse avec loption netbios-
name-server. WINS est lquivalent dun DNS pour le monde Windows. Un serveur Samba sous Linux
peut galement faire office de serveur WINS.
Adresses
statiques
Si votre seul but est de fournir des adresses IP votre rseau local, vous avez termin.
Cependant, on dsire gnralement attribuer des adresses statiques quelques ordinateurs
du rseau local. Les lignes suivantes en sont un exemple.
Linux Livre Page 555 Mardi, 23. septembre 2008 1:05 13
LINUX 556
Lordinateur ayant ladresse MAC 00:11:25:32:4f:5d est associ ladresse IP 192.168.0.15. Si
vous dsirez transmettre le nom dhte aux clients, utilisez loption use-host-decl-names on.
La saisie des noms dhte permet, de toute faon, de rendre le chier plus lisible.
# /etc/dhcpd.conf, suite
group {
# envoyer les noms d'hte aux clients
use-host-decl-names on;
# adresses statiques
host mercure {
hardware ethernet 00:11:25:32:4f:5d;
fixed-address 192.168.0.15; }
host pluton {
hardware ethernet 00:c0:ee:51:39:9f;
fixed-address 192.168.0.127; }
...
}
dhcpd permet dexploiter plusieurs sous-rseaux et groupes. Vous pouvez ajouter des
options au dbut du chier ou lintrieur dun groupe entre accolades ; les options corres-
pondantes sappliquent globalement ou un seul groupe. Le chier dhcpd.conf comprend
dinnombrables options supplmentaires. Vous en trouverez les dtails dans les pages de
manuel.
Journalisation dhcpd enregistre toutes les adresses IP dynamiques dans le chier /var/lib/dhcp3/
dhcpd.leases. Ce dernier permet de dterminer facilement les adresses MAC des nouveaux
clients. Les messages de journalisation supplmentaires sont enregistrs dans /var/log/
messages ou syslog.
DNS
dynamique
Divers mots cls ddns permettent de congurer le serveur DHCP de manire quil trans-
mette les noms et adresses IP des nouveaux clients du rseau local un serveur de noms. Ce
dernier connat alors automatiquement les noms et adresses des ordinateurs du rseau local.
Linux Livre Page 556 Mardi, 23. septembre 2008 1:05 13
29
Scurit du rseau
Ce chapitre dcrit quelques mesures pour scuriser votre ordinateur et votre rseau local :
scurisation des services Internet actifs grce xinetd et TCP Wrapper ;
scurisation du trac TCP/IP grce un ltre de paquets bas sur iptables (pare-feu) ;
scurisation de votre accs web ("ltrage parental") grce un ltre (Squid).
Les solutions prsentes ici ne sont ni parfaites ni compltes. En particulier, nous ne parlons
pas des mcanismes SELinux ou AppArmor, ni des rseaux privs virtuels (VPN). Le but est
principalement dveiller votre vigilance et de vous fournir quelques cls pour bien dmarrer.
Je tiens cependant attirer votre attention sur ces deux points :
Les informations de ce chapitre ne sont pas sufsantes pour viter tout accs malicieux
un systme Linux ou votre rseau. Si vous mettez en place un rseau dentreprise ou
si vous effectuez des tches dont la scurit est primordiale, vous avez besoin douvrages
spcialiss.
Un systme que lon croit sr est plus dangereux quun systme non sr !
29.1 Types de scurit
Le champ de la scurit est trs large. Il englobe entre autres les lments suivants :
Se prmunir des pertes de donnes. Un disque dur dfectueux ou un ordinateur porta-
ble vol sont lorigine de nombreuses pertes de donnes. On prvient ce type de risque
par une stratgie de sauvegardes rgulires.
viter le vol physique des donnes. Un ordinateur portable, un disque dur ou une cl
USB vols contiennent souvent des donnes de valeur. Pour viter que le voleur ne
puisse les lire, vous devez les chiffrer. Le plus sr est de chiffrer une partition entire ou
un rpertoire. Linux fournit divers outils pour cela (par exemple CryptoFS, DM-Crypt,
eCryptfs, EncFS, Loop-AES et TrueCrypt), qui ne sont cependant pas traits dans cet
ouvrage.
Se protger contre les programmes malicieux et les virus. Ce problme est moindre
sous Linux. Dune part, les programmeurs de virus visent surtout les systmes Windows.
Dautre part, il est comparativement plus difcile de faire des dgts sous Linux/Unix
dans le cadre dune utilisation raisonnable. "Utilisation raisonnable" signie en particulier
de ne pas lancer de programmes inconnus en tant que root et de travailler en tant que
root uniquement lorsque cest ncessaire.
Filtrer le contenu indsirable. Lorsquon met en place un accs Internet pour une cole
ou pour un environnement comparable, un point du cahier des charges est souvent de
ltrer des contenus spciques (par exemple la pornographie). Ce point est plus facile
promettre qu mettre en place. On peut certes ltrer des sites donns avec un serveur
Linux Livre Page 557 Mardi, 23. septembre 2008 1:05 13
LINUX 558
mandataire web, mais, en raison de la nature dynamique dInternet et des nombreuses
autres possibilits de communication (Usenet, discussion en ligne, etc.), de telles solu-
tions sont forcment incompltes. Cependant, une protection incomplte est prfrable
une absence totale de protection (ce qui sapplique tous les aspects de la scurit).
Scuriser les donnes prives dans le rseau local. Tous les utilisateurs du rseau local
ne doivent pas avoir accs tous les chiers et encore moins pouvoir les modier. Ce
point recouvre avant tout les droits daccs (y compris sur NFS, Samba, FTP, etc.) et
lutilisation de mots de passe non triviaux.
Se prmunir des accs trangers (pare-feu). Un accs Internet nest pas sens unique.
Un attaquant externe au rseau (pirate) peut essayer daccder vos donnes ou celles
de votre rseau, voire de les modier.
viter les coutes de transmissions Wi-Fi (VPN). Lorsquun rseau est cbl, un pirate
doit accder la passerelle Internet ou au rseau interne physiquement. Du point de
vue du pirate, un rseau sans-l est bien plus confortable. lheure actuelle, seul le chif-
frage WPA2 associ un mot de passe correct est considr comme sr. Les anciennes
techniques toujours utilises (WEP, WPA) sont bien plus simples forcer. Indpen-
damment du chiffrage Wi-Fi, il est conseill dencapsuler le trac dans un VPN (Virtual
Private Network, rseau priv virtuel).
Scuriser les services rseau contre les accs malicieux (SELinux, AppArmor). Des
failles de scurit dans les services rseau courants (Samba, Sendmail, Apache, etc.) sont
souvent dcouvertes. Elles permettent un pirate, sous certaines conditions, de faire
planter un service rseau ou mme dexcuter des commandes. Les mesures prventi-
ves sont de lancer aussi peu de services quil est ncessaire, de les faire fonctionner avec
les droits les plus restreints possible (ne pas les faire fonctionner en tant que root) et de
protger ces services par un pare-feu.
Ces mesures ont cependant des limites. Certains services doivent tre accessibles depuis
Internet et ils doivent lire et crire des chiers sur lordinateur local. Pour assurer une
scurit optimale, vous pouvez dnir des rgles avec SELinux ou avec AppArmor.
Vous pouvez par exemple limiter les oprations dcriture dun programme un certain
rpertoire ou en limiter les fonctions rseau. Si le service sort du cadre dni par ces
rgles, il est arrt automatiquement.
Mises jour et
journalisation
La scurisation dun ordinateur nest pas une tche unique, mais un processus continu.
Vous devez mettre jour rgulirement vos logiciels vers la version actualise. Aucun pro-
gramme nest infaillible, et cela est valable galement pour les programmes sous Linux.
Lorsquun problme de scurit est dcouvert, les mises jour sont gnralement disponibles
en quelques jours. Cependant, il vous revient de les installer.
Il est galement conseill de surveiller rgulirement les chiers de journalisation de votre
ordinateur. Un signe dalarme trs clair est par exemple laugmentation des lignes du type
Failed login (connexion choue).
Lectures
conseilles
Nous ne pouvons pas traiter dans cet ouvrage de tous les aspects susmentionns, et nous en
avons probablement omis certains. Vous trouverez sur Internet dinnombrables ressources
sur le thme de la scurit. Les adresses http://linuxsecurity.com/, http://www.cert.org/ et
http://lwn.net/security sont de bons points de dpart.
Linux Livre Page 558 Mardi, 23. septembre 2008 1:05 13
559 SCURIT DU RSEAU
Intressez-vous rgulirement aux informations de scurit de votre distribution. Vous y
trouverez entre autres les mises jour relevant de la scurit des applications. Indpendam-
ment de la distribution, le Red Hat Enterprise Linux Security Guide est une lecture intressante
et se trouve ladresse :
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Security_Guide/.
29.2 Bases de lanalyse rseau
Avant de pouvoir scuriser votre ordinateur, vous devez savoir comment les services rseau
fonctionnent, lesquels fonctionnent, quels ports sont ouverts, etc. Cette section pose les
bases de TCP/IP et dcrit quelques programmes pour analyser ltat courant de votre
rseau, par exemple pour afcher toutes les connexions rseau actives. Le tableau suivant
rcapitule les acronymes les plus importants.
IP Presque tous les services rseau courants sont fonds sur des paquets IP. Par exemple,
lorsquun utilisateur souhaite accder votre ordinateur par FTP, il dmarre sur son ordinateur
un client FTP. Celui-ci envoie des paquets IP spciaux votre ordinateur. Si un serveur FTP
est install sur votre ordinateur, il intercepte le paquet et ragit la requte en renvoyant des
paquets IP.
En plus des donnes, un paquet IP contient quatre informations importantes : ladresse IP
de lexpditeur, le port de lexpditeur, ladresse du destinataire et son port. Ces donnes
indiquent do vient le paquet et o il va.
Adresses et
ports IP
Le sens dune adresse IP devrait tre clair (voir le Chapitre 26). Les ports sont utiliss pour
identier les diffrents services. Par exemple, pour demander un document WWW, on uti-
lise gnralement le port 80. Le numro de port est un nombre de 16 bits. Les ports de 1
1 024 sont considrs comme privilgis et sont rservs pour les serveurs (par exemple le
serveur HTTP). Les ports restants peuvent tre utiliss par les clients, mais il existe dautres
numros de ports dj rservs pour des buts prcis.
Le chier /etc/services dnit des alias pour les ports IP. Reportez-vous ce chier pour
savoir quel protocole est associ un port donn.
Glossaire rseau
DNS Domain Name Service, service de noms de domaines
HTTP HyperText Transfer Protocole, protocole de transfert hypertexte
ICMP Internet Control Message Protocol, protocole de messages de contrle Internet
IP Internet Protocol, protocole Internet
NFS Network File System, systme de fichiers rseau
TCP Transmission Control Protocol, protocole de contrle des transmissions
UDP User Datagram Protocol, protocole de datagrammes utilisateur
Linux Livre Page 559 Mardi, 23. septembre 2008 1:05 13
LINUX 560
Protocoles IP Il existe diffrents protocoles pour les paquets IP. La plupart des services Internet utilisent
TCP. Ce protocole attend des accuss de rception. Il existe aussi des protocoles qui natten-
dent pas de telles conrmations, comme ICMP (qui est par exemple utilis par ping) et UDP
(utilis par exemple par DNS et NFS).
Filtres de
paquets IP
Les paquets IP peuvent tre crs par les programmes locaux ou arriver depuis lextrieur,
cest--dire depuis une interface rseau ou PPP. Cest le noyau qui dcide quoi faire de ces
paquets. Il peut les rejeter ou les transmettre un programme ou une autre interface. Les
critres de dcision regroupent les caractristiques que nous venons de dtailler. Pour met-
tre en uvre un ltre de paquets, vous devez aussi disposer dun moyen dajouter des
rgles au noyau pour quil gre les paquets individuels. La commande iptables est fournie
cet effet depuis le noyau 2.4 nous en parlerons dans sa section ddie.
Dterminer les
ports actifs
Le principe de la plupart des services rseau est de surveiller un port donn. Si un paquet
arrive sur ce port, le service soccupe de le traiter et dy rpondre. Les paquets qui ne sont
pas envoys un port surveill sont simplement ignors et ne posent donc pas de risques.
Pour protger un ordinateur dventuelles menaces, il est donc ncessaire de disposer dune
liste des ports surveills ( linverse, un pirate essaiera dabord de dterminer les ports
actifs).
La commande netstat est trs utile pour examiner lactivit rseau de lordinateur local.
Selon les options avec lesquelles elle est lance, elle afche une norme quantit dinformations
diffrentes.
Par exemple, a afche les ports qui ne sont pas actifs, tu limite la sortie aux protocoles TCP
et UDP et pe afche le numro du processus et le compte sous lesquels le programme a t
lanc.
Pour savoir quel programme utilise quels ports TCP ou UDP, la commande lsof est gale-
ment utilisable. lsof -i [protocole]@hte:port afche une liste des processus qui utilisent
la ressource rseau indique. Par exemple, lsof -i udp afche les programmes qui utilisent
le port UDP et lsof -i:22 afche ceux qui utilisent le port 22.
netstat et lsof ne sappliquent quaux ordinateurs locaux et ne sont gnralement pas
disposition dun ventuel pirate. Celui-ci peut en revanche utiliser un scanneur de ports. De
tels programmes envoient des paquets aux ports importants dun ordinateur et, en fonction
de la rponse, ils dterminent quel service fonctionne avec quelle version de quel pro-
gramme. La commande nmap en est lexemple le plus connu, mais il existe de nombreux
autres programmes de ce type.
Un balayage des ports dune machine avec nmap est considr par de nombreux administrateurs comme
une tentative dintrusion. Nutilisez pas un outil comme nmap sur un ordinateur inconnu ! Cependant, cest
un outil pratique pour reconnatre des faiblesses dans votre propre rseau.
nmap nest que rarement install par dfaut, mais il est gnralement disponible en tant que
paquetage. Vous pouvez aussi trouver son code source ladresse http://nmap.org/. nmap
dispose galement dune interface graphique, que vous pouvez gnralement installer
grce au paquetage nmap-frontend.
Linux Livre Page 560 Mardi, 23. septembre 2008 1:05 13
561 SCURIT DU RSEAU
29.3 Scuriser les services rseau
La section prcdente a montr comment connatre rapidement les services rseau qui fonc-
tionnent sur lordinateur. Ltape suivante consiste teindre les services non utiliss et
scuriser autant que possible tous les autres services :
Dsinstallez tous les services dont vous navez pas besoin. Ce qui nest pas install ne
peut pas tre excut et ne pose donc aucun risque.
Il arrive que le nom du paquetage ne drive pas directement du nom du programme.
Dans ce cas, dterminez lemplacement exact du chier excutable et lancez, selon votre
systme de paquetages, rpm -qf /chemin/nom ou dpkg -S /chemin/nom.
Au lieu de les dsinstaller, vous pouvez aussi empcher les services de dmarrer (si
vous envisagez par exemple de les utiliser plus tard).
Le systme InitV est gnralement responsable du dmarrage des services. Selon la dis-
tribution, la mthode pour empcher le dmarrage des scripts InitV diffre, par exemple
chkconfig --del pour Fedora et Red Hat ou insserv -r sous SUSE. Vous trouverez
plus dinformations sur InitV au Chapitre 24.
Les services rseau lancs par xinetd sont un cas particulier dont nous parlerons dans
cette section.
Il est rarement utile de partager des rpertoires ou des imprimantes sur Internet. Vous
ne pouvez certes que rarement vous passer de tels services, mais vous pouvez au moins
en restreindre lutilisation votre rseau local.
Pour de nombreux services (par exemple xinetd, SSH et NFS), on utilise cette n la
bibliothque TCP Wrapper et ses chiers de conguration /etc/hosts.allow et /etc/
hosts.deny. Les autres services (par exemple Apache, MySQL et Samba) utilisent gn-
ralement leurs propres chiers de conguration.
Comme niveau de protection supplmentaire, un pare-feu ltre de paquets est conseill :
grce des rgles, celui-ci peut bloquer les paquets provenant dInternet destination
de services divers.
Cependant, ne partez pas du principe quun pare-feu est sufsant et que les autres points
sont superus ! Aucun pare-feu nest parfait et il est toujours possible domettre un dtail
critique pour votre rseau.
Bases de xinetd
Les programmes qui mettent disposition des services rseau peuvent tre diviss en deux
catgories :
Les dmons. Ils surveillent un port donn et, lorsquun paquet y est adress, le traitent
et y rpondent. Ils sont grs par InitV.
Les programmes dmarrs la demande. Seul le programme xinetd est dmarr. Il
surveille plusieurs ports et dmarre au besoin les services correspondants. xinetd est au
cur de cette section.
Linux Livre Page 561 Mardi, 23. septembre 2008 1:05 13
LINUX 562
xinetd signie Extended Internet Service Daemon (dmon de services Internet tendu). Il est le
successeur du programme inetd. Vous trouverez de la documentation sur xinetd ladresse
http://www.xinetd.org/.
Dmarrage
et arrt
xinetd est un dmon. Il est install par dfaut sur de nombreuses distributions, mais il nest
pas toujours dmarr, pour des raisons de scurit (vriez cela avec ps ax |grep xinetd).
xinetd se lance ensuite comme tout autre service (voir la section 14.4).
/etc/services xinetd est contrl par plusieurs chiers que nous dcrirons dans ce qui suit. Les services
rseau se diffrencient les uns des autres par le port et le protocole quils utilisent. Par exem-
ple, telnet utilise le port 23 et les protocoles tcp et udp. Pour que les chiers de congura-
tion de xinetd restent lisibles, il existe un chier, /etc/services, qui associe les noms de
divers services Internet (par exemple ftp, telnet, etc.) au protocole et au numro de port
utiliss.
/etc/
xinetd.conf
/etc/xinetd.conf contient quelques paramtres de base, concernant par exemple la journa-
lisation ou les adresses IP dnies par dfaut. En gnral, vous pouvez laisser ces param-
tres tels quils ont t dnis par dfaut. Loption includedir indique le rpertoire contenant
les chiers de conguration supplmentaires (gnralement /etc/xinetd.d).
/etc/xinetd.d Le rpertoire /etc/xinetd.d contient, pour chaque service enregistr dans xinetd, un chier
de conguration spcique. Le nom de ces chiers ne joue pas de rle particulier : xinetd lit
tous les chiers de ce rpertoire et les prend en compte (les chiers dont le nom se termine
par ~ ou contenant un point ne sont pas pris en compte).
Ces chiers ont une structure uniformise. Lexemple suivant est un chier de conguration
pour un serveur rsync :
service rsync
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
Voici une courte explication des mots cls que vous pouvez rencontrer dans le chier de
conguration de xinetd :
service est le nom du service (correspondant /etc/services).
socket_type et protocol indiquent comment les donnes sont transfres entre le client
et le serveur.
type = INTERNAL indique quil sagit dun service mis directement disposition par
xinetd.
server est le nom du programme (sil ne sagit pas dun service interne de xinetd).
server_args fournit des paramtres qui sont transmis au dmarrage du service.
user est le nom du compte sous lequel le programme est lanc (souvent root, mais cela
peut aussi tre news, mail, etc.).
disable = Yes / No indique si le service est actif ou bloqu (Yes pour les services bloqus).
Linux Livre Page 562 Mardi, 23. septembre 2008 1:05 13
563 SCURIT DU RSEAU
log_* dnit les niveaux de journalisation du service.
man xinetd.conf fournit une rfrence complte de tous ces mots cls. Dans la plupart
des cas, vous pouvez laisser les chiers tels quils ont t crs linstallation.
Scurisation
de xinetd
Pour des raisons de scurit, il serait optimal de ne pas lancer du tout xinetd et son prdces-
seur inetd sur un pare-feu ou sur une passerelle Internet. Si vous ne pouvez pas vous passer des
programmes contrls par xinetd, vous devriez au moins considrer les lments suivants :
Dsinstallez ou dsactivez tous les services que vous nutilisez pas qui sont dmarrs
par xinetd. Pour les dsactiver, ajoutez une ligne disable=Yes dans le chier /etc/
xinetd.d/nom_du_service.
Sous Red Hat et Fedora, vous pouvez aussi dsactiver ou ractiver un service avec chk-
config -del nom ou chkconfig -add nom. Ces commandes modient la ligne disable.
vitez telnet, utilisez ssh. sshd nest pas contrl par xinetd.
Congurez laccs aux services restants de manire aussi restrictive que possible. Utilisez
pour cela les chiers /etc/hosts.deny et /etc/hosts.allow (voir ci-aprs).
Les modications de la conguration sont prises en compte uniquement lorsque xinetd a
relu les chiers de conguration. xinetd vrie si des services fonctionnent alors quils ne
sont plus censs le faire dans le cadre de la nouvelle conguration : ceux-ci sont alors termins.
root# /etc/init.d/xinetd reload
hosts.allow et hosts.deny
Les chiers /etc/hosts.allow et /etc/hosts.deny contrlent quels ordinateurs ont accs quels
services. Ces paramtres sont valides aussi bien pour les services contrls par xinetd que pour
divers services rseau qui utilisent la bibliothque TCP Wrapper pour les contrles daccs.
Lorsquun client du rseau souhaite utiliser un service contrl par hosts.allow et
hosts.deny, le chier hosts.allow est pris en compte en premier. Si laccs y est explicite-
ment autoris, le service rseau est dmarr. Sinon, le chier hosts.deny est lu : si laccs sy
trouve, alors il est explicitement interdit et le client reoit un message derreur. Si le client ne
se trouve ni dans hosts.allow ni dans hosts.deny, laccs est autoris.
hosts.deny La conguration la plus sre est dinterdire tous les accs tous les clients tous les services
rseau. Linstruction spawn journalise toutes les tentatives daccs dans le chier /var/log/
deny.log.
#/etc/hosts.deny
ALL : ALL : spawn (echo Attempt from %h %a to %d at $(date) \
>> /var/log/deny.log)
hosts.allow Dans un second temps, vous pouvez autoriser lutilisation de certains services. La congu-
ration suivante autorise :
des accs locaux (localhost) tous les services ;
un accs SSH pour tous les ordinateurs (y compris depuis Internet) ;
lutilisation de NFS et FTP dans le rseau local.
Linux Livre Page 563 Mardi, 23. septembre 2008 1:05 13
LINUX 564
# /etc/hosts.allow
ALL : localhost mars mars.sol : ALLOW
sshd : ALL : ALLOW
vsftpd : 192.168.0.0/255.255.255.0 *.sol : ALLOW
portmap : 192.168.0.0/255.255.255.0 *.sol : ALLOW
mountd : 192.168.0.0/255.255.255.0 *.sol : ALLOW
Prise en charge
de TCP
Wrapper
Vous pouvez dterminer avec ldd si un programme spcique utilise TCP Wrapper
(libwrap) :
utilisateur$ ldd /usr/sbin/sshd |grep wrap
libwrap.so.0 => /lib/libwrap.so.0 (0xb7ef2000)
Notez que, sous SUSE, cupsd (service dimpression) utilise TCP Wrapper, ce qui nest gn-
ralement pas le cas pour les autres distributions. Vous devez donc penser en autoriser
laccs sur le rseau pour partager une imprimante.
29.4 Introduction aux pare-feu
Le concept de pare-feu est trs souvent voqu, mais il nexiste pas de dnition universel-
lement accepte. Un pare-feu peut tre matriel : il sagit alors gnralement dun ordina-
teur qui fournit une interface entre le rseau local et Internet. Si laccs Internet se fait via
modem/RNIS/ADSL, le pare-feu fait galement souvent ofce de contrle daccs Inter-
net. Inversement, de nombreux routeurs (RNIS ou ADSL) fournissent galement des fonctions
lmentaires de pare-feu.
Souvent, le terme de pare-feu dsigne galement un paquetage logiciel install sur lordina-
teur et qui, lorsquil est bien congur, amliore la conguration de lordinateur. Vous pou-
vez mettre en place un pare-feu manuellement, comme cela est dcrit dans ce chapitre. Dans
de nombreuses distributions, vous pouvez aussi utiliser des outils de conguration graphi-
ques (dont nous ne parlerons pas ici). Une troisime possibilit est dinstaller un paquetage
de pare-feu commercial.
Nous aborderons dans cette section un pare-feu qui scurise le trac TCP/IP via un ltre de
paquets. Ce type de ltre analyse les paquets rseau qui arrivent ou qui sortent de lordina-
teur. Selon les rgles dnies, les paquets sont transmis ou bloqus. La section suivante pr-
sente les dtails de mise en uvre dun ltre de paquets. Cette section vise avant tout
claircir le vocabulaire.
Pare-feu pour un ordinateur personnel
Jusqu relativement rcemment, il semblait absurde de protger un ordinateur personnel
par un pare-feu. Les ordinateurs personnels ntaient connects Internet que de faon irr-
gulire et avec peu de dbit via un modem ou une carte RNIS. Ces ordinateurs ntaient de
ce fait quune cible peu attractive et la nature mme de la connexion Internet en rendait
laccs plutt difcile.
Linux Livre Page 564 Mardi, 23. septembre 2008 1:05 13
565 SCURIT DU RSEAU
Entre-temps, la situation a chang : de plus en plus de foyers disposent dune connexion
permanente par ADSL ou par cble. Votre ordinateur est donc accessible tout instant
depuis lextrieur par ladresse IP dnie par votre fournisseur daccs Internet.
Risques de
scurit
Cela ne signie videmment pas quun pirate peut entrer facilement. Il peut cependant
envoyer des paquets IP votre ordinateur (par exemple avec ping) et celui-ci, selon sa con-
guration, lui rpond (jusquici aucun problme). Si votre ordinateur fait fonctionner un ser-
veur SSH, un pirate peut tenter de se connecter. Il doit pour cela fournir un nom dutilisateur
et un mot de passe si vous utilisez des mots de passe triviaux, quelques essais peuvent suf-
re. De telles attaques peuvent tre automatises : des dictionnaires de mots sont essays les
uns la suite des autres. Si vous avez un rseau Windows avec des partages sans mot de
passe, les rpertoires Windows peuvent tre lus depuis Internet sans mot de passe galement !
Une source supplmentaire dinscurit est le Wi-Fi. Si la connexion entre votre ordinateur
et le point daccs Wi-Fi est protge par une cl WEP de 104 bits, un pirate peut trouver
cette cl en quelques jours.
Les utilisateurs privs nont gnralement aucune notion de scurit. Leurs ordinateurs sont
souvent ouverts tous les vents. Inversement, il existe des outils professionnels et gratuits
la disposition des pirates, qui servent par exemple trouver automatiquement les trous de
scurit dun ordinateur. Lutilisation de tels outils ne demande que peu de connaissances.
Vous vous dites peut-tre que votre ordinateur ne contient aucune donne susceptible
dintresser qui que ce soit. Mais une attaque na pas ncessairement pour but despionner
ou de manipuler des donnes. Il sagit souvent dun "jeu" pour des adolescents dsuvrs.
Le but peut aussi tre dinstaller un petit programme sur votre ordinateur, qui peut tre pr-
programm pour se lancer une date dnie ou qui peut tre contrl distance par le
pirate. Mais que vos donnes soient perdues en raison dune attaque cible ou en raison
dune exprience idiote, le rsultat est le mme.
Pare-feu pour le rseau local
Dans un rseau local (dentreprise), le cahier des charges de la scurit est bien plus impor-
tant que pour un ordinateur priv. Les conditions sont gnralement meilleures en termes
dinfrastructure. En pratique, cela signie quau moins un ordinateur est ddi laccs
Internet et sa protection. Les services rseau fonctionnent sur dautres ordinateurs. La
Figure 29.1 est un exemple de cela.
Distributions
pare-feu
Un PC ddi en tant que pare-feu peut sembler onreux, mais ce nest pas ncessairement le
cas. Un ancien PC processeur Pentium avec deux cartes rseau suft amplement. Cepen-
dant, il est souvent difcile, voire impossible, dinstaller une distribution Linux habituelle
sur ce type de matriel. Une alternative attractive consiste utiliser un live CD pare-feu.
Linux est dmarr directement depuis le CD et na pas besoin de disque dur (si un disque
dur est disponible, il peut cependant tre utilis pour la journalisation). Vous trouverez de
telles distributions aux adresses http://www.devil-linux.org/ et http://distrowatch.com/
dwres.php?resource=rewalls. Il existe aussi des distributions installables prvues pour un
pare-feu ou un routeur, comme http://www.ipcop.org/.
Linux Livre Page 565 Mardi, 23. septembre 2008 1:05 13
LINUX 566
Vous pouvez galement vous servir dune distribution standard comme Ubuntu ou SUSE et
la congurer pour lutiliser sur un pare-feu. Vous devez cependant effectuer une installation
minimale et vrier que seuls les services et programmes vraiment ncessaires sont lancs.
Variantes Pour les trs petits rseaux, un ordinateur peut faire ofce de pare-feu et de serveur rseau
(voir la Figure 28.1). Cela nest pas optimal car les services qui fonctionnent sur cet ordina-
teur reprsentent tous un risque de scurit ventuel. Cependant, une architecture de ce
type est toujours meilleure quune absence totale de pare-feu.
Dans les gros rseaux dentreprises, il existe souvent, linverse, deux pare-feu. Le premier
pare-feu nest quune scurit de base, mais laisse passer les protocoles Internet habituels
comme HTTP ou FTP. La zone rseau qui se trouve derrire ce premier pare-feu sappelle la
DMZ pour Demilitarized Zone (zone dmilitarise) : la scurit de cette zone nest que limi-
te. Elle hberge gnralement le serveur web ainsi que dautres serveurs rseau qui doivent
tre accessibles publiquement (depuis Internet).
La DMZ est spare du rseau local par un second pare-feu. Les services supplmentaires
qui ne sont accessibles quau rseau local se trouvent sur ce second rseau et ne sont absolu-
ment pas accessibles depuis lextrieur. La conguration dun pare-feu multiple dpasse
cependant le cadre de cet ouvrage ; vous trouverez plus dinformations ce sujet dans des
ouvrages spcialiss.
Pare-feu pour
les ordinateurs
clients dun
rseau local
En plus de la scurisation du rseau par un pare-feu central, on peut aussi scuriser chaque
PC dun rseau local individuellement. Ce procd offre plusieurs avantages : il peut vous
protger daccs depuis lintrieur du rseau, il fournit une protection supplmentaire au
cas o le pare-feu extrieur tomberait ou serait mal congur et il protge les ordinateurs
lorsquils sont utiliss lextrieur de lentreprise (par exemple les ordinateurs portables).
Figure 29.1
Pare-feu pour un rseau
local.
Linux Livre Page 566 Mardi, 23. septembre 2008 1:05 13
567 SCURIT DU RSEAU
Cependant, cela prsente galement des inconvnients : cela augmente la charge dadminis-
tration et peut bloquer des services utiles lintrieur du rseau.
Les ordinateurs connects au rseau local par un rseau sans-l reprsentent un cas parti-
culier. Dun point de vue technique, la scurit est optimale lorsque la connexion est tablie
avec un VPN (Virtual Private Network, rseau priv virtuel). Le trac rseau devrait (y com-
pris sur le client) tre limit sur un rseau Wi-Fi non sr ltablissement du VPN, ce qui se
fait facilement avec un pare-feu.
29.5 Pare-feu avec iptables
Cette section montre comment mettre en place un pare-feu ltre de paquets. Le ltre de
paquets analyse tout le trac (tous les paquets IP) et refuse ou transmet les paquets indivi-
duellement. Un pare-feu peut ainsi viter quun paquet servant initialiser une connexion
FTP depuis Internet vers votre ordinateur ne soit transmis. Cependant, vous pouvez tablir
une connexion FTP vers lextrieur.
Introduction
Pour congurer votre ltre de paquets, vous devez vous familiariser avec la commande
iptables. Elle est disponible depuis le noyau 2.4 et fait partie du systme netfilter. man
iptables est une rfrence de la syntaxe de cette commande.
La Figure 29.2 rsume, de manire trs simplie, les chemins que peut prendre un
paquet IP dans un systme de ltres. Vous en trouverez une description dtaille ladresse
http://open-source.arkoon.net/kernel/kernel_net.png.
La liste suivante dcrit rapidement les diffrentes tapes dun paquet IP dans le noyau :
Routage. En fonction de ladresse IP et du port, le noyau dcide si le paquet doit tre
trait localement ou sil doit tre transmis une autre interface rseau et un autre ordi-
nateur (que ce soit sur le rseau local ou sur Internet).
Figure 29.2
Reprsentation simplifie
du systme iptables/
netfilter.
Linux Livre Page 567 Mardi, 23. septembre 2008 1:05 13
LINUX 568
Filtrage des entres. En fonction dun ensemble de rgles, on teste si le paquet doit tre
accept et transfr aux programmes locaux (par exemple les dmons rseau) ou non.
Traitement local. Cette bote reprsente tous les programmes qui traitent les paquets IP
sur lordinateur local ou qui crent des paquets IP (cest--dire les services rseau,
comme ftpd, httpd, etc.).
Filtrage des sorties. En fonction dun ensemble de rgles, on teste si le paquet peut quitter
le noyau.
Filtrage des transferts. Ce ltre dcide quels paquets, parmi ceux qui doivent tre transfrs
(mais non traits), peuvent effectivement passer par le noyau.
Postroutage NAT. Si lordinateur local fournit un accs Internet dautres ordinateurs
par le biais dune mascarade, cette tape effectue les manipulations ncessaires sur les
paquets IP.
la Figure 29.2, vous pouvez voir que seules les botes Filtrage des entres, Filtrage des sor-
ties, Filtrage des transferts et ventuellement Postroutage NAT sont associes un ltre de
paquets. Toutes les autres parties du schma dcrivent des fonctions rseau du noyau qui
sont gres par le noyau ou par des services rseau courants fonctionnant sur le systme
local et nayant pas de rapport avec le ltre de paquets.
Dans de nombreuses illustrations de pare-feu, vous pouvez voir gauche Internet (dangereux), puis le
pare-feu, puis le rseau local (plus sr). La Figure 29.2 ne fait pas cette distinction. Les paquets qui arrivent
lordinateur proviennent aussi bien du rseau local que dInternet. Cela sapplique galement aux paquets
qui quittent le pare-feu droite.
Le noyau soccupe de transfrer les paquets, quils proviennent dune interface rseau ou
dun programme local. Trois comportements sont alors possibles :
Deny (refus). Le paquet est refus sans information supplmentaire. Le paquet est
perdu, il nexiste plus. Lexpditeur ne sait pas ce qui lui est arriv.
Reject (rejet). Le paquet est refus avec un message de retour. En ce qui concerne le
paquet, le rsultat est le mme, mais lexpditeur sait, grce un autre paquet ICMP,
que son paquet a t refus.
Accept (accept). Le paquet est transmis.
Vous trouverez plus dinformations sur le fonctionnement et lutilisation de iptables aux
adresses suivantes :
http://www.unixgarden.com/index.php/administration-systeme/netlter-rewalling-
sous-linux ; http://www.unixgarden.com/index.php/securite/mise-en-oeuvre-dune-
passerelle-Internet-sous-linux ; http://www.netlter.org/ ; http://people.netlter.org/
rusty/unreliable-guides/.
Tables et chanes de rgles iptables
Lide de base dun ltre de paquets iptables est la suivante. Chaque paquet IP traverse dif-
frents points dans le noyau et ces points vrient si le paquet y est autoris. Si oui, il est
transmis au point suivant, sinon il est dtruit ou renvoy lexpditeur.
Linux Livre Page 568 Mardi, 23. septembre 2008 1:05 13
569 SCURIT DU RSEAU
Le systme iptables se compose de trois tables :
Table lter. Cette table contient gnralement le systme de rgles du ltre de paquets
(pare-feu) lui-mme.
Table NAT. Cette table nest active que lorsque la fonction de mascarade du noyau est
elle-mme active. Elle permet diverses transformations dadresses pour les paquets qui
entrent dans le noyau ou qui en sortent.
Table mangle. Cette table manipule galement les paquets IP. Elle effectue des tches
spciales dont nous ne parlerons pas dans cet ouvrage.
Chacune de ces tables se compose de plusieurs chanes de rgles (chains) :
Table lter : input (entre), forward (transfert) et output (sortie) ;
Table NAT : prerouting (prroutage), output (sortie) et postrouting (postroutage) ;
Table mangle : prerouting (prroutage) et output (sortie).
La Figure 29.2 reprsente les quatre chanes de rgles les plus importantes de cet ensemble
de huit chanes.
Les chanes sont indpendantes les unes des autres ! Il existe donc deux chanes prerouting et trois chanes
output diffrentes.
Il arrive cependant que les documentations parlent de chane output sans indiquer de laquelle il sagit.
Dans ce cas, il sagit de la chane de la table filter, qui est de loin la plus importante.
La mme convention est utilise par la commande iptables. On peut y indiquer la table souhaite avec
loption -t. Si cette option nest pas indique, la commande sapplique la table filter.
Lorsquun paquet rencontre une chane de rgles, le noyau vrie toutes les rgles.
Lorsquune rgle sapplique au paquet, laction prvue est excute (par exemple transmettre,
supprimer ou renvoyer le paquet). Lorsque aucune rgle ne correspond, le comportement
par dfaut du ltre sapplique (ce comportement dpend de la conguration).
De base, dans le noyau, seules la table lter et ses trois chanes input, forward et output sont
actives. Ces chanes ne contiennent aucune rgle et leur comportement par dfaut est de
transmettre les paquets.
Tout lart de la mise en place dun ltre de paquets est donc de dnir le comportement par
dfaut et le jeu de rgles des chanes de ltres. Cest cela que sert la commande iptables.
Remettre zro le pare-feu
Dans ce qui suit, je pars du principe que vous vous tes familiaris avec la syntaxe lmen-
taire de la commande iptables (voir man iptables). La commande iptables nest gnrale-
ment pas lance manuellement, mais par un script. Sur mon ordinateur, ce script et divers
autres scripts de ce type se trouvent dans un rpertoire que jai cr pour cela, /etc/maconfig.
Cela me permet de voir dun seul coup dil quels scripts sont les miens et lesquels font
partie de la distribution.
Linux Livre Page 569 Mardi, 23. septembre 2008 1:05 13
LINUX 570
Lordre des commandes iptables est important car la premire rgle rencontre termine le traitement.
Lorsque vous noncez des rgles de pare-feu, il existe deux stratgies : vous pouvez autoriser certains
paquets individuels et bloquer tous les autres paquets ou vous pouvez autoriser tous les paquets et ninter-
dire que certains paquets particulirement dangereux. Cette seconde possibilit correspond au comporte-
ment par dfaut de iptables, qui consiste tout accepter tant quaucune rgle ne linterdit
explicitement.
Un des problmes rencontrs par les scripts de pare-feu est quils sont parfois lancs par
dautres scripts dans lesquels la variable PATH nest pas dnie ou ne lest que partiellement.
Excuter directement iptables peut alors chouer car la commande nest pas trouve.
Cependant, les distributions ne sont pas cohrentes entre elles sur lemplacement de la com-
mande. La premire tape dun tel script est donc gnralement de chercher la commande
iptables, que nous enregistrons dans la variable IPT.
Le script suivant sert remettre zro iptables : il supprime toutes les rgles de ltrage
dnies pralablement. Puis, tout le trac IP est autoris (ce script noffre donc absolument
aucune protection).
Vous devez lancer ce type de script avant dessayer de mettre en place vos propres rgles.
Sinon, les rgles dnies dans les essais prcdents peuvent rester actives et interfrer avec
ce que vous essayez de faire.
#!/bin/sh
# /etc/maconfig/iptables-reset
IPT=$(which iptables)
if [ -z $IPT ]; then
[ -x /sbin/iptables ] && IPT=/sbin/iptables
[ -x /usr/sbin/iptables ] && IPT=/usr/sbin/iptables
fi
[ -z $IPT ] && (echo "Impossible de trouver iptables!"; exit)
# par dfaut on accepte tout
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P POSTROUTING ACCEPT -t nat
$IPT -P PREROUTING ACCEPT -t nat
$IPT -P OUTPUT ACCEPT -t nat
# supprime toutes les rgles
$IPT -F
$IPT -F -t nat
# supprime toutes les rgles dfinies par les utilisateurs
$IPT -X
# supprime le transfert IP (pas de mascarade)
echo 0 > /proc/sys/net/ipv4/ip_forward
Scuriser laccs Internet
Interface
Internet
Le script suivant dnit un pare-feu minimal pour un seul ordinateur connect Inter-
net. Linterface est dnie par la variable INET. Dans lexemple suivant, je suppose que
laccs Internet se fait par le biais de linterface eth1. Vous devez bien sr adapter INET
Linux Livre Page 570 Mardi, 23. septembre 2008 1:05 13
571 SCURIT DU RSEAU
votre environnement. Si votre connexion Internet est assure par un modem (ADSL) ou
par RNIS, INET doit prendre la valeur ppp0 ou ippp0. Si linterface varie lors de la connexion
Internet, vous pouvez aussi utiliser lcriture ppp+ ou ippp+. La commande iptables prend
alors en compte toutes les interfaces de ce type.
Repousser les
tentatives de
connexions
externes
Le ltre se compose dune simple chane de rgles wall. Elle protge de manire lgante et
efcace des nouvelles connexions depuis lextrieur. La premire rgle de wall indique que
tous les paquets appartenant une connexion dj tablie sont accepts.
La deuxime rgle accepte les paquets qui initient une nouvelle connexion ds lors quils ne
sont pas initis partir de linterface Internet. Il est donc possible de dmarrer une session
SSH depuis le rseau local.
La troisime rgle est que tous les paquets qui ne correspondent pas aux rgles prcdentes
sont refuss. Cette rgle concerne donc linterdiction de tout ce qui nest pas explicitement
autoris. Par exemple, un pirate potentiel narrivera donc pas dmarrer une session SSH
(cela est galement valable pour tous les autres services rseau : HTTP, FTP, telnet, etc.).
Les deux dernires commandes indiquent que les rgles de wall sappliquent tous les
paquets qui passent par les chanes input ou forward.
#!/bin/sh
# /etc/maconfig/iptables-firewall
# Mini-Firewall pour un accs ADSL via ppp
# remise zro
/etc/maconfig/iptables-reset
# paramtrage
IPT=... # dfinir comme dans le script iptables-reset
INET=eth1
# cette nouvelle chane bloque toutes les tentatives de connexion
# provenant de lextrieur (Internet)
$IPT -N wall
$IPT -A wall -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A wall -m state --state NEW -i ! $INET -j ACCEPT
$IPT -A wall -j DROP
# utiliser la chane pour INPUT et FORWARD
$IPT -A INPUT -j wall
$IPT -A FORWARD -j wall
Scuriser un client sans-fil sans VPN
Vous pouvez galement utiliser le script ci-dessus si vous accdez Internet via Wi-Fi. Selon
la distribution, linterface utiliser peut tre eth* ou wlan*. Le plus simple est de dterminer
cela avec ifconfig.
Ce pare-feu ne permet pas aux autres utilisateurs du rseau Wi-Fi de se connecter votre
ordinateur en SSH, de lire les rpertoires Samba que vous partagez, etc. Si le but du rseau
Wi-Fi nest pas de vous connecter Internet, mais un rseau local, ce pare-feu est trop
restrictif.
Linux Livre Page 571 Mardi, 23. septembre 2008 1:05 13
LINUX 572
Vous ne devez pas non plus placer une conance dmesure dans ce pare-feu. Si un pirate
craque le chiffrage de votre rseau sans-l, il peut lire le trac rseau non chiffr, par exem-
ple les mots de passe dun formulaire web. Le pare-feu na aucune inuence sur cela. Il
empche quun pirate ne se connecte votre ordinateur mais ne fournit aucune protection
contre lcoute du trac.
Il est donc conseill de fournir laccs Internet et tous les autres services rseau par-des-
sus un VPN. Cela est particulirement vrai si laccs sans-l ne sert pas qu laccs Internet,
mais aussi au rseau local dune entreprise.
Scuriser un client sans-fil avec PPTP-VPN
Lorsquun client est connect au rseau local par un VPN, il dispose de deux rseaux en
mme temps : un rseau non sr (le rseau Wi-Fi) et un rseau sr (le VPN).
Un pare-feu du ct client a ici la tche principale de scuriser linterface Wi-Fi. Sur cette
interface, seuls les paquets ncessaires la conguration du client (DHCP) et ltablissement
du tunnel VPN peuvent circuler.
Lide de base du pare-feu est de ne dnir que quelques rgles qui autorisent les paquets ser-
vant congurer le VPN. Tous les autres paquets sont interdits. Les rgles du VPN dpendent
ensuite du protocole utilis pour le VPN. Nous ne parlerons dans cet ouvrage que de PPTP.
Accepter les
paquets DHCP
Les instructions suivantes acceptent les paquets DHCP (protocole UDP sur les ports 67 et 68).
# /etc/maconfig/iptable-firewall
# Pare-feu pour un client VPN Wi-Fi
# remise zro
/etc/maconfig/iptables-reset
# paramtrage
IPT=... # dfinir comme dans le script iptables-reset
WLAN=eth1
# accepter le trafic sur les ports 67 et 68 UDP (DHCP)
$IPT -A INPUT -i $WLAN -p udp --dport 67 -j ACCEPT
$IPT -A OUTPUT -o $WLAN -p udp --dport 67 -j ACCEPT
$IPT -A INPUT -i $WLAN -p udp --dport 68 -j ACCEPT
$IPT -A OUTPUT -o $WLAN -p udp --dport 68 -j ACCEPT
Accepter les
paquets PPTP
PPTP utilise le protocole TCP sur le port 1 723 ainsi que le protocole GRE (Generic Encapsu-
lation, encapsulation gnrique), pris en compte par loption -p 47 de iptables. Pour que
PPTP fonctionne en tant que client, les paquets TCP en entre et en sortie du port 1 723 doi-
vent tre accepts :
# extension de /etc/maconfig/iptables-firewall
# accepter les paquets sur le port 1723 (contrle PPTP)
# accepter le protocole GRE (numro 47, donnes PPTP)
$IPT -A INPUT -i $WLAN -p tcp --sport 1723 -j ACCEPT
$IPT -A OUTPUT -o $WLAN -p tcp --dport 1723 -j ACCEPT
$IPT -A INPUT -i $WLAN -p 47 -j ACCEPT
$IPT -A OUTPUT -o $WLAN -p 47 -j ACCEPT
Bloquer tous
les autres
paquets
Les rgles suivantes bloquent linterface pour tous les paquets des protocoles UDP et TCP :
Linux Livre Page 572 Mardi, 23. septembre 2008 1:05 13
573 SCURIT DU RSEAU
# extension de /etc/maconfig/iptables-firewall
# bloquer tout le reste
$IPT -A INPUT -i $WLAN -p tcp -j DROP
$IPT -A OUTPUT -o $WLAN -p tcp -j DROP
$IPT -A INPUT -i $WLAN -p udp -j DROP
$IPT -A OUTPUT -o $WLAN -p udp -j DROP
Rgles pour
linterface PPP
Linterface Wi-Fi est sufsamment protge. Tout le trac passe prsent sur le VPN via
linterface PPP. La scurisation de cette interface dpend de la scurit du rseau local. Pour
un petit rseau dont le serveur rseau est lui-mme protg par un pare-feu, vous pouvez
vous contenter des rgles ci-dessus. Si vous souhaitez plus de scurit, vous pouvez protger
linterface PPP par la chane wall dcrite ci-dessus.
Scuriser une passerelle Internet
Le script iptables est plus complexe lorsquil sagit de protger non pas un ordinateur uni-
que, mais une passerelle Internet complte. Le script commence comme dhabitude, mais il
dnit galement la variable LAN pour linterface au rseau local. Sur mon ordinateur, il
sagit de eth2.
#!/bin/sh
# /etc/maconfig/iptables-firewall
# Mini-Firewall pour scuriser une passerelle Internet
# remise zro
/etc/maconfig/iptables-reset
# paramtrage
IPT=... # dfinir comme dans le script iptables-reset
MODPROBE=... # contient le chemin vers modprobe; dtermin comme le
# chemin diptables
INET=eth0
LAN=eth2
Fournir des
services
individuels
publiquement
Le but du pare-feu est de bloquer les accs provenant de lextrieur. Les rgles correspon-
dantes sont indiques ci-aprs. Cependant, si votre serveur doit mettre disposition des ser-
vices rseau sur Internet en plus du rseau local (par exemple un serveur web ou SSH), vous
devez crer des rgles dexceptions. Comme toutes les tentatives de connexion sont interdi-
tes par la chane wall, vous devez les dnir avant cette chane ! Il suft de dnir des rgles
INPUT. Les rgles OUTPUT ne sont pas ncessaires car la chane wall laisse passer les
paquets des connexions actives.
MYIP content ladresse IP avec laquelle votre ordinateur est accessible sur Internet. Seuls les
paquets qui y sont adresss et qui en viennent sont accepts. Si votre adresse IP est dynami-
que (ce qui est le cas pour de nombreuses connexions par modem, RNIS ou ADSL), vous
pouvez omettre les options -d et -s. Dans ce cas, ltablissement dune connexion HTTP ou
SSH depuis lextrieur est de toute faon plus difcile car votre adresse IP change chaque
reconnexion.
Linux Livre Page 573 Mardi, 23. septembre 2008 1:05 13
LINUX 574
# extension de /etc/maconfig/iptables-firewall
# Permettre laccs au serveur HTTP (port 80) depuis lextrieur
MYIP=123.124.125.126
$IPT -A INPUT -i $INET -p tcp -d $MYIP --dport 80 -j ACCEPT
# Permettre laccs au serveur SSH (port 22) depuis lextrieur
$IPT -A INPUT -i $INET -p tcp -d $MYIP --dport 22 -j ACCEPT
Si votre passerelle Internet nest pas directement connecte par un modem, mais par un routeur ADSL, les
rgles ci-dessus ne sappliquent pas. Depuis Internet, il nest pas possible de sadresser directement votre pas-
serelle. Les paquets qui arrivent depuis lextrieur sont adresss au routeur ADSL qui transmet les donnes aux
clients par NAT. Ces clients regroupent aussi votre passerelle Linux.
Du point de vue de la scurit, cette variante de configuration est galement un avantage. Le routeur
ADSL est un premier pare-feu et laisse passer uniquement les paquets qui rsultent dune connexion tablie
depuis lintrieur. Linconvnient vident est que votre passerelle nest pas accessible depuis Internet, mme
dans les cas o vous aimeriez fournir des services comme un serveur SSH ou web.
Bloquer
compltement
les ports
dangereux
Les lignes suivantes bloquent tout accs divers ports dangereux par le biais de linterface
Internet. Dans la boucle for, quatre commandes iptables sont lances pour chaque numro
de port. La premire rgle bloque le trac entrant TCP sur le port. La deuxime rgle bloque
le trac sortant TCP. Les troisime et quatrime rgles fonctionnent de manire comparable
pour le protocole UDP.
# extension de /etc/maconfig/iptables-firewall
# bloquer compltement quelques ports
# 23 (telnet)
# 69 (tftp)
# 135 (Microsoft DCOM RPC)
# 139 (NetBIOS/Samba/etc.)
# 445 (systme de fichiers CIFS pour Samba/SMB)
# 631 (ipp/CUPS)
# 1433 (Microsoft SQL Server)
# 2049 (NFS)
# 3306 (MySQL)
# 4444 (W32.Blaster Virus)
# 5999-6003 (X-Displays)
# 7100 (X-Font-Server)
# 7741 (lisa, RLAN)
for PORT in 23 69 135 139 445 631 1433 2049 3306 \
4444 5999 6000 6001 6002 6003 7100 7741; do
$IPT -A INPUT -i $INET -p tcp --dport $PORT -j DROP
$IPT -A OUTPUT -o $INET -p tcp --dport $PORT -j DROP
$IPT -A INPUT -i $INET -p udp --dport $PORT -j DROP
$IPT -A OUTPUT -o $INET -p udp --dport $PORT -j DROP
done
Interdire lta-
blissement
de connexion
depuis
lextrieur
Une fois les rgles ci-dessus dnies, vous devez ajouter les rgles dnissant wall au script
de pare-feu. Attention, celles-ci ne protgent pas la passerelle contre un accs provenant du
rseau local.
Mascarade Comme lordinateur sert de passerelle Internet, il faut activer la mascarade. Les trois com-
mandes modprobe ci-aprs sassurent que FTP fonctionne malgr la mascarade :
Linux Livre Page 574 Mardi, 23. septembre 2008 1:05 13
575 SCURIT DU RSEAU
# extension de /etc/maconfig/iptables-firewall
# Masquerading
$MODPROBE ip_conntrack
$MODPROBE ip_conntrack_ftp
$MODPROBE ip_nat_ftp
$IPT -t nat -A POSTROUTING -o $INET -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/ip_forward
Serveur
mandataire-
cache
Si votre ordinateur fait ofce de serveur mandataire-cache transparent (voir la section 29.6),
il faut ajouter une rgle supplmentaire :
# extension de /etc/maconfig/iptables-firewall
# serveur mandataire/cache transparent
$IPT -t nat -A PREROUTING -i $INET -p tcp --dport 80 -j REDIRECT --to-port 3128
Scuriser les
interfaces
Wi-Fi
Si votre serveur est connect un point daccs sans-l pour fournir ses services aux clients
sans-l, il faut galement protger cette interface. Vous pouvez utiliser les mmes rgles que
pour linterface Internet, ce qui fournit une protection acceptable. Cependant, le pare-feu ne
bloque pas seulement les intrus mais aussi tous les clients lgitimes.
La seule solution sense est de permettre aux clients Wi-Fi de se connecter uniquement par
le biais dun VPN. Pour cela, vous devez installer un serveur VPN sur votre serveur (ce dont
nous ne traiterons pas dans cet ouvrage). Vous pouvez ainsi bloquer tout le trac Wi-Fi
lexception des paquets VPN et DHCP.
Journalisation
iptables permet de journaliser lefcacit de rgles indpendantes. Pour cela, donnez la
rgle laction LOG. Pour quune rgle soit active et journalise, vous devez donc donner deux
options -j : -j LOG et -j ACCEPT ou -j DROP.
La journalisation est gre par syslogd dans les chiers usuels (/var/log/messages et /var/
log/warn). Par dfaut, peu dinformations sont journalises. Vous pouvez activer des messa-
ges supplmentaires avec diverses options -log-xxx (voir man iptables). Les lignes suivan-
tes montrent comment les rgles de blocage des ports importants sont tendues pour ajouter
de la journalisation :
# Modification de /etc/maconfig/iptables-firewall
for PORT in 23 137 138 139 631 1433 2049 3306 5999 6000 6001 6002 6003 7100
7741; do
$IPT -A INPUT -i $INET -p tcp --dport $PORT -j LOG \
--log-prefix "myfirewall:" --log-level warning
$IPT -A OUTPUT -o $INET -p tcp --dport $PORT -j LOG \
--log-prefix "myfirewall:" --log-level warning
$IPT -A INPUT -i $INET -p tcp --dport $PORT -j DROP
$IPT -A OUTPUT -o $INET -p tcp --dport $PORT -j DROP
done
Attention, les chiers de journalisation peuvent vite devenir normes. Ne journalisez que ce
qui est ncessaire !
Linux Livre Page 575 Mardi, 23. septembre 2008 1:05 13
LINUX 576
Excuter automatiquement les rgles du filtre
Intgration
InitV
Pour lancer automatiquement les rgles de ltrage dans le cadre dInitV, vous devez enre-
gistrer le script de ltres dans un endroit accessible pendant le processus InitV et lappeler
par un script InitV. Inspirez-vous pour cela des scripts InitV de votre distribution.
Intgration
la configu-
ration PPP
Vous pouvez aussi intgrer les rgles du pare-feu aux scripts /etc/ppp/ip-up.local et /etc/
ppp/ip-down-local qui sont dmarrs la mise en place et la terminaison de toute connexion
PPP. Cela offre lavantage de pourvoir passer le nom de linterface au script (par exemple
ppp0). De cette manire, le pare-feu peut obtenir dynamiquement le nom de linterface utilise,
si celui-ci varie.
Ces deux scripts ont six arguments : le premier est le nom de linterface (par exemple ppp0) et le
sixime est lidentiant de la connexion PPP (option ipparam). Pour que tout fonctionne, vous
devez modier plusieurs chiers : /ppp/peers/adsl, ip-up.local, ip-down.local et iptables-
firewall.
/ppp/peers/
adsl
Le chier /ppp/peers/adsl (qui peut sappeler autrement) contient les options de votre
connexion Internet. Ajoutez-y loption ipparam si elle nexiste pas dj. Cela permet duti-
liser une chane de caractres unique pour identier laccs Internet et le diffrencier des
autres connexions PPP.
# dans /etc/ppp/peers/adsl
...
ipparam "adsl"
ip-up.local Vous devez crer le chier /etc/ppp/ip-up.local ou ltendre de cette manire :
#! /bin/sh
# dmarrage du pare-feu
# $1 est linterface PPP utilise (par exemple ppp0)
# $6 contient la chane de caractres ipparam
if [ "$6" = "adsl" ]; then
/etc/maconfig/iptables-firewall $1
fi
De cette manire, vous pouvez lancer le script iptables-firewall lorsque la connexion PPP
ADSL est lance. Le script du pare-feu prend comme argument le nom de linterface.
ip-down.local De la mme manire, crez ou tendez le chier /etc/ppp/ip-down.local :
#! /bin/sh
# dmarrage du pare-feu
if [ "$6" = "adsl" ]; then
/etc/maconfig/iptables-firewall
fi
iptables-
firewall
Le script du pare-feu doit tre modi pour prendre en compte linterface rseau indique
en paramtre. La variable INET est maintenant dnie de manire dynamique.
#!/bin/sh
# pare-feu
# remise zro
/etc/maconfig/iptables-reset
# dterminer lemplacement de iptables et modprobe
IPT=...
MODPROBE=...
Linux Livre Page 576 Mardi, 23. septembre 2008 1:05 13
577 SCURIT DU RSEAU
# Interface rseau: linterface rseau Internet
# est passe comme paramtre du script
LAN=eth0
WLAN=eth1
INET=$1
# rgles du pare-feu lorsque linterface Internet est connecte
# (y compris la mascarade)
if [ $INET ]; then
...
fi
# rgles du pare-feu ne dpendant pas de laccs Internet,
# par exemple scurisation de linterface Wi-Fi
...
Lorsque tout fonctionne, chaque fois quune interface PPP est connecte Internet, le pare-
feu est congur spciquement pour linterface PPP en question. Lorsque la connexion
Internet est coupe, le pare-feu est redmarr, mais les commandes iptables spciques
Internet sont omises.
29.6 Filtrage web (Squid)
Le programme squid est au cur de ce chapitre. Il sagit dun serveur mandataire-cache.
Cela signie quil enregistre les pages web localement et quil en rgule laccs. Deux raisons
peuvent justier la mise en place dun serveur mandataire-cache :
Lacclration de laccs aux pages souvent consultes. Lorsque plusieurs personnes
lisent des pages web en passant par le serveur mandataire-cache, on peut viter de
transmettre plusieurs fois le mme chier. Cela acclre la lecture des pages qui sont
souvent demandes et rduit le trac vers le fournisseur daccs Internet. Les cono-
mies ralises ne sont gnralement que rduites car de nombreux sites web sont bass
sur des pages dynamiques qui ne peuvent pas tre mises en cache.
Le contrle daccs. Lutilisation de squid en tant que ltre web est de plus en plus
importante. Squid peut bloquer des pages donnes certains utilisateurs, restreindre
laccs web certaines heures, etc. Il se rvle idal pour les tablissements qui veulent
limiter ou scuriser laccs Internet (par exemple les coles).
Cette section se limite au contrle daccs par Squid et fournit quelques pointeurs pour la
conguration de base. Vous trouverez plus dinformations dans le chier /etc/squid/
squid.conf. Le site web de Squid (http://www.squid-cache.org) contient galement un
guide de conguration ainsi quune foire aux questions.
Configuration et dmarrage
Configuration
minimale
Le comportement de squid est dni par /etc/squid/squid.conf. Le chier de congura-
tion fourni avec squid est document de manire exhaustive et il est donc affreusement long
Linux Livre Page 577 Mardi, 23. septembre 2008 1:05 13
LINUX 578
(4 500 lignes). Crez une copie de ce chier an de constituer une documentation et supprimez-
en tous les commentaires :
root# cd /etc/squid
root# mv squid.conf squid.conf.orig
root# grep -v ^# squid.conf.orig | cat -s > squid.conf
Le chier est alors rduit une soixantaine de lignes.
Par dfaut, squid.conf est congur de manire ne pouvoir tre utilis comme cache que
pour lordinateur localhost. Selon la conguration de lordinateur local, cela ne fonctionne
pas ncessairement : squid ne reconnat pas forcment que laccs provient de localhost.
Les lignes suivantes montrent une conguration minimale possible pour squid. Le point de
dpart tait la conguration de base de Squid version 2.6. Les modications effectues sont
indiques en gras. cache_mem est la quantit de mmoire vive rserve pour les objets du
cache. La ligne cache_dir est le rpertoire dans lequel les pages web sont enregistres. Les
trois valeurs numriques indiquent la taille du cache en mgaoctets ainsi que le nombre de
rpertoires et sous-rpertoires maximaux (de manire gnrale, plus lespace attribu au
cache est gros, mieux cest).
acl localnet dnit la variable localnet qui contient la plage dadresses du rseau local.
Utilise avec http_access, elle permet aux autres ordinateurs du rseau local dutiliser le
cache. Vous pouvez choisir un nom arbitraire la place de localnet.
# /etc/squid/squid.conf
# Exemple de configuration
# nom de lhte sur lequel squid est lanc
visible_hostname mars.sol
# Taille du cache: 64Mo en mmoire vive, 100Mo sur le disque dur
cache_mem 64 MB
cache_dir ufs /var/spool/squid 100 16 256 # Debian, Fedora, Red Hat,
# Ubuntu
# cache_dir ufs /var/cache/squid 100 16 256 # SUSE
# pas de cache lorsque lURL contient cgi-bin
hierarchy_stoplist cgi-bin?
acl QUERY urlpath_regex cgi-bin \?
no_cache deny QUERY
# dure de vie des fichiers sans date dexpiration
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern . 0 20% 4320
# configuration du rseau local
hosts_file /etc/hosts
# Dfinitions
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl to_localhost dst 127.0.0.0/8
acl localnet src 192.168.0.0/255.255.255.0
acl SSL_ports port 443 # https
acl SSL_ports port 563 # snews
acl SSL_ports port 873 # rsync
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
Linux Livre Page 578 Mardi, 23. septembre 2008 1:05 13
579 SCURIT DU RSEAU
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny manager
http_access allow purge localhost
http_access deny purge
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_access allow localnet
http_access deny all
icp_access allow all
coredump_dir /var/spool/squid # Debian, Fedora, Red Hat, Ubuntu
coredump_dir /var/cache/squid # SUSE
Si votre fournisseur daccs fournit son propre cache et si vous voulez ou devez lutiliser,
indiquez son adresse IP et son port avec le mot cl cache_peer (comme dans lexemple sui-
vant). Si vous ne connaissez pas le port ICP, essayez 0 ou 7. Si cela ne fonctionne pas, ajoutez
loption supplmentaire default ou no-query.
# serveur mandataire-cache suivant (par exemple celui de votre FAI)
# cache_peer <hostname> <type> <proxy-port> <icp-port> <options>
cache_peer www-proxy.provider.de parent 8080 7 default
Si vous souhaitez que les pages web dun serveur local ne soient pas mises en cache, utilisez
le mot cl no_cache :
# accs direct au serveur web local mars.sol
acl mars dstdomain .mars .mars.sol
no_cache deny mars
Il existe au moins une centaine doptions supplmentaires avec lesquelles vous pouvez contrler le compor-
tement de Squid, par exemple pour viter de mettre en cache certaines pages, pour contrler la journali-
sation, etc. Pour plus dinformations, reportez-vous au fichier original squid.conf ou la documentation
sur www.squid-cache.org.
Linux Livre Page 579 Mardi, 23. septembre 2008 1:05 13
LINUX 580
Dmarrage/
arrt
Squid est un dmon qui doit ventuellement tre dmarr explicitement. La commande cor-
respondante varie selon la distribution. Si Squid est dj dmarr, vous pouvez lui faire
relire son chier de conguration avec reload :
root# /etc/init.d/squid reload
Premier test Squid cre alors divers rpertoires de cache dans /var/cache/squid ou dans /var/spool/
squid. Pour tester si un programme fonctionne, dmarrez un navigateur sur lordinateur
local et modiez la conguration du serveur mandataire. Indiquez-y le nom de lordina-
teur (ici, mars.sol) et le numro de port 3 128. Sous Firefox, cela se fait en passant par le
menu dition > Prfrences > Avanc > Rseau > Paramtres. Sous Konqueror, il faut aller
dans Conguration > Congurer Konqueror > Serveur mandataire > Spcier manuellement
la conguration du serveur mandataire (proxy).
Chargez alors une page avec le navigateur web. Le chier /var/log/squid/access.log contient
normalement tous les chiers enregistrs.
Pour que les utilisateurs de votre rseau local puissent utiliser le cache, ils doivent galement
passer par ces oprations pour le congurer dans leurs navigateurs web.
Configuration en tant que serveur mandataire-cache transparent
Jusquici, lutilisation du serveur mandataire se fait volontairement. squid est utilis unique-
ment lorsque les clients ajoutent la conguration du serveur mandataire dans leurs navigateurs.
Sans cette modication, les utilisateurs court-circuitent le cache.
Cette situation nest pas idale, et ce pour deux raisons. Dune part, pour de nombreux uti-
lisateurs, changer les paramtres du cache est une exigence trop grande. Dautre part, Squid
en tant que ltre reste sans effet sil suft aux utilisateurs de supprimer le paramtrage pour
le contourner.
Pour remdier cela, le noyau Linux peut tre congur pour transfrer tout le trac HTTP
(qui transite habituellement sur le port 80) au serveur mandataire. Celui-ci est alors dsign
sous le terme de "transparent". Cela signie que le cache est automatiquement utilis pour
tous les accs HTTP.
La conguration suivante suppose que squid est install sur lordinateur qui fait ofce de
passerelle Internet. Nous supposons aussi que la connexion entre le serveur et les clients
passe par linterface Ethernet eth2.
Configuration
du noyau
Vous devez dabord congurer correctement votre noyau. Les fonctions Netlter suivantes
doivent tre compiles directement dans le noyau : Connection Tracking, IP tables support, Full
NAT et Redirect target support. Cest le cas pour les noyaux de toutes les distributions que jai
testes. Il nest donc gnralement pas ncessaire de recompiler un noyau.
Activation du
transfert IP
Vous devez ensuite activer une fonction spciale du noyau pour permettre de transfrer les
paquets IP :
root# echo 1 > /proc/sys/net/ipv4/ip_forward
Configuration
de Squid
Vous devez effectuer les modications suivantes :
# Modifications de /etc/squid/squid.conf
httpd_accel_host virtual
httpd_accel_port 80
Linux Livre Page 580 Mardi, 23. septembre 2008 1:05 13
581 SCURIT DU RSEAU
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Puis, vous devez lancer /etc/init.d/squid reload.
Configuration
de iptables
Vous devez aussi activer le transfert de paquets IP. Tous les paquets qui quittent lordinateur
et qui sont adresss au port 80 doivent passer par le port de squid. La commande est coupe
en deux pour des raisons de place :
root# iptables -t nat -A PREROUTING -i eth0 -p tcp \
--dport 80 -j REDIRECT --to-port 3128
Lorsque tout fonctionne, tous les clients du rseau local passent automatiquement par squid
pour consulter des pages web. Vriez que tout fonctionne en consultant /var/log/squid/
access.log aprs avoir accd au Web depuis un ordinateur client.
Pour nir, ajoutez la commande iptables dans un script InitV lanc automatiquement au
dmarrage de lordinateur. Sur mon serveur, la commande fait partie des scripts de pare-
feu.
En principe cette configuration fonctionne uniquement pour les clients du rseau local, mais pas pour
lordinateur sur lequel le serveur mandataire est install. En dautres termes, la protection automatique nest
pas valable pour lordinateur local, mais elle est valable pour tous les autres ordinateurs du rseau. Si vous
souhaitez utiliser le serveur mandataire pour lordinateur local, vous devez modifier le paramtrage corres-
pondant dans le navigateur web.
Exceptions Il existe quelques sites web qui ne peuvent pas tre utiliss travers un serveur manda-
taire. Lorsque le serveur mandataire nest pas transparent, un utilisateur peut le contour-
ner facilement (en le dsactivant ou en dnissant des exceptions). Pour un proxy
transparent, lutilisateur na pas le choix. Squid ne permet pas non plus de transfrer des
pages web prcises sans modication. Lorsque Squid reoit lordre de rcuprer une page web,
il est dj trop tard.
Pour pouvoir utiliser des pages problmatiques malgr le cache transparent, vous devez
modier les rgles iptables an dviter que les requtes vers ces pages natteignent Squid.
Le plus simple pour cela est de modier le script iptables avec quelques lignes de script.
#!/bin/sh
# Extension du script de pare-feu
#
# transfrer directement les adresses suivantes (pas de serveur
# mandataire)
for ADDRESS in adresse1.com adresse2.fr adresse3.ca; do
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 -d $ADDRESS -j
ACCEPT
done
# transfrer toutes les autres adresses (serveur mandataire transparent)
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 \
-j REDIRECT --to-port 3128
Linux Livre Page 581 Mardi, 23. septembre 2008 1:05 13
LINUX 582
Tous les ouvrages iptables dconseillent lutilisation de rgles de pare-feu dpendant dune rsolution
DNS. Si celle-ci ne fonctionne pas, un message derreur est renvoy. Dans ce cas concret, je nai cependant
pas trouv dautre solution. Jinsiste sur le fait que cette mthode nest quune solution durgence. Si le script
est lanc par InitV, la connexion Internet et la configuration du serveur de noms doivent fonctionner.
Vous trouverez plus dinformations sur la configuration dun serveur mandataire-cache dans le Petit guide
de mise en place dun mandataire transparent avec Linux et Squid ladresse
http://www.traduc.org/docs/HOWTO/vf/TransparentProxy.html.
Rgles de contrle daccs
Grce la conguration minimale ci-dessus, tous les utilisateurs du rseau local utilisent le
serveur mandataire-cache. squid fournit aussi des mcanismes trs ns de contrle daccs.
Il faut dabord dnir des acl (Access Controls, contrles daccs). Ces rgles contiennent par
exemple des adresses source (src, qui peut accder quoi ?), des heures (time, quelle
heure est autoris laccs ?) ou des adresses cible (url_regex, quelles adresses peuvent ou
non tre consultes ?)
# modifications de /etc/squid/squid.conf
acl admin src mars
acl mynet src 192.168.0.0/255.255.255.0
# dates et heures. SA = Saturday + Sunday (samedi + dimanche)
# (S = Dim, M = Lun, T = Mar, W = Mer, H = Jeu, F = Ven, A = Sam)
acl time1 time SA
acl time2 time 18:00-23:59
acl time3 time 0:00-7:00
Les mots cls dnis ci-dessus peuvent alors tre utiliss dans des commandes
http_access-allow et -deny. Pour nir, une rgle deny-all indique que les accs qui ne se
trouvent pas dans les cas indiqus sont interdits.
# localhost a toujours le droit daccder au web
http_access allow localhost
# mars a toujours le droit daccder au web
http_access allow admin
# Les ordinateurs de mynet peuvent accder au web le
# samedi, le dimanche et de 18h00 7h00
http_access allow mynet time1
http_access allow mynet time2
http_access allow mynet time3
# dans tous les autres cas, laccs au web est interdit
http_access deny all
Filtre web avec DansGuardian
On peut bloquer des sites individuels avec squid.conf. Mais raliser un ltre web complet
serait extrmement coteux. Pourquoi rinventer la roue ? Le programme DansGuardian
(http://dansguardian.org/) permet de mettre en place un accs web avec une protection
parentale de manire bien plus simple.
Linux Livre Page 582 Mardi, 23. septembre 2008 1:05 13
583 SCURIT DU RSEAU
La fonction de base du programme est danalyser les pages web la recherche de mots cls
pornographiques et de bloquer la page en fonction du rsultat de la recherche. Le mca-
nisme est sufsamment intelligent pour ne pas ltrer toutes les pages contenant les mots
"sexe" ou "seins". Comme DansGuardian prend en compte le contenu des pages, il est ind-
pendant de la plupart des listes noires de sites web.
Installation DansGuardian peut tre install comme paquetage dans la plupart des distributions.
Comme il bloque galement le tlchargement des virus les plus connus, il est install avec
le ltre ClamAV.
DansGuardian est un dmon, dmarr et arrt avec les commandes habituelles. Par dfaut,
il attend des requtes sur le port 8 080. Il contacte ensuite Squid (sur le port 3 128) et analyse
la page web. Si la page ne pose pas de problme, elle est retransmise via le port 8 080 au
navigateur web. La variante de conguration que nous proposons ici est plus lgante :
DansGuardian traite toutes les requtes web sur le port 80 an quaucune conguration ne
soit ncessaire du ct client.
dansguardian.
conf
Le chier de conguration principal de DansGuardian est /etc/dansguardian/dansguar-
dian.conf. Vous pouvez gnralement laisser ce chier tel quil est. Selon la distribution, le
chier peut contenir la ligne UNCONFIGURED, que vous devez dsactiver avec un caractre de
commentaires. Si vous souhaitez que les messages derreur soient afchs en franais, utili-
sez le paramtre language=french. Si votre rseau ne contient que des ordinateurs sous
Linux, vous pouvez dsactiver le scanner de virus avec virusscan=off.
Pour intgrer DansGuardian et Squid, il faut indiquer ladresse et le port de ce dernier :
# /etc/dansguardian/dansguardian.conf (extraits)
reportinglevel = 3
languagedir = /etc/dansguardian/languages
language = french
loglevel = 1
logexceptionhits = on
logfileformat = 1
filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128
...
Une fois le chier modi, faites-le relire par DansGuardian :
root# /etc/init.d/dansguardian reload
dansguardianf
1.conf
Le ltre lui-mme est congur dans /etc/dansguardian/dansguardianf1.conf. Ce chier
dnit dabord divers chiers prcongurs de mots cls, de sites web bloqus, etc. Le para-
mtre naughtynesslimit contrle le degr de "malfaisance" partir duquel la page est blo-
que. Plus cette valeur est haute, plus le nombre de mots cls et de combinaisons de mots
cls trouvs dans le texte est lev.
# /etc/dansguardian/dansguardianf1.conf (extraits)
# Content filtering files location
bannedphraselist = /etc/dansguardian/bannedphraselist
weightedphraselist = /etc/dansguardian/weightedphraselist
Linux Livre Page 583 Mardi, 23. septembre 2008 1:05 13
LINUX 584
exceptionphraselist = /etc/dansguardian/exceptionphraselist
bannedsitelist = /etc/dansguardian/bannedsitelist
greysitelist = /etc/dansguardian/greysitelist
exceptionsitelist = /etc/dansguardian/exceptionsitelist
bannedurllist = /etc/dansguardian/bannedurllist
greyurllist = /etc/dansguardian/greyurllist
exceptionurllist = /etc/dansguardian/exceptionurllist
bannedregexpurllist = /etc/dansguardian/bannedregexpurllist
bannedextensionlist = /etc/dansguardian/bannedextensionlist
bannedmimetypelist = /etc/dansguardian/bannedmimetypelist
picsfile = /etc/dansguardian/pics
contentregexplist = /etc/dansguardian/contentregexplist
# Naughtyness limit
# As a guide:
# 50 is for young children, 100 for old children, 160 for young adults.
naughtynesslimit = 50
...
Ne vous faites pas dillusion sur lefficacit de DansGuardian. Mme un paramtre naughtynesslimit=50
(adapt aux jeunes enfants) noffre pas une protection complte envers les pages web pornographiques ; il
ne prsente aucune protection envers les images pornographiques.
La configuration par dfaut prend essentiellement en compte des mots cls en anglais. Pour la plupart des
sites pornographiques, cela peut suffire. Toutefois, si vous souhaitez galement filtrer des pages de sites
dextrme droite ou de sites incitant la violence, vous devrez mettre la main la pte. Jetez un il au
fichier de configuration /etc/dansguardian/weightedphraselist et aux fichiers qui y sont dfinis.
Indpendamment de cela, il nest pas trs difficile de contourner le filtre par du texte cr dynamiquement
(JavaScript, Flash), par du texte affich dans des images ou par des fichiers externes (PDF par exemple). Le
filtre ne sapplique quaux pages web et ne concerne pas les autres services Internet (courrier lectronique,
Usenet, discussion en ligne, etc.). DansGuardian fournit une protection, mais ne peut pas remplacer ldu-
cation et les explications.
Rgles
supplmen-
taires et
exceptions
En pratique il est souvent difcile de discriminer les pages uniquement sur des mots cls. Le
tableau suivant dcrit quelques chiers du rpertoire /etc/dansguardian dans lesquels vous
pouvez indiquer des sites web laisser passer ou ltrer.
bannedextensionlist bloque les chiers avec les extensions indiques
bannedmimetypelist bloque les types de chiers indiqus
bannedsitelist bloque entirement les sites web indiqus
bannedurllist bloque les pages indiques
exceptionsitelist accepte les sites web indiqus sans les contrler
exceptionsurllist accepte les pages indiques sans les contrler
exceptionphraselist mots cls positifs
greysitelist de base, accepte le site web, mais contrle le contenu texte
Linux Livre Page 584 Mardi, 23. septembre 2008 1:05 13
585 SCURIT DU RSEAU
bannedurllist et bannedsitelist peuvent se fonder sur les chiers du projet urlblacklist
(http://urlblacklist.com/). Ce projet collecte divers liens dinnombrables sites web probl-
matiques, classs par catgories (par exemple drugs, porn, violence). Attention, urlblac-
klist est un service commercial. Les listes de ltres peuvent tre tlcharges gratuitement
une fois an deffectuer des tests, mais les mises jour rgulires ne sont pas gratuites.
Dans sa conguration par dfaut, DansGuardian bloque le tlchargement de chiers com-
presss, de chiers MP3, de chiers ISO, etc. Ces paramtres sont trop restrictifs pour une
utilisation quotidienne de Linux et peuvent mme empcher un fonctionnement correct du
gestionnaire de paquetages. Nhsitez pas commenter quelques types de chiers dans les
chiers bannedmimetypelist et bannedextensionlist.
Configuration
de Squid
Pour interfacer Squid avec DansGuardian, squid.conf doit contenir les lignes suivantes :
# modifications de /etc/squid/squid.conf
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel_with_proxy on
httpd_accel_uses_host_header on
Protection
transparente
Par dfaut, DansGuardian fonctionne sur le port 8 080. Pour protger laccs au web de
manire transparente sur le port 80, modiez le script de pare-feu comme suit :
#!/bin/sh
# extension du script de pare-feu
#
# transfre tous les paquets adresss au port 80 au port 8080
# utilis par DansGuardian (filtre web transparent)
iptables -t nat -A PREROUTING -i $LAN -p tcp --dport 80 \
-j REDIRECT --to-port 8080
DansGuardian nest pas la seule extension de Squid qui vise au contrle parental. Une alternative intres-
sante est SquidGuard qui est un greffon de Squid fournissant diverses fonctions supplmentaires et dont la
configuration via Squid est plus simple : http://www.squidguard.org/.
Linux Livre Page 585 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 586 Mardi, 23. septembre 2008 1:05 13
30
Serveur de rseau local
(CUPS, NFS et Samba)
Ce chapitre dcrit la conguration de services rseau gnralement utiliss dans un rseau
local. Vous apprendrez comment partager des chiers et des imprimantes au sein de votre
organisation. Nous traiterons plus particulirement des points suivants :
Systme dimpression (CUPS). Que votre imprimante soit branche un seul ordina-
teur ou utilise sur un rseau, un service soccupe de la communication avec elle. Pour
la plupart des distributions, il sagit de CUPS.
Partage de rpertoires par NFS. NFS (Network File System, systme de chiers rseau)
permet de partager facilement des chiers entre des ordinateurs Unix/Linux.
Partage de rpertoires et dimprimantes par Samba. Pour assurer la compatibilit des
partages de chiers avec Windows, il faut utiliser Samba. Celui-ci permet de partager
des rpertoires et des imprimantes sur un rseau via le protocole SMB.
30.1 CUPS Les fondamentaux
Le paquetage de programmes CUPS (Common Unix Printing System, systme dimpression
commun sous Unix) sert traiter et grer les les dattente de tches dimpression, ainsi
qu transformer les donnes imprimer au format de limprimante. CUPS, fourni par la
plupart des distributions, est au cur de cette section, base sur la version 1.3.
Vous vous demandez peut-tre pourquoi le thme de limpression, lmentaire, nest trait
qu ce point avanc du livre. Cela est d au fait que sous Linux, limpression est gre par
un service rseau. Selon la conguration, chaque imprimante peut tre utilise par tous les
autres utilisateurs du rseau local.
Lutilisation dune imprimante locale nest pas complique et fonctionne gnralement sans
avoir lire cette section. Les pages suivantes sadressent aux utilisateurs qui souhaitent
comprendre les bases et lhistoire du systme dimpression sous Linux.
Lorsquune imprimante est momentanment indisponible (par exemple, parce quelle est teinte), elle
est mise en pause par CUPS. Ce dernier enregistre donc que limprimante ne peut pas tre utilise.
Cependant, lorsque celle-ci est rallume ou reconnecte, CUPS ne saperoit pas ncessairement quelle
est nouveau disponible. Il faut alors la ractiver explicitement. Toutes les interfaces utilisateur
de CUPS le permettent, ainsi que les commandes cupsenable nomimprimante et lpadmin -E -p nom-
imprimante.
Linux Livre Page 587 Mardi, 23. septembre 2008 1:05 13
LINUX 588
Processus dimpression
PostScript La philosophie dimpression sous Unix/Linux repose sur les imprimantes PostScript. PostS-
cript est un langage de programmation pour dcrire le contenu des pages. Ce type dimpri-
mantes attend des donnes dimpression dans ce format. La plupart des programmes dots
dune fonction dimpression envoient des donnes PostScript au systme dimpression.
Lavantage de PostScript sur les autres formats est que la description utilise un format vec-
toriel et quil fonctionne donc dans nimporte quelle rsolution. Limpression dun chier
PostScript est dautant plus prcise que limprimante est de bonne qualit (rsolution le-
ve). Cest pourquoi PostScript joue un rle dominant non seulement sous Unix, mais aussi
dans toute lindustrie de limpression.
Sous Linux, il existe de nombreux programmes qui permettent de lire un document PostScript. Leur anctre
est ghostview. Son interface nest cependant pas trs moderne. Les alternatives populaires sont Evince (qui
fait partie du bureau Gnome), Okular, KPDF et kghostview (trois applications KDE), ainsi que gv et ggv.
Vous pouvez aussi utiliser nimporte quel outil de visualisation de PDF, aprs avoir converti le fichier au format
PDF avec ps2pdf.
Priphriques
dimpression
Il est extrmement simple dimprimer si votre imprimante comprend le PostScript. Il suft
pour cela denvoyer le chier PostScript avec cp en tant que root sur le priphrique de
linterface laquelle limprimante est connecte.
root# cp fichier.ps /dev/lp0
root# cp fichier.ps /dev/ttyS0
root# cp fichier.ps /dev/lp0
Ces trois lignes correspondent respectivement limpression sur le port parallle, sur le port
srie et sur un port USB.
Systme
dimpression
Tous les utilisateurs en dehors de root devraient cependant pouvoir imprimer, quils tra-
vaillent en local sur lordinateur ou sur une autre machine du rseau. Par ailleurs, aucun
deux ne veut se battre avec les noms de priphriques, dautant quils ny ont probablement
pas accs. Cest pourquoi un systme dimpression a t dvelopp. Il a plusieurs tches :
fournir des commandes simples dimpression qui permettent daccder des noms
dimprimantes plutt qu des noms de priphriques ;
permettre tous les utilisateurs, y compris ceux du rseau, dimprimer ;
permettre dajouter et de grer plusieurs imprimantes sur un ordinateur ;
fournir un mcanisme de le dattente lorsque plusieurs tches sont lances en mme
temps, de manire attendre que limprimante soit libre ;
effectuer quelques tches annexes, comme des statistiques sur le systme dimpression.
Le systme dimpression le plus simple et le plus moderne est, lheure actuelle, CUPS. Ses
alternatives classiques, BSD-LPD et LPRng, ne seront pas traites dans cet ouvrage.
Quel que soit le systme dimpression utilis sur votre ordinateur, la commande dimpression
est toujours la mme :
utilisateur$ lpr -Pnom fichier
Linux Livre Page 588 Mardi, 23. septembre 2008 1:05 13
589 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
nom est le nom de limprimante (ou plus exactement, celui de la le dattente de limpression).
Si vous omettez loption -P, le document est imprim sur limprimante par dfaut.
Filtre
dimpression
(GhostScript)
Nous avons jusquici dcrit la mise en uvre dune imprimante PostScript. En pratique, les
imprimantes qui ne comprennent pas ce langage sont les plus nombreuses. Pour pouvoir les
faire fonctionner sous Linux, il faut convertir les donnes PostScript au format de limpri-
mante. Le programme GhostScript se charge de cette conversion.
gs est appel par un ltre. Il sagit dun script qui traite les donnes dentre et renvoie les
donnes de sortie. Le ltre pour le processus dimpression doit en particulier envoyer les
bons paramtres gs : modle de limprimante, rsolution et taille de page souhaites, etc. Il
transforme les donnes PostScript en chiers bitmap, page par page, et les renvoie limpri-
mante, sans oublier dajouter aux donnes les commandes spciques ladite imprimante.
GhostScript accde galement des pilotes dimprimantes externes. Le projet le plus impor-
tant de pilotes pour Linux est Gutenprint (autrefois connu sous le nom de Gimp-Print), que
vous trouverez ladresse http://gutenprint.sourceforge.net/.
Filtres de
documents
Jusquici, PostScript est le seul format des chiers imprimer. Il est cependant courant de
devoir imprimer un seul chier texte ou image. On peut bien sr le charger dans un diteur,
qui limprime alors au format PostScript. On peut aussi le convertir avec un programme ou
un convertisseur graphique au format PostScript.
Il est cependant plus confortable de ne lancer que lpr fichier. Pour que cela fonctionne, le
systme dimpression tente de reconnatre le type de chiers imprimer. Lorsque cela fonc-
tionne et quil ne sagit pas encore dun chier PostScript, le chier est transform au format
PostScript avec le programme appropri. Le convertisseur est cependant appel par un
script de ltre.
Rsum de
la chane
Vous avez congur une imprimante jet dencre non PostScript sur votre ordinateur. Elle
sappelle pluton. Vous aimeriez maintenant imprimer le chier monimage.png. Lancez par
consquent la commande suivante :
utilisateur$ lpr -Ppluton monimage.png
Le processus dimpression suit alors ces tapes :
1. lpr envoie le chier au systme dimpression CUPS.
2. Celui-ci envoie le chier au systme de ltres.
3. Le ltre reconnat le type de chiers (PNG) et convertit limage bitmap au format PostScript.
4. Les donnes PostScript sont envoyes GhostScript, qui convertit le chier PostScript
au format de donnes de limprimante pluton.
5. Lorsque pluton a termin toutes ses tches prcdentes, elle imprime monimage.png.
Configuration de base de CUPS
cupsd.conf La conguration de base de CUPS est enregistre dans /etc/cups/cupsd.conf. Les param-
tres par dfaut varient selon la distribution. Vous pouvez modier les principales options
Linux Livre Page 589 Mardi, 23. septembre 2008 1:05 13
LINUX 590
avec un programme de conguration ou linterface web localhost:631. Nous allons cepen-
dant dabord parler de la conguration manuelle de CUPS.
La place manque pour dtailler tous les mots cls dune conguration cupsd.conf.
Les exemples ci-aprs montrent le principe de la conguration et nont pas vocation
servir de rfrence. Vous pourrez trouver une rfrence de tous les mots cls ladresse
http://localhost:631/help/ref-cupsd-conf.html.
Attention, une modification de cupsd.conf nest valide quune fois CUPS redmarr. Le nom du script InitV
correspondant diffre selon la distribution (cups, cupsd, cupsys, etc.).
root# /etc/init.d/cups* restart
Si vous utilisez CUPS sous SUSE, vous devez vous abstenir dutiliser des tabulations ; YaST peut, dans le cas
contraire, dtruire votre configuration !
Paramtres
essentiels
cupsd.conf commence par quelques paramtres essentiels, qui ressemblent par exemple
ceux-ci :
# Paramtres essentiels de /etc/cups/cupsd.conf
# Journalise les erreurs et les avertissements
LogLevel warning
# Les membres du groupe lpadmin sont administrateurs de CUPS (@SYSTEM)
SystemGroup lpadmin
# Administration web uniquement pour les utilisateurs locaux
Listen localhost:631
Listen /var/run/cups/cups.sock
#Permettre laccs rseau limprimante sur le rseau local
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL
BrowseAddress @LOCAL
#Authentification par nom dutilisateur et mot de passe lorsquune
#telle authentification est ncessaire
DefaultAuthType Basic
Contrle
daccs
Laccs plusieurs composants de CUPS est contrl par diverses sections <Location xxx>,
ainsi que par des rgles <Policy> :
<Location /> est la conguration de base pour tous les composants.
<Location /admin> gre les droits dadministration sur linterface web.
<Location /admin/conf> gre les droits de conguration sur linterface web.
<Policy default> dnit les rgles pour les oprations de base.
Lexemple de conguration suivant dnit un droit daccs toutes les fonctions de CUPS
uniquement pour lordinateur local. Order allow,deny interdit par dfaut tout accs et dnit
les rgles en lisant dabord les lignes Allow, puis les lignes Deny.
Ladministration web sur localhost:631 nest galement accessible que pour localhost. Les
modications de la conguration ncessitent lauthentication dun administrateur systme
(root ou un utilisateur membre du groupe dni par le mot cl SystemGroup).
Le bloc Policy contient des rgles sur les oprations accessibles aux diffrents utilisateurs
(par exemple, pour arrter une tche dimpression dj lance).
Linux Livre Page 590 Mardi, 23. septembre 2008 1:05 13
591 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
# Gestion des droits daccs dans /etc/cups/cupsd.conf
# Authentification par nom dutilisateur et mot de passe lorsquune
# telle authentification est ncessaire
DefaultAuthType Basic
# Autorise un accs global au serveur CUPS pour localhost
<Location />
Order allow,deny
Allow localhost
</Location>
# Autorise ladministration web localhost
<Location /admin>
Order allow,deny
Allow localhost
</Location>
# Autorise la configuration web localhost, mais demande une
# authentification dun administrateur systme CUPS
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow localhost
</Location>
# Rgles pour laccs limprimante et aux tches dimpression
<Policy default>
# Les tches dimpression ne peuvent tre modifies que par leur
# propritaire ou par un administrateur
<Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job
Purge-Jobs Set-Job-Attributes Create-Job-Subscription
Renew-Subscription Cancel-Subscription Get-Notifications
Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job
CUPS-Move-Job Cancel-Job
CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
# les tches administratives ncessitent quun administrateur de CUPS se
# connecte
<Limit Pause-Printer Resume-Printer Set-Printer-Attributes
Enable-Printer Disable-Printer Pause-Printer-After-Current-Job
Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer
Activate-Printer Restart-Printer Shutdown-Printer
Startup-Printer Promote-Job Schedule-Job-After CUPS-Add-Printer
CUPS-Delete-Printer CUPS-Add-Class CUPS-Delete-Class
CUPS-Accept-Jobs CUPS-Reject -Jobs CUPS-Set-Default>
AuthType Basic
Require user @SYSTEM
Order deny,allow
</Limit>
# toutes les autres oprations sont autorises tous
<Limit All>
Order deny,allow
</Limit>
</Policy>
Linux Livre Page 591 Mardi, 23. septembre 2008 1:05 13
LINUX 592
TCP-Wrapper Laccs CUPS est normalement enregistr dans /etc/cups/cupsd.conf. Il arrive cependant
que CUPS soit compil avec la bibliothque TCP-Wrapper (comme sous SUSE). Vous pouvez
vrier cela avec ldd :
user$ ldd /usr/sbin/cupsd
...
libwrap.so.0 => /lib64/libwrap.so.0
Dans ce cas, CUPS ne fonctionne que lorsquil nest pas interdit dans /etc/hosts.deny ou
autoris explicitement dans /etc/hosts.allow, ce qui est le cas par dfaut. Si vous modiez
ces chiers, vous devez penser CUPS (ligne cupsd).
Administration de CUPS dans un navigateur web
On peut aussi administrer CUPS dans un navigateur web. CUPS embarque pour cela un ser-
veur http, qui coute par dfaut sur le port 631. Pour tester cette fonction, allez ladresse
http://localhost:631 avec votre navigateur (voir Figure 30.1).
cupsd.conf Le chier /etc/cups/cupsd.conf dnit si ladministration web est active, si elle peut tre
utilise sur lordinateur local ou le rseau, et sil est ncessaire de sy connecter avec un iden-
tiant de compte systme et un mot de passe associ. La conguration de la section prc-
dente autorise uniquement les utilisateurs locaux grer CUPS via le Web (Listen
localhost:631).
Si vous dsirez faire galement fonctionner la conguration web sur le rseau local, vous
devez modier cupsd.conf comme suit. Vous devez aussi vous assurer que le port 631 nest
pas bloqu par un pare-feu.
# /etc/cups/cupsd.conf
...
Port 631
Listen /var/run/cups/cups.sock
Figure 30.1
Administration web
de CUPS.
Linux Livre Page 592 Mardi, 23. septembre 2008 1:05 13
593 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
...
<Location /admin>
...
Order allow,deny
Allow @LOCAL
</Location>
# Modifier la configuration ncessite lauthentification dun
# administrateur systme de CUPS
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
</Location>
...
Commandes dadministration de CUPS
En gnral, vous utiliserez la bote de dialogue dimpression dun programme (Open-
Ofce.org, Firefox, etc.) pour imprimer, et les outils de Gnome ou de KDE pour grer les
tches dimpression. Vous pouvez galement utiliser pour cela diverses commandes en
ligne de commande. Celles-ci sont trs utiles lorsque vous dsirez automatiser lenvoi de
tches dimpression.
Les commandes lpr, lpq, lprm et lpc ne sont pas spcifiques CUPS ; elles existent aussi dans BSD-LPD
et LPRng. Il sagit dun dnominateur commun de tous les systmes dimpression, mais attention : les
options peuvent diffrer dun systme un autre.
lpr lpr permet dimprimer un chier. Si plusieurs imprimantes sont congures, indiquez avec
loption -P sans espace le nom de la le dattente. Vous pouvez lomettre si vous utilisez
limprimante par dfaut.
utilisateur$ lpr -Pnom fichier
On peut aussi utiliser lpr en conjonction avec un tube pour imprimer la sortie dune autre
commande. La commande suivante imprime la liste de chiers renvoye par ls sur limpri-
mante par dfaut :
utilisateur$ ls -l *.odt |lpr
Vous pouvez aussi utiliser, la place de lpr, la commande lp (sa syntaxe est explique dans
man 1 lp).
lpq et lprm Toutes les tches dimpression qui ne sont pas excutes immdiatement sont enregistres
dans une le dattente (une le par imprimante). Vous pouvez afcher le contenu de cette
le dattente avec lpq -Pnom.
Linux Livre Page 593 Mardi, 23. septembre 2008 1:05 13
LINUX 594
Pour supprimer les tches dimpression que vous avez vous-mme lances, utilisez lprm -
Pnom id en indiquant le nom de limprimante et le numro de la tche, que vous pouvez
obtenir avec lpq.
utilisateur$ lpq
HPLasJet1022 est prte et en cours dimpression
Rang Propr. Tche Fichiers Taille totale
active michael 20 evince-print 17408 octets
1st michael 21 evince-print 16384 octets
utilisateur$ lprm 20
utilisateur$ lprm 21
lpc lpc permet un contrle plus n sur lactivit de limprimante. Lorsque vous lancez cette
commande, vous arrivez dans un environnement interactif, dans lequel vous pouvez lancer
des commandes telles que status, help, etc. Certaines ne peuvent tre lances que par luti-
lisateur root. Pour quitter lpc, utilisez les commandes exit, bye ou quit.
lpstat, lpinfo,
lpadmin et
lpoptions
lpstat afche des informations sur toutes les imprimantes disponibles. lpinfo fournit une liste
de tous les priphriques et pilotes dimpression. lpadmin permet dajouter ou de supprimer une
imprimante. lpoptions afche les options des imprimantes CUPS et permet de les modier.
utilisateur$ lpoptions -o PageSize=A4
CUPS dsactive les imprimantes qui ne sont pas accessibles. Pour les ractiver, lancez les
deux commandes suivantes :
utilisateur$ lpadmin -E -p nom
utilisateur$ accept nom
Pour les dsactiver explicitement, utilisez la commande reject :
utilisateur$ reject nom
HP Linux Imaging and Printing (HPLIP)
HP dveloppe des pilotes libres pour la plupart de ses imprimantes, scanners et appareils
multifonction. Les licences sont principalement la GPL, mais aussi parfois la licence MIT ou
BSD. La prise en charge du libre chez HP est exemplaire mais malheureusement encore
une exception.
La plupart des distributions installent HPLIP par dfaut. Le paquetage HPLIP contient
divers pilotes et programmes supplmentaires pour la conguration et la maintenance des
priphriques. Par exemple, hp-setup reconnat les appareils HP connects lordinateur et
aide les connecter. hp-toolbox permet de connatre le niveau de remplissage des cartouches
de nombreuses imprimantes jet dencre HP, une fonction que CUPS ne fournit pas.
Lutilisation des pilotes HPLIP est optionnelle pour de nombreuses imprimantes. La plupart
des imprimantes laser HP sont prises en compte directement par CUPS. Le pilote HPLIP, en
association avec hp-toolbox, peut cependant fournir des fonctionnalits supplmentaires.
HPLIP est troitement li CUPS. Les processus hpiod et hpssd, lancs lors du dmar-
rage du systme par le script InitV /etc/init.d/hplip, grent la communication avec
les priphriques HP. Vous trouverez plus dinformations sur HPLIP ladresse
http://hplip.sourceforge.net/.
Linux Livre Page 594 Mardi, 23. septembre 2008 1:05 13
595 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
30.2 CUPS Configuration dune imprimante
Pour congurer une imprimante, vous pouvez utiliser les outils intgrs Gnome et KDE,
loutil de conguration web de CUPS ou les programmes fournis par votre distribution.
Gnome : gnome-cups-manager
KDE : module du centre de contrle
CUPS : conguration web
Debian, Ubuntu : outils KDE et Gnome
Red Hat, Fedora : system-cong-printer
SUSE : module YaST Matriel, Imprimantes
Pilotes
dimprimante
La question dcisive de la conguration de limprimante est bien sr de savoir si elle est
compatible avec Linux et avec la combinaison CUPS, GhostScript et leurs pilotes. La liste
suivante rsume la compatibilit prvoir pour les diffrentes catgories dimprimantes :
Imprimantes laser. Elles sont pour la plupart compatibles PostScript ou PCL (langage
dimprimante de HP). Leur utilisation sous Linux est optimale. Cest galement valable
pour la majorit des modles rseau.
Imprimantes GDI/Windows. Ces imprimantes, gnralement bon march, sont pr-
vues pour tre utilises sous Windows. Lide sous-jacente est quun programme Win-
dows prpare la page imprimer sur lordinateur et lenvoie limprimante. Les pages
sont souvent construites avec linterface graphique GDI dveloppe par Microsoft, do
le nom dimprimante GDI. Malheureusement, le format des donnes des pages nest
gnralement pas document. De nombreuses imprimantes de ce type ne sont donc pas
prises en charge sous Linux.
Imprimantes jet dencre et imprimantes photo. La prise en charge des imprimantes
jet dencre dpend largement du modle et de la marque.
Les imprimantes HP sont en gnral relativement bien prises en charge. Comme HP tra-
vaille beaucoup avec la communaut Linux, il existe un pilote libre pour la plupart des
modles. Les modles les plus rcents peuvent cependant manquer dune base de donnes
dimpression CUPS (chiers PPD).
Les imprimantes jet dencre dautres fabricants posent souvent plus de problmes. Le
site web http://mambo.kuhp.kyoto-u.ac.jp/~takushi propose des pilotes pour quelques
imprimantes Canon et Epson. Linstallation peut cependant tre complique.
Lorsque vous achetez une nouvelle imprimante, il est protable de jeter un il sur le site
web http://www.freestandards.org/en/OpenPrinting qui recense dinnombrables informa-
tions sur le thme de limpression sous Linux. Il existe aussi une base de donnes de modles
pris en charge sous Linux.
Certaines imprimantes pour lesquelles il nexiste pas de pilote libre disposent dun pilote commercial Turbo-
Print. Ce dernier permet dailleurs dobtenir de meilleurs rsultats pour certaines imprimantes photo. Vous
trouverez des pilotes relativement bon march et une version gratuite, mais limite des pilotes sur le site
web http://www.turboprint.de/en_p_turboprint.phtml .
Linux Livre Page 595 Mardi, 23. septembre 2008 1:05 13
LINUX 596
Fichiers PPD CUPS voit toutes les imprimantes comme une imprimante PostScript. Les paramtres spci-
ques, comme la taille des marges non imprimables, la rsolution de limprimante, les com-
mandes pour diffrentes fonctions (par exemple, les bacs dentre du papier) et autres
particularits (impression en duplex), sont enregistrs dans des chiers PPD (PostScript
Printer Denition, dnition dimprimantes PostScript). Ce format, dni par Adobe, est
galement utilis pour les imprimantes sous Windows et Mac OS X.
Comme toutes les imprimantes ne sont pas en ralit des imprimantes PostScript, les
chiers CUPS PPD contiennent galement sous forme de commentaires la commande
GhostScript, y compris toutes les options, avec lesquelles gs peut convertir les chiers
PostScript dans le format de limprimante. Les lignes suivantes constituent quelques
extraits dun chier PPD pour limprimante jet dencre HP DeskJet 5940 :
*PPD-Adobe: "4.3"
...
*Manufacturer: "HP"
*Product: "(deskjet 5940)"
...
*cupsFilter: "application/vnd.cups-postscript 0 foomatic-rip"
*%pprRIP: foomatic-rip other
...
*FoomaticIDs: HP-DeskJet_5940 hpijs
*FoomaticRIPCommandLine: "gs -q -dBATCH -dPARANOIDSAFER -dQUIET -dNOPAUSE
-sDEVICE=ijs -sIjsServer=hpijs%A%B%C
-dIjsUseOutputFD%Z -sOutputFile=- -"
...
Ces informations sont extraites dune base de donnes ppds.dat qui contient toutes les
imprimantes connues par CUPS. Le chier ppds.dat est cr lors de la conguration de
limprimante et se trouve selon la distribution dans un rpertoire diffrent, par exemple
/var/cache/cups. Si votre imprimante ne se trouve pas dans cette base de donnes et si vous
ne trouvez pas de modle compatible, vous pouvez ventuellement trouver un chier .ppd
sur Internet.
Le script cupsomatic extrait du chier PPD de limprimante les paramtres GhostScript,
puis appelle gs et convertit les donnes PostScript au format de limprimante.
Configuration dune imprimante locale
Indpendamment du programme de conguration utilis, les astuces suivantes devraient
vous aider :
La dtection automatique de limprimante ne peut fonctionner que lorsque celle-ci est
allume. Si vous possdez plusieurs imprimantes, vous devez pendant la conguration
dune imprimante donne teindre toutes les autres.
Pour congurer manuellement une imprimante, vous devez au moins connatre linter-
face (parallle, srie, USB, rseau, etc.) et le modle. Celui-ci est choisi dans une norme
base de donnes.
Linux Livre Page 596 Mardi, 23. septembre 2008 1:05 13
597 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Si votre imprimante ny gure pas, essayez de trouver un modle compatible. Pour les
imprimantes PostScript et PCL, vous pouvez choisir le fabricant Generic et indiquer le
type de limprimante (PostScript ou PCL).
Pour certaines imprimantes rcentes qui ne gurent pas encore dans la base de don-
nes de modles de CUPS, vous pouvez trouver un chier PPD sur Internet et le
charger pendant la conguration. Attention, tous les chiers PPD ne sont pas compa-
tibles avec CUPS. Un chier donn peut aussi demander une version trs rcente de
CUPS.
Pour de nombreux modles dimprimantes, il existe plusieurs pilotes. Deux raisons
peuvent expliquer cela. Bon nombre dimprimantes prennent en charge diffrents stan-
dards. De plus, CUPS agrge plusieurs projets diffrents (GhostScript, GutenPrint, etc.),
ce qui peut mener diffrents pilotes provenant de diffrents projets. Limprimante
peut alors apparatre plusieurs fois sous diffrents noms.
Il nest souvent pas facile de dire si le pilote X est meilleur que le pilote Y. La qualit de
limpression dpend largement de ce que vous dsirez imprimer : texte, schmas techni-
ques, photos, etc. Seules quelques expriences vous permettront de savoir quel pilote
utiliser pour quelles donnes. La qualit dimpression dpend galement du param-
trage du pilote, par exemple la rsolution.
Les pilotes ne se diffrencient pas seulement par la qualit, mais aussi par la vitesse
dimpression. Pour imprimer du code, il nest pas forcment ncessaire dutiliser un
pilote destin limpression de photos !
La plupart des imprimantes laser PostScript peuvent aussi tre congures via un mode
de compatibilit pour se comporter comme une imprimante HP LaserJet. Les donnes
dimpression sont alors converties dans le langage dimpression de HP et envoyes
limprimante. Cela peut paratre lourd, mais la vitesse dimpression obtenue est dans de
nombreux cas suprieure.
En effet, pour limprimante, traiter des chiers PostScript est bien plus complexe que
traiter des chiers LaserJet. La vitesse de traitement est plus faible que celle dun PC
classique. Cette conguration a cependant un inconvnient : la qualit dimpression est
en partie plus faible. La diffrence dpend principalement des polices utilises.
Configuration dune imprimante rseau (ct serveur)
Les termes "conguration dune imprimante rseau" sont souvent peu clairs. Cette section
traite du cas dune imprimante tout fait normale branche sur un ordinateur et mise la
disposition du reste du rseau via CUPS. La section suivante dcrit comment utiliser une
imprimante dj connecte au rseau.
cupsd.conf Nous supposons ici que limprimante est dj congure en local, cest--dire quil est pos-
sible dimprimer depuis lordinateur. Avant que dautres ordinateurs ne puissent lutiliser, il
faut que les contrles daccs du serveur CUPS le permettent. Pour que toutes les impriman-
tes du rseau local sachent quelles imprimantes sont disponibles sur le rseau, il faut activer
Linux Livre Page 597 Mardi, 23. septembre 2008 1:05 13
LINUX 598
la fonction Browsing du serveur CUPS. Les modications ncessaires du chier cupsd.conf
sont indiques dans le chier de conguration ci-aprs :
# /etc/cups/cupsd.conf
...
Listen 631
Browsing On
BrowseAddress @LOCAL
...
# Permettre laccs CUPS dans le rseau local
<Location />
Order allow,deny
Allow @LOCAL
</Location>
...
Listen 631 indique que CUPS communique sur le port rseau 631. Attention, le param-
trage par dfaut est Listen localhost:631, qui nautorise laccs qu lordinateur local.
BrowseAdress @LOCAL sassure que les informations de CUPS sont envoyes sur toutes les
interfaces rseau locales, mais pas sur les interfaces daccs Internet (PPP, etc.). Vous pou-
vez aussi indiquer une interface rseau particulire avec BrowseAddress @IF(eth0).
cupsd.conf a de nombreux mots cls associs au parcours du rseau. Par exemple, Brow-
seAllow et BrowseDeny permettent dindiquer explicitement depuis quels ordinateurs les
informations CUPS peuvent tre reues. Par dfaut, il ny a pas de restriction daccs et il est
rarement ncessaire ou sens de modier les autres paramtres BrowseXxx.
Allow @LOCAL permet de donner accs CUPS aux ordinateurs du rseau local.
Noubliez pas de redmarrer CUPS pour que les modications soient prises en compte :
root# /etc/init.d/cups* restart
Pour quune imprimante locale soit galement utilise sur les ordinateurs Windows du rseau, elle doit tre
partage par Samba (voir section 30.8).
Configuration dune imprimante rseau (ct client)
Aprs avoir dcrit comment partager une imprimante avec dautres membres du rseau,
nous allons maintenant traiter de lopration inverse : envoyer des documents une impri-
mante qui nest pas connecte directement lordinateur, mais seulement disponible via le
rseau. Il existe deux variantes : les imprimantes usuelles, connectes un autre ordinateur,
et les vraies imprimantes rseau, qui disposent elles-mmes dune prise rseau et dun serveur
dimpression intgr.
Lorsque la connexion limprimante se fait par le biais dun autre ordinateur, on peut ren-
contrer les cas suivants :
une imprimante IPP (gestion par Linux/Unix avec CUPS, Internet Printing Protocol) ;
une imprimante Linux/Unix (gestion par Linux/Unix, protocole LPD) ;
une imprimante Windows (gestion par un ordinateur sous Windows ou un serveur
Samba) ;
une imprimante Novell (gestion par un ordinateur Novell Networks).
Linux Livre Page 598 Mardi, 23. septembre 2008 1:05 13
599 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
La plupart des vraies imprimantes rseau connaissent au moins lun de ces protocoles.
De plus, certains appareils prennent en charge divers protocoles supplmentaires :
une API de socket (par exemple JetDirect dHP) sur le port IP 9100 ;
AppSocket (par exemple Tektronix) ;
un protocole spcique au fabricant.
Utiliser une
imprimante IPP
Les dtails de la conguration dpendent du protocole utilis pour les communications. La
situation la plus simple correspond celle o CUPS et IPP sont disponibles des deux cts.
Les imprimantes rpondant cette conguration sont visibles sans autre conguration du
ct client et peuvent tre utilises immdiatement. CUPS ajoute toutes les imprimantes
visibles sur le rseau au chier /etc/printcap.
lpstat -v afche une liste de toutes les imprimantes disponibles. La commande suivante est
lance sur lordinateur uranus. Il existe une imprimante locale, nomme DeskJet-5940, ainsi que
deux imprimantes sur mars et saturne, nommes respectivement pluton et kyocera.
user@uranus$ lpstat -v
priphrique pour DeskJet-5940: parallel:/dev/lp0
priphrique pour pluton: ipp://mars.sol:631/printers/pluton
priphrique pour kyocera: ipp://saturn.esol:631/printers/kyocera
Ces trois imprimantes sont accessibles directement avec lpr -Pnom. Si plusieurs impriman-
tes ont le mme nom sur le rseau, elles doivent tre dsignes sous la forme nomimpri-
mante@nomhte, par exemple lpr -Plp@jupiter.
Pour que les imprimantes CUPS soient visibles des autres ordinateurs dans le rseau local, CUPS doit tre
configur sur les ordinateurs distants comme dans la section prcdente. Le port 631 ne doit pas tre bloqu
par un pare-feu !
En principe, une imprimante IPP peut tre configure de manire pouvoir tre utilise en rseau, mais non
visible automatiquement. Dans ce cas, vous devez configurer limprimante sur lordinateur local. Choisissez
comme type dimprimante Imprimante rseau IPP et saisissez comme adresse ipp://nomhte/printers/
nomimprimante. Si limprimante distante est gre par Linux/CUPS, indiquez comme fabricant et modle
Raw et Queue. Cela signifie que les donnes PostScript doivent tre envoyes telles quelles lordinateur dis-
tant qui se chargera du traitement des donnes pour limprimante.
Configurer
dautres
imprimantes
rseau
Si limprimante rseau distante nest pas compatible avec IPP, elle doit tre congure du
ct du client avant quil puisse lutiliser. Les programmes de conguration sen chargent
comme pour une imprimante locale. Il faut cependant choisir, comme type dimprimante,
Imprimante rseau. La suite de la conguration dpend du protocole :
SMB (Windows/Samba). Vous devez indiquer le nom dhte de lordinateur, le nom de
limprimante et ventuellement un nom dutilisateur et un mot de passe. Avant de pou-
voir utiliser une imprimante Windows, vous devez installer les outils client de Samba.
Selon la distribution, les outils client et serveur font tous partie du mme paquetage.
LPD (Unix-LPD). Indiquez le nom de lordinateur et de limprimante, ainsi que celui de
la le dattente. En cas de doute, il sagit souvent de lp ou lp0.
Protocole de socket comme HP JetDirect. Indiquez le nom dhte et ladresse IP de
limprimante, ainsi que le numro de port (en gnral, 9100).
Linux Livre Page 599 Mardi, 23. septembre 2008 1:05 13
LINUX 600
Certains programmes de conguration attendent les informations ci-aprs sous la forme
dune adresse URI (la syntaxe est rsume dans le tableau qui suit).
Les informations dtailles quant limprimante rseau (protocole, identiant de connexion,
etc.) sont enregistres dans le chier /etc/cups/printers.conf. Les lignes suivantes montrent
la conguration dune imprimante rseau compatible JetDirect :
# /etc/cups/printers.conf
<DefaultPrinter FS-1800+>
Info FS-1800+
DeviceURI socket://pluton:9100
State Idle
StateTime 1164874758
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
Le mot cl correspondant de printers.conf est DeviceURI. Il introduit ladresse URI qui
fournit le protocole et ladresse rseau. Le tableau suivant donne quelques exemples de syn-
taxe pour ces adresses.
30.3 NFS
NFS (Network File System, systme de chiers rseau) permet un ordinateur de mettre
disposition ses rpertoires locaux pour dautres ordinateurs du rseau. Cest la mthode la
plus courante sous Unix/Linux de grer les rpertoires partags.
Les fonctions de base de NFS sont intgres directement au noyau depuis la version 2.2, an
datteindre des performances optimales. La plupart des distributions actuelles fournissent
un noyau NFS. Il existe aussi un serveur NFS en espace utilisateur, indpendant du noyau.
Adresses URI de CUPS
parallel:/dev/lp0 imprimante locale (parallle)
serial:/dev/ttyS0?baud=115200 imprimante locale (srie)
usb:/dev/usb/lp0 imprimante locale (USB)
lpd://nomhte/nomimprimante imprimante rseau LPD
socket://nomhte:9100 imprimante avec protocole de socket
smb://nomhte/imprimante imprimante Windows
smb://groupe/nomhte/imprimante imprimante Windows dans un groupe de travail
smb://utilisateur:xxx@wg/hte/imprimante imprimante Windows dans un groupe de travail
avec authentification
ipp://nomhte/printers/nomimprimante imprimante IPP
Linux Livre Page 600 Mardi, 23. septembre 2008 1:05 13
601 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Le noyau NFS prend en charge les versions 3 et 4 de NFS. Pour linstant, NFS4 nest pas large-
ment diffus.
NFS est implment avec des RPC (Remote Procedure Calls, appels de procdures distants).
Pour que NFS fonctionne, il faut donc un ensemble de programmes, dont voici une liste des
principaux :
nfsd (pour NFS3) et nfsd4 (pour NFS4) sont les dmons NFS. Ils sont mis en uvre par
des threads du noyau.
portmap tablit la connexion entre le client et le serveur NFS, et soccupe de lallocation
dynamique de ports UDP sur les clients.
rpc.mountd traite les demandes de montage des clients.
Vous avez normalement peu dattention porter ces programmes : ds lors que NFS est
install et actif, tous les programmes ncessaires sont dmarrs par InitV.
Un guide pratique dtaill sur le thme de NFS, avec de nombreuses astuces doptimisation et de scurit,
se trouve ladresse http://nfs.sourceforge.net/nfs-howto/.
Installation et configuration
Avant de congurer un serveur NFS, vous devez vous assurer que les diffrents paquetages
sont installs. Par dfaut, ce nest gnralement pas le cas. Les noms des paquetages varient
selon la distribution.
Debian, Ubuntu nfs-common, nfs-kernel-server, portmap
Fedora, Red Hat, SUSE nfs-utils, portmap
La conguration est regroupe dans trois chiers : /etc/exports, /etc/hosts.allow et /etc/
hosts.deny.
/etc/exports Le chier /etc/exports est le chier central de conguration de NFS. Il dnit quel ordina-
teur a le droit daccder quel rpertoire. Lordinateur peut tre indiqu par son adresse IP
ou son nom sur le rseau. Les adresses IP peuvent tre des masques (par exemple,
192.168.0.0/255.255.255.0 ou 192.168.0.0/24). Les adresses IP et noms dordinateurs
peuvent, de plus, contenir le caractre joker * (par exemple *.sol).
Lexemple suivant indique que tous les clients dans le rseau IP 192.168.0.* ou nomms
*.sol peuvent accder au rpertoire /usr/local, mais pas le modier. De plus, uranus.sol
peut lire et modier le rpertoire /usr/share. La ligne /usr/local est spare en deux lignes
pour des raisons de place.
# /etc/exports sur lordinateur mars.sol
# ro = lecture seule, rw = lecture et criture
/usr/local 192.168.0.0/24(ro,async,no_subtree_check) \
*.sol(ro,async,no_subtree_check)
/usr/share uranus.sol(rw,async,no_subtree_check)
Linux Livre Page 601 Mardi, 23. septembre 2008 1:05 13
LINUX 602
La syntaxe de /etc/exports est comparable celle des lignes qui prcdent. Le rpertoire et
le nom dhte ou ladresse IP sont suivis doptions NFS entre parenthses. ro et rw indiquent
si laccs nest autoris quen lecture ou en lecture/criture. sync et async dnissent le
moment o le serveur NFS prend en compte les modications. Par dfaut, il sagit de sync :
la modication est enregistre lorsque le chier est effectivement enregistr. async est une
option plus rapide, mais nettement moins sre. man exports fournit une rfrence exhaus-
tive de toutes les options.
Si le serveur NFS est dj dmarr, les modications de /etc/exports ne seront prises en
compte quaprs avoir lanc la commande exportfs :
root# exportfs -a
/etc/
hosts.allow et
/etc/hosts.deny
Les chiers hosts.allow et hosts.deny indiquent quels ordinateurs ont le droit daccder au
serveur NFS. Les informations de /etc/exports dnissent quels utilisateurs peuvent contac-
ter le serveur NFS. Ils se situent en premire ligne de la protection des accs. Le serveur NFS
soccupe des lignes portmap et mountd.
Dmarrage Le serveur NFS est, comme tous les autres services rseau, lanc grce un script InitV. Le
nom du script dpend de la distribution et peut sappeler nfs, nfs-kernel, nfsserver, etc.
Une fois le serveur lanc, vous pouvez regarder si tout fonctionne avec la commande mount
sur un autre ordinateur :
utilisateur@uranus$ mkdir /test
utilisateur@uranus$ mount -t nfs mars:/usr/share /test
utilisateur@uranus$ ...
utilisateur@uranus$ umount /test
Si ce nest pas le cas, vriez que NFS nest pas bloqu par un pare-feu. Attention, NFS utilise le
protocole UDP et non TCP.
UID et GID Un des gros problmes de NFS dans un petit rseau est que les utilisateurs de NFS doivent
avoir les mmes identiants dutilisateur et de groupe. NFS utilise ces numros et les droits
daccs en dpendent. Pour les gros rseaux, il existe souvent un serveur qui centralise ces
informations.
root a souvent un rle particulier. Il ne peut pas, pour des raisons de scurit, utiliser NFS
comme un utilisateur normal. Il na que les droits de lutilisateur nobody. Si vous dsirez
donner les droits usuels root, il faut utiliser loption no_root_squash.
NFS4
NFS4 est une implmentation compltement nouvelle du protocole. Il prend en charge les
ACL et permet une authentication plus sre des utilisateurs. De plus, il utilise le port TCP
2049 et non UDP.
Les chiers ne sont plus associs aux UID et GID des utilisateurs, mais une chane de
caractres de la forme utilisateur@ordinateur.
Il a cependant linconvnient dtre plus compliqu. Pour Linux et Sun, il existe peu de
clients NFS4. Vous trouverez plus dinformations sur NFS4 sur les pages suivantes :
Linux Livre Page 602 Mardi, 23. septembre 2008 1:05 13
603 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
http://wiki.linux-nfs.org/ ; http://fr.wikipedia.org/wiki/Network_File_System
http://www.citi.umich.edu/projects/nfsv4/linux/using-nfsv4.html
http://www.vanemery.com/Linux/NFSv4/NFSv4-no-rpcsec.html
http://www.brennan.id.au/19-Network_File_System.html#nfs4
30.4 Samba Les fondamentaux
Samba est un ensemble de programmes servant faire communiquer les ordinateurs sous Win-
dows et Unix/Linux. Son nom vient de labrviation SMB, qui signie Server Message Block.
SMB est utilis sous Windows pour partager des chiers et des imprimantes sur un rseau.
Sur les rseaux Windows, il existe souvent un serveur Windows pour fournir ces fonction-
nalits tous les clients. Samba permet de mettre en place cela sur un serveur Linux. Cette
solution est moins coteuse et souvent plus efcace et stable. Il nest cependant pas nces-
saire de modier tout un rseau Windows pour pouvoir mettre en place Samba. Comme ce
dernier peut tre ajout sans problme un ordinateur sous Linux, vous pouvez dune part
accder des chiers et des imprimantes partages par des ordinateurs Windows et
dautre part, servir vous-mme des chiers ou des imprimantes locales.
Cette section ne couvre que les fonctions de base de Samba 3.0. Si vous avez besoin de fonctions plus
avances, comme lauthentification via LDAP, vous devez recourir dautres documentations, par exemple
sur http://www.samba.org ou https://help.ubuntu.com/community/SettingUpSamba.
Protocole et services
Un prrequis de la conguration dun serveur Samba est que vous ayez une ide de la
manire dont fonctionnent les rseaux Windows. Nous ne pouvons ici quen donner un bref
aperu. Cette section a pour seul but de dclarer les fonctions de Samba et de les relier la
terminologie Windows. Procurez-vous un bon livre sur la conguration du rseau sous
Windows. Si vous vous intressez aux aspects plus techniques, http://www.samba.org/
samba/docs/using_samba/toc.html est un bon point de dpart.
NetBIOS Labrviation NetBIOS vient du protocole Network Basic Input/Output System, systme basique
dentres/sorties rseau, dvelopp par IBM. Il a t entre temps plusieurs fois mis jour.
NetBIOS ne doit pas tre confondu avec NetBEUI. Ce dernier est un protocole qui remplis-
sait le mme rle que TCP/IP. Il tait autrefois utilis la place de TCP/IP sous Windows,
mais na depuis plus beaucoup de signication.
NBNS NetBIOS sert, entre autres, changer les noms dordinateurs (service de noms). Ces noms
peuvent tre grs de manire centralise par un serveur de noms NetBIOS (NBNS) ou de
manire dcentralise. Dans ce cas, chaque ordinateur envoie lorsquil dmarre un message
tous les autres clients du rseau et leur indique sous quel nom il est accessible.
Linux Livre Page 603 Mardi, 23. septembre 2008 1:05 13
LINUX 604
Datagrammes/
sessions
NetBIOS utilise deux mcanismes de communication : le service de sessions et le service de
datagrammes. Tous deux ont voir avec lchange de donnes entre deux ordinateurs. Le
premier tablit une connexion xe entre deux ordinateurs. Dans le deuxime, la connexion
nest au contraire pas xe : il ny a pas de vrication que les donnes arrivent dans le bon
ordre. Le service de datagrammes a lavantage de pouvoir envoyer des donnes plusieurs
ordinateurs en mme temps.
WINS Le NBNS est ralis grce WINS (Windows Internet Name Service, service de noms Internet
sous Windows). Ce dernier est le pendant du DNS sous Linux/Unix. Les serveurs WINS
peuvent tre mis en place avec Samba ou des versions actuelles de Windows ( lexception
des Windows 9x). Samba peut ainsi accder un DNS dj actif.
La rsolution de noms fonctionne, la diffrence dUnix, sans serveur de noms explicite. Les
paquets de datagrammes doivent tre envoys tous les ordinateurs du rseau. Cest pourquoi
cette opration est de plus en plus inefcace au fur et mesure que le rseau grossit.
Les noms dordinateurs NetBIOS et TCP/IP sont indpendants. En thorie, un ordinateur peut avoir un nom
diffrent par protocole. En pratique, on vitera videmment cette situation. Utiliser diffrents noms porte
confusion et peut galement sopposer lutilisation de certaines fonctions.
Exploration
du rseau
Un client Windows peut explorer le rseau pour savoir quels sont les autres ordinateurs pr-
sents sur le rseau. Pour que tous les ordinateurs naient pas parcourir le rseau, un explo-
rateur principal (Master Browser) se charge de cette tche. Dans les rseaux importants, il est
aid par un ou plusieurs explorateurs de sauvegarde. Samba peut faire ofce dexplorateur.
Il nest pas explicitement dni qui doit prendre le rle dexplorateur. Les ordinateurs qui se
trouvent sur le rseau le ngocient dynamiquement en fonction de leur adaptation au rle
en gnral, lordinateur avec le systme dexploitation le plus rcent est le mieux adapt.
La liste dexploration nest malheureusement pas toujours synchrone avec ltat courant du
rseau. Cela est d au fait que les clients grent un cache avec le dernier tat valide. Lactua-
lisation de ce cache (F5 sous lExplorateur de Windows) ne fonctionne pas toujours ou peut
demander un certain temps. Si vous ne trouvez pas un ordinateur alors que vous savez quil
fonctionne, cela dnote probablement un problme dexploration.
Droits daccs et systmes de scurit
Initialement, Windows ntait pas conu comme un systme multi-utilisateur, ni comme un
systme rseau. Cela a bien chang, mais les origines de Windows sont encore reconnaissa-
bles lorsquil sagit de savoir quels chiers un utilisateur peut accder et comment rgler
ces droits daccs. Dun point de vue Unix, ces concepts peuvent paratre dconcertants.
Partages Le concept de partages dcrit les rpertoires ou les imprimantes qui sont mis la disposition
dautres ordinateurs via NetBIOS.
Scurit au
niveau des
partages
La forme la plus simple de contrle daccs est dassocier un mot de passe chaque rper-
toire et imprimante. Vous pouvez aussi ouvrir compltement laccs des rpertoires ou des
imprimantes donnes ; aucun mot de passe nest ncessaire, mais aucun contrle daccs
nest fait. Tous les ordinateurs sous Windows partir de la version 3.11 prennent en charge
cette scurit au niveau des partages.
Linux Livre Page 604 Mardi, 23. septembre 2008 1:05 13
605 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Lide est si simple quelle est encore trs utilise et tout fait envisageable dans les petits
rseaux. Elle fonctionne sans notion dutilisateur (jusqu Windows 95, la connexion avec
des noms dutilisateurs diffrents ntait pas prvue).
Cette pratique a cependant un inconvnient : si dix ordinateurs partagent trois objets cha-
cun, trente mots de passe diffrents sont ncessaires. Dans des rseaux plus importants, cela
mne rapidement au chaos et la multiplication des Post-It sur les crans...
Scurit au
niveau des
utilisateurs
La scurit au niveau des utilisateurs suppose que ces derniers se connectent ct client
avec un identiant et un mot de passe. Lorsquils dsirent utiliser des donnes du serveur,
leur identiant et leur mot de passe courants servent leur attribuer des autorisations
daccs. En plus de lauthentication correcte, il faut galement ce niveau que le client et le
serveur appartiennent au mme groupe de travail.
Par consquent, un rpertoire sur le serveur nest pas simplement associ un mot de passe.
Il est li un utilisateur (ou une liste ou un groupe dutilisateurs). Le serveur a donc besoin
dune base de donnes avec les noms dutilisateurs, les appartenances aux groupes et les
mots de passe.
Pour donner un exemple, supposons que lutilisateur X travaille sur lordinateur A. Pour
que X puisse accder au serveur S, il doit tre dclar en tant quutilisateur sur S comme sur
A (avec le mme identiant et le mme mot de passe). Supposons prsent que lordinateur
A tombe en panne et que X passe sur lordinateur B. Pour quil puisse accder aux mmes
donnes sur S, il doit galement tre cr sur lordinateur B (avec un mot de passe).
Si X dcide de changer son mot de passe, cette modication doit tre rpercute sur le ser-
veur S et tous les clients (A, B, etc.). La gestion dcentralise des mots de passe et de
lauthentication est donc un problme perptuel avec ce concept.
Les clients A, B, etc. accdent aux donnes du serveur au niveau utilisateur, mais ils peuvent
utiliser entre eux une approche de scurit de partages. Il est galement possible que le
client A partage, sans mot de passe, un rpertoire. Le client B peut alors utiliser ce rpertoire
(quel que soit lutilisateur connect), partir du moment o il connat le mot de passe.
Domaines
et Active
Directory
Les domaines et Active Directory permettent de centraliser lauthentication des utilisateurs
sur le rseau. Nous ne parlerons pas ici de lutilisation de Samba dans ce type de conguration.
Que peut
faire Samba ?
Revenons maintenant Linux. Samba prend en charge les quatre modles de scurit :
La scurit au niveau des partages peut tre reproduite, mais cest assez peu intuitif
pour les administrateurs de Samba.
Lutilisation de Samba comme serveur avec une scurit au niveau des utilisateurs est la
plus simple et la plus populaire.
Samba prend en charge, depuis la version 2.2, tous les aspects de la scurit au niveau
des domaines.
Depuis la version 3.0, Samba peut sintgrer comme client dans un rseau Active Directory.
La version 4 de Samba, attendue pour 2008, devrait lui permettre dtre utilis comme
serveur de domaine Active Directory.
Linux Livre Page 605 Mardi, 23. septembre 2008 1:05 13
LINUX 606
Nous ne parlerons ici que de la scurit au niveau des partages et des utilisateurs. Pour con-
gurer Samba au niveau des domaines ou mettre en uvre Active Directory, vous devrez
trouver un ouvrage spcique Samba.
30.5 Client Samba
Gnome et KDE Vous pouvez accder des partages rseau sous Linux, quil sagisse dordinateurs Win-
dows ou de serveurs Samba. Le plus simple est dutiliser le gestionnaire de chiers de
Gnome ou de KDE.
Laccs des rpertoires rseau est si simple que les nombreuses limitations concernant la
modication des chiers qui sy trouvent sont dautant plus agaantes. Dans certains cas, un
double-clic sur un chier entrane des erreurs qui indiquent que ce dernier nexiste pas ou
quil ne peut pas tre trouv. Cest bien sr absurde. En fait, de nombreux programmes ne
savent pas ouvrir des chiers sur des partages Windows (par exemple Gimp). Dautres peu-
vent les ouvrir, mais ne savent pas les enregistrer. La meilleure intgration est la prise en
charge transparente du protocole SMB par les programmes purement KDE.
La solution ce problme est malheureusement assez inconfortable : copiez les chiers du
rpertoire distant dans un rpertoire local, ditez-les et recopiez-les sur le rpertoire rseau.
Vous pouvez aussi intgrer le rpertoire rseau avec le systme de chiers CIFS dans larbo-
rescence locale.
CIFS On peut galement monter directement un rpertoire rseau avec le systme de chiers cifs
dans larborescence locale (voir section 23.10).
Quelle que soit la mthode utilise, vous devez au moins installer les outils client pour Samba, qui sont fournis
dans de nombreuses distributions par des paquetages distincts (sous Ubuntu, samba-common et smb-
client).
Il faut galement sassurer que le protocole SMB nest pas bloqu par un pare-feu. Les ports utiliss sont les
ports TCP 135, 139 et 445, ainsi que les ports UDP 137 et 138.
smbclient On peut galement chercher des rpertoires Windows avec la commande smbclient. Celle-
ci est peu confortable, mais elle est souvent pratique pour tracer les problmes Samba.
Lexemple suivant montre toutes les ressources de lordinateur local mercure. Il ne sagit que
dimprimantes. La deuxime partie du rsultat liste tous les groupes de travail visibles et
indique quel ordinateur est matre de ces groupes. Il nest pas ncessaire de donner un mot
de passe ; il suft de taper Entre, puisque nous ne cherchons pas ici accder des ressour-
ces protges par des mots de passe.
utilisateur$ smbclient -L localhost
smbclient -L localhost
Password:
Anonymous login successful
Domain=[TEST] OS=[Unix] Server=[Samba 3.0.22]
Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
Linux Livre Page 606 Mardi, 23. septembre 2008 1:05 13
607 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
IPC$ IPC IPC Service (mercure server (Samba, Ubuntu))
ADMIN$ IPC IPC Service (mercure server (Samba, Ubuntu))
pluton Printer pluton
LaserJet-5 Printer LaserJet-5
DeskJet-5940 Printer hp5940
FS-1800+ Printer FS-1800+
Anonymous login successful
Domain=[TEST] OS=[Unix] Server=[Samba 3.0.22]
Server Comment
--------- -------
MERCURE mercure server (Samba, Ubuntu)
Workgroup Master
--------- -------
MYGROUP SATURNE
SOL MARS
TEST MERCURE
Si smbclient renvoie une erreur (access denied), le nom dutilisateur ou celui du groupe de
travail de votre ordinateur ne correspond pas celui de lordinateur Windows ou du ser-
veur Samba. La solution la plus simple est de donner ces informations comme paramtres
supplmentaires smbclient. Le chier /etc/smb.conf propose plus de paramtres con-
gurer. Il sert principalement congurer un serveur Samba, mais certains paramtres sont
galement exploits par smbclient.
utilisateur$ smbclient -U utilisateur -W groupe -L venus
Vous pouvez aussi utiliser smbclient pour tlcharger des chiers. Vous devez dabord ta-
blir une connexion avec le rpertoire partag sur lordinateur Windows ou Samba distant.
Un mot de passe est alors gnralement demand. Vous pouvez, comme avec ftp, afcher le
contenu du rpertoire avec ls, changer de rpertoire avec cd, tlcharger des chiers avec
get et en transfrer sur le partage avec put. help renvoie la liste des commandes disponibles
et man smbclient fournit une description dtaille des commandes.
utilisateur$ smbclient //venus/partage -U nom -W groupe
added interface ip=192.168.0.2 bcast=192.168.0.255 nmask=255.255.255.0
Password: xxxxxx
Domain=[SOL] OS=[Windows5.0] Server=[Windows2000 LAN Manager]
smb: > ls
. D 0 Thu Sep 7 17:38:02 2006
.. D 0 Thu Sep 7 17:38:02 2006
data D 0 Wed Apr 5 18:17:11 2006
file.xy AR 226 Sat Dec 14 00:00:00 2006
30.6 Samba Configuration de base et mise en service
Configuration
minimale
Le chier de conguration central pour Samba est /etc/samba/smb.conf. Il se compose
dune section globale pour les paramtres de base, ainsi que de plusieurs autres sections
pour le partage des ressources (rpertoires, imprimantes, etc.). Chaque section commence
Linux Livre Page 607 Mardi, 23. septembre 2008 1:05 13
LINUX 608
par une ligne du type [nom_ressource]. Le chier peut ressembler, pour les premiers tests,
ceci :
; /etc/samba/smb.conf
[global]
workgroup = SOL
security = share
[public]
path = /data/public
guest ok = yes
guest only = yes
Samba partage le rpertoire public et se trouve dans le groupe de travail SOL. Ce rpertoire
contient les donnes du rpertoire /data/public de lordinateur local ce rpertoire doit
donc exister et contenir quelques chiers des ns de test.
On peut accder au serveur (security = share) et au rpertoire public (guest ok, guest
only = yes) sans mot de passe. Les chiers ne sont cependant pas modiables : par dfaut,
les rpertoires sont partags en lecture seule (read only = yes).
Chaque fois que lon modifie le fichier de configuration, le serveur Samba doit le recharger. Si le serveur fonc-
tionne dj, il faut forcer cela par /etc/init.d/smb reload ou /etc/init.d/samba reload.
Dmarrage Deux processus darrire-plan prsentent les services de Samba :
nmbd sert la gestion interne et agit comme serveur de noms. Ce dmon gre aussi lexplora-
tion du rseau. Il peut au besoin faire ofce dexplorateur matre ou de serveur WINS.
smbd est linterface pour les clients et leur donne accs aux rpertoires, aux imprimantes
et la liste des ressources.
Ces deux processus sont dmarrs par le systme InitV. Les noms des scripts InitV dpen-
dent de votre distribution.
Debian, Ubuntu samba dmarre les deux processus
Red Hat, Fedora smb dmarre les deux processus
SUSE smb dmarre smbd, nmb dmarre nmbd
Tests Pour tester si tout fonctionne, lancez sur le serveur la commande smbclient. Si vous avez
utilis la conguration minimale propose, il nest pas ncessaire de saisir un mot de passe.
Dans lexemple suivant, Samba est install sur lordinateur mars :
root# smbclient -L localhost
Password: <Entre>
Domain=[SOL] OS=[Unix] Server=[Samba 3.0.23]
Sharename Type Comment
--------- ---- -------
public Disk
IPC$ IPC IPC Service (Samba 3.0.23)
Domain=[SOL] OS=[Unix] Server=[Samba 3.0.23]
Server Comment
--------- -------
MARS Samba 3.0.23d
Workgroup Master
--------- -------
SOL MARS
Linux Livre Page 608 Mardi, 23. septembre 2008 1:05 13
609 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Lorsque cela fonctionne, vous devez vrier si le serveur Samba et le rpertoire public sont
visibles par les clients Windows. Un mot de passe nest normalement pas ncessaire non
plus dans ce cas. La Figure 30.2 montre le rpertoire sous Windows XP.
Vrificateur
de syntaxe
de smb.conf
Lorsque vous faites de grosses modications dans le chier smb.conf, il est prudent de vrier
sa syntaxe avec testparm avant de redmarrer Samba.
root# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[public]"
Loaded services file OK.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions <Return>
# Global parameters
[global]
workgroup = SOL
...
partir de Samba 3.0, loption -v afche une liste de tous les paramtres par dfaut pour
toutes les options possibles. Cela peut tre pratique si vous ne savez pas quelles valeurs par
dfaut ont les paramtres.
tat de Samba smbstatus permet de connatre ltat courant de Samba, y compris les connexions actives :
root# smbstatus
Samba version3.0.23
PID Username Group Machine
-------------------------------------------------------------------
Service pid machine Connected at
-------------------------------------------------------
Figure 30.2
Le serveur Mars vu de
lExplorateur Windows.
Linux Livre Page 609 Mardi, 23. septembre 2008 1:05 13
LINUX 610
IPC$ 32292 192.168.1.41 Sun Jul 13 12:30:03 2008
public 32292 192.168.1.41 Sun Jul 13 12:30:00 2008
Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name ...
------------------------------------------------------------------------------
32292 65534 DENY_NONE 0x100001 RDONLY NONE /data/public . ...
Samba enregistre gnralement son tat et ses messages derreur dans les chiers /var/log/
samba/log.smbd et log.nmbd.
30.7 Samba Partager des rpertoires
Il existe de nombreuses possibilits de partager des rpertoires pour des utilisateurs indivi-
duels ou des groupes et dindiquer qui peut modier des chiers, en crer de nouveaux, etc.
Cette section offre quelques exemples pour lesquels vous devez connatre les principes de
conguration dans smb.conf.
Les gestionnaires de fichiers de KDE et de Gnome permettent de partager des rpertoires rseau. Cette
fonctionnalit masque une modification de smb.conf. Daprs mon exprience, cela ne fonctionne pas
toujours de manire satisfaisante et ncessite de toute faon une configuration de base correcte de
smb.conf.
Scurit au niveau des partages
Faire fonctionner Samba avec une scurit au niveau des partages est rarement une bonne
ide. Ce niveau de scurit nest utile que lorsque vous dsirez partager tous vos objets
(rpertoires, imprimantes, etc.) sans mot de passe. Si vous souhaitez scuriser vos ressources
par un identiant de connexion, la section suivante vous sera plus protable.
Rpertoire
sans mot
de passe
Notre exemple de base la section 30.6 garantissait presque le succs du partage : laccs au
serveur Samba et au rpertoire public fonctionne indpendamment de lidentiant du
client et nest pas partag par un mot de passe.
Samba associe chaque accs un rpertoire un utilisateur Linux. Les options guest ok
et guest only assurent que tout le monde peut accder au rpertoire public sans mot de
passe et que cet accs est toujours associ au compte correspondant guest. Il sagit nor-
malement de lutilisateur Linux nobody, dont disposent automatiquement la majorit des
distributions Linux. Vous pouvez dterminer le compte par dfaut pour guest avec cette
commande :
root# testparm -s -v | grep "guest account"
guest account = nobody
Pour que les clients Windows puissent effectivement accder au rpertoire public, il faut
sassurer que lutilisateur nobody existe et que le rpertoire /data/public est accessible cet
utilisateur. Loption guest account permet dassocier le compte guest un autre compte
systme.
Linux Livre Page 610 Mardi, 23. septembre 2008 1:05 13
611 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Rpertoires
avec un mot
de passe
On peut aussi scuriser un rpertoire avec un mot de passe au niveau partage. Le problme
est quil nexiste pas de mthode simple de dnir ce mot de passe. Vous devez associer le
rpertoire un compte Linux existant. Les commandes suivantes crent le nouvel utilisateur
dummy1 et en font le propritaire du rpertoire /data/readwrite.
root# useradd -s /bin/false dummy1
root# chown -R dummy1:users /data/readwrite
smbpasswd permet de crer un mot de passe Samba pour dummy1, qui scurise laccs rseau
au rpertoire readwrite.
root# smbpasswd -a dummy1
New SMB password: ********
Retype new SMB password: ********
Added user dummy1.
Les lignes suivantes montrent la conguration ncessaire dans smb.conf. Loption browsea-
ble assure que le rpertoire est visible de lordinateur client avant que laccs ne soit
accord.
[readwrite]
path = /data/readwrite
user = dummy1
writeable = true
browseable = true
Lauthentication fonctionne prsent en plusieurs tapes lopration est mme plus
complexe en vrit ; vous trouverez des dtails dans la description de smb.conf.
Ds quun client souhaite accder au rpertoire, Samba tente dabord de grer lauthen-
tication avec le nom dutilisateur courant et le mot de passe. Si cela russit, laccs au
rpertoire fonctionne pour ce compte.
Si cela ne fonctionne pas (ce qui est gnralement le cas au niveau de scurit du par-
tage), le mot de passe transfr est compar celui de lutilisateur dummy1. Sil est correct,
laccs au rpertoire est autoris.
Si cela ne fonctionne pas, une bote de dialogue apparat dans laquelle lutilisateur doit
saisir un nom et un mot de passe. Lidentiant utilis na pas dimportance, car Samba
utilise dans tous les cas dummy1 ; lauthentication nest faite que sur la base du mot de
passe.
Lors de mes tests, je nai pas russi accder avec le paramtrage par dfaut un rpertoire en lecture/cri-
ture. Il semble que Samba ne comprenne pas le protocole NTLMv2 au niveau partage (mais cela fonctionne
au niveau scurit des utilisateurs).
Il faut modifier les paramtres de scurit de Vista pour accder un rpertoire en lecture/criture. Le para-
mtre correspondant se trouve, pour la plupart des versions de Vista, dans la configuration des stratgies
locales de scurit. Choisissez dans le panneau de configuration Outils dadministration > Stratgie de
scurit locale > Stratgies locales > Options de scurit et passez la valeur de Scurit rseau : Niveau
Linux Livre Page 611 Mardi, 23. septembre 2008 1:05 13
LINUX 612
dauthentification Lan Manager de Envoyer uniquement les rponses NTLM v.2 Envoyer LM et NTLM
utiliser la scurit de session NTLM version 2 si ngocie.
Sous Windows Vista Home, le programme de modification des politiques de scurit nexiste pas. Vous ne
pouvez modifier la politique dauthentification que dans la base de registres. Il faut pour cela modifier la cl
LmCompatibilityLevel de HKEY_LOCAL_MACHINE/System/CurrentControlSet/Control/Lsa
de la valeur 3 la valeur 1.
Scurit au niveau utilisateur
Correspon-
dance entre
les noms
dutilisateurs
Windows et
Linux
Sous Windows, les noms des utilisateurs sont des chanes de caractres arbitraires qui peu-
vent contenir jusqu 128 caractres. Sous Linux, elles se composent au maximum de huit
caractres, sans caractre spcial, ni espace. Lorsquun utilisateur de Windows utilise un
nom dutilisateur qui nest pas compatible avec un utilisateur Linux, il faut dnir lassocia-
tion dans un chier. Le nom de ce chier est dni dans smb.conf avec loption username
map :
[global]
...
username map = /etc/samba/smbusers
Chaque ligne du chier smbuser contient un nom dutilisateur Linux, le signe = et le nom
dun ou de plusieurs utilisateurs de Windows. Vous pouvez aussi utiliser ce chier pour
associer plusieurs utilisateurs Windows un utilisateur Linux. administrateur est souvent
associ root, et guest nobody.
Si lutilisateur peter a comme identiant Peter Mayer sous Windows, il faut simplement
ajouter la ligne peter = Peter Mayer smbusers.
/etc/samba/smbusers (quel que soit son nom) peut compromettre le systme de scurit complet du
systme. Assurez-vous donc que le fichier nest modifiable que par root !
Mots de passe Avant que peter puisse effectivement accder des rpertoires, il doit sidentier. Pour cela,
lorsque la connexion est tablie entre le client Windows et Samba, lidentiant Windows et
un mot chiffr pour le mot de passe sont changs. Cette valeur ne permet pas de reconstruire
le mot de passe. Samba ne peut donc vrier le mot de passe que sil existe un chier de
mots de passe (le plus souvent, /etc/samba/smbpasswd) qui contient le mme mot chiffr.
Ladministrateur du systme Linux doit donc ajouter une nouvelle ligne ce chier pour
peter, ce que permet la commande smbpasswd. Indiquez comme mot de passe la mme
chane de caractres que celle saisie par lutilisateur Peter Mayer sous Windows. Pour modier
un mot de passe Samba existant, utilisez smbpasswd sans loption -a :
root# smbpasswd -a peter
New SMB password: ******
Retype new SMB password: ******
Added user peter.
Password changed for user peter.
Linux Livre Page 612 Mardi, 23. septembre 2008 1:05 13
613 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Attention, cette commande ne fonctionne que lorsque peter existe sur le systme local. Dans
le cas contraire, il faut lajouter avec useradd ou lun des outils prvus par la distribution.
Lutilisateur peter a maintenant trois combinaisons identiant/mot de passe :
pour se connecter sous Windows, Peter Mayer et son mot de passe Windows ;
pour se connecter sous Linux, peter et son mot de passe Linux ;
pour se connecter des ressources Samba, Peter Mayer ou peter et son mot de passe
Samba.
Si les mots de passe Windows et Samba correspondent, lutilisateur peut accder de manire
transparente aux ressources Samba. Si ce nest pas le cas, il doit saisir son mot de passe cha-
que fois quil dsire accder un rpertoire. Le mot de passe du compte systme sur le serveur
Samba et le mot de passe Samba sont en revanche indpendants.
Rpertoires
personnels
La scurit au niveau de lutilisateur correspond au modle de scurit de Linux ; elle est
donc bien plus lgre mettre en place. La conguration par dfaut de nombreux serveurs
Samba ressemble ceci :
[global]
workgroup = SOL # nom de votre groupe de travail
security = user
username map = /etc/samba/smbusers
map to guest = bad user
guest account = nobody
[homes]
writeable = true
browseable = false
Les deux lignes guest indiquent que tous les utilisateurs dont le nom ne se trouve pas dans
/etc/samba/smbusers sont automatiquement associs au compte nobody. Ainsi, ils peuvent
tous accder au serveur Samba et voir quels chiers sy trouvent. Les dossiers accessibles
effectivement sont ceux dont loption guest ok = yes est active.
Le groupe [homes] est une section spciale. Les rpertoires personnels des utilisateurs actifs
sont visibles sous leur nom. Ces trois lignes conomisent une liste sans n de sections de
cette forme :
[peter]
writeable = true
user = peter
Loption browseable = false nindique pas que lutilisateur ne peut pas voir son rpertoire.
Elle vite juste que le rpertoire soit visible deux fois, une fois sous le nom de lutilisateur
(par exemple peter) et une fois sous homes.
Laccs au rpertoire personnel nest possible que lorsque lutilisateur dispose dun compte
Linux avec un rpertoire personnel. Une condition supplmentaire est quil ait un mot de
passe dans smb.conf.
Linux Livre Page 613 Mardi, 23. septembre 2008 1:05 13
LINUX 614
Loption map to guest = bad user dans la section [global] peut prsenter un risque de scurit. La
valeur never pour cette option est plus sre. Elle fait en sorte que le serveur Samba soit entirement inaccessible
aux utilisateurs qui ne sont pas correctement identifis.
Laccs gnral tous les rpertoires personnels est galement problmatique du point de vue de la scurit.
Si vous dsirez refuser cet accs certains utilisateurs, vous pouvez utiliser loption invalid users.
Rpertoires
de groupes
Le rpertoire personnel nest accessible qu un utilisateur donn. Mais il est souvent utile
de disposer dun rpertoire auquel les diffrents membres dun groupe peuvent accder.
Pour cela, il faut dabord associer tous les comptes utilisateurs membres un groupe. Vous
pouvez alors dnir dans smb.conf un rpertoire que tous les membres de ce groupe peu-
vent utiliser avec une syntaxe du type @groupe. Vous vitez ainsi de devoir numrer tous
les membres du groupe, ce qui est bien sr galement possible.
[ventes]
path = /data/ventes
writeable = true
browseable = true
user = @ventes
create mask = 0770
directory mask = 0770
Les droits daccs des rpertoires de groupes sont particulirement importants. Cela est
aussi valable pour les chiers crs par les membres du groupe. Les deux options mask
font en sorte que les chiers et les rpertoires soient accessibles par tous les membres du
groupe.
30.8 Samba Imprimantes rseau
Samba permet aux utilisateurs de Windows daccder vos imprimantes sous Linux. La
conguration est simple, mais suppose que le systme dimpression fonctionne dj en
local.
Pour donner accs tous les utilisateurs de smbpasswd aux imprimantes de /etc/printcap, il
suft dajouter les lignes suivantes smb.conf :
# /etc/samba/smb.conf
[global]
...
printing = CUPS
# accs toutes les imprimantes locales du serveur
[printers]
printable = yes
path = /var/tmp/
browseable = no
browseable = no indique que les imprimantes sont visibles, mais pas le rpertoire printers.
Loption path est utilise pour les chiers dimpression temporaires. Tous les utilisateurs
doivent avoir le droit dcrire dans ce rpertoire, sans quoi ils ne peuvent pas imprimer.
Linux Livre Page 614 Mardi, 23. septembre 2008 1:05 13
615 SERVEUR DE RSEAU LOCAL (CUPS, NFS ET SAMBA)
Si vous dsirez ne partager quune imprimante donne, vous devez ajouter ces lignes. Cet
exemple suppose que la le dattente de limprimante sappelle lp1 dans /etc/printcap et
quelle soit visible sous le nom hp3 sur les clients Samba :
[hp3]
printer = lp1
printable = yes
path = /var/tmp/
browseable = no
Pour donner tous les utilisateurs le droit dimprimer (sans mot de passe), ajoutez la ligne
guest ok = yes la conguration de limprimante.
Configuration
du systme
dimpression
Il existe plusieurs possibilits qui inuent sur lendroit o sont converties les donnes
dimpression au format de limprimante.
Le plus simple est de choisir le pilote de limprimante sous Windows lorsque vous congu-
rez limprimante rseau.
Cette conguration peut poser certains problmes. Il arrive que les donnes imprimer
soient ltres deux fois. Par exemple, pour une imprimante congure comme une
imprimante PostScript, il se peut que le code PostScript envoy par Windows soit inter-
prt comme du code ASCII par Linux et que le rsultat de limpression soit du code
PostScript explicite (commenant gnralement par deux caractres %).
Lautre variante est de congurer limprimante sous Windows comme une imprimante
PostScript, quel que soit son modle (y compris lorsquil ne sagit pas dune imprimante
PostScript).
Sous Linux, la le dattente correspond au modle rel de limprimante.
Cela implique que le client Windows envoie des donnes PostScript au serveur Linux.
Les donnes sont alors converties au format de limprimante. Elles sont donc converties
deux fois, sous Windows au format PostScript et sous Linux au format de limprimante.
Cette mthode est, entre autres, appuye par les dveloppeurs de CUPS qui ont mme
dvelopp un pilote Windows cette n.
Cette variante prsente deux inconvnients. Dune part, les pilotes sous Windows sont
gnralement meilleurs que sous Linux. Cest particulirement vrai pour les impriman-
tes jet dencre. Vous obtiendrez donc de meilleurs rsultats si vous prparez les
chiers sous Windows. De plus, la prparation de donnes dimpression est un proces-
sus coteux en temps. De nombreuses tches dimpression peuvent entraner une
charge importante pour le serveur. Il est donc plus intressant deffectuer ces tches sur
les clients de manire dcentralise.
Configuration
des
imprimantes
sous Windows
Les imprimantes partages sont visibles dans lexplorateur Windows, mais ne peuvent pas
tre utilises immdiatement. Il faut dabord installer la nouvelle imprimante. Pour cela,
lancez le module Imprimantes et tlcopieurs du Panneau de conguration, puis Ajouter
une imprimante et choisissez loption Une imprimante rseau ou une imprimante connecte
un autre ordinateur. Toutes les imprimantes rseau disponibles devraient alors safcher.
Si cela ne fonctionne pas, saisissez le nom de limprimante manuellement.
Linux Livre Page 615 Mardi, 23. septembre 2008 1:05 13
LINUX 616
Un second problme est que Windows afche gnralement un avertissement qui signale
que le serveur ne fournit pas de pilote dimpression. Vous devez le valider avec OK et choi-
sir le pilote dimpression dans la liste qui safche. Le pilote utiliser dpend de la congu-
ration de limprimante sous Linux.
Il serait plus lgant que Samba fournisse lui-mme le bon pilote, an de faciliter linstalla-
tion ct client. Ajoutez pour cela un rpertoire partag [print$] dans smb.conf qui pointe
vers un rpertoire avec les chiers dinstallation. Les quatre options write list, force
group, create mask et directory mask indiquent qui peut installer des pilotes sur le serveur
et quels droits ont les chiers rsultants.
[print$]
path = /var/lib/samba/drivers
write list = @ntadmin root
force group = ntadmin
create mask = 0664
directory mask = 0775
Le seul problme est maintenant dinstaller le pilote dimprimante dans le rpertoire /var/
lib/samba/drivers. Cette tape relativement complique peut tre effectue depuis un ordi-
nateur sous Windows dot du pilote dimprimante, ou depuis Linux, ce qui installe les
pilotes CUPS ou PostScript librement disponibles. Les diffrentes oprations ncessaires
linstallation des pilotes sont dcrites en dtail dans le Samba-HOWTO sur
http://www.samba.org.
Linux Livre Page 616 Mardi, 23. septembre 2008 1:05 13
PARTIE 6 UTILISATION DE PLUSIEURS SYSTMES
SIMULTANMENT
31
Lancer des programmes
Windows (Wine, CrossOver)
la base, les programmes Windows ne fonctionnent pas sous Linux, car les
bibliothques correspondantes nexistent pas. Plusieurs mthodes permettent
nanmoins daccomplir limpossible :
Wine. Cet acronyme signie Wine Is Not an Emulator, soit Wine nest pas un
mulateur. Ce programme libre est cependant souvent dcrit comme un mu-
lateur de Windows. Il sagit en fait dun ensemble de bibliothques qui contien-
nent toutes les fonctions de base des bibliothques Windows. Pour des raisons
de licence, le code de Windows ne peut videmment pas tre copi par Wine ;
des fonctions similaires sont donc dveloppes. Cela explique pourquoi le pro-
jet Wine vient de publier sa version 1.0 aprs 15 ans de dveloppement ! Il fonc-
tionne sufsamment bien pour lancer des programmes Windows sous Linux.
CrossOver et Cedega. CrossOver et Cedega sont deux variantes commer-
ciales de Wine. CrossOver est un logiciel de lentreprise CodeWeavers, qui
facilite linstallation et le dmarrage de programmes Windows. Il se posi-
tionne sur le march de la bureautique. Cedega, de lentreprise TransGaming,
fournit diverses fonctions supplmentaires, en particulier les bibliothques
DirectX, et se positionne sur le march des jeux Windows.
Programmes de virtualisation. Les programmes de virtualisation comme
VMware ou Xen ont une tout autre approche. Ils permettent de mettre en
place un environnement virtuel, dans lequel vous pouvez installer Win-
dows. (Il existe videmment dautres raisons pour mettre en place des logi-
ciels de virtualisation.) Vous pouvez alors lancer Windows dans une fentre
et y installer vos programmes Windows prfrs.
Terminal Server. Plutt que de lancer des programmes Windows en local,
vous pouvez les lancer sur un ordinateur distant. Le programme safche
cependant sur lordinateur Windows local. Les communications se font via
un protocole rseau (VNC, NX, etc.). Lordinateur local fonctionne alors
comme un simple terminal.
Cette variante est particulirement intressante dans les rseaux impor-
tants : un serveur Windows correctement dimensionn permet tous les
utilisateurs de Linux daccder un programme Windows. La congura-
tion initiale est plus complexe que celle des autres solutions et les questions
de licence doivent tre considres en gnral, il faut des licences multi-
utilisateur spciales pour que plusieurs utilisateurs puissent utiliser un
programme commercial en mme temps.
Cet ouvrage ne dcrit pas toutes ces possibilits. Dans ce chapitre, nous parlerons
de Wine et de ses deux variantes commerciales les plus connues, CrossOver et
Cedega. Les chapitres suivants dcrivent quelques programmes de virtualisation.
Linux Livre Page 617 Mardi, 23. septembre 2008 1:05 13
LINUX 618
Limitations Avant de crier victoire, vous devez tre conscient de certaines limitations. Wine et Cross-
Over ne fonctionnent que sur des plateformes x86. Ces mmes limitations sappliquent la
plupart des programmes de virtualisation.
La compatibilit de Wine et de CrossOver avec Windows est limite. De nombreux pro-
grammes ne fonctionnent pas ou alors uniquement pour des fonctions basiques. Mais les
performances sont gnralement au rendez-vous et, dans quelques rares cas, suprieures
celles de la mme application sous Windows.
Les programmes de virtualisation peuvent pallier certains problmes de compatibilit. Les
fonctions ncessaires ne sont pas redveloppes : le systme dexploitation complet est lanc
dans un environnement virtuel. Cela diminue largement les problmes de compatibilit,
mais au dtriment des performances. De plus, le matriel ncessaire et, en particulier, la
quantit de mmoire sont nettement plus importants.
Lancer des programmes Windows sous Linux implique souvent des cots levs. Certains
programmes ne sont pas libres (par exemple, CrossOver ou VMware). De plus, vous avez
besoin dune licence pour le programme dmarrer (par exemple, Adobe Photoshop) et,
dans le cas dun programme de virtualisation, dune licence pour le systme dexploitation
(par exemple, Windows XP).
Enn, signalons quune motivation courante pour passer Linux est la scurit accrue du
systme. Si vous ne faites pas attention, vous pouvez rtablir le mme genre de problmes
(virus, etc.) avec Wine et dautres programmes similaires que sous Windows.
31.1 Wine
La plupart des distributions fournissent un paquetage pour Wine, qui nest cependant pas
install par dfaut. Cette section se base sur la version 1.1.2. Vous trouverez plus dinformations
sur Wine aux adresses http://www.winehq.org/ et http://wine-wiki.org/.
Configuration Gnralement, Wine fonctionne sans conguration pralable. Si vous rencontrez des probl-
mes, le programme winecfg aide souvent les rsoudre (voir Figure 31.1). Vous pouvez y
congurer diffrents lments audio et graphiques, associer des rpertoires diverses let-
tres de lecteurs Windows, etc. Longlet Applications permet de dnir quelle version de
Windows est imite par Wine (par dfaut, il sagit de Windows 2000). Vous pouvez alors
dnir des versions de Windows diffrentes pour vos programmes.
Installer et
dmarrer des
programmes
Windows
Une fois Wine install, vous pouvez lancer un programme Windows avec la commande
wine nom_du_programe.exe. Comme premier test, lancez le bloc-notes fourni avec Wine :
utilisateur$ wine /usr/lib/wine/notepad.exe.so
Cela ne fonctionne que lorsque le programme souhait est install. Une installation dans la
partition Windows de votre ordinateur nest gnralement pas dune grande aide, car les
programmes Windows utilisent gnralement des bibliothques supplmentaires et des
enregistrements dans la base de registres. Il faut donc linstaller localement pour Wine :
utilisateur$ cd rpertoire_des_fichiers_dinstallation
utilisateur$ wine setup.exe
Linux Livre Page 618 Mardi, 23. septembre 2008 1:05 13
619 LANCER DES PROGRAMMES WINDOWS (WINE, CROSSOVER)
Si vous avez de la chance, linstallation fonctionne sans erreur. Cest souvent le cas lorsque
vous installez de petits programmes populaires et anciens. Les programmes rcents, trs
gros ou exotiques renverront pour la plupart des messages derreur obscurs. Le problme
vient gnralement du fait que linstallation rclame une fonction ou une bibliothque Win-
dows (DLL) qui nest pas encore implmente sous Wine. Une recherche sur Internet permet
parfois de trouver quelques astuces pour dbloquer la situation. Sinon, il faut vous faire une
raison : le programme ne fonctionne pas (encore) sous Wine. Un rapport derreur ladresse
http://bugs.winehq.org aide les dveloppeurs de Wine remdier au problme dans le
futur.
La base de donnes dapplication de Wine recense plus de 5 000 programmes, avec des informations sur
la manire de les installer et sur la mesure dans laquelle ils fonctionnent. Cette base se trouve ladresse
http://appdb.winehq.org/.
Lorsque linstallation se passe bien, Wine se termine sans indiquer o le programme a t
install. La commande find peut savrer utile lorsquon lutilise, par exemple, pour trouver
tous les chiers *.exe modis dans les 60 dernires minutes :
utilisateur$ find ~/.wine -cmin -60 -iname *.exe
Notez que Wine ne fournit ni bureau Windows, ni menu de dmarrage, barre des tches,
gestionnaire de programmes, explorateur Windows, etc.
Figure 31.1
Configuration de Wine
avec winecfg.
Linux Livre Page 619 Mardi, 23. septembre 2008 1:05 13
LINUX 620
Transfert de
donnes entre
Wine et Linux
Par dfaut, le lecteur C: de Windows est associ au rpertoire ~/.wine/drive_c et le lecteur
Z: /. Vous pouvez, si ncessaire, dnir dautres lettres de lecteurs avec winecfg ou modier
le chemin des lecteurs prexistants.
Pour transfrer des donnes via le presse-papiers, pensez utiliser sous Windows les rac-
courcis Ctrl+C et Ctrl+V. Sous Linux, cest le presse-papiers et non le tampon de texte marqu
qui est utilis ! Pour les programmes texte, les combinaisons de la souris ne fonctionnent
donc pas.
Wine met disposition toutes les imprimantes dnies sous Linux pour les applications
Windows. Cependant, cela ne fonctionne pas toujours. En revanche, les fonctions rseau ne
posent aucun problme. Si votre ordinateur sous Linux a accs Internet, les applications
Windows lances sous Wine y ont accs galement.
Installer
Internet
Explorer
Vous vous demandez peut-tre pourquoi installer lun des programmes rputs comme les
moins srs sous Windows. Il y a deux raisons cela. Dune part, Microsoft utilise depuis
plusieurs annes Internet Explorer pour installer diverses extensions du systme. Certains
programmes Windows ne peuvent donc tre installs que lorsquune version rcente
dInternet Explorer lest galement. Dautre part, les dveloppeurs web doivent, bon gr
mal gr, tester leurs pages sous Internet Explorer linstaller localement sous Linux permet
dviter de changer de systme dexploitation.
Linstallation manuelle dInternet Explorer est relativement pnible. Le script ies4linux
sen chargera pour vous. Il permet dinstaller IE6 et, si vous le choisissez, IE 5.5SP2 et
5.01SP2, ainsi que le greffon Flash9. La version courante dInternet Explorer, IE7, nest mal-
heureusement pas encore prise en charge. Le script ies4linux permet cependant dutiliser
le moteur de rendu dIE7 dans linterface dIE6. La procdure est assez complique et nest
conseille quaux utilisateurs avancs. Vous trouverez plus dinformations ladresse
http://www.tatanka.com.br/ies4linux/page/Fr/Page_DAccueil.
Le script ncessite linstallation de Wine et cabextract. Ce dernier sert dcompresser des
archives CAB (mthode classique pour crer des archives Microsoft). Attention, linstallation
dInternet Explorer nest autorise que si vous disposez dune licence Windows !
Pour installer Internet Explorer, lancez les commandes suivantes. Choisissez la version dIE
installer ; vous pouvez la tlcharger directement depuis le site web de Microsoft et lins-
taller rapidement.
utilisateur$ wget \
http://www.tatanka.com.br/ies4linux/downloads/ies4linux-latest.tar.gz
utilisateur$ tar zxvf ies4linux-latest.tar.gz
utilisateur$ cd ies4linux-*
utilisateur$ ./ies4linux
Ensuite, lancez Internet Explorer avec les commandes ie6, ie55 ou ie5 (voir Figure 31.2).
Lorsque vous utilisez Wine 1.x, le programme dinstallation afche un avertissement
comme quoi votre version de Wine ne convient peut-tre pas ; vous pouvez lignorer.
Conclusion Il est possible dinstaller et de faire fonctionner certains programmes Windows avec Wine.
Ce dernier est nanmoins plutt destin aux utilisateurs avancs de Linux. Si vous ntes
pas prt exprimenter quelques lments et chercher des solutions sur Internet, Wine ne
vous conviendra pas.
Linux Livre Page 620 Mardi, 23. septembre 2008 1:05 13
621 LANCER DES PROGRAMMES WINDOWS (WINE, CROSSOVER)
31.2 Drivs commerciaux de Wine
Il existe des drivs commerciaux de Wine, comme CrossOver et Cedega, qui visent facili-
ter linstallation de diffrents programmes. Ils rclament une licence payante, mais permet-
tent parfois de gagner du temps par rapport une installation standard sous Wine. Celle-ci
peut certes fonctionner, mais parfois au prix dun temps non ngligeable. De plus, ces socits
commerciales fournissent une assistance utilisateur qui peut tre un gain apprciable.
CrossOver
CrossOver, de lentreprise CodeWeavers, est un driv commercial de Wine qui permet
dinstaller facilement des programmes frquemment utiliss. Le rpertoire des applications
prises en charge contient, entre autres, Microsoft Ofce (versions 97, 2000, XP, 2003 ; la prise
en charge de la version 2007 est encore exprimentale), Adobe Photoshop 6 et 7, iTunes, Fra-
meMaker, Lotus Notes, World of Warcraft, ainsi que les greffons de navigateur QuickTime,
Shockwave et Windows Media Player. Vous trouverez plus dinformations sur CrossOver
ladresse http://www.codeweavers.com/products/cxofce/. Vous pouvez galement tl-
charger une version dvaluation de CrossOver ladresse
http://www.codeweavers.com/products/cxlinux/download_trial/.
Figure 31.2
Internet Explorer 6
sous Linux.
Linux Livre Page 621 Mardi, 23. septembre 2008 1:05 13
LINUX 622
Installation Dans la plupart des cas, vous devez tlcharger le programme dinstallation de CrossOver
depuis le site web de CodeWeavers. Positionnez son bit dexcution et lancez-le :
utilisateur$ chmod u+x install-crossover-xxx.sh
utilisateur$ ./install-crossover-xxx.sh
CodeWeavers fournit galement des paquetages pour la plupart des distributions actuelles.
Le programme dinstallation ajoute un menu CrossOver dans les menus Gnome et KDE. Si
cela ne fonctionne pas, lancez les programmes CrossOver avec les commandes cxnom. Dans
le cas dune installation locale, ces programmes se trouvent dans le rpertoire ~/cxoffice/
bin. Sinon, ils se trouvent dans /opt/cxoffice.
Installer des
programmes
Windows
Pour installer un programme Windows, lancez cxinstallwizard. Choisissez le programme
souhait dans la liste, placez le CD dans le lecteur ou indiquez quel endroit se trouvent les
chiers dinstallation. Linstallation fonctionne alors comme sous Windows.
Si le programme installer ne se trouve pas dans la liste, choisissez loption Installer une
application non supporte.
Lorsque linstallation sest bien droule, les programmes peuvent tre lancs confortablement
partir du nouveau menu Applications Windows.
Cedega
Cedega, de lentreprise TransGaming, vise galement la facilit dinstallation, mais les
applications concernes sont les jeux. Ceux ofciellement pris en charge comprennent War-
craft 3, World of Warcraft, Diablo 2, Half Life 2 et Sim City 4. De plus, le site web de Cedega
maintient une liste des jeux tests et de leur tat. Vous trouverez plus dinformations
ladresse http://www.cedega.com/. Cedega ne fournit pas de version dvaluation et fonc-
tionne sur un systme de souscription qui permet, entre autres, de tlcharger le logiciel. Il
existe galement un wiki non ofciel dinformations sur Cedega et sur les jeux pris en
charge ladresse http://cedegawiki.sweetleafstudios.com/wiki/.
Linux Livre Page 622 Mardi, 23. septembre 2008 1:05 13
32
Virtualisation avec VMware,
VirtualBox, QEMU et KVM
Ces dernires annes, les diffrentes techniques de virtualisation ont suscit un intrt crois-
sant. Ce terme reprsente la simulation sur un ordinateur dune ou de plusieurs machines
virtuelles et de leurs systmes dexploitation. Les applications sont varies :
Excution simultane de Windows et de Linux. Il nest plus ncessaire de choisir lun
de ces deux systmes. La virtualisation permet de les excuter sur le mme ordinateur.
Le systme hte peut tre Windows ou Linux ; lautre fonctionne dans une fentre.
Machines dassistance et de dveloppement. Les dveloppeurs dapplications Linux
doivent souvent tester leurs produits sous diffrentes versions et distributions. Les
employs dune entreprise ou dun service dassistance ont des besoins similaires : de
nombreuses questions sont spciques une distribution. Au lieu de redmarrer sans
cesse lordinateur ou de mettre en place de nombreuses machines, vous pouvez installer
plusieurs distributions dans un environnement donn et les activer la demande. Cela
conomise du temps et des ressources.
Virtualisation de serveurs. Les machines actuelles sont si performantes quun seul ser-
veur ne suft plus pour les exploiter entirement. Les systmes de virtualisation per-
mettent de runir plusieurs serveurs virtuels sur un ordinateur. Cela tait bien sr
possible auparavant, mais avec certaines limitations Apache pouvait, par exemple,
tre congur pour servir plusieurs adresses IP ou htes. La virtualisation de serveurs
prsente, de plus, un avantage dcisif : les serveurs virtuels sont compltement ind-
pendants les uns des autres. Un problme de scurit ou de stabilit sur un serveur
donn na aucune inuence sur les autres.
Ce type de virtualisation nest pas nouveau pour les supercalculateurs. La nouveaut
vient de la mise disposition de ces techniques aux utilisateurs dun PC ordinaire. La
virtualisation de serveurs est le segment pour lequel lintrt crot le plus vite.
Jusqu rcemment, la virtualisation impliquait du matriel coteux (supercalculateurs) ou au
moins, des logiciels chers (par exemple VMware). Cela a bien chang : les ordinateurs courants
fournissent dsormais sufsamment de puissance de calcul pour exprimenter la virtualisation
et de plus en plus de programmes de virtualisation sont disponibles librement ou gratuitement.
Ce chapitre prsente quelques solutions commerciales (VMware) et libres (VirtualBox, QEMU,
KVM). En raison de sa plus grande complexit, Xen sera trait part, au Chapitre 33.
Nous nous limiterons une rapide introduction. Les programmes prsents ici sont si com-
plexes quil faudrait y consacrer un livre entier. Cet ouvrage fournit les premiers lments ;
vous trouverez des informations supplmentaires sur Internet.
Notez galement que peu de domaines de Linux changent aussi vite que les systmes de vir-
tualisation. Diverses mthodes se disputent lentre dans le noyau ofciel et plusieurs entre-
prises tentent de stablir comme standard pour la virtualisation. Ce chapitre est un aperu
de la virtualisation sous Linux lt 2008.
Linux Livre Page 623 Mardi, 23. septembre 2008 1:05 13
LINUX 624
32.1 Notions de base
Hte et invits Pour dcrire les systmes de virtualisation, les termes dhte (host) pour le systme de base
et dinvits (guests) pour les systmes virtuels se sont imposs.
Techniques de
virtualisation
Il existe diffrentes mthodes pour virtualiser des systmes dexploitation. La liste suivante
rsume les techniques existantes et quelques programmes associs.
Virtualisation complte (machines virtuelles, mulation). Le programme simule du
matriel virtuel : processeur, mmoire vive, disque dur, carte rseau, etc. Du point de
vue du systme invit, ce matriel semble exister rellement. Pour que cela fonctionne,
le programme de lhte doit contrler le systme invit et remplacer certaines opra-
tions par dautres. Cest cela que sert lhyperviseur (VMM ou Virtual Machines Monitor,
moniteur de machines virtuelles). Celui-ci gre galement la mmoire, les processus et
les fonctions proches du matriel.
Avantages : la plupart des systmes dexploitation peuvent fonctionner sur une
machine virtuelle. Ils nont pas besoin dtre modis.
Inconvnients : cette solution est relativement lente.
Programmes/entreprises : VMware, QEMU, Parallels, VirtualBox, Microsoft Virtual PC.
Paravirtualisation. Lhte met galement disposition des machines virtuelles dans les-
quelles les invits sont lancs. La diffrence est que les systmes invits sont modis
pour la virtualisation et quils communiquent directement avec lhyperviseur.
Avantages : cette solution est efcace.
Inconvnients : les systmes dexploitation doivent tre modis pour le systme de vir-
tualisation. Cest assez simple pour les systmes libres comme Linux, mais plus probl-
matique pour les systmes propritaires comme Windows.
Programmes/entreprises : Xen, UML (User Mode Linux).
Paravirtualisation avec prise en charge matrielle. Les processeurs modernes dIntel et
dAMD contiennent des instructions matrielles pour faciliter la virtualisation, nommes
Intel-VT (anciennement Vanderpool) pour Intel, et AMD-V (anciennement Pacica)
pour AMD.
Avantages : cette mthode est efcace et, selon limplmentation, ne demande pas de
modication du systme invit.
Inconvnients : elle ncessite des processeurs spciaux.
Programmes/entreprises : KVM, Xen.
Virtualisation au niveau du systme dexploitation. Cette technique est diffrencier
des vraies machines virtuelles. Les systmes invits utilisent le mme noyau et une par-
tie du systme de chiers de lhte. Elle permet cependant disoler lhte et ses invits,
an dviter certains risques de scurit.
Avantages : cette mthode est efcace et conomise des ressources (mmoire, disque
dur, etc.).
Inconvnients : elle nest adapte que lorsque lhte et ses invits utilisent le mme systme
dexploitation et la mme version du noyau. Le systme dexploitation doit tre modi.
Programmes/entreprises : OpenVZ, Virtuozzo, Linux VServer.
Toutes ces mthodes, except la premire, ncessitent pour Linux une modication du
noyau. lheure actuelle (mi-2008), seuls les composants de virtualisation de KVM et certaines
Linux Livre Page 624 Mardi, 23. septembre 2008 1:05 13
625 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
parties de Xen font partie du noyau Linux ofciel. Pour les autres, il faut modier le noyau
avec un correctif non ofciel. Lorsque vous installez une distribution prvue pour Xen, le
mainteneur de la distribution a ajout les fonctions Xen au noyau.
Vous trouverez plus dinformations sur les diffrentes techniques de virtualisation aux adresses
http://doc.ubuntu-fr.org/virtualisation et http://fr.wikipedia.org/wiki/Virtualisation.
Pour dterminer si votre processeur dispose de fonctionnalits de virtualisation matrielles
(Intel-VT ou AMD-V), lancez la commande egrep. Un processeur Intel Core2 avec deux
curs renvoie le rsultat suivant. Si ce dernier est vide, le processeur ne prend pas en charge
la virtualisation ou alors, les fonctions correspondantes sont dsactives dans le BIOS.
Notez que ces lignes peuvent apparatre mme lorsque les fonctions sont prsentes, mais
dsactives dans le BIOS.
utilisateur$ egrep ^flags.*(vmx|svm) /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr
lahf_lm
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat
pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm
constant_tsc pni monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr
lahf_lm
Aspects
matriels
Lmulation de matriels virtuels est par nature une opration complexe. Selon la mthode
de virtualisation et limplmentation, vous vous heurterez un moment ou un autre aux
frontires suivantes :
Processeurs. Le systme hte peut bien sr accder compltement aux processeurs et
curs de lordinateur. Cependant, peu de systmes de virtualisation sont capables
dattribuer plus dun processeur un invit. Dans ce cas, les systmes SMP et multi-
curs naident donc qu excuter plusieurs invits en parallle de manire efcace.
On ne peut pas lancer un invit 64 bits sur un systme hte 32 bits ( lexception dune
mulation du processeur par QEMU, mais il sagit dun cas particulier). Par contre, si
lhte est un systme 64 bits, il peut gnralement lancer des invits 32 ou 64 bits.
Mmoire vive. La rgle de base snonce ainsi : votre ordinateur doit disposer de plus
de mmoire que la somme de la mmoire ncessaire au systme hte et tous les invits
en cours dexcution. Il faut donc prvoir plusieurs gigaoctets de mmoire vive.
Disques durs. La plupart des systmes de virtualisation enregistrent le systme de
chiers des invits dans de gros chiers dans le systme hte. Les invits naccdent
donc pas directement au disque dur, mais indirectement via le systme de virtualisation.
Les accs disque sont donc plus lents que sur lhte. Le facteur de ralentissement a pour
valeur typique deux ou trois.
Lecteurs CD/DVD. Laccs aux lecteurs CD et DVD est transmis de lhte aux invits,
mais uniquement en lecture seule. Aucun systme de virtualisation ne permet la gravure
de CD/DVD depuis le systme hte.
La plupart des programmes de virtualisation permettent dassocier un chier ISO au
lecteur CD/DVD. Plutt que dutiliser le lecteur rel, lhte accde un chier ISO.
Linux Livre Page 625 Mardi, 23. septembre 2008 1:05 13
LINUX 626
Cest particulirement pratique pour linstallation. Vous pouvez extraire une image
ISO trs facilement partir dun CD :
root# dd if=/dev/scd0 of=fichier.iso bs=2048
Fonctions rseau. Le systme de virtualisation met la disposition des systmes invits
linfrastructure rseau de lhte. Il existe divers procds pour lier la carte virtuelle la
carte rseau relle. Nous utiliserons dans ce qui suit la nomenclature de VirtualBox.
Attention, tous les programmes de virtualisation nutilisent pas les mmes possibilits
et celles-ci peuvent tre nommes diffremment.
Dans loption par dfaut, NAT (Network Address Translation), le systme de virtualisation
met en place un serveur DHCP et des fonctions de mascarade pour ses invits. Ces der-
niers peuvent ainsi utiliser laccs Internet de lhte. Ladressage du rseau local de
lhte et celui du rseau des invits sont disjoints ; il est gnralement impossible de
faire communiquer ces deux rseaux.
Loption Adaptateur rseau hte cre une carte rseau virtuelle sur le systme hte.
Cette interface fonctionne en parallle avec vos interfaces habituelles. Lorsque linvit
lutilise, cest comme si le systme hte et linvit taient connects physiquement par
un cble rseau : lhte peut envoyer des donnes via linterface et en recevoir. Vous
pouvez alors congurer des routes ou un pont entre linvit et le reste de votre rseau.
Loption Rseau interne limite le rseau disponible vu des invits au systme hte et
ventuellement aux autres systmes invits.
Carte graphique. Pour utiliser efcacement les fonctions graphiques, il faut installer sur
chaque systme invit un pilote spcial adapt au systme de virtualisation de lhte.
Cependant, lors de nos tests, nous navons pas pu proter des fonctions 3D de la carte
graphique sur un systme invit. Autrement dit, les graphismes 2D ont des performances
dcentes, mais vous devrez probablement vous passer de fonctions 3D.
Fonctions audio. La plupart des programmes de virtualisation fournissent une carte
son virtuelle aux invits et transmettent la sortie audio au systme audio de lhte. Cela
fonctionne sans problme si vos besoins sont raisonnables.
Priphriques USB et matriel externe. Le clavier et la souris sont transmis de lhte
linvit. Laccs aux priphriques externes dpend largement du systme de virtualisa-
tion. Les priphriques USB ne sont souvent pas pris en charge ou alors, avec de nom-
breuses limitations.
Heure. Ce problme semble trivial, mais de nombreux systmes de virtualisation ont du
mal grer lheure. Cela provient du fait que lheure est initialise par le systme hte
lors du dmarrage de la machine, mais gre par la suite par les systmes invits. La
gestion de lheure utilise gnralement le processeur pour dcompter le temps. Or, les
processeurs modernes font dpendre leur frquence de la charge. Le systme hte le sait
et peut corriger lheure en fonction de cette information. Le systme invit ne dispose
pas de cette information. Cest pourquoi le droulement du temps sur les systmes invits
peut sembler plus rapide que sur le systme hte.
Nous supposons ici que les systmes hte et invits partagent la mme architecture. Certains programmes,
comme QEMU, sont capables dmuler du matriel diffrent. Cela rduit cependant largement les perfor-
mances. On parle alors dmulation et non de virtualisation, mme si la frontire entre ces deux concepts
est floue.
Linux Livre Page 626 Mardi, 23. septembre 2008 1:05 13
627 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
change
de donnes
entre lhte
et les invits
La principale restriction est quun invit ne peut pas accder directement un disque dur
utilis par lhte. Deux systmes dexploitation ne peuvent pas contrler en mme temps un
disque dur cela mnerait invitablement des pertes de donnes. Le systme de virtuali-
sation de lhte simule donc un disque dur pour linvit et soccupe de le reproduire dans le
chier du systme hte. Lhte ne peut donc pas non plus accder directement au systme
de chiers des invits.
Le moyen le plus rapide de partager des donnes est dutiliser des rpertoires partags. Le
plus simple est de lancer un serveur NFS ou Samba sur lhte ou sur un ordinateur accessi-
ble par lhte et les invits. Certains programmes de virtualisation incluent des fonctions de
ce type, mais, daprs mon exprience, cela apporte peu davantages et complique inutile-
ment la conguration.
De nombreux programmes de virtualisation permettent dchanger un texte marqu via le
presse-papiers. Malheureusement, cela fonctionne plus ou moins bien. De plus, le presse-
papiers se limite alors la copie de texte brut. Vous ne pourrez donc pas copier un dia-
gramme Excel depuis un invit Windows vers un document OpenOfce.org sur lhte.
Compatibilit
entre les
systmes
la base, vous devez supposer que les systmes de virtualisation sont incompatibles les
uns avec les autres. Un systme invit install sous VMware ne peut pas tre rutilis sous
Xen (et rciproquement). Cette incompatibilit est due deux facteurs. Dune part, les for-
mats des disques durs virtuels sont diffrents. Dautre part, les systmes de virtualisation
font appel diffrents pilotes supplmentaires, diffrentes extensions de noyau, etc.
Les programmes commerciaux sont gnralement en partie capables dimporter des syst-
mes invits crs sous des systmes concurrents, mais cela entrane souvent des problmes.
Des efforts ont t dploys pour dnir un format uni de systmes invits, mais leur succs
nest pas garanti.
La plupart des programmes de virtualisation permettent de dplacer un systme invit
dune machine une autre. Avec VMware, on peut mme passer un systme invit dun
hte Windows un hte Linux (et inversement). Une installation de systme invit peut
donc tre utilise sur tous les systmes hte compatibles.
Quel produit
dans quel but ?
Le monde de la virtualisation est souvent droutant pour les dbutants ; mme les profes-
sionnels ont parfois du mal suivre le dveloppement rapide de ces applications. Se dcider
pour un produit revient se poser les questions suivantes :
Quel est votre but ? Voulez-vous excuter Windows sous Linux ou Linux sous Win-
dows ? Dsirez-vous tester divers systmes dexploitation sans redmarrer ? Visez-vous
une plus grande scurit grce des environnements isols ? Voulez-vous lancer plusieurs
serveurs Linux sur un ordinateur puissant ?
Quelles sont vos conditions matrielles ? Votre processeur prend-il en charge la virtuali-
sation matrielle ?
Quattendez-vous de ladministration du systme virtuel ? Avez-vous besoin de fonc-
tions spciales, comme la migration dun systme invit dun hte un autre ? Ce type
de souhait mne presque ncessairement des solutions commerciales.
Linux Livre Page 627 Mardi, 23. septembre 2008 1:05 13
LINUX 628
Les dbutants peuvent faire leur premire exprience avec VMware Workstation (il existe
une version dvaluation pour un mois) ou VirtualBox. Ces deux programmes facilitent les
premiers pas grce leurs interfaces utilisateur confortables.
Le march professionnel est actuellement domin par Xen. Les distributions professionnelles
Red Hat et SUSE proposent, en plus de leurs produits de base, des outils dadministration.
Vous pouvez tester ces outils gratuitement dans openSUSE et Fedora.
La question de savoir quel systme de virtualisation stablira comme standard est une
question encore ouverte. KVM a de bonnes chances de son ct, car il est tabli dans le
noyau ofciel. Il ncessite cependant un processeur avec des fonctions de virtualisation
(Intel-VT ou AMD-V).
32.2 VMware Workstation, Player et Server
Peu dentreprises sont actives depuis aussi longtemps sur le march de la virtualisation
pour PC que VMware. Son rle prcurseur et le haut degr de maturit de ses produits lui
ont longtemps confr une position dominante sur ce segment. VMware propose divers
produits de virtualisation, que nous ne pourrons pas tous traiter ; nous nous limiterons
donc VMware Workstation, Player et Server. Vous trouverez plus dinformations, des ver-
sions de test et divers tlchargements ladresse http://www.vmware.com/. Notez que les
produits VMware, y compris ceux fournis gracieusement, ne sont pas des produits libres.
VMware
Workstation
VMware Workstation est probablement le plus connu. Il permet de lancer un autre systme
dexploitation dans une fentre. Malgr son prix lev et le nombre croissant dalternatives
commerciales et gratuites, il reste pour de nombreux professionnels la solution pour permettre
Windows et Linux de cohabiter sur le mme ordinateur.
Techniquement, VMware Workstation se base sur une virtualisation complte. Il est donc
compatible avec la plupart des systmes dexploitation, sans besoin matriel particulier
Intel-VT et AMD-V ne sont pas ncessaires.
VMware Workstation 6 prend galement en charge la paravirtualisation si les systmes
Linux invits utilisent un noyau tendu avec les fonctions VMware VMI (Virtual Machine
Interface, interface de machine virtuelle). Cela amliore les performances de la virtualisation.
VMware Player
et Server
VMware Player et VMware Server sont deux alternatives gratuites VMware Workstation.
Les fonctionnalits de ces produits sont restreintes, mais dans le cas de VMware Server, elles
sont compenses par dautres fonctions supplmentaires. Ces solutions gratuites doivent
tre considres comme une tentative de la part de VMware dtablir des parts de march
plus importantes dans un march o les offres libres (VirtualBox, Xen, KVM) ou gratuites
(Microsoft Virtual PC) sont de plus en plus nombreuses.
VMware Server est comparable VMware Workstation, mais vise les serveurs o les syst-
mes virtualiss peuvent fonctionner sans interface graphique. Vous pouvez nanmoins luti-
liser pour faire tourner des systmes bureautiques classiques.
VMware Player est une version restreinte de VMware Workstation. Il peut lancer des machi-
nes virtuelles, mais ne permet pas den crer de nouvelles, ni de modier la conguration
dune machine existante. Linterface utilisateur ressemble celle de VMware Workstation.
Cependant, elle ninclut pas les divers menus et botes de dialogue pour les fonctions spci-
ques de Workstation.
Linux Livre Page 628 Mardi, 23. septembre 2008 1:05 13
629 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
Comparatif Le tableau suivant compare ces trois logiciels.
32.3 VirtualBox
Depuis janvier 2007, VirtualBox (http://www.virtualbox.org) est une alternative intres-
sante VMware Workstation. Ce programme fournit les mmes fonctions de base et une
version GPL est disponible. Il fonctionne sur des htes Windows, Linux, Macintosh et
OpenSolaris. Les systmes invits pris en charge comptent, entre autres, Windows (2000, XP,
2003 Server, Vista), Linux, FreeBSD, OpenBSD, Solaris, OS/2 et DOS.
VirtualBox est moins mr que VMware Workstation. De nombreuses fonctions avances ne
sont pas disponibles. Mais pour les tches de virtualisation de base, il suft largement.
Il est galement avantag par rapport aux autres programmes de virtualisation libre par son
interface graphique et sa documentation. Cela facilite la vie des dbutants.
Versions Sur le site web de VirtualBox, vous trouverez deux versions tlcharger :
Version complte. Elle est gratuite pour les utilisateurs privs et universitaires, ainsi
que pour lvaluation. Lutilisation commerciale de cette version ncessite cependant
lachat de licences.
Version Open Source Edition (OSE). Cette version contient le code source de VirtualBox
sous licence GPL. Son utilisation est gratuite dans le cadre de la GPL. Elle est un peu
limite par rapport la version binaire : vous ne pouvez pas accder aux priphriques
USB et iSCSI depuis une machine virtuelle, ni utiliser RDP (Remote Display Protocole)
VMware Workstation VMware Server VMware Player
But
vise le march bureautique ; sa prin-
cipale utilisation est lexcution dun
systme A sur un systme B
vise le march des serveurs permet de lancer des machines
virtuelles prcdemment cres
avec une interface simple
Licence
propritaire, payante propritaire, gratuite propritaire, gratuite
Cration de machines
virtuelles
oui oui non
Dmarrage des
machines virtuelles
lamorage
non oui non
Rpertoires partags
oui non non
Dmarrage de
plusieurs machines
simultanment
oui oui non
Avantage principal
produit complet sans limitation produit raisonnablement
complet et gratuit
gratuit et simplicit dutilisation
Inconvnient
principal
prix complexit dutilisation impossibilit de crer ou modi-
er une machine virtuelle
Linux Livre Page 629 Mardi, 23. septembre 2008 1:05 13
LINUX 630
entre les machines virtuelles. Par ailleurs, si votre distribution ne fournit pas de paquetage
pour VirtualBox, vous devez compiler vous-mme le logiciel.
Cette section se base sur la version binaire VirtualBox 1.6.4, sur un systme hte
Ubuntu 8.0.4, ainsi que sur les systmes invits openSUSE 10.2 et Windows XP.
Prrequis Pour installer VirtualBox, vous devez avoir install les chiers den-tte du noyau, ainsi que
tous les outils de dveloppement de base. Ces lments sont ncessaires pour compiler des
modules du noyau utiliss par VirtualBox.
Installation
de lhte
Si vous installez la version OSE de VirtualBox, celle-ci peut tre dj disponible dans la base
de paquetages de votre distribution. Si ce nest pas le cas ou si vous prfrez utiliser la version
binaire de VirtualBox, vous devez la tlcharger sur www.virtualbox.org.
Vous trouverez sur le site web de VirtualBox des paquetages prts linstallation (Debian,
Red Hat, SUSE, Ubuntu) ou un script universel dinstallation, lancer comme ceci :
root# chmod u+x VirtualBox_n.run install
root# ./VirtualBox_n.run install
Vous devez alors, dans le cas de la version binaire, accepter la licence. Linstallation se droule
ensuite sans question supplmentaire. Le groupe vboxusers est cr. Seuls les utilisateurs de ce
groupe peuvent accder au priphrique /dev/vboxdrv ncessaire pour lancer des machines
virtuelles. La commande suivante ajoute lutilisateur michael au groupe vboxusers :
root# usermod -a -G vboxusers michael
Lorsque vous lancez le systme hte, le script InitV /etc/init.d/vboxdrv est lanc. Il charge
le module noyau du mme nom et sassure que les conditions dutilisation de VirtualBox
sont remplies.
Installer
des systmes
invits
La commande VirtualBox lance linterface utilisateur de VirtualBox. Un assistant permet de
crer de nouvelles machines virtuelles. Aprs le choix du type de systme dexploitation (par
exemple, Linux avec un noyau 2.6) et de la taille souhaite de la mmoire vive, puis la cration
dun disque dur virtuel, VirtualBox afche un rsum de tous les composants matriels. Vous
pouvez alors ajouter des paramtres supplmentaires : changer le type daccs rseau ou indi-
quer un chier ISO comme source de donnes pour le lecteur CD/DVD (voir Figure 32.1).
Par dfaut, laccs au rseau entre lhte et les invits fait appel du NAT. Le systme invit
peut donc accder Internet, mais pas changer de donnes avec le rseau local.
Une fois le systme install, vous pouvez alors le lancer dans une fentre du systme hte
(voir Figure 32.2).
Additions
Client
Aprs linstallation du systme, vous devez installer les Additions Client. Il sagit dun
ensemble de pilotes supplmentaires qui amliorent linteraction avec lhte (contrle de la
souris plus lgant, rsolution de lcran plus importante, change de donnes via les rper-
toires partags, etc.). Cette installation nest possible que lorsque le systme invit dispose
doutils de dveloppement et des chiers den-tte de son noyau.
Pour cela, jectez le CD/DVD ventuellement prsent et lancez Priphriques, Installer les
Additions Client... Excutez le chier VBoxLinuxAdditions.run depuis le CD virtuel qui est
alors mont dans le systme invit. De manire atypique, vous devez alors redmarrer le
systme invit, qui peut disposer dune plus grande rsolution. Vous pouvez avoir modi-
er la taille de la mmoire vido attribue linvit ou la conguration de X de linvit si la
rsolution que vous souhaitez nest pas accessible.
Linux Livre Page 630 Mardi, 23. septembre 2008 1:05 13
631 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
La machine virtuelle capture automatiquement le clavier et la souris ds que vous tapez une
touche ou ds que vous cliquez. Par dfaut, vous pouvez rendre le focus avec la touche Ctrl
droite. Ce paramtre est modiable dans la fentre principale de VirtualBox dans Fichier,
Prfrences.
Figure 32.1
Configuration
dune machine virtuelle
dans VirtualBox.
Figure 32.2
openSUSE en tant
que systme invit
dans une machine
virtuelle VirtualBox.
Linux Livre Page 631 Mardi, 23. septembre 2008 1:05 13
LINUX 632
Rpertoires
partags
Une fois les Additions Client installs, vous pouvez partager un dossier sur lhte pour quun
invit puisse y accder. Les rpertoires partags sont spciques chaque systme invit.
Pour cela, il suft dajouter linvit dans les prfrences de la machine virtuelle dans longlet
Rpertoires partags. Le champ Chemin du rpertoire est le rpertoire de la machine hte.
Le champ Nom du rpertoire est le nom grce auquel linvit y accdera.
Sur le systme invit, le rpertoire nest pas mont automatiquement, mais manuellement.
Si le rpertoire est partag sous le nom partage, il faut lancer la commande suivante, en
supposant que le rpertoire partage-vbox est dj cr :
root@invite# mount -t vboxsf partage /media/partage-vbox
Les rpertoires partags peuvent galement tre utiliss lorsque le systme invit est Windows.
Le lecteur rseau monter est \\vboxsev\partage.
32.4 QEMU et KVM
Fin 2006, lextension du noyau KVM sest fait connatre par son entre dans le noyau ofciel
2.6.20. KVM est en soi un module de noyau relativement petit, dont laction principale sexerce
avec le logiciel dmulation QEMU. Il ncessite un processeur avec des fonctions matrielles de
virtualisation et constitue avec QEMU un systme de virtualisation matriel. Son lgance pro-
vient du fait quil ne gre pas lui-mme les tches classiques dun hyperviseur (par exemple, la
gestion de la mmoire et des processus), mais quil utilise pour cela les fonctions standard du
noyau Linux. Le module de noyau de KVM contient donc relativement peu de code.
QEMU Comme QEMU est la base de KVM, cette section traite dabord de QEMU, puis sintresse
KVM. QEMU mule divers processeurs et composants matriels de base dun ordinateur
typique (carte rseau, lecteur CD, etc.). Il peut galement muler des processeurs incompa-
tibles avec le processeur de lhte (ARM, Sparc, PowerPC, MIPS, etc.), ce qui se fait videm-
ment au dtriment des performances. Nous ne traiterons ici que de lmulation des processeurs
compatibles x86. Vous trouverez une description dtaille des fonctions et des limites de
QEMU sur la page web du projet, http://bellard.org/qemu/.
Compar aux programmes comme VMware ou VirtualBox, QEMU est plus spartiate. Au
lieu dutiliser un assistant pour crer une nouvelle machine virtuelle, vous devez dabord
crer un chier dimage pour le disque dur virtuel et passer tous les autres paramtres du
matriel virtuel comme paramtres de la commande qemu. Il existe des interfaces graphiques
QEMU, comme Qemu Launcher ou qemuctl, mais celles-ci ne font pas partie de QEMU.
La commande qemu-img cre le chier image. Vous pouvez indiquer le format de chier avec
loption -f. qcow et qcow2 sont les formats standard de QEMU. Il en existe dautres, comme
raw et vmdk (compatibles avec VMware Workstation 3 et 4). La taille du chier est indique
en mgaoctets (nM) ou en gigaoctets (nG).
utilisateur$ qemu-img create -f qcow qemu.img 10G
Lmulateur lui-mme est lanc avec la commande qemu ou qemu-xxx. qemu mule un proces-
seur compatible x86, qemu-system-x86_64 sa variante 64 bits, qemu-sparc un processeur
Sparc, etc. Toutes les commandes qemu ont la mme syntaxe :
utilisateur$ qemu [options] fichier-image
Linux Livre Page 632 Mardi, 23. septembre 2008 1:05 13
633 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
qemu peut prendre de nombreuses options. La commande qemu sans paramtre en donne un
rsum. Nous ne survolerons ici que les plus importantes :
-boot a/c/d indique le support damorage (lecteur de disquettes, disque dur ou lec-
teur CD/DVD). Les lettres correspondent aux lecteurs DOS/Windows. Par dfaut,
QEMU dmarre depuis le disque dur.
-cdrom fichier-iso utilise lISO indique comme source de donnes pour le lecteur
CD/DVD virtuel.
-k langue indique la disposition clavier utiliser, comme fr (franais) et en-us (anglais
US). Cette option nest ncessaire que dans de rares cas, lorsque qemu ninterprte pas
correctement les codes clavier du systme hte.
-localtime initialise lheure CMOS virtuelle du systme avec lheure locale (plutt que,
par dfaut, avec lheure UTC).
-m n indique la taille de la mmoire de la machine virtuelle (en mgaoctets). Par dfaut,
les machines virtuelles disposent de 128 Mo de RAM.
-net options congure le matriel rseau virtuel. Cette option nest ncessaire que lors-
que la conguration par dfaut de QEMU (carte NE2000 et pile rseau en mode utilisateur)
nest pas adapte.
-no-acpi dsactive lACPI.
-snapshot lance QEMU sans modier de manire permanente le chier image du disque
dur.
QEMU lance le systme mul dans une fentre simple sans menu, ni lment dutilisation.
Pour contrler diverses fonctions, il faut utiliser des raccourcis clavier. Les plus importants
sont recenss dans le tableau suivant.
Essayer QEMU Dans sa forme de base, QEMU ne permet de lancer des systmes modernes graphiques avec
des performances dcentes que sur du matriel puissant. Pour les premiers tests, il vaut
mieux tester une distribution Linux minimale. Les nostalgiques de DOS peuvent aussi effec-
tuer ces tests avec FreeDOS (voir Figure 32.3). Le chier ISO de FreeDOS se trouve
ladresse http://freedos.org.
Raccourcis clavier de QEMU
c+a rend le focus du clavier
c+a+F active/dsactive le mode plein cran
c+a+1 affiche la sortie standard
c+a+2 affiche le moniteur de QEMU
c+a+3 affiche la console srie
c+a+S enregistre les modifications sur le fichier image (uniquement en mode snapshot)
c+a+X termine le programme
Linux Livre Page 633 Mardi, 23. septembre 2008 1:05 13
LINUX 634
Les deux commandes suivantes crent un chier dimage pour le disque virtuel et dmarrent
QEMU en utilisant limage ISO de FreeDOS comme support damorage.
utilisateur$ qemu-img create -f qcow qemu.img 500M
utilisateur$ qemu -m 16 -boot d -cdrom fdbasecd.iso qemu.img
Lorsque linstallation sest bien droule, vous navez plus besoin de limage du CD et vous
pouvez utiliser le disque dur virtuel pour dmarrer le systme :
utilisateur$ qemu -m 16 qemu.img
Jai galement install, de la mme manire, Ubuntu 8.04.1. Cela demande un peu plus de
patience (et davantage de mmoire vive attribue QEMU). Le systme tait globalement
utilisable, mais lancer des applications graphiques tait plutt pnible au vu des problmes
de performances.
KQEMU Le cas le plus frquent dutilisation de QEMU est lexcution de code x86 (invit) sur du
matriel x86 (hte). Il nest donc pas ncessaire dmuler ce code ; on peut le lancer
directement. Cest cela que sert le module noyau KQEMU. Il amliore de manire
signicative les performances de QEMU, qui sont alors comparables celles de
VMware, VirtualBox, etc. Vous trouverez plus dinformations sur KQEMU ladresse
http://bellard.org/qemu/kqemu-tech.html.
Vous pouvez avoir installer les modules de noyau KQEMU manuellement, aprs les avoir
tlchargs ou avoir install le paquetage de source de votre distribution :
utilisateur$ tar zxvf kqemu-x.y.z.tar.gz
utilisateur$ cd kqemu-x.y.z
utilisateur$ make
root# make install
root# modprobe kqemu
Il peut galement tre ncessaire de modier les permissions du module /dev/kqemu.
Figure 32.3
FreeDOS sous QEMU.
Linux Livre Page 634 Mardi, 23. septembre 2008 1:05 13
635 VIRTUALISATION AVEC VMWARE, VIRTUALBOX, QEMU ET KVM
KVM Les fonctions de KVM sont rparties dans trois modules du noyau. Les fonctions de base se
trouvent dans le module kvm, les fonctions spciques Intel-VT dans kvm-intel et les fonc-
tions spciques AMD-V dans kvm-amd. Pour pouvoir utiliser KVM, vous devez charger le
module KVM qui correspond votre matriel. kvm est automatiquement charg.
Pour un processeur Intel, lancez :
root# modprobe kvm-intel
Pour un processeur AMD, lancez :
root# modprobe kvm-amd
Si cette commande renvoie une erreur, vriez que votre processeur prend bien en charge la
virtualisation matrielle. Si cest le cas, elle peut tre dsactive au niveau du Bios, ce qui est
donc galement un point vrier.
Lutilisation des fonctions KVM ncessite daccder au priphrique /dev/kvm en lecture ou
en criture. Dans de nombreuses distributions, cet accs nest autoris qu root. Il faut donc
modier les droits daccs de /dev/kvm pour autoriser dautres utilisateurs lutiliser.
Du point de vue de lutilisateur, KVM est une variante de QEMU qui accde aux modules
noyau KVM. Il nest pas ncessaire dinstaller QEMU ; le paquetage KVM en contient une
variante modie. Pour crer un nouveau chier image, vous avez cependant besoin de la
commande qemu-img qui peut ntre disponible que dans le paquetage QEMU.
KVM est dmarr, selon la distribution, avec kvm ou qemu-kvm. Il est nettement plus rapide
que QEMU dans sa version de base, mais la diffrence est ngligeable par rapport QEMU
utilis en parallle avec KQEMU. Vous trouverez dautres informations sur KVM sur le site
http://kvm.qumranet.com/.
Linux Livre Page 635 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 636 Mardi, 23. septembre 2008 1:05 13
33
Xen
Ce chapitre est une introduction au systme de virtualisation Xen. Il mrite quon y consacre
un chapitre entier, en raison de son importance croissante et de sa grande complexit. Nous
supposons cependant ici que les concepts sous-jacents de virtualisation, prsents dans les
chapitres prcdents, vous sont familiers.
33.1 Introduction
Xen est une infrastructure de virtualisation qui prend en charge deux formes de virtuali-
sation et qui se diffrencie par quelques dtails techniques des autres systmes. Il est par-
ticulirement adapt la virtualisation de serveurs Linux.
Le dveloppement de Xen a commenc en 2001 luniversit de Cambridge. En soi, Xen
est libre (sous licence GPL), mais il existe galement diverses versions commerciales,
ainsi que des extensions et des outils de gestion.
Le noyau Linux doit tre tendu par un correctif pour que Xen fonctionne. De nombreuses dis-
tributions fournissent par dfaut des noyaux modis pour Xen.
Applications Xen est conu principalement pour une utilisation serveur. Une utilisation bureautique
comme celle que permettent VMware ou VirtualBox est possible, mais avec quelques
limitations ; ce nest donc pas la solution optimale.
Le plus courant est dutiliser la mme distribution pour le systme de base (le serveur
Xen) et ses invits. Pour cela, vous installez par exemple SUSE Enterprise Server avec la
prise en charge de Xen comme systme de base, puis vous utilisez Xen pour lancer diver-
ses instances virtualises de cette distribution dans des environnements isols. Les outils
de conguration des diffrentes distributions permettent gnralement dassister lutili-
sateur lorsquil cre des systmes invits. Ces outils sont galement utiles, car la gestion
manuelle de Xen est relativement inconfortable : vous devez vous occuper des chiers de
conguration, des priphriques rseau, etc.
Une autre utilisation courante est de congurer un serveur Xen qui neffectue pas dautre
tche que ladministration de Xen et laccs au matriel. Pour cela, il suft dinstaller une
minidistribution, sans systme graphique, ni services rseau, comme Apache ou Samba.
Versions et
environne-
ment de test
Jai test Xen avec diverses distributions. Ce chapitre se base sur un systme hte
Ubuntu 8.04.1 (32 bits), Xen 3.2.0 et un noyau 2.6.24.
Tester Xen peut mener certaines instabilits. Il est donc conseill de sauvegarder votre
disque dur avant de vous lancer, ou dutiliser une machine de tests.
Linux Livre Page 637 Mardi, 23. septembre 2008 1:05 13
LINUX 638
33.2 Dtails techniques
la base, la mise en uvre de Xen nest pas plus complique que celle de VMware Server, du
moins en ce qui concerne les aspects pertinents pour lutilisateur et ladministrateur. Les chapi-
tres prcdents nabordaient pas les dtails techniques des systmes de virtualisation, mais il
vous faut certaines bases pour faire fonctionner Xen. Si vous ne comprenez pas comment il fonc-
tionne, vous ne parviendrez pas le congurer correctement et aucun assistant nest fourni.
Variantes de la virtualisation
Paravirtua-
lisation
Xen est avant tout un systme de paravirtualisation : les machines virtuelles utilises nces-
sitent un noyau Linux modi. Lorsque ces prrequis sont remplis, Xen est plus efcace que
VMware Workstation ou VMware Server.
Cependant, en tant quoutil de paravirtualisation, Xen ne peut pas lancer de systme
dexploitation sans prise en charge de Xen et en particulier, Windows.
Virtualisation
matrielle
Depuis la version 3, Xen peut lancer des systmes non modis dans des HVM (Hardware
Virtual Machines, machines virtuelles matrielles). Cela ncessite nanmoins une prise en
charge matrielle (Intel VT ou AMD-V). Xen utilise pour cela une partie du code de QEMU ;
de nombreux avantages et particularits de Xen disparaissent alors. Lorsque vous lisez dans
la presse informatique que Xen peut maintenant excuter Windows, la forme de virtualisa-
tion considre napporte presque rien par rapport KVM/QEMU.
Architecture et terminologie
Au contraire des solutions de virtualisation prsentes prcdemment, qui fonctionnent
comme des applications habituelles sur un systme hte normal, les fonctions de base de
Xen sont implmentes dans une couche du noyau. Xen ne soccupe pas de dmarrer les
invits : cest galement le travail de lhte. Du point de vue de Xen, le systme dexploita-
tion de base se comporte comme un invit avec des privilges particuliers.
dom0 et domU La terminologie est galement diffrente. Au lieu de machines virtuelles, on parle sous Xen
de domaines. Lors du dmarrage de lordinateur, Xen est dabord dmarr. Il dmarre
ensuite le domaine 0. Dans ce dernier, le noyau modi pour Xen et une distribution ayant
accs aux composants matriels (par exemple le systme graphique) sont lancs et contrlent
tous les autres domaines Xen.
Figure 33.1
Virtualisation avec Xen.
Linux Livre Page 638 Mardi, 23. septembre 2008 1:05 13
639 XEN
Les dsignations hte et invit sont encore valables dans Xen, mais avec quelques limita-
tions. Pour tre exact, Xen est lui-mme lhte. Le systme qui serait dsign comme hte
sur un autre systme de virtualisation est dsign par Xen comme domaine privilgi
(Domain 0, abrg en dom0). Le dom0 est parfois galement dcrit comme serveur de machines
virtuelles ou serveur Xen.
Toutes les machines virtuelles supplmentaires (invits, dans la terminologie prcdente)
fonctionnent dans des domaines non privilgis (domU). La Figure 33.1 rsume larchitec-
ture de Xen. Vous pouvez lancer dans les domU dautres systmes dexploitation, soit de
manire paravirtualise (lorsque le systme prend en charge Xen), soit avec une virtualisation
matrielle. Nous nous limitons ici Linux.
Restrictions
Comme tout autre systme de virtualisation, Xen souffre galement de limitations, dont
certaines sont lies au fait quil est optimis pour une utilisation serveur.
Xen et tous les domaines doivent concorder et utiliser la mme architecture de processeur.
Il est impossible de lancer un dom0 en 64 bit et des domU en 32 bits.
Si vous utilisez une architecture 32 bits, une restriction similaire sapplique PAE (Physical
Addressing Extensions, extensions dadressage physique), qui permet dadresser plus de 4 Go
de RAM sur un processeur 32 bits. Xen peut tre compil avec ou sans prise en charge de
PAE. Cependant, Xen et tous les noyaux (dom0 et domU) doivent saccorder sur ce point.
Si ces rgles ne sont pas suivies, Xen termine le dmarrage dun domU par le message
derreur error 22, invalid argument. Ces limitations ne sappliquent que pour la paravir-
tualisation et non pour les machines virtuelles HVM.
Xen est incompatible avec certains pilotes matriels binaires (utiliss, par exemple, pour
certaines cartes graphiques ou cartes Wi-Fi). Utilisez dans la mesure du possible les
pilotes libres. Il existe un correctif pour les pilotes NVIDIA. De manire gnrale, Xen
est, comme tous les systmes de virtualisation actuels, peu adapt aux graphismes 3D.
Xen ne fournit pas de fonctions audio aux domaines non privilgis.
La prise en charge dACPI et dAPM est trs limite. En particulier, les fonctions dco-
nomie dnergie des ordinateurs portables sont largement inutilises. Les processeurs
fonctionnent pleine frquence. Les cartes PCMCIA et CardBus ne peuvent pas tre
utilises.
Le dom0 ne peut fonctionner que sur un Linux ou un NetBSD. Windows, Solaris et les
BSD ne peuvent tre lancs que dans des domU et souffrent souvent de diverses limi-
tations ou ne fonctionnent quen virtualisation matrielle.
Xen peut poser des problmes de compatibilit avec les pare-feu et dautres systmes de
scurit (SELinux, AppArmor, etc.).
Dans un domaine Xen, il est impossible dexcuter dautres programmes de virtualisa-
tion. Xen et le second programme de virtualisation veulent tous les deux grer la
mmoire, les processus, etc.
Linux Livre Page 639 Mardi, 23. septembre 2008 1:05 13
LINUX 640
Cependant, le cas inverse fonctionne : vous pouvez essayer Xen dans une machine
virtuelle VMware. Nen attendez cependant pas des foudres de performances...
Gestion du matriel
Xen fonctionne un niveau en dessous du noyau Linux et doit donc tre dmarr avant le
noyau du systme dom0. Cest Xen, et non le noyau Linux, qui gre les ressources matriel-
les lmentaires (voir Figure 33.2). Il soccupe en particulier de la gestion de la mmoire, de
lutilisation du processeur, des accs au disque dur et du systme rseau.
Les systmes invits (domU) naccdent pas ces ressources par le pilote Linux standard, mais
via des modules propres au matriel virtuel Xen. Ces pilotes sont une interface entre Xen et le
noyau. Cest pourquoi Xen ne peut tre excut que sur des noyaux Linux modis.
La situation est encore plus dlicate pour le dom0. Xen gre galement dans ce cas la
mmoire vive et les processeurs. Le noyau du dom0 doit donc galement tre modi pour
Xen. Les accs disque et lutilisation de la carte rseau incombent cependant au noyau du
dom0 et fonctionnent comme dhabitude via les modules du noyau Linux avec les pilotes
correspondants. Les systmes domU sont dpendants du bon fonctionnement des disques
durs et de laccs au rseau du dom0.
Le systme dom0 joue galement un rle privilgi pour laccs aux autres composants
matriels. En gnral, ce systme est le seul accder aux cartes graphiques, audio et PCI,
aux priphriques USB, etc. Il nest pas prvu que les systmes domU accdent directement
ces composants. Il est cependant possible de bloquer certains priphriques PCI du dom0
et de les rserver une instance de domU. Cela ncessite une conguration spciale, que
nous ne dtaillerons pas ici.
Accs au rseau
La corrlation complexe entre le matriel, Xen, dom0 et domU se manifeste probablement le
mieux dans le cadre de laccs au rseau. On pourrait crire un chapitre complet sur les dif-
frentes possibilits de conguration rseau dans Xen. Nous nous limitons ici la variante
Figure 33.2
Gestion du matriel
dans Xen.
Linux Livre Page 640 Mardi, 23. septembre 2008 1:05 13
641 XEN
la plus courante : le rseau pont (Bridged Networking). Tous les clients Xen (dom0 et domU)
ont un accs direct un serveur externe ou un routeur qui, idalement, fait fonctionner un
serveur DHCP. La Figure 33.3 illustre les nombreuses interfaces rseau que vous pouvez
trouver dans une conguration Xen typique.
Dmarrage de
lordinateur
Pendant le dmarrage de lordinateur, tout se passe normalement. Le noyau dom0 charge
les modules du matriel physique et initialise eth0, eth1, etc.
Initialisation
du rseau via
xend
la n du processus InitV du systme dom0, le programme xend est dmarr. Il initialise les
interfaces rseau spciques Xen. eth0 est renomm en peth0 et un pont rseau virtuel
(xenbr0) est cr. Celui-ci tablit la connexion aux interfaces virtuelles vifn.m (vif signie
virtual interface). Laccs au rseau de dom0 se fait via la nouvelle interface eth0, cble vir-
tuellement avec vif0.0. Une fois le rseau compltement initialis, il ne sest apparemment
rien pass pour dom0 : il accde au rseau, comme auparavant, avec eth0. Cette interface
nest cependant plus associe directement au matriel, mais Xen.
Les systmes domU accdent simplement au rseau via eth0. eth0 est alors associ au pilote
rseau Xen (module xennet) qui tend le trac rseau vers le rseau local avec vifn.n et
xenbr0. n est le numro didentiant de la machine virtuelle Xen. Les interfaces vifn.m sont
cres automatiquement au dmarrage des domaines et supprimes lorsque les domaines
correspondants sont arrts.
Ce systme est modiable linni. Lorsque plusieurs cartes rseau sont prsentes sur
lordinateur, plusieurs interfaces pethn et ethn sont cres dans le dom0. Lorsque les domU
utilisent plusieurs cartes rseau, plusieurs interfaces vifn.m sont dnies dans le dom0. Il
est galement possible dajouter des rseaux virtuels avec plusieurs ponts.
Le rseau virtuel Xen est congur dans le chier /etc/xen/xendconfig.sxp.
Figure 33.3
Accs au rseau
pour les domaines Xen.
Linux Livre Page 641 Mardi, 23. septembre 2008 1:05 13
LINUX 642
ifconfig
(dom0)
ifconfig afche comme prvu une longue liste dinterfaces.
eth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56
inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0
lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
peth0 Link encap:Ethernet HWaddr 52:54:00:12:34:56
inet adr:10.0.2.15 Bcast:10.0.2.255 Masque:255.255.255.0
vif0.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
BROADCAST MULTICAST MTU:1500 Metric:1
vif1.0 Link encap:Ethernet HWaddr fe:ff:ff:ff:ff:ff
adr inet6: fe80::fcff:ffff:feff:ffff/64 Scope:Lien
UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1
Accs au disque dur
Le systme dom0 accde tout fait usuellement son noyau sur le disque dur. Les systmes
domU accdent au disque dur grce au module xenblk. Le noyau domU voit donc, par
exemple, la partition (virtuelle) /dev/sda1. Celle-ci correspond gnralement une partition
relle sur le disque dur du dom0 ou un chier dimage qui se trouve dans le systme de
chiers du dom0. Le pilote xenblk connecte la partition virtuelle la partition relle.
Laccs direct du domU une partition de disque dur est autoris uniquement lorsque cette partition
nest utilise par aucun autre domaine (y compris dom0).
Lorsque plusieurs domaines ont accs en mme temps une partition, les conflits et la corruption du
systme de fichiers sont invitables.
Sortie graphique
Normalement, seul dom0 a accs la carte graphique et la sortie cran. Il existe des con-
gurations spciales qui permettent un domU de communiquer directement avec la carte
graphique, mais nous ne rentrerons pas ici dans les dtails de ce cas particulier.
Cela est sufsant dans le cadre dune utilisation serveur. Pour communiquer avec la
machine virtuelle sur laquelle fonctionne le serveur web, une simple connexion rseau
suft. On peut galement administrer le domaine via ssh dans une fentre de console.
Jusqu ce quun domU fonctionne correctement, il est cependant intressant de disposer
dune interaction indpendante du rseau qui ne fonctionne ventuellement pas encore. Les
possibilits suivantes soffrent vous :
Console (texte). Xen peut rediriger la premire console texte du domU dans une fentre
de console locale. Vous pouvez suivre le dmarrage du domU et vous connecter. Les
consoles peuvent tre couples ds le dmarrage (xm create domaine -c) ou ultrieure-
ment (xm console domaine). Cependant, ce principe ne fonctionne que pour une seule
console, ce qui est en pratique trs limit.
SDL (graphique). SDL (Simple DirectMedia Layer, couche DirectMedia simple) est une
bibliothque qui accde directement diffrents lments multimdias (framebuffer 2D,
Linux Livre Page 642 Mardi, 23. septembre 2008 1:05 13
643 XEN
OpenGL, clavier, souris et systme audio). Xen utilise SDL pour afcher le systme
graphique dun domU dans une fentre du dom0.
VNC (graphique). Vous pouvez, comme alternative SDL, utiliser VNC pour afcher le
systme graphique du domU. Xen dmarre un petit serveur VNC en mme temps que
le domU lorsquil est congur pour cela.
33.3 Gestion des fichiers image
Comme nous lavons vu la section prcdente, Xen permet denregistrer physiquement
des systmes domU de plusieurs manires : dans un chier image sur le systme dom0
local ou un serveur NFS, ainsi que sur un disque dur ou une partition inutilise. Laccs
direct une partition est nettement plus efcace que lutilisation de chiers image. Cepen-
dant, ces derniers sont plus adapts aux premires exprimentations : il est facile de les
crer, copier et supprimer. De plus, les besoins en place sont, du moins au dbut, nette-
ment plus faibles.
Xen prend en charge le format RAW et le format dimages de QEMU. Un chier RAW
contient exactement les mmes donnes quune partition de disque dur. Cette section offre
quelques astuces pour grer ce type dimages. Ces informations sont indpendantes de Xen,
mais en pratique, vous aurez probablement vous frotter ce type de commandes lors de
vos tests.
Tous les exemples supposent que vous utilisez un systme ext3 dans vos chiers image.
Cela nest videmment pas ncessaire ; vous pouvez utiliser un autre systme de chiers.
Crer une
image de
fichier vide
Pour crer un nouveau chier image correspondant une partition de 5 Go, lancez la com-
mande dd suivante. Le chier est cr, mais il nest pas physiquement rempli de 0. ls -l
montre quil a une taille de 5 Go, mais du indique quil nest pour linstant compos que des
informations de gestion.
root# dd if=/dev/zero of=fichier.img bs=1 count=0 seek=5G
root# ls -l fichier.img
... 5368709120 ... fichier.img
root# du fichier.img
0 fichier.img
Crer le
systme de
fichiers
Pour crer un systme de chiers sur le chier image, il faut lancer la commande mkfs.
Celle-ci reconnat quil ne sagit pas dun priphrique de bloc (comme ce serait le cas sur
une vraie partition) et demande, selon la version, conrmation. Le chier est alors format.
du montre que le chier prend plus de place en raison des informations de gestion du systme
de chiers.
root# mkfs.ext3 fichier.img
mke2fs 1.40.8 (13-Mar-2008)
fichier.img nest pas un priphrique spcial en mode bloc.
Procder malgr tout ? (o,n) o
root# du fichier.img
174372 fichier.img
Linux Livre Page 643 Mardi, 23. septembre 2008 1:05 13
LINUX 644
Crer un
fichier image
partir dune
partition
Vous pouvez aussi directement crer une image partir dune partition. Il nest alors nces-
saire ni de crer le chier, ni de le formater :
root# dd if=/dev/sda7 of=fichier.img
Attention, la partition source de la commande dd ne doit pas tre active ! On ne peut pas clo-
ner la partition du systme dmarr. Il faut pour cela dmarrer lordinateur avec une autre
distribution ou un systme live.
Utiliser le
systme de
fichiers dun
fichier image
Ds que Xen lance le systme domU dont le systme de chiers se trouve dans le chier
image, vous pouvez accder au systme de chiers. Vous pouvez ouvrir une fentre Xen,
installer un nouveau paquetage, etc. Vous pouvez aussi changer des chiers via le rseau
entre le systme dom0, domU et les ordinateurs du rseau local.
Vous pouvez cependant aussi utiliser le systme de chiers de limage lorsque domU nest
pas lanc. Pour cela, il suft de le monter dans larborescence du systme avec mount. Il faut
utiliser loption -o loop pour monter limage comme priphrique de bouclage.
root# mkdir /systeme-domu
root# mount -t ext3 -o loop fichier.img /systeme-domu
Vous pouvez alors utiliser le systme de chiers de limage, mont dans le rpertoire /sys-
teme-domu. Laccs est en lecture/criture. Vous pouvez donc modier le systme de chiers,
par exemple pour corriger /etc/fstab. Il est souvent intressant de dmarrer un nouvel
interprteur de commandes avec chroot. Cet interprteur utilise le systme de chiers de
limage comme rpertoire racine. exit permet de le quitter.
root# chroot /systeme-domu
root# ls
bin boot dev etc home lib lost+found media misc mnt net
opt proc root sbin selinux srv sys tmp usr var
root# jmacs /etc/fstab
root# ...
root# exit
Noubliez pas de dmonter limage avant denvisager de redmarrer le systme domU.
Redimension-
ner un systme
de fichiers
resize2fs permet de redimensionner un systme de chiers. Pour le rtrcir, le systme doit
tre inutilis. Dans tous les cas, vous devez auparavant lancer e2fsck. resize2fs adapte
automatiquement la taille du chier image.
root# e2fsck fichier.img
root# resize2fs -p fichier.img 3G
...
Le systme de fichiers fichier.img a maintenant une taille de 786432 blocs.
root# ls -l fichier.img
... 3221225472 ... fichier.img
Crer un
fichier image
dchange
Il est possible dajouter une partition virtuelle dchange un systme domU. Il suft de la
formater avec mkswap :
root# dd if=/dev/zero of=swap.img bs=1 count=0 seek=100M
root# mkswap swap.img
Initialisation de la version de lespace de swap 1, taille = 104853 kB
Linux Livre Page 644 Mardi, 23. septembre 2008 1:05 13
645 XEN
33.4 Mettre en place le systme de base Xen (dom0)
Paquetages
Xen
Un systme de base Xen est souvent compos dune installation Linux standard. Certaines
distributions savent galement installer directement les paquetages Xen lors de linstallation
initiale.
Pour mettre en place un systme de base Xen, la plupart des distributions proposent des
paquetages, mme si ceux-ci ne font pas forcment partie des dpts de paquetages ofciels.
Vous avez besoin des lments suivants :
Xen (qui contient galement xend et divers autres programmes) ;
la bibliothque Xen xenlib ;
la bibliothque de virtualisation virtlib ;
un noyau modi pour Xen, compatible avec la version de Xen (architecture CPU, PAE) ;
un client VNC (qui se trouve gnralement dans le paquetage vnc).
GRUB Pour dmarrer Xen, puis le noyau dom0, il faut adapter le chier de conguration de GRUB
/boot/grub/menu.lst (LILO ne sait pas dmarrer Xen). Dans de nombreuses distributions,
le gestionnaire de paquetages soccupe de la conguration de GRUB. Les lignes suivantes
montrent un exemple de menu pour Xen. Noubliez pas dadapter les priphriques et
noms de chiers votre propre systme. Vous devez indiquer dans la ligne kernel le chier
de dmarrage de Xen et non le noyau Linux usuel. Les deux lignes module qui suivent four-
nissent le nom du noyau, les paramtres du noyau et le chier initrd.
# /boot/grub/menu.lst
...
title Linux avec Xen
root (hd0,10)
kernel /boot/xen.gz-n
module /boot/vmlinuz-n ro root=/dev/sda11
module /boot/initrd-n.img
Si vous souhaitez limiter la mmoire du dom0, vous pouvez passer loption dom0_mem=n la
ligne kernel. n est la limite suprieure de la mmoire utilisable par le dom0 (en mgaoctets).
Au dmarrage suivant, vous verrez divers messages safcher. Ceux-ci sont ensuite suivis des
messages usuels du noyau. Pour consulter les messages de Xen, utilisez la commande xm dmesg :
root# xm dmesg
__ __ _____ ____ _ _
\ \/ /___ _ __ |___ / |___ \ / | _ __ ___/ | _ __ _ __ ___
\ // _ \ _ \ |_ \ __) | | |__| __/ __| |__| _ \| __/ _ \
/ \ __/ | | | ___) | / __/ _| |__| | | (__| |__| |_) | | | __/
/_/\_\___|_| |_| |____(_)_____(_)_| |_| \___|_| | .__/|_| \___|
|_|
(XEN) Xen version 3.2.1-rc1-pre (buildd@buildd) (gcc version 4.2.3 (Ubuntu
4.2.3-2ubuntu7)) Fri Apr 11 01:12:53 UTC 2008
...
(XEN) Xen heap: 9MB (10124kB)
(XEN) Domain heap initialised: DMA width 32 bits
(XEN) PAE enabled, limit: 16 GB
Linux Livre Page 645 Mardi, 23. septembre 2008 1:05 13
LINUX 646
(XEN) Processor #0 6:2 APIC version 20
(XEN) IOAPIC[0]: apic_id 1, version 17, address 0xfec00000, GSI 0-23
(XEN) Enabling APIC mode: Flat. Using 1 I/O APICs
...
(XEN) *** LOADING DOMAIN 0 ***
(XEN) Xen kernel: 32-bit, PAE, lsb
(XEN) Dom0 kernel: 32-bit, PAE, lsb, paddr 0xc0100000 -> 0xc0503000
(XEN) PHYSICAL MEMORY ARRANGEMENT:
(XEN) Dom0 alloc.: 000000003a000000->000000003c000000 (232753 pages to be
allocated)
(XEN) VIRTUAL MEMORY ARRANGEMENT:
...
xm list permet de voir que Xen excute votre systme Linux dans le domaine privilgi
dom0 :
root# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 950 2 r----- 736.1
xend Tandis que les fonctions de base de Xen sont dmarres avant le noyau Linux, diverses op-
rations de Xen se droulent tout la n. la n du processus InitV, le script xend est dmarr.
Il lance le dmon de contrle de Xen du mme nom et met en place le rseau virtuel Xen.
Configuration La conguration de base a lieu dans le chier /etc/xen/xend-config.sxp. Celui-ci contient,
entre autres, tous les paramtres du rseau virtuel Xen. Dans la plupart des distributions,
vous pouvez laisser le script tel quel lors de vos premires expriences ; sous Ubuntu, vous
devez ventuellement rectier le paramtre network-script.
# /etc/xen/xend-config.sxp
...
# utiliser un pont rseau
(network-script network-bridge)
(vif-script vif-bridge)
...
# limite infrieure de RAM pour dom0
(dom0-min-mem 256)
Le rpertoire /etc/xen contient divers scripts supplmentaires que vous navez gnrale-
ment pas besoin de modier, ainsi quun chier de conguration pour chaque systme
domU. La cration de ces chiers de conguration est couverte dans la section suivante.
33.5 Crer des systmes invits (domU)
Lopration la plus difcile lors des premires expriences Xen est la cration dun domU.
Avant de dtailler une installation, voici un rsum des impratifs dun systme domU fonc-
tionnel :
Systme de chiers. Le systme de chiers complet du systme domU doit se trouver
dans un chier image ou une partition non utilise.
Noyau. Le systme de chiers du dom0 (et non celui du domU) doit contenir un noyau
compatible Xen et le chier initrd correspondant. Ces deux chiers sont ncessaires au
Linux Livre Page 646 Mardi, 23. septembre 2008 1:05 13
647 XEN
dmarrage du domaine. Xen lit ces deux chiers avant mme que le systme de chiers
du domU ne soit activ.
Comme des fonctions Xen sont excutes sous forme de modules (xenblk, xennet), les
modules doivent se trouver dans le chier initrd. Vous ne pouvez omettre ce point que
lorsque les fonctions Xen sont directement compiles dans le noyau.
Le systme de chiers du domU doit contenir un rpertoire de modules correspondant
au noyau (/lib/modules/version_noyau). Il tait dusage auparavant de mettre en place
des noyaux monolithiques pour les systmes dom0 et domU. Cet usage nest plus de
mise. La plupart des distributions fournissent maintenant un noyau Xen modulaire
utilisable pour le dom0 et les domU.
Fichiers de conguration. Tous les paramtres, quils concernent le matriel virtuel ou
dautres lments du domaine, sont enregistrs dans le chier de conguration /etc/xen/
nom_de_domaine. Cette section prsente quelques exemples pour ce chier de conguration.
Plusieurs
chemins
mnent Xen
Le problme de linstallation des systmes invits est que Xen ne peut lancer que des syst-
mes dots dun noyau modi pour Xen. Les distributions courantes nutilisent pas de
noyau de ce type pendant linstallation. Il nest donc pas possible deffectuer une installation
habituelle depuis un CD ou un chier ISO. Les possibilits suivantes soffrent vous :
Vous pouvez utiliser une image Xen prinstalle. Vous pouvez la tlcharger sur Internet,
par exemple sur http://www.jailtime.org. Jai cependant eu de mauvaises expriences avec
ce type de solution. Les images sont rarement compatibles avec une version de Xen et une
architecture processeur donnes. Il manque souvent le noyau et le chier initrd.
Vous pouvez lancer une installation classique sur une partition de disque, puis installer un
noyau Xen et un chier initrd pour Xen. Une fois ces tapes effectues, quittez le systme
et modiez quelques lments (par exemple, dans /etc/fstab). Si vous le dsirez, vous
pouvez copier le systme de chiers dans un chier image avec dd. Pour nir, dmarrez
Xen et accdez au domU directement sur la partition ou par le biais dun chier image.
Vous pouvez aussi lancer linstallation dans QEMU et utiliser limage QEMU dans Xen.
Lavantage de cette mthode est que vous navez pas quitter le systme qui fonctionne.
Linstallation dure cependant plus longtemps.
Certaines distributions (Fedora, Red Hat et SUSE) fournissent des outils pour lancer
linstallation de manire paravirtualise dans Xen. Le programme dinstallation est
pour cela charg depuis le rseau et lanc avec un noyau compatible avec Xen. Cette
procdure dpend nanmoins largement de la distribution et de la version.
Les utilisateurs de Debian peuvent mettre en place un systme Debian lmentaire avec
debootstrap dans une partition monte dans un rpertoire. Aprs la conguration de
base, il suft dajouter un noyau compatible avec Xen pour dmarrer le systme avec
Xen. Vous trouverez diverses documentations ce sujet en cherchant xen debootstrap
dans un moteur de recherche.
Si votre processeur sait utiliser les fonctions de virtualisation, vous pouvez lancer lins-
tallation dans un domaine HVM. Cette opration est comparable linstallation dune
version de Windows.
Linux Livre Page 647 Mardi, 23. septembre 2008 1:05 13
LINUX 648
Dans cette section, nous utiliserons la mthode dinstallation de la distribution sur un partition
du disque.
Installation
de Fedora
Ce premier exemple pratique montre comment installer Fedora 9 comme systme invit
dans Xen. (Notez que Fedora 9 ne fonctionne pas en tant que systme dom0, mais en tant
que domU. Fedora 10 devrait fonctionner en tant que dom0.) La plupart des tapes sont
valables pour lensemble des distributions ; certains dtails sont spciques la distribution
ou la version. Dans ce qui suit, nous indiquons pour toutes les commandes sur quels sys-
tmes elles doivent tre lances. @domU spcie que les commandes sont lances sur le systme
invit (quil soit dj lanc par Xen ou non), et @dom0 sur le systme hte.
Installation de
la distribution
Redmarrez tout dabord lordinateur et crez une partition supplmentaire sur le disque
dur. Si vous dsirez transfrer linstallation dans une image disque, la partition doit tre la
plus petite possible (par exemple, 3 Go). Cela conomise ensuite du temps lorsque vous
grerez le chier image.
Installez ensuite votre distribution normalement. Pensez utiliser la mme architecture que
votre systme Xen dom0 ! Linstallation dpend videmment de la manire dont vous
comptez lutiliser dans Xen. Cependant, plus linstallation est rduite, plus elle est rapide
mettre en place. Il est peu probable que vous ayez besoin dOpenOfce.org dans un systme
Xen invit ; et si cest le cas, il sera toujours temps de linstaller.
Lors de mes tests, jai dsactiv le pare-feu et SELinux. Cela minimise les sources possibles
derreur si un problme survient.
De plus, il est souvent opportun de dsinstaller tous les services qui ne sont pas ncessaires
dans un environnement Xen (avahi, smartd, gpm, etc.), ou du moins den supprimer le
dmarrage automatique.
Noyau Xen Certaines distributions permettent, pendant linstallation, dinstaller un noyau Xen en plus
du noyau habituel. Dans le cas contraire, dmarrez le systme Linux et ajoutez le noyau Xen
avec les outils de gestion de paquetages.
Fichier initrd Pour pouvoir dmarrer la distribution partir de Xen, vous avez besoin dun chier initrd.
Or, celui cr lors de linstallation du noyau Xen de Fedora ne contient pas les modules xen-
blk et xennet. Il faut donc le rgnrer :
root@domU# cd /boot
root@domU# mkinitrd --preload=xenblk --with=xennet \initrd-xen-fedora9
2.6.25-3.2.fc9.i686.xen
Redmarrage
du dom0
Linstallation de linvit Fedora est alors termine. Redmarrez votre ordinateur et lancez le
systme Xen (dom0). Si vous le dsirez, vous pouvez maintenant crer une image de linstal-
lation avec dd et travailler avec cette image par la suite :
root@dom0# mkdir /domu-filesys
root@dom0# dd if=/dev/sda7 of=fedora.img
Vous pouvez aussi accder directement la partition de linstallation de Fedora. Nous sup-
posons ici que Fedora est install dans la partition /dev/sda7. Dans tous les cas, il faut mon-
ter le systme invit dans larborescence courante avec, selon le cas, lune des deux
commandes suivantes :
root@dom0# mount -t ext3 -o loop fedora.img /domu-filesys
root@dom0# mount -t ext3 /dev/sda7 /domu-filesys
Linux Livre Page 648 Mardi, 23. septembre 2008 1:05 13
649 XEN
Copier le
noyau et le
fichier initrd
Pour que Xen puisse lancer le systme invit, il faut copier le noyau et le chier initrd de
Fedora vers le systme dom0. Si vous envisagez dutiliser plusieurs invits Xen, il est prf-
rable de crer un sous-rpertoire de boot pour chaque noyau :
root@dom0# mkdir /boot/fedora
root@dom0# cd /boot/fedora
root@dom0# cp /domu-filesys/boot/vmlinuz-2.6.25-3.2.fc9.i686.xen .
root@dom0# cp /domu-filesys/boot/initrd-xen-fedora9 .
/etc/fstab Lorsque Fedora sera lanc par le biais de Xen, ses priphriques de disques recevront de
nouveaux noms qui correspondent au chier de conguration de Xen. Il faut donc adapter
le chier /etc/fstab :
root@dom0# jmacs /domu-filesys/etc/fstab
Le plus simple est dutiliser pour la partition racine lUUID de la partition comme identiant
de montage. Pour obtenir cet UUID, il faut lancer la commande vol_id, suivie du nom du pri-
phrique ou du chier. Cette commande peut tre lance quel que soit le systme auquel est
attach le priphrique : lUUID ne change pas selon le systme auquel il est attach.
Les premires expriences peuvent tre lances sans partition dchange. Il faut donc gn-
ralement modier /etc/fstab selon ce schma :
# /etc/fstab dans le systme domU
UUID=XXXX / ext3 defaults 1 1
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs defaults 0 0
Fichier de
configuration
de Xen
Pour nir la prparation, il faut crer un chier de conguration pour le nouveau domU dans le
rpertoire /etc/xen. Lexemple suivant indique comment le nouveau domaine Xen doit sappe-
ler, o se trouvent le noyau et le chier initrd (dans le systme dom0), quels paramtres il faut
passer au noyau du domU et combien de RAM est attribue au domaine (en mgaoctets).
La ligne root indique lemplacement du chier racine. Pour simplier lamorage, utilisez
ici aussi lUUID de la partition ou du chier.
La ligne disk indique lemplacement du chier image et le nom des priphriques pour
domU. la place de xen-images, indiquez le rpertoire dans lequel se trouve le chier
image. Dans de nombreux exemples Xen, vous verrez la place de tap:aio le mot cl file:.
Cette variante fonctionne galement, mais elle est plus lente.
Le mot cl vif sassure que le systme invit peut accder au rseau. Si lordinateur local fait
fonctionner un serveur DHCP, le domU y rcupre une IP. Sinon, vous devez congurer
linterface eth0 du domU avec ses propres outils de conguration.
sdl=1 permet dafcher une fentre au dmarrage du systme invit, qui afche le contenu
de son systme graphique (framebuffer). Pour les premires tentatives, vous pouvez vous en
dispenser.
# /etc/xen/fedora dans le systme de fichiers du dom0
name = fedora
kernel = /boot/fedora/vmlinuz-2.6.25-3.2.fc9.i686.xen
Linux Livre Page 649 Mardi, 23. septembre 2008 1:05 13
LINUX 650
ramdisk = /boot/fedora/initrd-xen-fedora9
root = UUID=XXXX-XXXX ro
memory = 400
disk = [tap:aio:/xen-images/fedora.img,sda1,w]
vif = [ ]
sdl = 1
Lorsque vous dmarrez le systme domU directement depuis la partition /dev/sda7, modiez
la ligne disk comme suit :
# /etc/xen/fedora
...
disk = [phy:sda7,sda1,w]
Premier
dmarrage
Avant de dmarrer votre nouveau systme domU, vous devez dmonter son systme de
chiers de larborescence du dom0 :
root@Dom0# cd
root@Dom0# umount /domu-filesys
Pour nir, lancez dans une console xm create fedora -c. Cela lance le domaine fedora et lie
le terminal Xen avec la console courante. Toutes les tches du domU (messages du noyau,
etc.) safchent dans la console locale. Lorsque tout se passe bien, vous pouvez vous connecter.
Cet exemple est largement lagu pour des raisons de place.
root@dom0# xm create fedora -c
Using config file "/etc/xen/fedora".
Started domain fedora
...
Linux version 2.6.25.3-2.fc9.i686.xen (mockbuild@) (gcc version 4.3.0 20080428
(Red Hat 4.3.0-8) (GCC) ) #1 SMP Thu May 29 12:48:20 EDT 2008
ACPI in unprivileged domain disabled
BIOS-provided physical RAM map:
Xen: 0000000000000000 - 0000000019800000 (usable)
0MB HIGHMEM available.
408MB LOWMEM available.
...
Detected 1196.929 MHz processor.
...
input: Macintosh mouse button emulation as /devices/virtual/input/input0
...
XENBUS: Device with no driver: device/vbd/2049
XENBUS: Device with no driver: device/vif/0
...
SCSI subsystem initialized
register_blkdev: cannot get major 8 for sd
...
Fedora release 9 (Sulphur)
Kernel 2.6.25.3-2.fc9.i686.xen on an i686 (/dev/hvc0)
localhost.localdomain login: kofler
Password: ******
Last login: Thu Apr 5 19:59:41 on hvc0
[kofler@localhost ~]$
Linux Livre Page 650 Mardi, 23. septembre 2008 1:05 13
651 XEN
Pour connatre ltat de tous les domaines Xen, vous pouvez lancer la commande xm list.
Ltat b signie blocked et indique que le systme na rien faire et quil attend des tches.
root@Dom0# xm list
Name ID Mem(MiB) VCPUs State Time(s)
Domain-0 0 1213 2 r----- 357.2
fedora 10 399 1 -b---- 19.0
Problmes Jai bien d lancer vingt fois xm create name -c avant que mon premier domaine domU ne
se lance. Les sources derreur les plus frquentes sont les suivantes :
Le noyau du domU est incompatible avec Xen (mauvaise architecture de processeur,
prise en charge de PAE, message derreur error 22, invalid argument).
Ni le noyau du domU, ni le chier initrd ne contiennent le pilote xenblk. Alors, le
noyau du domU ne peut pas accder la partition racine, ce qui renvoie lerreur kernel
panic - not syncing.
Le noyau lanc par Xen ne correspond pas au rpertoire de modules /lib/modules/n du
systme domU. Le noyau domU ne peut donc pas charger de modules. Dans ce cas, le
dmarrage du systme commence normalement, mais les problmes surviennent pendant
le processus InitV.
Heure Le systme domU utilise automatiquement lheure du dom0. Il ne sert donc rien dexcuter
un serveur ntpd sur le domU. Si vous dsirez rgler lheure de ce systme indpendamment de
lheure du dom0, vous devez ajouter la commande suivante dans le processus InitV :
root# echo 1 > /proc/sys/xend/independent_wallclock
Cloner un
domU
Lorsque le systme fonctionne, vous pouvez le cloner sans problme. Arrtez le domU,
copiez limage et le chier de conguration, puis modiez la ligne disk du nouveau chier
de conguration. Cest tout ! Vous pouvez alors dmarrer deux systmes domU indpen-
damment lun de lautre.
Installation de Windows (HVM)
Vous pouvez aussi lancer Windows XP sous Xen si votre processeur prend en charge la virtua-
lisation matrielle.
Linstallation de Xen en mode HVM est plus simple que celle de Linux en paravirtualisation.
Vous avez dabord besoin dun chier image pour le disque dur virtuel. De plus, il vaut
mieux utiliser une image ISO du CD, plutt que le CD lui-mme lors de linstallation.
root@dom0# cd xen-images
root@dom0# dd if=/dev/zero of=winxp.img bs=1 count=0 seek=4G
root@dom0# cd iso-images
root@dom0# dd if=/dev/scd0 of=winxp.iso
Le chier de conguration de Xen doit suivre le schma suivant. Les paramtres builder,
kernel et device_model sassurent que Xen lance le mode HVM et non la paravirtualisation.
device_model doit contenir, selon larchitecture du processeur du dom0, lib ou lib64.
Linux Livre Page 651 Mardi, 23. septembre 2008 1:05 13
LINUX 652
Le paramtre disk dnit cette fois deux paramtres : un chier image pour le disque vir-
tuel et un chier ISO pour le lecteur CD. Windows voit ces deux lecteurs comme matres
des deux canaux IDE. Attention, le mode HVM de Xen ne prend pas encore en charge
laccs aux donnes via tap:aio:. Vous devez donc utiliser lcriture classique file:.
boot demande Xen de dmarrer depuis le CD-ROM (lecteur D: dans la nomenclature
Windows).
# /etc/xen/winxp dans le systme dom0
name = winxp
builder = hvm
kernel = /usr/lib/xen/boot/hvmloader
device_model = /usr/lib/xen/bin/qemu-dm
# /usr/lib64/xen/bin/qemu-dm (bei 64-Bit-Xen)
memory = 256
disk = [ file:/\zsi{xen-images}/winxp.img,ioemu:hda,w,
file:/\zsi{iso-images}/winxp_pro_with_sp2.iso,hdc:cdrom,r]
boot = d
vif = [ type=ioemu ]
sdl = 1
xm create dmarre linstallation. Une fentre HVMXEN souvre automatiquement ; elle
reprsente le systme graphique du domU. Cette fentre se comporte comme QEMU :
Ctrl+Alt rend le focus de la souris et du clavier, et Ctrl+Alt+F passe du mode fentre au
mode plein cran (ce qui, dans mon environnement de test, mne un plantage systmati-
que de lordinateur). Attention, lorsque vous fermez la fentre, le systme domU steint
brutalement (comme lors dune coupure de courant).
root@dom0# xm create winxp
Linstallation elle-mme se droule comme sur un ordinateur rel, mais plus lentement.
Lorsque linstallation sest bien droule, modiez les paramtres disk et boot du chier de
conguration. Vous pourrez ainsi dmarrer directement Windows depuis le disque dur
virtuel C: et accder au lecteur CD physique du dom0.
# /etc/xen/winxp dans le systme de fichiers dom0
...
disk = [ file:/\zsi{xen-images}/winxp.img,ioemu:hda,w,
phy:scd0,hdc:cdrom,r]
boot = c
33.6 Interaction avec le systme domU dmarr (SDL, VNC)
Lorsque le systme domU fonctionne avec une connexion rseau, lchange de donnes et le
contrle peuvent seffectuer via le rseau (par exemple, avec ssh). Avant que cela ne soit
fonctionnel, il faut utiliser les consoles Xen comme SDL ou VNC. Cette section propose
quelques astuces pour grer ces outils.
Linux Livre Page 652 Mardi, 23. septembre 2008 1:05 13
653 XEN
Si, pour une raison ou une autre, vous ne pouvez plus accder au domU, vous pouvez
toujours larrter avec xm. Lidentiant du domaine sobtient avec xm list.
root@dom0# xm shutdown identifiant
Console Xen
La forme la plus simple dinteraction avec le systme domU est la console Xen. Si vous
avez oubli loption -c en lanant votre domaine, vous pouvez vous connecter la console
ultrieurement :
root@dom0# xm console nom_domaine
Cette commande donne souvent limpression quelle a t ignore. En fait, elle a bel et bien
fonctionn. Appuyez sur Entre ; linvite de connexion du systme domU apparat alors
dans la console.
Pour sortir de la console, tapez la combinaison de touches Ctrl+] soit, sur un clavier fran-
ais, Ctrl+AltGr+). Le systme domU continue fonctionner, mais vous ne pouvez plus voir
ce quil se passe dans la console.
SDL
Lorsque la conguration de Xen contient la ligne sdl=1, une fentre doit safcher immdia-
tement aprs le dmarrage avec le contenu de lcran (framebuffer). Lorsque le domU
dmarre X, la fentre afche le systme graphique du systme. Pour que cela fonctionne,
le chier de conguration de X du systme domU doit contenir les paramtres suivants. Les
paramtres Identifier sont arbitraires, mais doivent correspondre ceux indiqus dans
les sections Screen et ServerLayout.
# /etc/X11/xorg.conf dans le systme de fichiers du domU
Section "Device"
Identifier "<nom_priphrique>"
Driver "fbdev"
Option "fbdev" "/dev/fb0"
EndSection
Section "InputDevice"
Identifier "<nom_souris>"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/input/mouse0"
EndSection
...
Fermer et
rouvrir la
fentre SDL
Lorsquon ferme une fentre SDL, les domaines paravirtualiss continuent tourner, tandis
que les domaines HVM sarrtent immdiatement. Lorsquun domaine paravirtualis
fonctionne, vous pouvez rtablir la connexion SDL en lanant manuellement xen-sdlfb.
Lidentiant du domaine sobtient avec xm list.
root@dom0# /usr/lib/xen/bin/xen-sdlfb --domid 10
Linux Livre Page 653 Mardi, 23. septembre 2008 1:05 13
LINUX 654
VNC
Xen possde un petit serveur VNC. Vous pouvez donc aussi afcher le contenu de lcran
via VNC. Pour cela, le chier de conguration de Xen doit contenir la ligne vnc=1. Par
dfaut, le serveur VNC de Xen utilise ladresse IP 127.0.0.1, les ports 5900, 5901, 5902, etc. et
aucun mot de passe. Tous les paramtres de VNC peuvent tre modis globalement
dans /etc/xen/xen-config.sxp ou individuellement pour chaque domaine. Attention, le
paramtre utilis dans de nombreux exemples, vnclisten = 0.0.0.0, donne accs aux
machines virtuelles pour tout le rseau local, ce qui peut reprsenter un risque de scurit.
# /etc/xen/domainname dans dom0
...
vnc = 1
vnclisten = "127.0.0.1"
vncpasswd = "xxx"
Loption vncunused=0 permet dutiliser le numro de port 5900+n, o n est lidentiant du
domaine. Vous pouvez, en plus de vncunused=0, indiquer le numro de port avec vncdis-
play=n (o n est ajout 5900). Si vous ne savez pas sur quels ports fonctionne le serveur
VNC, utilisez netstat :
root@Dom0# netstat -lpn | grep xen
tcp 0 0 127.0.0.1:5906 0.0.0.0:* LISTEN 6005/xen-vncfb
tcp 0 0 127.0.0.1:5907 0.0.0.0:* LISTEN 6104/xen-vncfb
...
Dans le domU, il faut utiliser la mme conguration de X que pour SDL (voir ci-dessus).
Lorsque le domU est dmarr, lancez vncviewer ainsi :
root@dom0# vncviewer localhost:5906
33.7 Syntaxe du fichier de configuration du domU
Cette section rsume les paramtres importants du chier de conguration dun domU (/etc/
xen/nom).
builder = linux / hvm indique le type de domaine. linux est le paramtre par
dfaut et reprsente un domaine paravirtualis.
device_model = fichier doit contenir, pour les domaines HVM, /usr/lib[64]/xen/
bin/qemu-dm.
disk = [chane1,chane2...] dcrit un ou plusieurs supports de donnes. La syntaxe
de la chane est type:priphrique_rel,priphrique_virtuel,mode.
type peut avoir la valeur phy (priphrique physique), tap:aio (accs un chier image
via linterface tap) ou file (accs un chier image pour les domaines HVM). Les pri-
phriques sont dcrits par leur nom sans /dev/. Les modes possibles sont r (lecture
seule) et w (lecture/criture). Lexemple suivant dnit trois supports de donnes : une
image pour la partition systme et une pour la partition dchange, ainsi que le lecteur
CD de lhte pour le lecteur CD :
Linux Livre Page 654 Mardi, 23. septembre 2008 1:05 13
655 XEN
disk = [tap:aio:/repertoire/root.img,sda1,w,
tap:aio:/repertoire/swap.img,sda2,w,
phy:scd0,scd0,r]
extra = paramtre ajoute des paramtres optionnels au noyau Linux.
kernel = fichier est le nom du chier du noyau Linux ou celui du chargeur HVM
(souvent /usr/lib/xen/boot/hvmloader).
memory = n indique la taille de la mmoire rserve pour le domaine en mgaoctets.
name = nom est le nom du domaine. Ce nom est utilis pour la gestion dans le dom0.
ramdisk = fichier est le nom du chier initrd pour le noyau Linux.
root = priphrique est la partition systme de Linux. Il est intressant de passer ce
paramtre via son UUID.
sdl = 1 reprsente le systme graphique du domaine dans une fentre SDL.
vcpus = n indique le nombre de processeurs virtuels. Par dfaut, le domaine est associ
un seul processeur.
vif = [chane1,chaine2...] dcrit une ou plusieurs interfaces rseau. Les chanes
peuvent, dans le cas le plus simple, rester vides (interface par dfaut, DHCP). Les para-
mtres possibles sont type, mac, bridge et ip. Pour les interfaces HVM, il faut utiliser
type=ioemu, comme dans lexemple suivant :
vif = [ type=ioemu, mac=01:23:45:67:89:ab, bridge=xenbr0 ]
vnc = 1 dmarre un serveur VNC avec le domaine. Les paramtres vnclisten et vnc-
passwd permettent de contrler sur quelle adresse le serveur peut tre contact et par
quel mot de passe il est protg.
33.8 Administration de Xen
xm La commande au cur de ladministration des domaines Xen est xm. Elle sert dmarrer et
arrter des domaines, modier le matriel virtuel, etc. La liste suivante rsume les prin-
cipales commandes xm. man xm en fournit une description plus dtaille.
block-attach id rel virtuel mode associe au domaine indiqu le support de donnes
rel sous le nom virtuel indiqu dans le mode souhait (ro ou rw).
block-detach id-domaine id-priphrique supprime le support de donnes du
domaine.
block-list id afche une liste des priphriques attachs un domaine avec leurs
identiants de priphrique.
console id connecte la console actuelle avec la console Xen du domaine dj dmarr,
dont le numro didentiant est indiqu.
create [-c] fichier dmarre le domaine indiqu par le chier de conguration du
rpertoire /etc/xen. Loption -c associe la console Xen du domaine directement la
console courante.
Linux Livre Page 655 Mardi, 23. septembre 2008 1:05 13
LINUX 656
destroy id teint le domaine immdiatement (comme lors dune coupure de courant).
dmesg afche les messages de Xen et du noyau.
info afche des informations sur le systme Xen (numro de version, processeurs, utili-
sation de la mmoire, etc.).
list afche une liste de tous les domaines lancs. Pour chacun deux, un tat est indiqu :
r : running (dmarr, fonctionne)
b : blocked (bloqu, attend une entre ou une sortie)
p : paused (en pause)
s : shutdown (en cours dextinction)
c : crashed (plant)
d : dying (mourant)
network-attach id paramtre associe une nouvelle interface rseau au domaine. Cette
interface est dcrite par les paramtres ip, mac, bridge et backend.
network-detach id-domaine id-interface supprime linterface du domaine.
network-list id afche les interfaces du domaine et les identiants associs.
pause id met en pause le domaine indiqu. Il consomme toujours de la mmoire, mais
ne demande plus de ressources processeur.
shutdown [-w] id lance larrt du domaine. Loption -w sassure que xm attend la n de
larrt.
unpause id relance, aprs une pause, un domaine.
xentop xentop est une variante de la commande top habituelle. Elle montre lutilisation mmoire,
loccupation processeur et divers autres paramtres de tous les domaines lancs (y compris
dom0). Lafchage est rgulirement actualis jusqu ce que vous terminiez le programme
avec Q.
Dmarrer
et arrter
automati-
quement des
domaines
Le script InitV /etc/init.d/xendomain enregistre, lors de larrt de lordinateur, ltat de
tous les domaines lancs (xm save) et les ractive lors du redmarrage de lordinateur.
Pour activer certains domaines chaque fois que lordinateur est dmarr (indpendamment
de leur tat lors de larrt de lordinateur), crez des liens vers ces domaines dans /etc/xen/
auto :
root# cd /etc/xen/auto
root# ln -s ../fichier_config .
Outils
dadminis-
tration
graphiques
Il existe diverses interfaces dadministration pour Xen, comme par exemple Xenman (voir
http://xenman.sourceforge.net). SUSE et Red Hat ont des outils spciques aux distributions :
le module YaST Systme, Virtualisation (paquetage yast-vm) et virt-manager.
Linux Livre Page 656 Mardi, 23. septembre 2008 1:05 13
ANNEXES
A
Rfrences thmatiques
Ce chapitre offre un rapide descriptif des principales commandes sous Linux.
Pour une rfrence complte des commandes en question, utilisez man commande
ou info commande (ou help commande sil sagit dune commande intgre
linterprteur). Il se peut que certaines des commandes dcrites ici doivent tre
installes sparment.
Gestion des fichiers
cat afche un chier sur la sortie standard ; est aussi utilis pour
grouper plusieurs chiers en un
cd change de rpertoire
chgrp modie lappartenance dun chier un groupe
chmod modie les bits daccs dun chier
chown modie le propritaire dun chier
cp copie un chier
file tente de dterminer le type dun chier
ln cre des liens durs et symboliques
ls afche le contenu dun rpertoire
mkdir cre un nouveau rpertoire
mv dplace un chier ou le renomme
rm supprime un chier
rmdir supprime un rpertoire vide
rsync synchronise des rpertoires
tee duplique la sortie standard
ACL (listes de contrle daccs) et EA (attributs tendus)
attr gre les attributs tendus dun chier
chacl gre les ACL dun chier
getfacl value les ACL dun chier
getfattr value les attributs tendus dun chier
setfacl modie les ACL dun chier
setfattr modie les attributs tendus dun chier
Linux Livre Page 657 Mardi, 23. septembre 2008 1:05 13
LINUX 658
Recherche de fichiers
beagle-query cherche des chiers daprs leur contenu
find cherche des chiers daprs leur nom, taille, date, etc.
grep cherche du texte dans un chier texte
locate cherche des chiers dans une base de donnes prtablie
updatedb actualise la base de donnes de locate
whereis cherche des chiers dans des rpertoires prdnis
which parcourt les rpertoires de PATH la recherche de commandes
Traitement de fichiers texte
cat afche un chier sur la sortie standard ; est aussi utilis pour grouper plu-
sieurs chiers en un
csplit dcoupe un chier en sections grce un sparateur
cut extrait des colonnes de toutes les lignes dun texte
diff compare deux textes
expand remplace les tabulations par des espaces
fold met en forme un chier une largeur donne
grep cherche du texte dans un chier
head afche les premires lignes dun chier
iconv modie le jeu de caractres dun chier
less afche un chier page par page (avec retour arrire)
more afche un chier page par page (sans retour arrire)
paste runit plusieurs chiers texte ligne ligne
patch modie un chier selon un chier gnr par diff
recode convertit un chier entre diffrents jeux de caractres
sed dite les ux (diteur programmable)
sort trie un chier
split spare un chier en morceaux dune taille donne
strings afche les chanes de caractres dun chier binaire
tac afche un chier dans lordre inverse (dernire ligne au dbut)
tail afche les dernires lignes dun chier
tr remplace les caractres indiqus par dautres caractres
uniq supprime les doublons dun chier
zcat afche un chier compress
zless afche un chier compress page par page (avec retour arrire)
zmore afche un chier compress page par page (sans retour arrire)
Linux Livre Page 658 Mardi, 23. septembre 2008 1:05 13
659 RFRENCES THMATIQUES
Compresser et archiver des fichiers
bunzip2 dcompresse des chiers compresss avec bzip2
bzip2 compresse des chiers ; plus performant que gzip
cpio archive des chiers indpendamment du systme de chiers
compress compresse des chiers
gunzip dcompresse des chiers compresss avec gzip
gzip compresse des chiers ; plus performant que compress
mt contrle le fonctionnement dun disque magntique (avance, recul de
bande, etc.)
tar groupe plusieurs chiers et rpertoires dans un seul chier
uncompress dcompresse des chiers compresss avec compress
unzip dcompresse une archive Zip
zip cre une archive Zip (compatible avec Windows)
zipinfo afche le contenu dune archive Zip
Graver des CD/DVD
cdrdao grave un CD en mode Disk-at-Once
cdrecord grave un CD ou un DVD
dvd+rw-format formate un DVD+RW ou un DVD-RW
dvd+rw-mediainfo afche des informations sur un support de donnes optique
genisoimage cre une image ISO (variante mkisofs)
growisofs grave un DVD ou un disque Blue-Ray
mkisofs cre une image ISO
mkudffs cre un systme de chiers UDF (par exemple, sur un DVD-RAM)
wodim grave un CD ou un DVD (variante cdrecord)
Convertisseurs
a2ps convertit un chier texte en format PostScript
convert convertit un chier graphique vers diffrents formats
convmv modie le jeu de caractres dun nom de chier
enscript convertit un chier texte en format PostScript
epstopdf convertit un chier EPS en chier PDF
gs convertit des chiers PostScript et PDF en format bitmap
inconv modie le jeu de caractres dun chier texte
mogrify modie les paramtres dun chier image
mpage convertit un chier texte en format PostScript
Linux Livre Page 659 Mardi, 23. septembre 2008 1:05 13
LINUX 660
pdf2ps convertit un chier PDF en chier PostScript
pdftk manipule des chiers PDF
pdftops alternative psd2ps
pdftotext transforme un document PDF en texte brut
ps2pdf convertit un chier PS en chier PDF
recode modie le jeu de caractres dun chier texte
Gestion des programmes et des processus
bg passe un processus en arrire-plan (tche de fond)
chroot dmarre un interprteur de commandes avec un rpertoire racine diffrent
fg passe un processus en avant-plan
fuser dtermine le programme qui accde un chier
halt termine Linux et teint lordinateur
kill envoie des signaux (gnralement pour terminer un processus)
killall comparable kill, mais sapplique des noms de processus
ldconfig actualise le chier de cache de la recherche de bibliothques
lsof afche une liste de tous les chiers ouverts et des processus associs
nice dmarre un programme avec une priorit modie
nohup dmarre un processus "indestructible"
pidof afche le numro de processus dun programme dmarr
ps afche la liste des processus courants
pstree comparable ps, mais afche les rsultats sous forme arborescente
reboot termine Linux et redmarre lordinateur
renice modie la priorit dun processus en cours dexcution
sudo lance un programme en tant que root
top afche une liste actualise rgulirement de tous les processus
Gestion des utilisateurs et des groupes
adduser cre un nouvel utilisateur (Debian)
addgroup cre un nouveau groupe (Debian)
chgrp modie lappartenance dun chier un groupe
chown modie le propritaire dun chier
chsh modie linterprteur de commandes par dfaut dun utilisateur
delgroup supprime un groupe (Debian)
deluser supprime un utilisateur (Debian)
groupadd cre un nouveau groupe
groupdel supprime un groupe
groupmod modie les proprits dun groupe
groups afche les groupes de lutilisateur courant
Linux Livre Page 660 Mardi, 23. septembre 2008 1:05 13
661 RFRENCES THMATIQUES
id afche les identiants dutilisateur et de groupe de lutilisateur courant
newgrp modie le groupe courant dun utilisateur
newusers cre plusieurs utilisateurs
passwd modie le mot de passe dun utilisateur
useradd ajoute un utilisateur
userdel supprime un utilisateur
usermod modie les proprits dun utilisateur
Administration du systme de fichiers
badblocks teste si le support de donnes contient des secteurs dfectueux
dd copie des blocs de donnes entre des priphriques (bas niveau)
df afche lespace libre dun disque dur
du dtermine la place ncessaire un rpertoire
dumpe2fs afche des informations internes sur un systme de chiers ext
eject jecte un CD ou une disquette
fdformat formate une disquette
fdisk partitionne un disque dur
fsck rpare un systme de chiers
fsck.type rpare un systme de chiers du type indiqu
hdparm modie les paramtres du disque dur
mdadm gre les partitions RAID
mkfifo cre un chier FIFO (tube nomm)
mkfs cre un systme de chiers
mkfs.type cre un systme de chiers du type indiqu
mknod cre un chier de priphrique
mkswap cre un chier ou une partition dchange
mount monte un systme de chiers dans larborescence de rpertoires
ntfsmount monte un systme de chiers NTFS dans larborescence de rpertoires
(variante 1)
ntfs-3g monte un systme de chiers NTFS dans larborescence de rpertoires
(variante 2)
pmount monte un support de donnes externe dans larborescence de rpertoires
pumount dmonte un support de donnes externe de larborescence de rpertoires
smartctl contrle les fonctions SMART du disque dur
swapoff dsactive un chier ou une partition dchange
swapon active un chier ou une partition dchange
sync effectue toutes les oprations dcriture du tampon
tune2fs modie les paramtres systme dun systme de chiers ext
Linux Livre Page 661 Mardi, 23. septembre 2008 1:05 13
LINUX 662
umount dmonte un systme de chiers de larborescence de rpertoires
vol_id afche lUUID, le nom et dautres donnes dune partition
volname afche le nom de volume dun CD
Gestion de paquetages
alien convertit des paquetages entre diffrents formats
alternatives ajuste les liens de /etc/alternatives (Fedora, Red Hat)
apt-cache afche des informations sur les paquetages installs et disponibles
apt-cdrom ajoute un CD/DVD comme dpt de paquetages pour APT
apt-get permet de grer des paquetages DEB
apt-key rcupre la cl dun dpt de paquetages APT
aptitude permet de grer des paquetages DEB
dpkg (ds)installe ou actualise les paquetages DEB
rpm (ds)installe ou actualise les paquetages RPM
update-alternatives ajuste les liens de /etc/alternatives
yum permet de grer des paquetages RPM
zypper permet de grer des paquetages RPM (spcique SUSE)
Fonctions rseau
ftp transfre des chiers interactivement via FTP
host rsout les adresses IP et noms rseau
hostname afche et modie le nom de lordinateur local
ifconfig congure les interfaces rseau et afche leur tat
ifdown dsactive une interface rseau
ifup active une interface rseau
iptables congure le ltre de paquets (pare-feu) de Linux
iwconfig congure les interfaces rseau sans l et afche leur tat
iwlist afche des informations sur le contrleur et le rseau Wi-Fi
netstat afche des informations sur lactivit rseau de lordinateur local
nmap afche des informations sur lactivit rseau dun ordinateur distant
ping teste la connexion rseau vers un autre ordinateur
route modie et afche les tables de routage IP
rsync synchronise des rpertoires rseau
scp transfre des chiers de manire chiffre via SSH
sftp transfre des chiers de manire chiffre via SFTP
smbclient transfre des chiers vers/depuis des partages Windows
ssh permet de se connecter dautres ordinateurs du rseau
traceroute afche les tapes vers une adresse rseau
wget tlcharge des chiers ou des rpertoires via FTP/HTTP
Linux Livre Page 662 Mardi, 23. septembre 2008 1:05 13
663 RFRENCES THMATIQUES
Administration de limprimante
lpadmin ajoute ou supprime une imprimante (CUPS)
lpinfo afche des informations sur les priphriques et pilotes dimpression dis-
ponibles (CUPS)
lpoptions afche les options dune imprimante et les modie (CUPS)
lpq afche le contenu dune le dimpression
lpr imprime un chier
lprm supprime une tche dimpression de la le
lpstat afche des informations sur les imprimantes, les tches dimpression, etc.
(CUPS)
Gestion du matriel
acpi afche des informations sur ltat de la batterie
free afche lespace libre de la mmoire (mmoire vive et espace dchange)
lshal afche des informations sur la couche dabstraction matrielle HAL
lspci afche des informations sur les composants PCI
lsscsi afche des informations sur les priphriques SCSI connects
lsusb afche des informations sur les priphriques USB connects
pccardctl contrle les cartes PCMCIA
Noyau et modules
depmod actualise le chier de dpendances des modules modules.dep
insmod charge un module dans le noyau
lsmod afche la liste de tous les modules chargs
modinfo afche des informations sur un module
modprobe charge un module et tous les modules dont il dpend dans le noyau
rmmod supprime un module du noyau
sysctl modie les paramtres du noyau
Dmarrage et arrt du systme
chkconfig cre des liens InitV (Red Hat, Fedora)
grub lance linterprteur de commandes GRUB (par exemple, pour installer le
chargeur damorage)
invoke.rc lance un script InitV (Debian, Ubuntu)
lilo installe le gestionnaire damorage LILO
Linux Livre Page 663 Mardi, 23. septembre 2008 1:05 13
LINUX 664
init passe dans un autre niveau dexcution
insserv cre des liens InitV (SUSE)
mkinitramfs cre un chier initrd pour le gestionnaire damorage (Ubuntu)
mkinitrd cre un chier initrd pour le gestionnaire damorage
service lance un script InitV (Red Hat, Fedora)
shutdown termine Linux
update-rc.d cre des liens InitV (Debian, Ubuntu)
Terminal et console texte
echo afche une ligne de texte
printf permet de mettre en forme une sortie comme en C
reset nettoie le terminal
setfont modie la fonte du terminal
setterm modie divers paramtres du terminal
Aide en ligne
apropos afche les commandes relatives un thme
help afche la description dune commande de linterprteur de commandes
info dmarre le systme info
man afche la description dune commande
whatis afche une courte description dune commande
Divers
basename dtermine le nom de chier dun chemin
cksum calcule la somme de contrle CRC dun chier
date afche la date et lheure
dirname dtermine le rpertoire dun chemin
dmesg afche les messages du noyau, en particulier pendant le dmarrage
expr excute des calculs et des comparaisons
ldd afche les bibliothques ncessaires dun programme
md5sum calcule une somme de calcul dun chier
rdev modie quelques bits dans le noyau
sleep attend une dure dtermine
sum calcule la somme de contrle dun chier
tty afche le nom du priphrique du terminal courant
uname afche le nom et le numro de version du systme dexploitation
xargs transmet la sortie standard comme argument dune autre commande
Linux Livre Page 664 Mardi, 23. septembre 2008 1:05 13
665 RFRENCES THMATIQUES
bash Gestion des variables
alias dnit un alias/raccourci
declare dnit une variable denvironnement
export dnit une variable denvironnement
local dnit une variable locale une fonction
printenv nafche que les variables denvironnement
read lit une variable
readonly afche toutes les variables protges en criture
set afche toutes les variables connues de linterprteur
shift dcale la liste de paramtres
unalias supprime un alias
unset supprime une variable
bash Programmation
break termine une boucle prmaturment
case introduit une diffrenciation de cas
continue fait limpasse sur le reste du corps de la boucle
exit termine le programme shell
for introduit une boucle
function dnit une nouvelle fonction
if introduit une condition
local dnit une variable locale une fonction
return termine une fonction
source lance le chier shell indiqu
test value une condition
until introduit une boucle
while introduit une boucle
bash Commandes
dirs afche la liste des rpertoires enregistrs
eval value la commande indique
popd passe dans le dernier rpertoire enregistr
pushd enregistre le rpertoire courant et passe dans un nouveau rpertoire
trap lance une commande larrive dun signal
ulimit contrle les ressources rclames par le shell
wait attend la n dun processus en tche de fond
Linux Livre Page 665 Mardi, 23. septembre 2008 1:05 13
Linux Livre Page 666 Mardi, 23. septembre 2008 1:05 13
B
Sources d'information
Ce chapitre recense divers sites web utiles pour l'installation et la conguration des distribu-
tions Linux mentionnes dans cet ouvrage. Celles-ci sont numres dans l'ordre alphabtique.
Debian
Site web de Debian http://www.debian.org/
Communaut francophone http://forum.debian-fr.org/
Wiki Debian http://wiki.debian.org/
Manuel d'installation http://www.debian.org/releases/stable/installmanual
Fedora
Site web de Fedora http://www.fedoraproject.org/
Communaut francophone http://www.fedora-fr.org/
Wiki Fedora https://fedoraproject.org/wiki/
Wiki Fedora francophone http://doc.fedora-fr.org/wiki/
Manuel d'installation http://doc.fedora-fr.org/wiki/Guide_d'installation_de_Fedora_en
_images
Mandriva
Site web de Mandriva http://www.mandriva.com/
Communaut francophone http://www.mandriva.com/fr/communaute/bienvenue
Wiki Mandriva http://wiki.mandriva.com/
Manuel d'installation http://wiki.mandriva.com/fr/Installer_Mandriva_Linux
openSUSE
Site web d'openSUSE http://www.opensuse.org/
Communaut francophone http://fr.opensuse.org/
Manuel d'installation http://fr.opensuse.org/Documentation_utilisateurs/Installation
Linux Livre Page 667 Mardi, 23. septembre 2008 1:05 13
LINUX 668
Red Hat
Site web de Red Hat http://www.redhat.com
Red Hat France http://www.redhat.fr/
Manuel d'installation http://www.redhat.com/docs/manuals/linux/ (en anglais)
SUSE
Site web de SUSE http://www.novell.com/linux/
Ubuntu et ses variantes
Site web d'Ubuntu http://www.ubuntu.com/
Site web de Kubuntu http://www.kubuntu.org/
Site web de Xubuntu http://www.xubuntu.org/
Site web d'Edubuntu http://edubuntu.org/
Communaut francophone http://www.ubuntu-fr.org/
Manuel d'installation http://doc.ubuntu-fr.org/installation
Informations gnralistes
Divers articles d'aide http://www.lea-linux.org
Comparatif de distributions http://www.distrowatch.com
Articles divers http://www.unixgarden.com
Autour du logiciel libre
Actualit du logiciel libre http://www.linuxfr.org
AFUL http://www.aful.org
APRIL http://www.april.org
FSF France http://www.fsffrance.org/
GNU http://www.gnu.org/home.fr.html
Linux Livre Page 668 Mardi, 23. septembre 2008 1:05 13
Index
Symboles
$DISPLAY 220
$PATH 214
$PS1 285
. 182
.. 182
/ 181
/bin 209
/boot 209
/dev 209
/dev/null 211
/dev/zero 211
/etc 209
/etc/adduser.conf 310
/etc/aliases 99
/etc/default 303
/etc/default/console-setup 306
/etc/default/rcS 307
/etc/deluser.conf 310
/etc/exports 601
/etc/fstab 423
CD 442
CIFS 449
cl USB 446
disque dur externe 446
DVD 442
exemple 423
ext3 429
LABEL 423
NFS 448
NTFS
ntfs-3g 440
ntfsmount 439
pilote ntfs 438
option users 446
options 425
partition dchange 450
reiser4 433
reiserfs 433
SMBFS 449
syntaxe 423
systme de chiers 424
UUID 423, 446
vrication du systme de
chiers 425
VFAT 437
xfs 435
/etc/group 312
/etc/gshadow 316
/etc/host.conf 506
/etc/hostname 509
/etc/hosts 505
/etc/iftab 510
/etc/init.d 476
/etc/init.d/ 225
reload 226
restart 226
start 225
stop 226
/etc/init.d/network 511, 512
/etc/init.d/networking 510
/etc/localtime 308
/etc/login.defs 314
/etc/logrotate.conf 335
/etc/logrotate.d/* 335
/etc/network/interfaces 510, 524
/etc/pam.d 317
/etc/passwd 310
/etc/rc.d 476
/etc/resolv.conf 503, 506
/etc/security 317
/etc/services 562
/etc/shadow 313
/etc/skel 311
/etc/syscong 303
/etc/syscong/clock 307
/etc/syscong/console 306
/etc/syscong/i18n 305
/etc/syscong/keyboard 305
/etc/syscong/network 508, 509,
512
/etc/syscong/network/
cong 526
/etc/syscong/network-
scripts 511
/etc/syslog.conf 334
/etc/timezone 307
/home 182, 209
/lib 209
/lib/rmware 519
/lost+found 209
/media 209
/mnt 209
/opt 209
/proc 209
/proc/acpi 326
/proc/apm 327
/proc/asound 331
/proc/net/wireless 523
/root 182, 209
/sbin 210
/sbin/setsysfont 305
/share 210
/srv 210
/sys 210
/tmp 210
/usr 210
sous-rpertoires 210
/var 210
/var/adm/log 334
/var/log 334
Numriques
32 et 64 bits 26
3D 387
bureau 389
tester 388
802.11x (standards) 513
Linux Livre Page 669 Mardi, 23. septembre 2008 1:05 13
LINUX 670
A
AAC 161
abiword 134
AC-3 161
ACL
ACL standard 208
commandes, rfrence 657
getfacl 207
masques 208
prrequis 206
setfacl 207
ACPI 326, 473
acpid 326
addgroup 309
adduser 309
Administation 301
Adobe Flash Player 90
Adobe Reader 89
Adresse
IP 495, 496
MAC 495
ADSL 531
box 544
ip-down-local 576
ip-up.local 576
PPP 533
pppd 537
pppeoconf 533,534
PPPoA 537
PPPoE 537
PPTP 538
pptpcong 538
protocole 537
routeur 544
type de modem 533
Aide 41, 178
applications 48
commandes, rfrence 664
documentation 48
en franais 50
forums 49
groupes de discussion 41, 49
help 178
info 49, 178, 179
Linux Documentation
Project 49
man 49, 178
paquetages 49
wikis 49
AIGLX 391, 392
comparaison avec XGL 392
conguration 392
prise en charge des pilotes
graphiques 391
alacarte 54
alias 288
alien 355
alsactl 331
alsamixer 331
Amarok 164
Amorage
journalisation 335
options du noyau 472
aplay 331
APM 327, 473
Appareils photo
numriques 136
photo PTP 136
AppArmor 39
Applet, Java 92
APT 349
afchage dinformations 351
apt-cache 351
apt-get 349
aptitude 354
conguration 350
dpts 350
sur CD 350
installation de
paquetages 351
mise jour 351
automatique 352
paquetages de code
source 351
suppression 351
Synaptic 352
apt-cache 351
apt-get 349
installation 351
mise jour 351
paquetages de code
source 351
suppression 351
aptitude, ligne de
commande 354
arborescence 181, 209, 403
/bin 209
/boot 209
/dev 209
/etc 209
/home 209
/lib 209
/lost+found 209
/media 209
/mnt 209
/opt 209
/proc 209
/root 209
/sbin 210
/share 210
/srv 210
/sys 210
/tmp 210
/usr 210
/var 210
ajouter un systme de
chiers 403
dplacement dans 182
racine 181
Architectures 325
32 et 64 bits 26
Archive 194
Ark 76
commandes, rfrence 659
le-roller 63
tar 195
unzip 196
zip 195
arecord 331
Ark 76
Arrt 47
du systme, commandes,
rfrence 663
aRts 332
aRtsd 332
ASCII 319
ATA 404
ATAPI 404
Atheros 519
athn (interface) 521
Linux Livre Page 670 Mardi, 23. septembre 2008 1:05 13
671 INDEX
ATSC A/52 161
Attribut tendu 206
getfattr 208
prrequis 206
setfattr 208
Audio 157
lecteurs 157
audiole 234
aufs 420
autofs 419
autofs4 419
Avahi 528
B
Banshee 165
baobab 63, 185
Base (OpenOfce) 130
bash 283
$HOME 299
$MAIL 299
$PATH 214, 299
$PS1 285, 299
$PWD 299
alias 288
bash_completion 287
calcul arithmtique 294
caractre joker 185, 293
commandes, rfrence 665
compltement 286
avanc 287
automatique 175
conguration du clavier 284
construction de chanes avec
{} 294
invite de commande 285
mcanismes de
substitution 293
rsum 296
programmation,
commandes, rfrence 665
raccourcis clavier 174, 287
redirections
rsum 291
Voir Redirection
substitution de
commandes 294
succession de
commandes 292
tche de fond 291
tee 290
ulimit 217
variables 297
commandes, rfrence 665
importantes 299
locales et globales 298
Batterie (portable) 326
Beagle 192
beagle-query 193
expressions de recherche 193
gnome-beagle-search 193
kerry 193
ligne de commande 193
beagle-query 193
bg 214
BitTorrent 248
clients 248
Bluetooth 330
BMP (format) 151
bogolter 95
bootloader 459
Brasero 63
Brevet logiciel 21
bunzip2 195
Bureau
Gnome 52
KDE 68
Bureau 3D 358, 389
AIGLX 391, 392
Compiz Fusion 393
fonctions 389
prrequis 391
raccourcis clavier 390
XGL 391
Bureau virtuel 358
bzip2 195
C
Cache web 577
Calc (OpenOfce) 126
Captive 440
Caractre
accentu, nom de chier 181
tranger
gucharmap 395
kcharselect 395
saisie 48, 380, 395
joker 185
problme 186
CardBus (PCMCIA) 329
Carte graphique, pilotes 360
CD
/etc/fstab 442
audio 443
jection 442
erreur 442
ISO 9660 441
lecteur
nom de priphrique 441
magicdev 445
montage 442
supermount 445
UDF 441
cd 182
CD audio 162
extraction 163, 233
gravure avec Serpentine 63
lecture 162
CD et DVD
gravure
Voir Gravure
cdcd 164
cdda2wav 233
CDDB 162
cdparanoia 233
cdrdao 199
cdrecord 199
Cedega 622
Changement dutilisateur 46
Gnome 52
KDE 68
Linux Livre Page 671 Mardi, 23. septembre 2008 1:05 13
LINUX 672
Character set 319
Chargeur damorage 459
dmarrage du noyau 460
installation 40
chat 536
chgrp 203
Chiffrement (e-mails) 100
chkcong 227, 478
chmod 202, 204
valeurs octales 204
chroot 644
CIFS 418, 448, 606
mount 448
utilisateur sans privilges 449
Clavier
Compose 380
exemples 381
conguration 305
console texte 305
disposition 379
Gnome 65
gnome-keyboard-
properties 381
modle 378
nodeadkeys 305
nombre de touches 28
problme 42, 43
QWERTY 42
raccourcis 47
touches
de contrle 381
spciales 379
VerrMaj 380
VerrNum 379
xmodmap 380
Cl 101
prive 101
publique 101
Cl USB 443
etc/fstab 446
branchement chaud 444
conguration 444
D-BUS 444
dmonter 446
GRUB 470
hald 444
ivman 444
monter 445
performances 444
pmount 446
super-oppy 445
udev 444
Client rseau
conguration 544, 553
Debian 553
dhcpcd 553
Fedora 553
network-admin 553
Red Hat 553
SUSE 553
system-cong-
network 553
Ubuntu 553
redmarrage 554
coda 418
Codec 158
CodeWeavers 621
CrossOver 621
Commande, en tche de
fond 175
Compiz Fusion 393
conguration 393
gtk-window-decorator 393
kde-window-decorator 393
Compression 194
Ark 76
bunzip2 195
bzip2 195
commandes, rfrence 659
le-roller 63
gunzip 194
gzip 194
unzip 196
zip 195
Compte
courrier lectronique 96
e-mail 96
cone 95, 99
Conguration 301
clavier (console texte) 305
console texte 304
crer un utilisateur 308
fuseau horaire 307
LAN 493
mot de passe 314
police 305
rseau 493
souris 306
Conguration dun client
rseau 493
Conguration des langues 318
Connexion
automatique 46, 63, 77
bureau 45
en mode texte 46
Gnome 52
KDE 68
langue 45
root 45
Connexion automatique
Gnome 63
KDE 77
Console 173
dconnexion 173
fentre 174
Voir Terminal
lancer des commandes 175
paquetage 306
passage en root 175
raccourcis 174
souris 175
Console texte 173
clavier 305
commandes, rfrence 664
conguration 304
connexion 173
dconnexion 173
gpm 175
nombre 173
passage entre les consoles 173
police 305
raccourcis clavier 174
souris 306
console.apps 317
console.perms 317
consolehelper 220
Contrle parental 577
DansGuardian 582
Contrleur Ethernet
conguration 500
Linux Livre Page 672 Mardi, 23. septembre 2008 1:05 13
673 INDEX
Convertisseur 231
audio et vido 232
audiole 234
CD audio 233
cdda2wav 233
cdparanoia 233
commandes, rfrence 659
convmv 235
documents 235
donnes EXIF 232
dos2unix 234
EMF 232
ffmpeg 234
FLAC 234
graphique 231
iconv 234
Image Magick 231
lame 233
librsvg 232
libtiff 232
libwmf 232
MP3 233
Netpbm 232
noms de chiers 235
OGG 233
oggenc 233
PDF 235
PostScript 235
RAW 232
recode 234
SVG 232
texte 234
TIFF 232
unix2dos 234
WMF 232
convmv 235
Cookies 83
Copier-coller 48
Courrier lectronique 95
chiffrement 100
compte 96
Evolution 110
Kontact 115
local 98
MIME 97
signature 97, 100
Thunderbird 103
cp 184
CPU 325
cpufreq 325
cramfs 419
cron 227
/etc/crontab 227
/var/spool/cron 227
conguration 227
modication de la
conguration 228
crontab 227
syntaxe 228
CrossOver 621
cxinstallwizard 622
installation 622
de programmes 622
CrossOver Ofce 134
CSS (Content Scrambling
System) 159
CUPS 587
administration 593
web 592
cupsd.conf 592
ajouter une imprimante 594
conguration 589
d'une imprimante 595
contrle d'accs 590
cupsd.conf 589
cupsomatic 596
environnement interactif 594
chiers PPD 596
gestion de la le 593
HPLIP 594
imprimante rseau
client 598
serveur 597
imprimer 593
informations 594
IPP 599
lpadmin 594
lpc 594
lpinfo 594
lpoptions 594
lpq 593
lpr 588, 593
lprm 593
lpstat 594
PPD 596
redmarrer 590
supprimer une
imprimante 594
TCP Wrapper 592
URI 600
cupsd.conf 589
administration web 592
contrle d'accs 590
paremtres de base 590
cxinstallwizard 622
D
Damn Small Linux 14
DansGuardian 582
conguration 583
de Squid 585
dansguardian.conf 583
dansguardianf1.conf 583
ltre transparent 585
installation 583
personnalisation des
rgles 584
Date 307
D-BUS 444
dbus-daemon 330
dd 199
DDC 359
Debian 11, 667
Firefox 80
Dcodeur 158
Dconnexion 46
Gnome 52
KDE 68
mode texte 47
delgroup 309
Linux Livre Page 673 Mardi, 23. septembre 2008 1:05 13
LINUX 674
deluser 309
Dmarrage 45
automatique 64
KDE 78
bureau 45
connexion automatique 46
langue 45
mode texte 46
Dmarrage du systme 459
commandes, rfrence 663
initrd 461
InitV 474
mode
graphique 475
texte 475
modules du noyau 460
noyau 460
options damorage du
noyau 472
processus 474
Dmon 223
arrt manuel 226
arrter 477, 478
cron 227
dmarrage
automatique 226
manuel 225
dmarrer 477, 478
rechargement 226
redmarrage 226
suppression du dmarrage
automatique 227
depmod 485
devices.map 464
Devil Linux 14
devpts 418
df 184, 421
dhcdbd 553
dhclient 504, 553
dhclient.conf 553
DHCP 496, 504, 541, 548, 554
adresse MAC 549
avantages 548
conguration des clients 544,
553
dhcpd 554
dnsmasq 550
fonctionnement interne 549
nom dhte des clients 549
dhcpcd 504, 554
dhcpd 554
adresses statiques 555
arrt 554
conguration 555
minimale 555
dmarrage 554
dhcpd.conf 555
journalisation 556
noms dhtes 555
redmarrage 554
dhcpd.conf 555
digiKam 143
disque dur 402
ATA 404
cache dcriture 455
conomies dnergie 456
espace 184
externe 443
/etc/fstab 446
branchement chaud 444
conguration 444
D-BUS 444
dmonter 446
fonctionnement
manuel 445
GRUB 471
hald 444
ivman 444
monter 445
nom de priphrique 445
performances 444
pmount 446
subfs 445
submount 445
super-oppy 445
udev 444
UUID 446
hdparm 455
IDE 404
pilote 404
MBR 459
nomenclature 405
libata 405
pilote SCSI 405
nomenclature dans
GRUB 464
occupation avec baobab 63
occupation avec KDE 73
optimiser 455
paramtres 455
partitionnement
Voir Partitionnement
PATA 404
performances 455
pilote 404
IDE 404
libata 404
SCSI 404
SATA 404
SCSI 404
SMART 456
surveillance 456
Disquette 443
damorage 469
formatage 443
GRUB 469
magicdev 445
mtools 443
supermount 445
Distribution 8
64 bits 26
commerciale 10
critres de choix 8, 11
disponibilit des mises
jour 9
histoire 21
minimale 14
dmesg 334, 335, 502
DMZ 566
DNS 496, 541, 549
conguration des clients 506,
544, 553
dnsmasq 550, 551
serveur local avec
dnsmasq 551
dnsmasq 550
/etc/hosts 550
adresses statiques 552
arrter 551
conguration des clients 553
conguration minimale 551
dmarrer 551
DNS 551
Linux Livre Page 674 Mardi, 23. septembre 2008 1:05 13
675 INDEX
DNS pour lordinateur
local 552
dnsmasq.conf 550
journalisation 553
noms dhtes 552
redmarrer 551
serveur de noms 551
Documentation 48
applications 48
en franais 50
forums 49
groupes de discussion 49
info 49
Linux Documentation
Project 49
man 49
paquetages 49
wikis 49
Dolphin 71
barres complmentaires 72
rpertoire rseau 72
supports de donnes 72
vues 71
dos2unix 234
dpkg 348
APT 348
installation 349
suppression 349
syntaxe 349
DRI 387
droits daccs 388
DRM 22, 159
Droit daccs 202, 308
ACL 206
Voir ACL
afchage 183
attributs tendus
Voir Attribut tendu
bits
daccs 202
setgid 204
setuid 203
spciaux 203
chgrp 203
chmod 202, 204
erreur dans les bits
spciaux 204
groupe 202
Konqueror 73
lire 202
ls 202
modication 202, 204
du groupe 203
Nautilus 58
NTFS 436
prdnition 205
propritaire 202
sticky bit 204
sur priphrique 203
sur rpertoire 203
umask 205
du 185
DVB 170
dvb-apps 170
dvbscan 170
dvb-util 170
DVD
/etc/fstab 442
chiffrement 22
jection 442
erreur 442
formatage 201
informations 201
ISO 9660 441
lecteur
nom de priphrique 441
magicdev 445
montage 442
supermount 445
UDF 441
vido 443
lecture 163
dvd+rw-format 201
dvd+rw-mediainfo 201
dvd+rw-tools 200
E
e2label 431
EA
commandes, rfrence 657
Voir Attribut tendu
eBox 302
conomie dnergie 326
cran
Voir Moniteur
cran virtuel 357
diteur de texte 176
Elvis 176
Emacs 176, 263
gedit 63
Jed 176
Jmacs 176
Joe 177
Jove 176
Kate 77
KEdit 77
KWrite 77
nano 177
par dfaut 178
pico 177
Vi 176, 251
Vim 176, 251
Edubuntu 668
efs 417
Ekiga 79
El-Torito 441
Emacs 263
abrviations 273
caractres spciaux 281
casse 270
chargement de chier 264
conventions du clavier 267
copies de sauvegarde 265
correction des fautes de
frappe 270
dmarrage 264
Linux Livre Page 675 Mardi, 23. septembre 2008 1:05 13
LINUX 676
Emacs (suite)
dplacement du curseur 265,
268
crasement de texte 270
enregistrement 264
de la position du
curseur 268
espaces et tabulations 270
fentre 276
indentation 271
dans du texte continu 272
insertion de texte 270
marquage de texte 269
mise en vidence de la
syntaxe 278
mode
ddition 266, 277
exemples 278
de saisie 281
info 266
majeur 277
mineur 277
texte 273
quitter 264
recherche de texte 273
expressions
rationnelles 274
incrmentale 273
recherche et remplacement
de texte 275
souris 267
suppression de texte 269
systme daide 266
taille des tabulations 271
tampon 276
texte continu 272
Unicode 278
sous Gnu EMACS 279
sous Xemacs 279
E-mail 95
chiffrement 100
compte 96
Evolution 110
Kontact 115
local 98
MIME 97
signature 97, 100
Thunderbird 103
mulation 624
Encapsulated PostScript 152
Encodeur 158
env 323
esd 332
EsounD 332
Espace disponible 421
ethtool 502
evince 63, 588
Evolution 110
synchronisation avec un
PDA 114
EXIF 141, 144
exim 95
Explore2fs 432
exportfs 602
exports 601
ext 416, 428
ext2 35, 428
conversion vers ext3 430
ext2online 432
ext3 35, 428
/etc/fstab 429
accs depuis Windows 432
conversion depuis ext2 430
cration dun systme de
chiers 429
e2label 431
Explore2fs 432
ext2online 432
fragmentation 432
fsck.ext3 431
journalisation 429
mthodes 429
mke2fs 429
nom de la partition 431
paramtres avancs 431
pilote ext sous Windows 433
redimensionnement 431
resize2fs 431
tune2fs 431
UUID 431
vrication du systme de
chiers 430
intervalle 431
ext4 35, 428
Extracteur de CD audio 163
F
faillog 315
fast-user-switch-applet 52
FAT 435
fdisk 410, 445
augmentation de la taille
dune partition 411
cration dune nouvelle
partition 410
enregistrement des
modications 410
exemple dutilisation 411
identiant de partition 410
nom des priphriques 445
raccourcis clavier 413
Fedora 11, 667
disponibilit des mises
jour 9
droits daccs PAM 317
Fentre de console 174
Voir Terminal
fetchmail 95
ffmpeg 234
fg 214
Fichier
accs dun processus 216
afchage des droits
daccs 183
arborescence 181
archive 194
bits
setgid 204
setuid 203
spciaux 203
cach 181
caractres
accentus 181
joker pour les noms 185
casse 181
chgrp 203
chmod 202, 204
compression 194
copie 184
dplacement 183
droits daccs 202
Linux Livre Page 676 Mardi, 23. septembre 2008 1:05 13
677 INDEX
espaces 181
excutable 213
fuser 216
gestion 182
Voir Gestion des chiers et
rpertoires
groupe 202
lien 188
dur 188
limite du nombre de
caractres dans le nom 181
liste 183
modication
des droits daccs 204
du groupe 203
priphrique 211
propritaire 202
recherche 189
avec Nautilus 58
renommage 183, 187
avec KRename 77
avec sed 187
suppression 184
avec Konqueror 73
avec Nautilus 59
transfert
avec BitTottent 248
avec FTP 243
avec scp 241
par rsync 247
par SFTP 246
par wget 246
type 183
Fichier cach 181, 187
afchage
dans Gnome 58
dans Konqueror 73
Fichier, commandes,
rfrence 657
Fichier dchange 450
cration 451
Fichier journaux 334
Fichier image 643
partir dune partition 644
accs au systme de
chier 644
cration 643
changes 644
monter 644
QEMU 643
RAW 643
redimensionner 644
swap 644
systme de chiers 643
Fichier ISO
dd 199
gnration 198
mkisofs 198
montage 199
Nautilus 60
test 199
Fichier texte
afchage 176
commandes, rfrence 658
diter 176
le-roller 63
Filtrage web
DansGuardian 582
Squid 577
Filtre de paquets 560
nd 191
combiner avec grep 192
exemples 191
Firefox 79
MIME 84
plugins 88
XPI 85
xulrunner 85
Firewire 328
ac 234
FlashBlock 92
Fluendo 159
Fonctions dconomie
dnergie 326
Font 321
Format maildir 100
Format mbox 99
Formatage 30
framebuffer 377
free 326
freedb 162
Frquence dhorloge 325
fsck.ext3 431
fsck.reiser4 434
fsck.reiserfs 434
F-Spot 145
fstab
Voir /etc/fstab
fsview 73
FTP 243
accs avec Nautilus 60
clients 245
commandes 245
ftp 244
exemple de session 244
Konqueror 74
FUSE 419
ntfsmount 438
Fuseau horaire 39, 307
glibc 308
fuser 216
G
gaim 79
gconf-editor 64
gdmsetup 64
gedit 63
Gentoo 12
Gestion de bases de donnes
(Base) 130
Gestion de lnergie 326
Gestion des chiers
commande, rfrence 657
Gestion des chiers et
rpertoires 182
archive
Voir Archive
cd 182
compression
Voir Compression
copie
de chier 184
de rpertoire 184
Linux Livre Page 677 Mardi, 23. septembre 2008 1:05 13
LINUX 678
Gestion des chiers et
rpertoires (suite)
cp 184
cration dun rpertoire 183
dplacement
dun chier 183
dun rpertoire 183
dans larborescence 182
df 184
du 185
espace disque 184
lien 188
liste des chiers 183
ln 188
ls 183
mkdir 183
mv 183
recherche de chiers
Voir Recherche de chiers
renommage
dun chier 183
dun rpertoire 183
rm 184
rmdir 183
sauvegarde 196
suppression
dun rpertoire 183
de chier 184
de rpertoire 184
Gestion des processus
commandes, rfrence 660
Gestion des utilisateurs et
groupes
commandes, rfrence 660
Gestionnaire damorage
xfs 434
Gestionnaire de bureau 51, 358
Gestionnaire de fentres 358
KWin 70
Gestionnaire de chiers
Dolphin 71
Gnome 56
Konqueror 72
Nautilus 56
getfacl 207
getfattr 208
GFS 419
ggv 588
GhostScript 589
ltre 589
ghostview 588
GID 311
GIF (format) 151
Gimp 149
EPS 152
impression 154
PostScript 152
Gimp-Print 589
GimpShop 150
gksu 220
gksudo 221
glibc
fuseau horaire 308
GLX 387
glxgears 389
glxinfo 388
GMT (Greenwich Mean
Time) 307
gnash 92
Gnome 51
alacarte 54
applet 54
liste des fentres 55
menu 54
zone de notication 55
baobab 63
Brasero 63
bureau 52
applet 54
espace de travail 55
liste des fentres 55
menu 54
tableau de bord 53
zone de notication 55
zone de travail 53
changement dutilisateur 52
clavier 65
client Samba 606
comparaison avec KDE 51
conguration 62, 64
connexion 52
automatique 63
dconnexion 52
dmarrage automatique 64
espace de travail 55
evince 63, 588
fast-user-switch-applet 52
le-roller 63
gconf-editor 64
gdmsetup 64
gedit 63
gestionnaire de chiers 56
GnomeBaker 63
gnome-beagle-search 193
gnome-control-center 62
gnome-cups-manager 595
gnome-help 178, 179
gnome-keybindings-
properties 65
gnome-keyboard-
properties 65, 381
gnome-search-tool 58
gnome-terminal 62
gnome-volume-
properties 444
gparted 415
gtk-window-decorator 393
gucharmap 48, 395
impression 595
info 179
installation de polices 398
liste des fentres 55
man 178
menu 54
Nautilus
Voir Nautilus
programmes par dfaut 64
raccourcis clavier 48, 65
recherche de chier 58
seahorse 63
Serpentine 63
surveillance du systme 65
tableau de bord 53
terminal 62
zone de notication 55
zone de travail 53
Gnome Ofce 134
GnomeBaker 63
gnome-beagle-search 193
gnome-cd 162
gnome-control-center 62
gnome-cups-manager 595
Linux Livre Page 678 Mardi, 23. septembre 2008 1:05 13
679 INDEX
gnome-help 178, 179
gnome-keybindings-
properties 65
gnome-keyboard-
properties 65
gnome-language-selector 321
gnome-photo-printer 136
gnome-pilot 114
gnome-ppp 531
gnome-search-tool 58
gnome-system-monitor 215
gnome-system-tools 309
gnome-terminal 62, 174
gnome-volume-manager 330
gnome-volume-properties 444
GNU 20
GNU Emacs
Voir Emacs 263
gnumeric 134
Google Desktop 193
gparted 415
GParted Live 408
gpasswd 316
GPG 102
Kgpg 77
gphoto2 136
GPL 18, 20
versions 18
gpm 175, 306
Graphismes 3D 387
bureau 389
tester 388
Gravure 197
Brasero 63
CD 199
cdrdao 199
cdrecord 199
commandes, rfrence 659
dd 199
DVD 200
dvd+rw-format 201
dvd+rw-mediainfo 201
dvd+rw-tools 200
extension Joliet 198
extension RockRidge 198
gnration dun chier
ISO 198
GnomeBaker 63
growisofs 200
identiant SCSI du
graveur 197
K3b 77
mkisofs 198
Nautilus 60
nom du priphrique 197
Serpentine 63
wodim 199
grep 192
combiner avec nd 192
groupadd 310
Groupes 312
administration 309
afchage 205
changement 205
commandes, rfrence 660
groups 205
mot de passe 316
newgrp 205
groups 205
growisofs 200
GRUB 459
actualisation automatique de
la conguration 463
aide 462
color 465
commandes interactives 462
compltement
automatique 462
conguration 461, 463
tester 468
couleur 465
default 465
dmarrer
Linux 466
Windows 467
devices.map 464
fallback 465
chiers de conguration 463
gfxmenu 465
grub.conf 463
hiddenmenu 465
image de dmarrage 465
installation 468
sur un disque USB 470
sur une disquette 469
ligne de commande 462
menu
dysfonctionnement 471
modier 462
pas dafchage 471
menu.lst 462, 463, 464
mot de passe 465
nomenclature des disques et
partitions 464
nouveau noyau 490
options du noyau 462, 467
paramtres du noyau 460
password 465
plantage 471
problmes 471
rinstallation 468
splashimage 465
stage1 460
stage1_5 460
stage2 460
structure 460
test 468
timeout 465
update-grub 463
USB 470
utilisation 461
versions 459
Xen 645
xfs 434
grub.conf 463
GStreamer 332
gThumb 139
gtk-window-decorator 393
gucharmap 48, 395
gunzip 194
Gutenprint 589
Linux Livre Page 679 Mardi, 23. septembre 2008 1:05 13
LINUX 680
gv 588
gvim
Voir vim
gzip 194
H
hald 329, 444
hal-device-manager 325
hdparm 455
Helix Player 166
help 178
Heure 307
HFS 417
HFS+ 417
Hibernate 326
hostname 508
hosts.allow 563
NFS 602
hosts.deny 563
NFS 602
Hotplug 329
HPFS 417
HPLIP 594
hp-toolbox 594
hwbrowser 325
hwclock 307
I
i.Link 328
i18n 319
Iceweasel 80
ICMP 494, 560
iconv 234
ID3 160
IDE 404
lecteur de bandes 333
pilote 404
IEEE 1394 328
ifcfg 511
ifcong 237, 501
ifrenew 512
iftab 510
ifup 512
Image Magick 231
convert 231
identify 232
mogrify 231
IMAP 97
Impress (OpenOfce) 127
Impression
chane 589
compatibilit 597
HP LaserJet 597
conguration
d'une imprimante 595
manuelle 596
CUPS 587
dtection automatique 596
chier
PostScript 588
PPD 596
ltre 589
de documents 589
gestion de la le 593
GhostScript 589
Gimp-Print 589
gnome-cups-manager 595
Gutenprint 589
HPLIP 594
hp-toolbox 594
imprimante
jet d'encre 595
GDI 595
laser 595
compatibilit HP 597
locale 596
PCL 595
photo 595
PostScript 595
rseau 597, 598
AppSocket 598
cupsd.conf 597
IPP 598, 599
Linux/Unix 598
LPD 599
Novell 598
SMB 599
socket 598, 599
Windows 598
Windows 595
informations 594
KDE 75
kprinter 75
lpadmin 594
lpc 594
lpinfo 594
lpoptions 594
lpq 593
lpr 588, 593
lprm 593
lpstat 594
priphrique 588
pilote 595, 597
Samba 615
PostScript 588
Samba 615
system-cong-printer 595
systme d'impression 588
TurboPrint 595
Imprimante, commandes,
rfrence 663
Inbox 98
info 178, 179
Emacs 179
Gnome 179
KDE 179
raccourcis clavier 179
init 474
/etc/init.d 477
/etc/rc.d 477
chkcong 478
Debian 477
Fedora 478
gestion 478, 479
inittab 474
insserv 479
invoke-rc.d 477
niveau dexcution 474
Red Hat 478
script rc
arrter 477, 478
dmarrer 477, 478
nomenclature 477
paramtres 477
scripts rc 477
service 478
SUSE 478
update-rc.d 478
Linux Livre Page 680 Mardi, 23. septembre 2008 1:05 13
681 INDEX
initrd 461, 484, 490
contenu 491
crer un chier 490
mkinitramfs 491
mkinitrd 491
inittab 474, 475
bootwait 476
ctrlatltdel 476
initdefault 476
once 476
respawn 476
sysinit 476
wait 476
InitV 474
/etc/init.d 477
/etc/rc.d 477
chkcong 478
Debian 477
Fedora 478
gestion 478, 479
inittab 475
insserv 479
invoke-rc.d 477
iptables 576
journalisation 337
niveau dexcution 474
Red Hat 478
scripts 476
rc 477
arrter 477, 478
dmarrer 477, 478
nomenclature 477
paramtres 477
service 478
SUSE 478
update-rc.d 478
Xen 656
Inkscape 150
insmod 482
insserv 227, 479
Installation 25
AppArmor 39
chargeur damorage 40
choix des systmes de
chiers 35
clavier 28
conguration
dun rseau Wi-Fi 38
de base 37
de laccs Internet 39
du mode graphique 39
du rseau 38
cration des utilisateurs 37
dmarrage 27
mulation du 3
e
bouton 28
fuseau horaire 39
Gnome et KDE 37
langue 39
LVM 35
messages du noyau 28
mises jour 39
mot de passe root 37
outils de dveloppement 37
paquetages 36
par le rseau 41
pare-feu 39
partition
damorage 33
dchanges 34, 35
de donnes 34
systme 33
partitionnement 31
nombre de partitions 33
premiers paramtres 27
prrequis 25
problme 41
RAID 35
rduction de la partition
Windows 32
SELinux 39
services rseau 37
souris 28
sur un disque dur externe 40
systme de chiers 30, 35
taille des partitions 35
Interface 495
rseau 495
ifcong 237
liste 237
Internationalisation 318
Internet 531
ADSL 531
bases 493
iptables 576
modem 531
passerelle 543
RNIS 531
scurit 557
Internet Explorer 620
ies4linux 620
sous Wine 620
invoke.rc 225
reload 226
restart 226
start 225
stop 226
invoke-rc.d 477
IP 559
adresse 495, 496, 559
conit dadresse 545
ltre de paquets 560
ICMP 560
ports 559
dangereux 574
prive 545
protocole 560
TCP 560
UDP 560
valide sur le rseau
mondial 545
iptables 567
blocage de ports
dangereux 574
bloquer les connexions
externes 571
chane 569
forward 569
input 569
output 569
postrouting 569
prerouting 569
DHCP 572
exceptions pour Squid 581
fonctionnement 569
InitV 576
Linux Livre Page 681 Mardi, 23. septembre 2008 1:05 13
LINUX 682
iptables (suite)
Internet 576
journalisation 575
mascarade 546
noyau 547
ordre des rgles 570
passerelle Internet 573
PPP 576
PPTP 572
remise zro 569
scuriser un client sans-
l 571
scuriser un client VPN 572
serveur mandataire
transparent 581
services 573
table 568
lter 569
mangle 569
NAT 569
IPv6 499
IRC 79
ISO 9600 441
ISO 9660 417
El-Torito 441
Joliet 441
Rockridge 441
ISO-10646 (jeu de
caractres) 319
ISO-8859, jeu de caractres 319
Istanbul 162
ivman 444
iwlist 524
J
Java, plugins 92
Jeu
Cedega 622
de caractres 318, 319
jffs 419
jfs 417
Joe 177
raccourcis clavier 177
Joliet 198, 441
Journalisation 334,558
amorage 335
iptables 575
systme de chiers 426
JPEG (format) 151
K
K3b 77
kacpid 326
kapmd 327
Kate 77
KAudioCreator 165
KCharMap 48
kcharselect 395
kcmshell 75, 77
KDE 67
administration distante 78
Ark 76
bote miniatures 71
bureau 68
changement dutilisateur 68
client Samba 606
comparaison avec Gnome 51
conguration 75, 78
connexion 68
automatique 77
dconnexion 68
dmarrage automatique 78
Dolphin
Voir Dolphin
espaces de travail 70
fsview 73
gestionnaire
de fentres 70
de chiers 71
gravure 77
icne de connexion 78
impression 75, 595
info 179
installation de polices 398
K3b 77
Kate 77
KCharMap 48
kcharselect 395
kcmshell 75, 77
kde-window-decorator 393
KEdit 77
kerry 193
kghostview 588
Kgpg 77
khelpcenter 178, 179
Klipper 77
kmenuedit 78
Konqueror
Voir Konqueror
konsole 76
KPDF 588
kprinter 75
KRename 77
KWalletManager 76
KWin 70
KWrite 77
liste des tches 70
man 178
menu 69
Okular 77, 588
Plasma 69
plasmodes 69
programmes par dfaut 78
qtparted 415
raccourcis clavier 48, 78
renommage de chiers 77
souris 67
supports de donnes 71
systemsettings 75
tableau de bord 69
terminal 76
version 4.0 67
zone de travail 69
kdesu 220
kde-window-decorator 393
KEdit 77
kerry 193
kghostview 588
Kgpg 77
khelpcenter 178, 179
kill 217
killall 217
KimDaBa 146
kioslave 330
KIPI 144, 146
Klipper 77
klogd 334
Linux Livre Page 682 Mardi, 23. septembre 2008 1:05 13
683 INDEX
KMail 115
kmenuedit 78
kmod 481
Knoppix 12
KOfce 134
kolourpaint 150
Konqueror 72, 86
adresses spciales 74
afcher les chiers cachs 73
droits daccs 73
extensions 87
FTP 74
gestionnaire de chiers 72
images daperu 73
Java 87
navigateur web 74
occupation du disque dur 73
partage Windows 74
SSH 74
suppression de chier 73
vues 72
konsole 76, 174
Kontact 115
Konversation 79
Kopete 79
KPDF 588
KPhotoAlbum 146
kppp 532
kprinter 75
KQEMU 634
KRename 77
krita 150
ksysguard 215
Kubuntu 668
KVM 632, 635
modules noyau 635
KWalletManager 76
KWin 70
KWrite 77
L
l10n 319
lame 160, 233
LAN 493
LANG 322
Langue 39
problme 44
LC_ALL 322
LC_COLLATE 322
LC_CTYPE 322
LC_MESSAGES 322
LC_MONETARY 322
LC_NUMERIC 322
LC_PAPER 322
LC_TIME 322
Lecteur CD/DVD
ATAPI 404
jection 442
erreur 442
nom de priphrique 441
nomenclature 406
virtualisation 625
Lecteurs de bandes 333
Lecture de CD audio 162
Lecture de DVD vido 163
less 176
raccourcis clavier 176
LGPL 18
libata 404
nomenclature des disques
durs 405
libdbus 329
libmad 164
libogg 164
librsvg 232
libtiff 232
libvorbis 164
libwmf 232
Licence 17
autres licences libres 19
conit avec les logiciels
propritaires 19
GPL 18
LGPL 18
Lien 188
diffrence entre lien
symbolique et lien dur 188
dur 188
exemple 188
symbolique 188
LILO 461
xfs 434
Linux
adaptation au multimedia 16
arrt 47
complexit 16
conguration 301
cot 16
dmarrage 45, 459
distributions 8
histoire 20
installation 25
noyau 6
prise en charge du matriel 7
programmes Windows 17
rapidit 14
ressources ncessaires 15
scurit 15
stabilit 16
versions 6
Liste de contrle daccs
Voir ACL
ln 188
loadkeys 305
locale 323
localhost 494, 505
Localisation 318
locate 190
base de donnes 190
updatedb 190
Logiciel
libre 668
mises jour 558
logrotate 335
loop 419
loopback (interface) 495, 498
Linux Livre Page 683 Mardi, 23. septembre 2008 1:05 13
LINUX 684
lpadmin 594
lpc 594
lpinfo 594
lpoptions 594
lpq 593
lpr 588, 593
lprm 593
lpstat 594
ls 183
bits spciaux 204
droits daccs 183
rsultats 183
lshal 325
lshw 325
lsmod 483
lsof 560
lspci 328
lsusb 328
lvcreate 454
lvextend 454
LVM 451
arrt 454
avantages 451
conguration 453
cration dun systme de
chiers 454
extension physique 453
groupe de volumes 452
cration 453
identiant de partition 453
inconvnients 451
initialisation 453
LV 452
cration 454
lvcreate 454
lvextend 454
lvreduce 455
mise en place 453
partition systme 452
PD 453
PE 453
priphrique physique 453
PV 452
cration 453
pvcreate 453
redimensionnement 454
versions 452
VG 452
cration 453
vgchange 454
vgcreate 453
volume logique 452
cration 454
volume physique 452
cration 453
lvreduce 455
lynx 88
M
M3U 161
MAC 549
MAC (adresse) 495
Machine virtuelle 624
Macromedia Flash 90
madplayer 164
MadWi 519
magicdev 445
mail 99
maildir, format 100
man 178
contextes 178
Gnome 178
KDE 178
Konqueror 179
Manchot 21
Mandriva 12, 667
Mascarade 541, 545
activation automatique 547
dsactivation
automatique 547
dsactiver 547
FTP 548, 574
iptables 546
principes 545
problmes 547
Masque de sous-rseau 495
Master Boot Record
Voir MBR
Matriel
commandes, rfrence 663
prise en charge 7
mbox, format 99
MBR 40, 459
chargeur damorage 459
Windows 460
Mmoire dchange 450
taille 450
Memtest86 326
Menu
Gnome 54
KDE 69
menu.lst 462, 463, 464
color 465
default 465
fallback 465
gfxmenu 465
hiddenmenu 465
password 465
splashimage 465
timeout 465
Message du noyau
pendant linstallation 28
Messagerie instantane 79
Microsoft, polices 398
MIME, Firefox 84
Mise en veille 326
mkdir 183
mkdosfs 436
mke2fs 429
mkfs.ext2 429
mkfs.ext3 429
chier image 643
mkfs.reiser4 433
mkfs.reiserfs 433
mkfs.xfs 435
mkinitramfs 491
mkinitrd 491
mkisofs 198
exemples 198
mknod 211
mkntfs 436
mode texte 46
modeline 371
Linux Livre Page 684 Mardi, 23. septembre 2008 1:05 13
685 INDEX
Modem 531
arrter 537
authentication 536
chat 536
dmarrer 537
externe 532
Fedora 537
gnome-ppp 531
interne 532
kppp 532
network-admin 531
pppd 535
Red Hat 537
scanModem 534
USB 532
winmodem 534
Modes VGA 377
modinfo 483
modprobe 482, 501
modprobe.conf 485
alias 485
blacklist 486
exemple 486
include 486
install 486
options 486
remove 486
syntaxe 485
modprobe.conf.dist 485
modprobe.conf.local 485
modprobe.d 485
Module 481
binaire 484
chargement automatique 481
commandes, rfrence 663
compiler 487
outils de
dveloppement 487
conguration 483
Debian 485
dpendances 484
depmod 485
Fedora 485
chier .map 485
gestion 482
initrd 484, 490
insmod 482
iptables 547
kmod 481
KVM 635
liste 483
lsmod 483
modinfo 483
modprobe 482
modprobe.conf 485
modprobe.conf.dist 485
modprobe.conf.local 485
modprobe.d 485
modules.dep 485
non GPL 484
Red Hat 485
rmmod 483
SUSE 485
Ubuntu 485
version 482
versionnage 482
modules.dep 485
modutils 485
Moniteur 358
balayage
horizontal 358
vertical 359
comparaison cathodique/
LCD 359
DDC 359
dbit vido 359
frquence 359
de pixels 359
horizontale 359
verticale 359
HSync 358
VSync 359
Mot de passe 313
changer 314
gestion avec
KWalletManager 76
gestion avec seahorse 63
groupe 316
oubli 315
root 314
mount 421, 445
exemples 422
chier image 644
options 425
syntaxe 422
MP3 160
dcodeur 164
lecteur 164
MPEG-4 161
mpg123 164
mpg321 164
MPlayer 165
MTA (Mail Transfer Agent) 95
mtools 443
MTP 159
MUA (Mail User Agent) 95
mutt 95, 99
mv 183
N
Namesys 433
nano 177
raccourcis clavier 177
NAT 541, 545
principes 545
Nautilus 56
adresses spciales 59
afchage de chiers
cachs 58
barre
dadresse 57
latrale 57
connexion permanente un
rpertoire rseau 61
copie
de CD 60
de chiers 57
dmarrage 56
dplacement de chier 57
Linux Livre Page 685 Mardi, 23. septembre 2008 1:05 13
LINUX 686
Nautilus (suite)
droits daccs 58
gestion de chiers ISO 60
gravure de CD/DVD 60
mode spatial 57
navigation 57
ouverture dun chier 57
partages Windows 60
recherche de chier 58
rpertoire
FTP 60
rseau 60
supports externes 59
suppression de chier 59
Navigateur, Konqueror 74
Navigateur Internet 79
Firefox 79
Konqueror 86
lynx 88
NBNS 603
NCPFS 418
NDIS 519
NetBIOS 603
NBNS 603
Netpbm 232
netstat 560
options 560
network-admin 531, 533, 553
NetworkManager 526
newaliases 99
News Usenet 108
NFS 418, 447, 600
/etc/exports 601
/etc/fstab 448
conguration 601
dmarrage 602
exportfs 602
hosts.allow 602
hosts.deny 602
installation 601
mount 448
NFS4 602
nfsd 601
nfsd4 601
portmap 601
root 602
rpc.mountd 601
utilisateurs 602
nfsd 601
nfsd4 601
NIC 495
nice 218
niveau dexcution 474
inittab 474
par dfaut 475
nmap 560
nmap-frontend 560
Noatun 166
nodeadkeys 305
Nom
dhte 494, 508
dutilisateur 311
de domaine 494
Novell 12
disponibilit des mises
jour 9
Noyau 6, 481
caractristiques 6
code source 488
commandes, rfrence 663
compilation 487, 490
outils de
dveloppement 488
compiler un module 487
composants 489
conguration 487, 489
existante 489
dmarrage 460
chier den-tte 487
histoire 20
initrd 490
installation 490
iptables 547
kmod 481
KVM 632, 635
make cong 489
make gcong 489
make menucong 489
make oldcong 489
make xcong 489
mascarade 546
messages 335
modulaire 489
modules 460, 481
gestion 482
versionnage 482
versions 482
monolithique 489
options damorage 467, 472
ACPI 473
APM 473
emergency 472
init 472
initrd 472
lapic 473
maxcpus 473
noapic 473
noht 473
noinitrd 472
nolapic 473
noresume 474
nosmp 473
pci 472
quiet 473
reboot 473
resume 474
ro 472
root 472
single 472
SMP 473
syntaxe 472
outils de conguration 489
paquet IP 567
paramtres damorage 460
serveur mandataire
transparent 580
threads 224
transfert dIP 546, 580
version 482
versionnage des modules 482
Xen 648
NTFS 417, 436
/etc/fstab
ntfs-3g 440
pilote ntfs 438
pilote ntfsmount 439
Captive 440
droits daccs 436
ux 440
formatage 436
mkntfs 436
Linux Livre Page 686 Mardi, 23. septembre 2008 1:05 13
687 INDEX
ntfs-3g 439
ntfsmount 438
ntfsprogs 438
outils 438
Paragon 440
pilotes 437
Captive 440
ntfs 437
ntfs-3g 439
ntfsmount 438
Paragon 440
streams 440
ntfs-3g 440
ux 440
streams 440
streams_interface 440
ntfsmount 438
ntfsprogs 438
Numrisation 137
O
OASIS 120
OCR 148
OFS 419
Ogg Vorbis 161
ogg123 164
oggenc 233
Okular 77, 588
OpenDocument 120
OpenGL 387
OpenOfce 119
alternatives 133
Base 130
Calc 126
champ 124
coupure des mots 124
export PDF 125, 129
formats de chiers 120
image 124
Impress 127
impression 125, 127, 129
index lexical 125
Java 119
macros 132
numrotation des titres 124
polices 125
styles 122, 129
table des matires 125
tableau 123
vrication
orthographique 124
vue des sources de
donnes 132
Writer 122
OpenPGP 102
openSUSE 13, 667
disponibilit des mises
jour 9
OpenXML 120
OSS 331
Outlook Express 100
P
PAM 316
droits daccs 317
Paquetages 339
administration
centralise 340
alien 355
APT
Voir APT
choix linstallation 36
commandes, rfrence 662
conversion 355
DEB 348
APT
Voir APT
documentation 49
dpkg
Voir dpkg
formats 339
groupes prcongurs 36
systme
de gestion 339
RPM
Voir RPM
Paragon 440
Paravirtualisation 624
prise en charge matrielle 624
Xen 638
Pare-feu 564
blocage de ports
dangereux 574
bloquer les connexions
externes 571
DHCP 572
distribution 565
DMZ 566
iptables 567
mandataire cache 575
mascarade 574
ordinateur
local 566
personnel 564
passerelle Internet 573
PPTP 572
remise zro 569
rseau local 565
scuriser un client
sans l 571
VPN 572
services 573
Squid 575
Partage Windows
accs avec Nautilus 60
Konqueror 74
parted 413
cration dune partition 414
dmarrage 413
exemple dutilisation 414
interfaces graphiques 415
LVM 453
mkpart 414
rm 414
Parted Magic 408
Partition 28, 403
/etc/fstab 423
amorage 33
augmentation de taille 411
Linux Livre Page 687 Mardi, 23. septembre 2008 1:05 13
LINUX 688
Partition (suite)
cration 410, 414
dchanges 34
df 421
donnes 34
change 450
espace disponible 421
formatage 30
identiant 410
monter
/etc/fstab 423
manuellement 422
mount 421
nom 30
nombre maximal 29, 405
nomenclature
dans GRUB 464
identiants 407
par chemin 407
par libell 407
par UUID 407
numrotation 406
par chemin 407
par identiant 407
par libell 407
par UUID 407
parted 413
schma de nommage
hd-* 31
sd-* 30
swap 450
systme 33, 403
de chiers 30, 35
taille 35
test de cohrence 403
type 29
Partition damorage 33
Partition dchange 34, 450
/etc/fstab 450
cration 451
formatage 35
limite de taille 34
systme de chiers 35
Partition systme 33, 403
LVM 452
Partitionnement 28, 408
augmentation de la taille
dune partition 411
compatibilit des
programmes 409
cration dune nouvelle
partition 410
fdisk 410
GParted Live 408
identiant dune
partition 410
nombre maximal de
partitions 29
Parted Magic 408
rduction de la partition
Windows 32
rgles de base 408
systme de chiers 35
SystemRescueCD 408
taille des partitions 35
utilitaire 29
Windows Vista 408
Passerelle 496, 543
comparaison avec un routeur
matriel 544
conguration des clients 503,
508, 548
installation 543
MSS clamping 546
pare-feu 573
scurit 546
PATA 404
Pav tactile 383
pccardctl 329
PC-Cards (PCMCIA) 329
PCI 328
PCM (volume) 332
PCMCIA 329
PDA 114
PDF
Adobe Reader 89
evince 63
Okular 77
Priphrique
accs
bloc 211
caractre 211
cration dun chier 211
droits daccs 203
chier 211
mknod 211
nom du graveur 197
numro
majeur 211
mineur 211
numros 211
type daccs 211
udev 211
PGP 102
Phonon 333
Photo numrique 136
pico 177
raccourcis clavier 177
Pidgin 79
pidof 216
Pilote
ati 372
ATI/AMD 360, 372
atimisc 372
carte graphique 360
IDE 405
Intel 360, 374
non libre 360
nv 375
NVIDIA 360, 375
nvidia 375
noyau 376
nvidia-xcong 375
TwinView 376
r128 372
radeon 372, 373
radeonhd 372, 374
VIA 360
pine 95, 99
ping 238
Pluggable Authentication
Modules 316
Plugins 88
Adobe Reader 89
Flash 90
Java 92
RealPlayer 166
pmount 446
PNG (format) 152
Linux Livre Page 688 Mardi, 23. septembre 2008 1:05 13
689 INDEX
Polices 321
anti-aliasing 399
anti-crnelage 399
conguration 399
bitmap 394, 396
conguration
sans serveur de fontes 397
console texte 305
fc-list 394
freetype 394
installation 398
GNOME 398
KDE 398
manuelle 398
polices Microsoft 398
Microsoft 398
nomenclature 395
OpenType 396
rpertoires 394
Speedo 396
TrueType 396
Type1 394, 396
Unicode 396
URW 396
vectorielles 394
X 394
xslfonts 394
POP 97
Portable, batterie 326
portmap 601
Ports (TCP/IP) 494
postx 95
PostScript 588
Evince 588
evince 63
ggv 588
ghostview 588
gv 588
kghostview 588
KPDE 588
Okular 77, 588
ps2pdf 588
PPD 596
cupsomatic 596
ppds.dat 596
PPP
ip-down.local 576
iptables 576
ip-up.local 576
pppd 537
arrter 537, 538, 539
authentication 536
chat 536
dmarrer 537, 538, 539
Fedora 537
modem 535
options 536
Red Hat 537
pppoe 533, 537
carte rseau 537
pppd 537
pppoeconf 534
PPTP 538
carte rseau 538
pppd 538
pptpcong 538
pptpcong 538
Prrequis dinstallation
espace disque 25
matriel 25
mmoire vive 25
processeur 25
Prsentations (Impression) 127
Presse-papiers, Klipper 77
Problme
clavier 42, 43
dmarrage
de lordinateur 43
de X 43
langue 44
Linux ne dmarre pas 43
matriel 42
plantage 42
unable to mount root fs 42
Windows ne dmarre pas 43
proc 418
Processeur 325
32 et 64 bits 26
virtualisation 625
Processus 213
accs un chier 216
bg 214
commandes, rfrence 660
consolehelper 220
crontab 227
darrire fond 214
davant-plan 214
dmarrer
automatiquement 227
dmon 223
fg 214
fuser 216
gksudo 221
gnome-system-monitor 215
hirarchie 216
identiant 216
kill 217
killall 217
ksysguard 215
limite de taille 217
liste 214
nice 218
PID 216
pidof 216
priorits 218
ps 214
pstree 216
redirections 218
renice 218
sous une autre identit 219
su 219
sudo 220
tche de fond 214
terminer 217
threads du noyau 224
top 215, 217
tubes 218
ulimit 217
xkill 217
procmail 95
Programmation de macros
(OpenOfce) 132
Linux Livre Page 689 Mardi, 23. septembre 2008 1:05 13
LINUX 690
Programme
commandes, rfrence 660
dmarrer 213
par dfaut
Gnome 64
KDE 78
Proxy 83
ps 214
PS (format) 152
ps2pdf 588
PSD (format) 151
pstree 216
PTP (appareils photo) 136
pumount 446
pump 504
pvcreate 453
Q
QEMU 632
clavier 633
chier image 632
format 632
KQEMU 634
KVM 632
lecteur CD/DVD
chier ISO 633
mmoire vive 633
priphrique damorage 633
options 633
qemu-img 632
raccourcis clavier 633
rseau 633
test 633
qemu-img 632
QEMY
KVM 635
qmail 95
Qt 67
qtparted 415
R
Raccourci clavier 47
bureau 3D 390
Gnome 65
KDE 78
racine 181
rc
reload 226
restart 226
start 226
stop 226
Real Audio 161
RealPlayer 166
Recherche de chiers 189
Beagle 192
commandes, rfrence 658
nd 191
nd et grep 192
Google Desktop 193
grep 192
locate 190
Nautilus 58
Tracker 193
whereis 189
which 189
recode 234
Reconnaissance de texte 148
Red Hat 12, 668
droits daccs PAM 317
Red Hat Enterprise Linux
disponibilit des mises
jour 9
Redirection 218, 289
entre standard 289
erreur standard 289
sortie standard 289
tee 290
tubes 290
nomms 290
mkfo 290
reiser4 416, 433
/etc/fstab 433
cration dun systme de
chiers 433
fsck.reiser4 434
mkfs.reiser4 433
vrication du systme de
chiers 434
reiserfs 416, 433
/etc/fstab 433
cration dun systme de
chiers 433
fsck.reiserfs 434
label 434
mkfs.reiserfs 433
redimensionnement 434
resize_reiserfs 434
UUID 434
vrication du systme de
chiers 434
reiserfstune 434
renice 218
Rpertoire
. 182
.. 182
arborescence 209
bit setgid 204
changement de rpertoire
courant 182
chgrp 203
chmod 202
copie 184
courant 182
cration 183
dplacement 183
droits daccs 203
FTP, accs avec Nautilus 60
gestion
Voir Gestion des chiers et
rpertoires
parent 182
personnel 182, 310, 311
renommage 183
rseau
connexion permanente
avec Nautilus 61
Dolphin 72
sticky bit 204
suppression 183, 184
umask 205
Rseau
/etc/services 562
accessibilit de localhost 238
accessiblit du rseau
local 238
adresse IP 559
analyse 559
bases 493
BitTorrent 248
Linux Livre Page 690 Mardi, 23. septembre 2008 1:05 13
691 INDEX
cache web 577
clients 544
commandes, rfrence 662
conguration
linstallation 38
du contrleur Ethernet 500
contrle parental 577
DansGuardian 582
destine d'un paquet IP 568
diagnostic 237
disponibilit du serveur de
noms 238
DMZ 566
tat 237
ltrage
des entres 568
des sorties 568
des transferts 568
web 577
ltre
de paquets 560
web 582
FTP 243
ICMP 560
ifcong 237
IP 559
iptables 567
liste des interfaces 237
lsof 560
netstat 560
NFS 600
nmap 560
parcours dans le noyau 567
pare-feu 564, 573
ping 238
ports 559
actifs 560
dangereux 574
postroutage NAT 568
protocole IP 560
routage 567
route 239
rsync 247
Samba 603
scp 241
scurit 557
serveur mandataire 577
SFTP 246
SHFS 242
Squid 577
ssh 240
TCP Wrapper 563
test
de laccs Internet 238
de la passerelle 238
traceroute 239
traitement local 568
UDP 560
virtualisation 626
wget 246
xinetd 561
Rseau local 493
conguration 493
Rseau sans l 512
scurit 575
resize_reiserfs 434
resize2fs 431
Rhythmbox 167
rm 184
rmdir 183
rmmod 483
RNIS 531
network-admin 533
RockRidge 198, 441
root 45, 175, 219, 315
mot de passe 37
Route 239
commande 503
Routeur matriel
comparaison avec une
passerelle 544
rpc.mountd 601
RPM 340
architecture des
paquetages 340
capacits 343
informations sur les
paquetages 342
installation dun
programme 342
mise jour de
programmes 342
nommage des
paquetages 340
problmes 341
dpendances 344
rpm 340
Yum
Voir Yum
Yumex 347
rpm 340
exemples 342
informations sur les
paquetages 342
installation dun
programme 342
mise jour de
programmes 342
problmes de
dpendances 344
syntaxe 342
rsync 196, 247
exemples 248
S
S/MIME 102
Samba 603
CIFS 418, 606
client 606
conguration minimale 607
dmarrage 608
droits d'accs 604
tat 609
exploration du rseau 604
fonctionnalits 605
Gnome 606
impression 615
pilote 615
imprimante partage 615
KDE 606
NBNS 603
Linux Livre Page 691 Mardi, 23. septembre 2008 1:05 13
LINUX 692
Samba (suite)
NetBIOS 603
NBNS 603
nmbd 608
NTLMv2 611
partage
mot de passe 611
sans mot de passe 610
scurit 604, 610
protocoles 603
scurit 604
partage 604, 610
utilisateurs 605
services 603
smb.conf 607
vrication 609
smbclient 606
smbd 608
SMBFS 418
smbpasswd 611
smbstatus 609
test 608
testparm 609
username.map 612
utilisateurs 605, 612
version 4 605
Windows Vista 611
WINS 604
SANE 137
sane-nd-scanner 138
SATA 404
Sauvegarde
automatisation 196
rsync 196
stratgie 196
Scan 170
scanimage 138
scanModem 534
Scanner 137
SCO 23
procs 23
scp 241
Scribus 134
SCSI 404
lecteur de bandes 333
seahorse 63
Scurit 557
client sans-l 571
DMZ 566
ltre de paquets 560
hosts.allow 563
hosts.deny 563
iptables 567
journalisation 558
mises jour 558
netstat 560
nmap 560
pare-feu 564
passerelle 573
ports
actifs 560
dangereux 574
rseau sans-l 575
risques 565
services rseau 561
Squid 577
TCP Wrapper 563
xinetd 561, 563
sed 187
renommage de chier 187
SELinux 39
sendmail 95
Serpentine 63
Serveur
de noms 496
de noms 549
mandataire 577
X 357
Service 478
arrter 477, 478
dmarrer 477, 478
reload 226
restart 226
scuriser 561
start 226
stop 226
xinetd 562
setfacl 207
setfattr 208
setfont 305
setgid 204
setuid 203
setupcon 306
SFTP 246
clients 246
shell 283
changement 284
dnition du shell par
dfaut 284
SHFS 242
Shockwave for Director 92
siga 325
Signature (e-mails) 100
Skype 79
Slackware 13
SMART 456
surveillance automatique 457
test 457
smartd 457
smb.conf 607
vrication 609
smbclient 606
SMBFS 418, 448
mount 448
smbpasswd 611
smbstatus 609
SMP 473
SMTP 97
Software suspend 326
Son, ALSA 331
Sound Juicer 168
Souris 48, 382
console 175
copier-coller 48
mulation du 3
e
bouton 382
molette 382
pav tactile 383
ZAxisMapping 382
spamassassin 95
Squid 577
arrt 580
conguration 580
DansGuardian 585
clients 580
minimale 577
transparente 580
iptables 581
noyau 580
squid.conf 580
transfert IP 580
Linux Livre Page 692 Mardi, 23. septembre 2008 1:05 13
693 INDEX
contrle d'accs 582
dmarrage 580
exceptions 581
squid.conf 578
test 580
squid.conf 578
acl 578, 582
cache_dir 578
cache_mem 578
cache_peer 579
conguration
transparente 580
http_access 578
ssh 220, 240
cl publique du serveur 240
dmarrage de
commandes 240
identication par cls 242
Konqueror 74
session typique 240
ssh-agent 243
tunnel 242
X 241
ssh-agent 243
StarOfce 133
start 226
startx 363
sticky bit 204
Streaming 160
su 175, 219
gksu 220
kdesu 220
mode graphique 220
subfs 445
submount 445
sudo 220
/etc/sudoers 221
conguration 221
gksudo 221
sous SUSE 222
sous Ubuntu 222
Sun
Java 92
StarOfce 133
Sun StarOfce 133
super-oppy 445
supermount 445
Support de donnes
Dolphin 72
gestion sous Gnome 59
gestion sous KDE 71
Nautilus 59
Surveillance du systme
Gnome 65
SUSE 12, 668
SUSE Enterprise Server
disponibilit des mises
jour 9
Suspend 326
Suspend to disk 326
Suspend2 (TuxOnIce) 327
swap 450
taille 450
swfdec 92
Synaptic 352, 383
dpts 353
installation de
paquetages 352
problmes 353
sysfs 418
syslogd 334
system-cong-date 307
system-cong-language 321
system-cong-network 553
system-cong-printer 595
system-cong-users 309
Systme administation 301
Systme, dmarrage 459
Systme dexploitation 5
Systme de chiers 35, 421
/etc/fstab 423, 424
ajouter larborescence 403
aufs 420
auto 419
autofs 419
autofs4 419
chiffr 420
CIFS 418, 448
coda 418
commandes, rfrence 661
cramfs 419
dterminer les systmes
disponibles 420
devpts 418
df 421
efs 417
ext 416, 428
ext2 35, 428
ext3 35, 428
ext4 35, 428
FAT 435
chier image 643
fragmentation 432
FUSE 419
GFS 419
HFS 417
HFS+ 417
HPFS 417
ISO9660 417
jffs 419
jfs 417
journalisation 426
limite de taille 428
loop 419
LVM 451, 454
magicdev 445
monter
/etc/fstab 423
manuellement 422
mount 421
NCPFS 418
NFS 418, 447
none 420
NTFS 417, 436
OFS 419
proc 418
reiser4 416
reiserfs 416
rseau 447
SHFS 242
SMBFS 418, 448
subfs 445
Linux Livre Page 693 Mardi, 23. septembre 2008 1:05 13
LINUX 694
Systme de chiers (suite)
supermount 445
sysfs 418
sysv 417
test de cohrence 403
tmpfs 418
type 403, 416
UDF 418
UFS 417
unionfs 420
usbfs 419
vrication automatique 427
vrication dans /etc/
fstab 425
vrication manuelle 427
VFAT 417, 435
virtuel 447
xfs 416, 434
Systme son (ALSA) 331
SystemRescueCD 408
systemsettings 75
sysv 417
T
Table de routage 495
Tableur (OpenOfce) 126
Tche
Voir Processus
Tche de fond 175
tar 195
tcd 164
TCP 560
TCP Wrapper 563
CUPS 592
prise en charge 564
TCP/IP 493
tee 290
Terminal 173
commandes, rfrence 664
dconnexion 173
gnome-terminal 62, 174
konsole 76, 174
lancer des commandes 175
passage en root 175
raccourcis 174
souris 175
xterm 174
testparm 609
Theora 162
Thunderbird 103
import depuis Windows 109
MIME 105
news Usenet 108
synchronisation avec
Windows 109
TIFF (format) 152
time-admin 307
tmpfs 418
top 215
arrter un processus 217
modication de la
prioirit 218
Totem 168
touch 205
touchpad 383
traceroute 239
Tracker 193
tracker-search-tool 193
Traitement de texte
(OpenOfce) 122
TransGaming 622
Cedega 622
tube 218
tune2fs 431
Tux 21
TuxOnIce (Suspend2) 327
TwinView 376
U
Ubuntu 13, 668
disponibilit des mises
jour 9
udev 211, 444, 509
UDF 418, 441
UDP 494, 560
UFS 417
UID 311
ulimit 217
umask 205
umount 446
uname 482
Unicode 319, 396
console 306
polices 396
Unicode Transfer Format 320
unionfs 420
Unix 5, 6
unix2dos 234
unzip 196
updatedb 190
update-grub 463
update-rc.d 227, 478
Upstart
arrt 226
dmarrage 226
USB 328
usbfs 419
useradd 310
username.map 612
usernetctl 511
users-admin 309
UTC (Universal Time,
Coordinated) 307
UTF-16 320
UTF-8 320
Utilisateurs 310
administration 308, 309
changement didentit 219
changement de groupe 205
commandes, rfrence 660
consolehelper 220
crer 308
gksudo 221
groupes 205
groups 205
newgrp 205
root 45, 219
sudo 220
UUID 407, 423, 435, 446
ext3 431
reiserfs 434
vol_id 446
xfs 435
V
Variable denvironnement
$DISPLAY 220
$PATH 214
Linux Livre Page 694 Mardi, 23. septembre 2008 1:05 13
695 INDEX
$PS1 285
VerrMaj 380
VerrNum 379
VESA 376
VFAT 417, 435
/etc/fstab 437
formatage 436
mkdosfs 436
VGA, modes 377
vgcreate 453
vi
Voir vim
Vido 157
lecteurs 157
Vidoprojecteur 383
conguration minimale 384
conguration multi-
crans 385
vim 251
changement de mode 253
commandes Linux 261
compltement
automatique 257
copie de texte 256
correction des fautes de
frappe 255
dplacement du curseur 254
dition de plusieurs
chiers 259
enregistrement 253
de la position du
curseur 255
espaces et tabulations 261
fentre 259
indentation 257
insertion multiple de
texte 255
macros 261
marquage de texte 256
mode
graphique 251
insertion 252
normal 252
visuel 256
nouveau chier 259
numros de ligne 260
onglet 259
quitter 253
recherche de texte 258
caractres spciaux 258
recherche
incrmentale 258
recherche et remplacement
de texte 258
saisie efcace des
commandes 260
sauvegardes 261
souris 261
suppression de texte 253, 255
tampon 259
texte continu 257
trucs et astuces 260
VirtualBox 629
Additions Clients 630
hte 630
installation 630
invits 630
prrequis 630
rpertoires partags 632
versions 629
complte 629
Open Source Edition 629
Virtualisation 623
32 et 64 bits 625
AMD-V 624
applications 623
au niveau du systme
dexploitation 624
carte graphique 626
comparaison 627
compatibilit des machines
virtuelles 627
complte 624
disques durs 625
change de donnes entre
lhte et les invits 627
mulation 624
gestion du matriel 625
heure 626
hte 624
Intel VT 624
invit 624
KVM 632
lecteur CD/DVD 625
chier ISO 625
machine virtuelle 624
mmoire vive 625
paravirtualisation 624
prise en charge
matrielle 624
priphriques externes 626
presse-papiers 627
processeur 625
QEMU 632
rseau 626
carte rseau virtuelle 626
NAT 626
rseau interne 626
son 626
techniques 624
USB 626
VirtualBox 629
VMware 628
Xen 637
VMware 134, 628
comparatif 629
Player 628
Server 628
Workstation 628
VoIP 79
vol_id 446
Vorbis 161
vorbiscomment 164
vorbis-tools 164
W
WAV 160
Webmin 302
wget 246
exemples 246
whereis 189
which 49, 189
Linux Livre Page 695 Mardi, 23. septembre 2008 1:05 13
LINUX 696
Wi-Fi 512
adaptateur 514
canal 515
conguration 524
ESSID 515
rmware 518
Managed Key 517
mode ad-hoc 515
mode gr 515
mode infrastructure 515
mode matre 515
NWID 515
pilote 518
point daccs 514
pont 514
PSK (Pre-Shared Key) 517
routeur 514
scurit 516, 575
SSID 515
WEP 516
Wireless-Tools 518
WPA 516, 521
WPA2 516, 521
Windows
accs une partition ext3 432
chargeur damorage 460
dmarrer avec GRUB 467
MBR 460
pilote ext 433
problme de dmarrage 43
programmes sous Linux 617
problmes 618
Wine 618
rduction de la partition 32
Samba 603
Windows Vista
NTLMv2 611
partitionnement 408
Samba 611
Windows XP, Xen 651
Wine 618
Cedega 622
conguration 618
CrossOver 621
drivs commerciaux 621
ies4linux 620
Internet Explorer 620
lancer un programme
Windows 618
presse-papiers 620
transferts de donnes 620
winecfg 618
winecfg 618
winmodem 534
dtecter 534
scanModem 534
WINS 604
WLAN 512
wlann (interface) 521
WMA 161
WMV 162
wodim 199
workbone 164
wpa_supplicant 521
Writer (OpenOfce) 122
X
X 357, 385
3D 387
tester 388
AIGLX 392
anti-crnelage des polices
conguration 399
arrt 362
bureau 3D 358, 389
AIGLX 392
virtuel 358
caractre tranger, saisie 380
clavier 377
conguration 377
disposition 379
gnome-keyboard-
properties 381
modle 378
touche
Compose 380
spciales 379
VerrMaj 380
VerrNum 379
Xkb 377
Xmodmap 377, 380
xorg.conf 378
Compiz Fusion 393
conguration 364
minimale 365
multi-crans 385
xorg.conf 365
connexion automatique 63
copier-coller 48
dmarrage automatique 43,
362
dmarrer manuellement 363
dsactivation du dmarrage
automatique 362
DRI 387
droits daccs 388
cran virtuel 357
mulation du 3
e
bouton de la
souris 382
framebuffer 377
gestionnaire de bureau 358
gestionnaire de fentre 358
GLX 387
glxgears 389
glxinfo 388
graphismes 3D 387
tester 388
journalisation 363
libGL 387
modes graphiques 371
modules dextension 357
OpenGL 387
pav tactile 382, 383
Synaptics 383
pilotes 360
ATI/AMD 372
ati 372
atimisc 372
r128 372
radeon 372, 373
radeonhd 372, 374
framebuffer 377
Intel 374
conguration 374
rsolution de lcran 374
NVIDIA 375
nv 375
nvidia 375
non libres 360
VGA 377
VESA 376
Linux Livre Page 696 Mardi, 23. septembre 2008 1:05 13
697 INDEX
polices 394
raccourci clavier 47
redmarrage 362
rsolution 368
pilote Intel 374
saisie de caractres
trangers 380
serveur 357
souris 48, 382
3
e
bouton 382
molette 382
pav tactile 383
Synaptics 383
touchpad 383
ZAxisMapping 382
startx 363
Synaptics 383
terminer 217
touche Compose 380
exemples 381
touchpad 383
TwinView 376
version 364
VESA 376
vidoprojecteur 383
conguration
minimale 384
conguration multi-
crans 385
xev 400
Xinerama 358, 369
xkill 400
xlsfonts 400
xmodmap 400
xorg.conf 365
xrandr 400
xset 400
xterm 400
ZAxisMapping 382
Xandros 13
XCF (format) 151
XChat 79
XEmacs
Voir Emacs
Xen 637
/etc/fstab 649
administration 655
administration graphique 656
applications 637
architecture 638
carte graphique 642
conguration 646, 654
console 653
dmarrage automatique 656
disque dur 642
dom0 638
conguration 646
initrd du domU 649
interfaces rseau 642
noyau du domU 649
domaines 638
domU 639
cloner 651
conguration 649, 654
console 653
console texte 642
cration 646
dmarrage 650
automatique 656
exemple dinstallation 648
Fedora 648
heure 651
image prinstalle 647
initrd 648
installation de la
distribution 648
installation du
systme 647
interaction 652
noyau 648
SDL 642, 653
VNC 643, 654
Windows XP 651
chier image 643
formats 643
gestion du matriel 640
GRUB 645
HVM 638, 651
InitV 656
installation 645
noyau 648
paravirtualisation 638
problmes frquents 651
rseau 640
restrictions 639
SDL 653
virtualisation matrielle 638
VNC 654
Windows XP 651
xenblk 642
xend 641, 646
xend-cong.sxp 646
xenman 656
xentop 656
xm 650, 655
xend 641
rseau 641
xend-cong.sxp 646
xenman 656
xentop 656
xev 400
xfs 416, 434
/etc/fstab 435
cration dun systme de
chiers 435
label 435
mkfs.xfs 435
redimensionnement 435
rparation du systme de
chiers 435
vrication du systme de
chiers 435
xfs_admin 435
xfs_check 435
xfs_growfs 435
xfs_admin 435
xfs_check 435
xfs_growfs 435
xfs_repair 435
xfs_xfs_repair 435
XGL 391
comparaison avec AIGLX 392
prise en charge des pilotes
graphiques 391
xine 169
Linux Livre Page 697 Mardi, 23. septembre 2008 1:05 13
LINUX 698
xine-check 169
Xinerama 358, 369, 385
xinetd 561
/etc/services 562
arrt 562
conguration 562
dmarrage 562
scurisation 563
service 562
xinetd.conf 562
xinetd.d 562
syntaxe des chiers 562
xinetd.conf 562
xinetd.d 562
syntaxe des chiers 562
Xkb 377
xkill 217, 400
xlsfonts 400
xm 650, 655
xmms 169
Xmodmap 377, 380, 400
xorg.conf
carte graphique 367
clavier 378
conguration minimale 365
cran 366
modes graphiques 371
moniteur 366
nombre de couleurs 368
pilote 367
rsolution 368
sections 365
Device 367
Files 370, 397
Input Device 378
Module 370
Monitor 366
Screen 368
Display 368
ServerFlags 371
ServerLayout 369
Xinerama 369
XPI 85
xrandr 400
XSane 148
xset 400
xterm 174, 400
Xubuntu 668
XV 163
XviD 161
XWindow 357
systme 357
Y
Yum 344
/etc/yum.conf 345
conguration 345
conits de verrous 345
dpt de paquetage 346
exemples 346
mise jour de la
distribution 346
mises jour
automatiques 347
paquetages de code
source 347
yumdownloader 347
Yumex 347
Z
Zeroconf 528
zip 195
Linux Livre Page 698 Mardi, 23. septembre 2008 1:05 13
Le Campus
Table des matires
Quest-ce que Linux ?
Installation
Premiers pas sous Linux
Gnome
KDE
Navigateurs Internet (Firefox, Konqueror)
E-mail (Thunderbird, Evolution, Kontact)
OpenOffice
Appareils photo numriques, numrisation,
gestion des photos
Gimp
Audio et vido
La console
Gestion des fichiers
Gestion des processus
Convertisseurs graphiques, audio et texte
Outils rseau
Vim
Emacs et Xemacs
Bash
Configuration de base
Gestion des logiciels et des paquetages
Systme XWindow
Administration du systme de fichiers
Dmarrage du systme
Noyau et modules
Configurer laccs rseau (rseau local, Wi-Fi)
Accs Internet
Passerelle Internet (mascarade et DHCP)
Scurit du rseau
Serveur de rseau local (CUPS, NFS et Samba)
Lancer des programmes Windows (Wine,
CrossOver)
Virtualisation avec VMware, VirtualBox, QEMU
et KVM
Xen
Rfrences thmatiques
Sources dinformations
La bible de lutilisateur Linux enfin traduite !
Vritable outil de rfrence depuis plus de dix ans, cet ouvrage
exceptionnel vous accompagnera au quotidien dans la dcouverte
et la matrise de Linux. Que vous soyez dbutant ou confirm,
vous y trouverez tout ce que vous avez besoin de savoir : ins-
tallation, distributions, configuration du systme et des rseaux,
outils et applications disponibles, mais galement commandes
shell, gestion des paquetages, systmes de fichiers, noyau, outils
dadministration, virtualisation, etc.
Il couvre les distributions les plus rpandues, la majeure partie de
leurs usages domestiques et les dernires nouveauts du monde
Linux : bureaux 3D, KDE4, Xen. Une rfrence thmatique des
commandes est fournie en fin douvrage.
Ce guide, complet et accessible, vous donnera toutes les cls pour
utiliser et surtout comprendre Linux, et fera de vous un incondi-
tionnel de ce systme dexploitation libre et sr.
propos de lauteur
Michael Kofler a dj aid plusieurs gnrations dutilisateurs faire leurs pre-
miers pas sous Linux. Ses ouvrages sur Linux, sur PHP 5 et sur MySQL font partie
des livres les plus lus dans le domaine du logiciel libre.
Installation, configuration
et applications
Linux
8
e
dition
Niveau : Tous niveaux
Catgorie : Systme dexploitation
Configuration : PC
Pearson Education France
47 bis, rue des Vinaigriers
75010 Paris
Tl. : 01 72 74 90 00
Fax : 01 42 05 22 17
www.pearson.fr
ISBN : 978-2-7440-4088-7

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