You are on page 1of 172

Collection Savoirs francophones Srie Technologies de linformation

Prparation lexamen 201


pour la certification de lInstitut professionnel de Linux, niveau avanc (LPIC-2)
Zied Bouziri, Hedi Magroun

Prparation lexamen 201 pour la certification LPIC-2

Pour citer cet ouvrage


Zied Bouziri, Hedi Magroun (2012). Prparation lexamen 201 pour la certification de lInstitut professionnel de Linux, niveau avanc (LPIC-2). Agence universitaire de la Francophonie, Paris. Disponible sur le Web : www.lpi-francophonie.org/spip.php?article266 Mis disposition sous contrat libre Creative http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Commons BY-NC-CA

Les auteurs remercient Vronique Pierre pour son appui la relecture et la mise en forme de louvrage.

Agence universitaire de la Francophonie (AUF) Direction de linnovation pdagogique et de lconomie de la connaissance 4 place de la Sorbonne 75005 PARIS France www.auf.org

Ouvrage sous contrat Creative Commons BY-NC-SA p. 2

Prparation lexamen 201 pour la certification LPIC-2

Accs et utilisation
Cet ouvrage est diffus exclusivement au format numrique, gratuitement. Il est tlchargeable au format PDF sur le site LPI Francophonie, www.lpi-francophonie.org. Le contrat Creative Commons BY-NC-SA sous lequel il est mis disposition vous donne un certain nombre de droits, mais vous impose galement de respecter un certain nombre de conditions :

Les droits
Vous tes libre de reproduire, distribuer et communiquer cet ouvrage, tel quel ou aprs modification. Louvrage peut vous tre fourni dans un format numrique modifiable sur simple demande, envoyer innovation@lpi-francophonie.org.

Les conditions respecter


BY = Paternit (by) : les noms des auteurs et diteurs de louvrage devront toujours tre mentionns, en utilisant le modle donn (cf. page prcdente), ceci mme si vous apportez des modifications et, dans ce cas, dune manire qui ne risque pas de suggrer quils soutiennent ou approuvent les modifications apportes ; NC = Pas dutilisation commerciale (Non Commercial) : toute diffusion payante, mme aprs modification, est interdite ; SA = Partage des conditions initiales lidentique (Share Alike) : si vous modifiez, transformez ou adaptez cet ouvrage, vous navez le droit de distribuer la cration qui en rsulte quen donnant les mmes droits, et sous les mmes conditions. chaque rutilisation ou distribution de cet ouvrage, ou de toute uvre qui en serait drive, vous devez faire apparatre clairement au public les conditions contractuelles de sa mise disposition. La meilleure manire de les indiquer est un lien vers cette page web : http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ Chacune de ces conditions peut tre leve si vous obtenez lautorisation du titulaire des droits sur cette uvre. Rien dans ce contrat ne diminue ni ne restreint le droit moral de lauteur.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 3

Prparation lexamen 201 pour la certification LPIC-2

Table des matires


Pour citer cet ouvrage........................................................................................................... 2 Accs et utilisation ................................................................................................................ 3
Les droits ..................................................................................................................................... 3 Les conditions respecter ........................................................................................................... 3

Table des matires ............................................................................................... 4 Introduction........................................................................................................... 9 Chapitre 1. Le noyau Linux................................................................................ 11


1. Les versions du noyau Linux .......................................................................................... 12 2. Modification et configuration du noyau ........................................................................... 13 3. La modification dynamique des paramtres du noyau ................................................... 14 4. Construction d'un noyau Linux ....................................................................................... 15
4.1. Configuration du noyau....................................................................................................... 16 4.2. Compilation du noyau ......................................................................................................... 18 4.3. Installation et dmarrage du nouveau noyau...................................................................... 19

5. Mise jour dun noyau.................................................................................................... 21 6. Modules du noyau .......................................................................................................... 24 7. Passage de paramtres au noyau partir du chargeur de dmarrage .......................... 26 Exercices ............................................................................................................................ 26

Chapitre 2. Dmarrage du systme .................................................................. 28


1. Processus init et niveau d'excution............................................................................... 29 2. Gestion des services ...................................................................................................... 32 3. Gestion des services sous Red Hat................................................................................ 33 4. Gestion des services sous Debian et ses drivs .......................................................... 36 5. Upstart ............................................................................................................................ 37 6. Rcupration du systme ............................................................................................... 37
Ouvrage sous contrat Creative Commons BY-NC-SA p. 4

Prparation lexamen 201 pour la certification LPIC-2 6.1 Rcupration du chargeur de dmarrage Grub ................................................................... 37 6.2 Rcupration de la partition racine ...................................................................................... 41

Exercices ............................................................................................................................ 41

Chapitre 3. Les systmes de fichiers Linux..................................................... 43


1. Les types de systmes de fichiers.................................................................................. 44
1.1 ext2 ...................................................................................................................................... 44 1.2 ext3 ...................................................................................................................................... 44 1.3 ext4 ...................................................................................................................................... 45 1.4 XFS ...................................................................................................................................... 45 1.5 JFS....................................................................................................................................... 45 2.1 Commande mkfs.................................................................................................................. 46 2.2 Le superbloc ........................................................................................................................ 48 2.3 Configuration de l'espace swap ........................................................................................... 50

2. Cration de systmes de fichiers.................................................................................... 46

3. Ajustement des paramtres des systmes de fichiers ext[234] ..................................... 51 4. Vrification et rparation dun systme de fichiers ......................................................... 51 5. Gestion des disques optiques......................................................................................... 52
5.1 Systmes de fichiers cdrom et DVD ................................................................................ 52 5.2 Cration de systme de fichiers .......................................................................................... 53 5.3 Gravure d'une image iso...................................................................................................... 54 6.1 Principe de fonctionnement ................................................................................................. 55 6.2 Le systme de fichiers sysfs ................................................................................................ 57 6.3 Les rgles udev ................................................................................................................... 58

6. Gestion des priphriques avec udev ............................................................................ 55

7. Le service autofs............................................................................................................. 60 Exercices ............................................................................................................................ 61

Chapitre 4. RAID et LVM .................................................................................... 62


1. RAID ............................................................................................................................... 63
1.1 Concepts gnraux.............................................................................................................. 63 1.2 Gestion du RAID logiciel sous Linux.................................................................................... 65 2.1 Concepts gnraux du LVM ................................................................................................ 68 2.2 Gestion du LVM sous Linux ................................................................................................. 68 3.1 Cration du volume RAID .................................................................................................... 70 3.2 Cration du LVM .................................................................................................................. 71 3.3 Simulation d'une panne ....................................................................................................... 73 3.4 La raffectation d'espace de stockage ................................................................................ 75 Ouvrage sous contrat Creative Commons BY-NC-SA p. 5

2. LVM ................................................................................................................................ 68

3. Exemple de configuration avec LVM et RAID logiciel .................................................... 69

Prparation lexamen 201 pour la certification LPIC-2

4. Ajustement des paramtres d'accs aux disques .......................................................... 76


4.1 Interfaces des disques durs ................................................................................................. 76 4.2 Ressources utiliss par les disques..................................................................................... 77 4.3 Modification des paramtres disques .................................................................................. 78

Exercices ............................................................................................................................ 81

Chapitre 5. Configuration rseau...................................................................... 83


1. Interface rseau.............................................................................................................. 84
1.1. Dtection des interfaces rseaux ....................................................................................... 84 1.2. Pilotes et noms des interfaces rseaux .............................................................................. 85 1.3. Paramtrage des interfaces Ethernet ................................................................................. 86 1.4. Paramtrage des interfaces sans fil ................................................................................... 87 1.5. Paramtrage des interfaces point--point........................................................................... 91 2.1. Commandes de configuration IP ........................................................................................ 94 2.2. Fichiers de configuration rseau......................................................................................... 97 2.3. Rsolution de noms d'htes.............................................................................................. 100 3.1. Configuration multirseau ................................................................................................. 101 3.2. OpenVPN.......................................................................................................................... 102 4.1. Test de la connectivit rseau avec ping.......................................................................... 105 4.2. Test de la rsolution de noms avec nslookup et dig ......................................................... 107 4.3. Test du chemin rseau avec traceroute ........................................................................... 107 4.4. Test de la connectivit applicative avec telnet.................................................................. 108 4.5. Test de la connectivit applicative avec nc....................................................................... 110 4.6. Diagnostic rseau avec netstat......................................................................................... 111 4.7. Diagnostic rseau avec lsof .............................................................................................. 112 4.8. Scanner de ports nmap .................................................................................................... 113 4.9. Analyse du trafic avec tcpdump ........................................................................................ 114 4.10. Analyse du trafic avec wireshark .................................................................................... 116

2. Configuration IP .............................................................................................................. 94

3. Configurations IP avances.......................................................................................... 101

4. Diagnostic rseau ......................................................................................................... 105

5. Notification des utilisateurs ........................................................................................... 116 6. Exercices ...................................................................................................................... 117

Chapitre 6. Maintenance systme................................................................... 120


1. Installation partir des codes sources ......................................................................... 120
1.1 Introduction ........................................................................................................................ 120 1.2 Rcupration des codes sources ...................................................................................... 121 1.3 Dpaquetage ..................................................................................................................... 121 1.4 Pr-compilation .................................................................................................................. 123 1.5 Compilation ........................................................................................................................ 124 Ouvrage sous contrat Creative Commons BY-NC-SA p. 6

Prparation lexamen 201 pour la certification LPIC-2 1.6 Post-compilation ................................................................................................................ 124 1.7 Dsinstallation ................................................................................................................... 125 2.1 Concepts............................................................................................................................ 125 2.2 Utilitaires de sauvegarde ................................................................................................... 127 2.3 Solutions de sauvegarde ................................................................................................... 134

2. Sauvegarde .................................................................................................................. 125

3. Exercices ...................................................................................................................... 135

Chapitre 7. Service DNS .................................................................................. 137


1. Concepts....................................................................................................................... 138
1.1 Domaine et dlgation ....................................................................................................... 138 1.2 Organisation et structure ................................................................................................... 139 1.3 Fichiers de zone ................................................................................................................ 139 1.4 Rsolution de noms ........................................................................................................... 140 2.1 Syntaxe et options ............................................................................................................. 141 2.2 Signaux .............................................................................................................................. 142 2.3 Dmarrage et arrt ............................................................................................................ 142 3.1 Structure et format ............................................................................................................. 143 3.2 Journalisation..................................................................................................................... 144 3.3 Zones particulires ............................................................................................................ 144 4.1 Serveur matre ................................................................................................................... 145 4.2 Serveur esclave ................................................................................................................. 146 4.3 Serveur de cache............................................................................................................... 146 4.4 Serveur de retransmission ................................................................................................. 147 5.1 Format d'un fichier de zone ............................................................................................... 148 5.2 Format des enregistrements de ressources ...................................................................... 149 6.1 Paramtrage de named.conf ............................................................................................. 152 6.2 Paramtrage de rndc.conf ................................................................................................. 152 6.3 Syntaxe et options ............................................................................................................. 153 7.1 Commande host ................................................................................................................ 154 7.2 Commande nslookup ......................................................................................................... 154 7.3 Commande dig .................................................................................................................. 155 7.4 Commande named-checkconf ........................................................................................... 156 7.5 Commande named-checkzone .......................................................................................... 157 7.6 Commande dnssec-keygen ............................................................................................... 158 Ouvrage sous contrat Creative Commons BY-NC-SA p. 7

2. Dmon named .............................................................................................................. 141

3. Fichier de configuration named.conf............................................................................. 143

4. Configurations types ..................................................................................................... 145

5. Fichier de zone ............................................................................................................. 148

6. Utilitaire rndc................................................................................................................. 152

7. Commandes de diagnostic et de configuration ............................................................ 154

Prparation lexamen 201 pour la certification LPIC-2 7.7 Commande dnssec-signzone ............................................................................................ 160

8. Scurit......................................................................................................................... 161
8.1 Environnement enferm ................................................................................................... 161 8.2 Listes de contrle d'accs................................................................................................. 163 8.3 Scurisation des transactions avec TSIG .......................................................................... 164 8.4 Scurisation des donnes avec DNSSEC ......................................................................... 165

9. Exercices ...................................................................................................................... 166

Index des mots cls ......................................................................................... 168 Table des figures et des tableaux ................................................................... 171 Les auteurs ....................................................................................................... 172

Ouvrage sous contrat Creative Commons BY-NC-SA p. 8

Prparation lexamen 201 pour la certification LPIC-2

Introduction
La certification de lInstitut professionnel de Linux Linux professional Institute (LPI Inc.) permet de valider les connaissances et lexprience des administrateurs systmes et rseaux qui travaillent avec le systme dexploitation GNU/Linux. Cet ouvrage permet de prparer lexamen 201, qui constitue le premier examen passer pour obtenir la certification de niveau 2 Advanced Level Linux Certification abrge en LPIC-2 . Il est publi par lAgence universitaire de la Francophonie (AUF) dans le cadre du LPI Francophonie. Il a reu le label Support de formation agr Institut professionnel de Linux (LATM, LPI Approved Training Material). Il prend en compte les objectifs dtaills de lexamen 201 mis jour en avril 2009 : version originale sur le site du LPI Exam 201 : Detailed Objectives www.lpi.org/linuxcertifications/programs/lpic-2/exam-201/ traduction en franais sur le site du LPI Francophonie : www.lpifrancophonie.org/spip.php?rubrique20

Chaque chapitre traite dun sujet du programme de certification. Pourquoi une certification Linux ? Les objectifs de la certification cre par le LPI Inc. sont multiples. En voici quelques uns : pouvoir rpondre aux dtracteurs des logiciels libres en dmontrant que la communaut du logiciel libre est capable de sorganiser ; donner aux employeurs un outil permettant de juger les connaissances et lexprience dune personne ; fournir aux centres de formations une structure commune pour lenseignement de ladministration systme/rseau base sur lutilisation de GNU/Linux.

Par la cration dune certification, lide est galement de participer la promotion de lutilisation des logiciels libres et son dveloppement, en particulier du systme dexploitation GNU/Linux dans le domaine de ladministration systme/rseau . Une certification indpendante fonctionnant sur le modle du logiciel libre.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 9

Prparation lexamen 201 pour la certification LPIC-2

La certification LPI valide les connaissances et lexprience acquises par les administrateurs utilisant les logiciels libres associs au systme GNU/Linux. Elle est indpendante des diffrentes distributions GNU/Linux, mme si de nombreux acteurs du logiciel libre sont partenaires de linitiative. La communaut du logiciel libre est associe au programme de la certification. Son volution, sa ractivit et son indpendance sont ainsi garanties. Le LPI Inc., un organisme neutre fond par la communaut du logiciel libre. Le LPI Inc. est une association but non lucratif base au Canada. Il est soutenu par une large communaut de clients dentreprises, de gouvernements, de centres dexamen, dditeurs de livres, de fournisseurs de supports pdagogiques et dtablissements ducatifs et de formation dans le monde. Le LPI Inc. ne prpare pas la certification, il na pas vocation tre un centre de formation ni vendre des supports de formation. Il dlivre toutefois des agrments de qualit pour les centres de formation et pour les contenus pdagogiques qui prparent ses certifications. Son action reste prioritairement concentre sur la cration et la gestion des certifications. Les certifications reprsentent son seul capital . Le LPI Inc. prsente les premires certifications dans les technologies de linformation ayant obtenu une accrditation professionnelle. Il favorise ainsi ladoption et le dveloppement de normes ouvertes en association avec les acteurs spcialiss du domaine. Il participe au dveloppement doutils se basant sur des logiciels libres pour faire progresser les procdures de dveloppement des examens. Le LPI Francophonie. LAgence universitaire de la Francophonie (AUF) et le LPI Inc. ont cr le LPI Francophonie en 2003. Ce partenariat a permis dorganiser des sessions de prparation la certification LPI via les Centres Linux et logiciels libres pour le dveloppement (C3LD). Un des objectifs est de promouvoir lusage des logiciels libres et la certification des comptences humaines.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 10

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 1. Le noyau Linux


Objectifs Composants du noyau identifier les versions d'un noyau stable ou en dveloppement ; utiliser les composants du noyau qui sont ncessaires aux matriels spcifiques, pilotes, ressources et besoins du systme ; identifier les diffrents types d'images du noyau. Compilation d'un noyau personnaliser la configuration du noyau ; compiler un noyau Linux 2.6 en incluant ou dsactivant des composants spcifiques du noyau. Mise jour d'un noyau appliquer les mises jour du noyau Linux pour accueillir de nouveaux priphriques ; dsinstaller correctement des mises jour. Personnalisation, construction et installation d'un noyau et des modules noyau personnaliser et construire un noyau 2.6 pour des besoins spcifiques du systme, par la mise jour, la compilation ou la modification des fichiers de configuration ; construire et configurer les modules du noyau ; crer une image d'initialisation systme (initrd) et installer un nouveau noyau. Gestion/interrogation du noyau et des modules noyau en excution grer et interroger les modules du noyau 2.6.x ; charger et dcharger manuellement les modules du noyau. Fichiers de configuration de GRUB. Les options de la commande make pour le noyau 2.6.x. Le fichier Makefile. Personnalisation de la configuration du noyau courant. Construction d'un nouveau noyau et des modules noyau appropris. Installation d'un nouveau noyau et de tout module ncessaire. Localisation du chargeur de dmarrage du nouveau noyau et des fichiers associs.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 11

Points importants

Prparation lexamen 201 pour la certification LPIC-2

Mots cls

/usr/src/linux/ Fichiers de configuration des modules. Utilisation des commandes de rcupration des informations sur le noyau et sur ses modules en cours d'excution. Chargement et dchargement manuels des modules du noyau. Dtermination des paramtres accepts par le module. /usr/src/linux, zImage, bzImage, mkinitrd, mkinitramfs, make, patch, depmod, insmod, lsmod, rmmod, modinf, modprobe, uname Les options de make : config, xconfig, menuconfig, oldconfig, cloneconfig, prepare-all, mrproper zImage, bzImage, modules, modules_install

Une des caractristiques les plus intressantes du noyau Linux est qu'il n'est pas un produit commercial, il est issu d'un projet collaboratif dvelopp sur Internet. Bien que Linus Torvalds, qui a dvelopp la premire version du noyau Linux, reste le premier responsable de sa maintenance, il peut sappuyer sur une trs large communaut de contributeurs. Le noyau Linux est diffus sous licence GNU General Public License (GPL) version 2.0. On peut ainsi tlcharger le code source, et galement le modifier. Le noyau Linux est dvelopp essentiellement en langage C, ce qui permet d'offrir une couche d'abstraction logicielle qui cache les particularits matrielles de bas niveau.

1. Les versions du noyau Linux


Le premier noyau Linux a t cr en 1991 par Linus Torvalds. Il a volu au cours de temps et volue encore. Jusqu la version 2.6, les diffrentes versions du noyau Linux sont dsignes par un numro compos de trois squences de chiffres dlimites par un point : la premire squence est le numro de la version majeure. Ce numro a t modifi uniquement pour des changements majeurs dans le code et le concept du noyau, en 1994 (version 1.0) et en 1996 (version 2.0) ; la deuxime squence est le numro de la version mineure. Un nombre pair indique quil sagit dun noyau stable, un nombre impair quil sagit dun noyau en dveloppement. Ainsi, les versions 2.2 et 2.4 sont des versions stables, les versions 2.3 et 2.5 des versions en dveloppement. Les versions stables sont destines tre dployes dans des environnements de production. Elles sont livres pour fournir des corrections ou des nouveaux pilotes de priphriques. Les versions en dveloppement sont destines aux tests de nouvelles fonctionnalits ; la troisime squence est le numro de rvision. Ce numro est incrment chaque fois quune nouvelle version du noyau est diffuse, que ce soit pour des correctifs de scurit, des corrections de bogues, lajout de nouvelles fonctionnalits ou de
Ouvrage sous contrat Creative Commons BY-NC-SA p. 12

Prparation lexamen 201 pour la certification LPIC-2

nouveaux pilotes. En 2004, aprs la publication de la version 2.6.0 du noyau Linux, les dveloppeurs du noyau dcident d'abandonner ce modle de numrotation stable/dveloppement. Ils estiment en effet que le noyau 2.6 est suffisamment mature et stable et que les nouvelles fonctionnalits, qui risqueraient de le dstabiliser, sont inutiles. Les numros mineurs pairs ou impairs nont donc plus de signification particulire. La srie des noyaux 2.6 est prolonge et l'introduction de la srie des noyaux 2.7 en dveloppement abandonne. Le cycle de dveloppement de chaque rvision 2.6 est plus rapide, chaque version comportant une srie de mini-dveloppements. Depuis lors, les numros de versions sont composs de la faon suivante : les deux premiers numros, 2.6 , sont rests inchangs depuis 2003 ; le troisime numro est la version courante du noyau ; les dveloppeurs du noyau ont ensuite introduit une quatrime squence, le numro de la version stable. Sa premire utilisation date de la version du noyau 2.6.8, quand une grave erreur, qui exigeait une correction immdiate, a t identifie dans l'implmentation du protocole NFS. Comme il ny avait pas assez de changements pour justifier la publication d'une nouvelle version du noyau (qui aurait t la 2.6.9), la version 2.6.8.1 a t publie, avec pour seul changement le correctif de cette erreur.

partir de la version 2.6.11, cette quatrime squence a t officiellement adopte dans la nomenclature des versions du noyau Linux pour indiquer que des corrections derreurs et des correctifs de scurit ont t apports la version de base du noyau. Le 29 mai 2011, Linus Torvalds annona la version 3.0 du noyau, en l'honneur du 20 anniversaire de Linux. Cette version 3.0 n'est qu'une simple volution de la 2.6.39.
e

2. Modification et configuration du noyau


Le noyau Linux est diffus avec une configuration gnrique conue pour supporter n'importe quelle application sur n'importe quel matriel. Cette configuration gnrique comprend de nombreux pilotes de priphriques, mais aussi des paramtres pour le noyau. On peut modifier ces paramtres afin d'adapter le noyau des besoins spcifiques, augmenter les performances, renforcer la scurit, ou encore la fiabilit du systme. Dans certains cas, la modification du noyau est ncessaire afin dajouter de nouveaux pilotes de priphriques. Le code source du pilote ajout doit tre intgr dans les structures de donnes du noyau. Ceci peut exiger la re-compilation du noyau. Il existe quatre mthodes pour intervenir sur la configuration dun noyau Linux : modification dynamique des paramtres de configuration du noyau ; construction d'un noyau partir de zro (compilation du code source, avec ventuellement des modifications et des ajouts) ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 13

Prparation lexamen 201 pour la certification LPIC-2

chargement de modules dans un noyau existant, la vole ; passage de paramtres en utilisant le chargeur de dmarrage : LILO ou GRUB.

Ces mthodes sont applicables dans des situations diffrentes. La modification dynamique des paramtres est la plus facile et la plus courante, tandis que la construction d'un noyau partir des fichiers sources est la plus difficile et la moins souvent ncessaire.

3. La modification dynamique des paramtres du noyau


Le noyau peut tre ajust dynamiquement travers des paramtres du systme. Ces paramtres sont accessibles et modifiables partir des fichiers du rpertoire /proc/sys. EXEMPLE Pour modifier le nombre maximal de fichiers que le systme peut ouvrir simultanment, on peut modifier le fichier /proc/sys/fs/file-max de la faon suivante : # echo 32768 > /proc/sys/fs/file-max Quelques autres paramtres ajustables du noyau sont dcrits dans le tableau 1.
Tableau 1. Quelques paramtres ajustables du noyau Linux

Fichier /proc/sys/fs/file-max /proc/sys/kernel/ctrl-alt-del

/proc/sys/net/ipv4/icmp_echo_ignore_all /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts /proc/sys/net/ipv4/ip_forward

/proc/sys/kernel/hostname

Description Indique le nombre maximal de fichiers que le noyau peut manipuler simultanment Contrle la gestion de la squence Ctrl-AltSupp du clavier. S'il contient la valeur zro, Ctrl-Alt-Supp est captur et envoy au programme init pour relancer le systme correctement. Bloque les rponses au ping. Ignore les messages de diffusion ICMP (Internet Control Message Protocol) Active ou dsactive le relayage (forwarding) entre les cartes rseaux. Activer le relayage est ncessaire pour faire fonctionner le systme comme un routeur. Permet de changer le nom de la machine.

Puisque le systme de fichiers /proc est virtuel et n'a d'existence quau niveau de la mmoire centrale, la modification des fichiers quil contient est temporaire, et sera perdue lors du redmarrage du systme. Pour mmoriser les paramtres appliquer au dmarrage du systme, on utilise le fichier /etc/sysctl.conf.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 14

Prparation lexamen 201 pour la certification LPIC-2

Si le fichier /etc/sysctl.conf contient la ligne : net.ipv4.ip_forward = 0 alors au dmarrage du systme le paramtre ip_forward aura pour valeur 0, donc le relayage ne sera pas activ. En cours dexcution, les paramtres du noyau peuvent aussi tre modifis par la commande sysctl : # sysctl w net.ipv4.ip_forward=1 Cette commande donne au paramtre ip_forward la valeur 1, ce qui a pour effet dactiver le relayage.

4. Construction d'un noyau Linux


On peut tre amen compiler et installer un nouveau noyau Linux pour intgrer des correctifs (patchs), des pilotes de priphriques ou de nouvelles fonctionnalits. Le code source et les correctifs des noyaux Linux sont disponibles sur le site www.kernel.org. On doit peser les besoins et les risques lors de la planification des amliorations et des correctifs du noyau. Bien sr, la nouvelle version peut apporter des fonctionnalits attrayantes, mais est-elle aussi stable que la version courante ? Une bonne rgle est de mettre jour le noyau ou dappliquer les correctifs lorsque des gains en terme de productivit (souvent mesurs en terme de fiabilit et de performance) dpassent l'effort et la perte de temps ncessaires pour effectuer ces mises jour. Si on rencontre des difficults quantifier ce gain, c'est signe que le correctif peut attendre un autre jour. EXEMPLE Dans l'exemple ci-dessous, le code source du noyau 2.6.35 a t tlcharg, partir du lien www.kernel.org/pub/linux/kernel/v2.6, sous forme d'une archive nomme tar.bz2. Le rpertoire linux-2.6.35.5/ est cr l'issue de la dcompression et de l'extraction de cet archive par la commande tar xjfv linux-2.6.35.5.tar.bz2. l'intrieur de ce rpertoire se trouve l'arborescence du code source du noyau Linux 2.6.35. $ tar xjfv linux-2.6.35.5.tar.bz2 $ cd linux-2.6.35.5/ $ls $ ls arch COPYING crypto drivers fs Makefile net REPORTING-BUGS scripts sound block CREDITS Documentation firmware include mm README samples security tools

init Kbuild lib usr ipc kernel MAINTAINERS virt

Ouvrage sous contrat Creative Commons BY-NC-SA p. 15

Prparation lexamen 201 pour la certification LPIC-2

4.1. Configuration du noyau


Les informations sur la configuration du noyau sont stockes dans le fichier .config situ la racine du rpertoire source du noyau. Il est dconseill de modifier ce fichier manuellement. Linux offre plusieurs outils permettant de configurer le noyau et dcrire le rsultat dans le fichier .config.

4.1.1. Make config


L'outil le plus lmentaire est make config. Il s'excute en mode console. L'utilisateur doit ensuite spcifier toutes les options de configuration. make config demande pour chaque fonction si elle doit ou non tre active, en proposant quatre choix possibles sous la forme [Y / m / n /?] : Y ( yes ) pour intgrer la fonction directement dans le noyau. Cest le choix par dfaut, il peut tre slectionn en appuyant simplement sur la touche [Entre] ; m ( module ) pour construire un module qui va tre charg de faon dynamique ; n ( no ) pour ne pas activer la fonction ; ? pour afficher un message dcrivant la fonction.

4.1.2. Make oldconfig


Le noyau contient prs de deux mille options de configuration, et rpondre toutes les questions prend beaucoup de temps. Heureusement, il y a un moyen plus rapide de configurer le noyau : utiliser l'outil make oldconfig qui construit une configuration base sur une configuration pr-construite. EXEMPLE On va construire une configuration pour le nouveau noyau 2.6.35.5 partir de la configuration pr-construite pour le noyau courant (version 2.6.32.24) : $ make oldconfig scripts/kconfig/conf -o arch/x86/Kconfig # # using defaults found in /boot/config-2.6.32-24-generic # /boot/config-2.6.32-24-generic:556:warning: symbol value 'm' invalid for PCCARD_NONSTATIC /boot/config-2.6.32-24-generic:3031:warning: symbol value 'm' invalid for MFD_WM831X /boot/config-2.6.32-24-generic:3032:warning: symbol value 'm' invalid for MFD_WM8350 /boot/config-2.6.32-24-generic:3033:warning: symbol value 'm' invalid for MFD_WM8350_I2C /boot/config-2.6.32-24-generic:3038:warning: symbol value 'm' invalid for
Ouvrage sous contrat Creative Commons BY-NC-SA p. 16

Prparation lexamen 201 pour la certification LPIC-2

AB3100_CORE /boot/config-2.6.32-24-generic:3505:warning: symbol value 'm' invalid for FB_VESA /boot/config-2.6.32-24-generic:4174:warning: symbol value 'm' invalid for MMC_RICOH_MMC * * Restart config... * * * General setup * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y Cross-compiler tool prefix (CROSS_COMPILE) [] (NEW)

4.1.3. Make menuconfig


Il existe trois autres outils interactifs pour la configuration du noyau. Le premier outil est make menuconfig, il permet une configuration en mode console, la navigation entre les options de configuration est faite l'aide des touches flches du clavier (figure 1).
Figure 1. Outil make menuconfig

La console de l'outil make menuconfig est subdivise en plusieurs sections. Chaque section contient des options qui correspondent un thme spcifique. Par exemple la section
Ouvrage sous contrat Creative Commons BY-NC-SA p. 17

Prparation lexamen 201 pour la certification LPIC-2

Device Drivers contient des options concernant les pilotes des priphriques.

4..4. Make gconfig, make xconfig


Les deux autres outils, make gconfig et make xconfig, utilisent des interfaces graphiques permettant de modifier la configuration du noyau. Ces deux mthodes sont presque identiques, la seule diffrence est la bibliothque doutils graphiques avec laquelle elles sont crites. L'outil make gconfig est crit avec GTK+ et l'outil make xconfig est crit avec QT. Pour ces deux outils on utilise la souris pour naviguer dans les menus et slectionner des options. Par exemple, la figure 2 illustre la fentre xconfig Generic Driver Options de la section Device Drivers.
Figure 2. Fentre xconfig Generic Driver Options

Notons quavec loutil gconfig, une case coche signifie que l'option sera intgre au noyau, tandis qu'une ligne dans la case signifie que l'option sera construite comme un module. Avec loutil xconfig, une option intgre comme un module est reprsente par un point dans une case.

4.2. Compilation du noyau


Une fois que la configuration du noyau est cre, on peut compiler le noyau en utilisant la commande make :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 18

Prparation lexamen 201 pour la certification LPIC-2

$make $ make CHK UPD CHK UPD CC GEN CC GEN CALL HOSTCC SHIPPED SHIPPED SHIPPED HOSTCC SHIPPED HOSTCC HOSTLD CC HOSTCC MKELF HOSTCC HOSTCC HOSTCC HOSTLD HOSTCC HOSTCC

include/linux/version.h include/linux/version.h include/generated/utsrelease.h include/generated/utsrelease.h kernel/bounds.s include/generated/bounds.h arch/x86/kernel/asm-offsets.s include/generated/asm-offsets.h scripts/checksyscalls.sh scripts/genksyms/genksyms.o scripts/genksyms/lex.c scripts/genksyms/parse.h scripts/genksyms/keywords.c scripts/genksyms/lex.o scripts/genksyms/parse.c scripts/genksyms/parse.o scripts/genksyms/genksyms scripts/mod/empty.o scripts/mod/mk_elfconfig scripts/mod/elfconfig.h scripts/mod/file2alias.o scripts/mod/modpost.o scripts/mod/sumversion.o scripts/mod/modpost scripts/selinux/genheaders/genheaders scripts/selinux/mdp/mdp

Cette commande a pour effet de compiler le noyau avec la configuration dfinie dans l'tape prcdente, ainsi que tous les modules ncessaires cette configuration. Lors de la compilation du noyau, chaque fichier source compil est affich individuellement, avec des messages d'avertissement ou d'erreur ventuels. Si la compilation du noyau se termine sans erreur, le rsultat est un fichier binaire le fichier image du noyau qui doit tre install avant qu'on puisse l'utiliser au dmarrage de la machine.

4.3. Installation et dmarrage du nouveau noyau


Maintenant que le noyau est sous forme d'un fichier binaire, ainsi que les modules que le noyau va utiliser de faon dynamique, il est temps d'installer le nouveau noyau et dessayer de le dmarrer.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 19

Prparation lexamen 201 pour la certification LPIC-2

Dans cette tape, la diffrence des tapes prcdentes, toutes les commandes doivent tre excutes avec les droits root. L'installation du nouveau noyau peut tre ralise soit en utilisant des scripts offerts par la distribution installe, soit de faon manuelle.

4.3.1. Utilisation des scripts d'installation d'une distribution


La plupart des distributions Linux sont livres avec un script appel installkernel qui peut tre utilis lors de l'installation dun nouveau noyau compil. Ce script permet de copier le nouveau noyau dans le rpertoire appropri et de modifier le chargeur de dmarrage afin que ce nouveau noyau puisse tre slectionn lors du dmarrage du systme. Si on a choisi d'utiliser des modules externes dynamiques, on doit d'abord les installer avec la commande : # make modules_install Ceci permet de placer tous les modules compils dans le rpertoire appropri dans l'arborescence standard Linux, o le noyau pourra les retrouver en cas de besoin. Dans notre exemple les modules dynamiques sont placs dans le rpertoire /lib/modules/2.6.35.5. Une fois les modules installs correctement, l'image du nouveau noyau doit tre aussi installe par la commande : # make install Cette commande dclenche le processus suivant : 1. 2. 3. 4. Vrification de la bonne construction du nouveau noyau. Installation de la partie statique du noyau dans le rpertoire /boot Cration de toutes les images RAM Disk ncessaires , en utilisant les modules installs lors de lexcution de la commande make modules_install. Ajout dune entre dans le fichier de configuration du chargeur de dmarrage pour le nouveau noyau.
1

Une fois ce processus termin, le noyau est install avec succs, on peut donc redmarrer et tester la nouvelle image du noyau. Notons ici que cette installation n'crase pas l'ancienne image du noyau. Si un problme survient on peut y revenir au moment du dmarrage.

4.3.2. Installation manuelle


Si la distribution ne dispose pas du script installkernel, ou si lon souhaite tout simplement faire l'installation manuellement, on doit procder de la manire suivante :

Image RAM Disk (ou image intrd ) : voir explication dans la section 4.3.2 Installation manuelle. Ouvrage sous contrat Creative Commons BY-NC-SA p. 20

Prparation lexamen 201 pour la certification LPIC-2

Installer les modules : # make modules_install Le noyau doit tre copi dans le rpertoire /boot. Pour un noyau bas sur l'architecture 386, on excute la commande : # cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.35.5 # cp System.map /boot/System.map-2.6.35.5 On doit ensuite modifier le fichier de configuration du chargeur de dmarrage afin qu'il puisse reconnatre le nouveau noyau. Si le processus de dmarrage ne fonctionne pas correctement, c'est gnralement parce qu'une image initrd est ncessaire. initrd est une abrviation de Initial RAM Disk (disque virtuel initial). Cette image initrd est utilise par le noyau pour charger les pilotes avant le dmarrage du systme. Le but est de permettre aux utilisateurs de construire des noyaux modulaires. Ceci permet par exemple de dmarrer partir de n'importe quel disque SCSI avec des noyaux ne contenant pas tous les pilotes des contrleurs SCSI. Dans ce cas, l'image initrd contient les pilotes SCSI ncessaires et tous les autres pilotes ncessaires pour le dmarrage du systme. Une image initrd est gnralement construite par la commande mkinitrd. Pour la distribution Red Hat et ses drives on excute la commande : mkinitrd -v /boot/initrd-2.6.35.5.img 2.6.35.5 Pour la distribution Debian et ses drives on excute la commande : mkinitrd -o /boot/initrd-2.6.35.5 .img /lib/modules/2.6.35.5

5. Mise jour dun noyau


On peut tre confront la question de mise niveau d'un noyau personnalis suite la correction de quelques bugs dans la dernire version du noyau, un problme de scurit corrig, ou autre. On ne veut pas perdre le temps dj dploy pour la personnalisation et la compilation du noyau. Il est facile de mettre jour un noyau d'une version ancienne tout en conservant toutes les options de la configuration prcdente. Tout d'abord, dans le rpertoire source du noyau on sauvegarde le fichier .config. On a consacr du temps des efforts sa cration, il est important de pouvoir disposer dune sauvegarde en cas de problme. $ cd linux-2.6.35.5 $ cp .config ../good_config
Ouvrage sous contrat Creative Commons BY-NC-SA p. 21

Prparation lexamen 201 pour la certification LPIC-2

Cinq tapes sont ncessaires pour mettre niveau un noyau dj compil et install : 1. 2. 3. 4. 5. Obtenir le nouveau code source. Appliquer les modifications sur l'ancienne arborescence du code source du noyau pour le mettre niveau. Reconfigurer le nouveau noyau en se basant sur la configuration prcdente. Compiler le nouveau noyau. Installer le nouveau noyau.

Les trois dernires tapes sont identiques celles dcrites prcdemment, seules les deux premires sont donc prsentes ici. La version 2.6.35.5 du noyau de Linux est dj compile et installe. Il sagit maintenant de mettre jour ce noyau vers la version 2.6.35.7. Un fichier de patch, ou patch , est appliqu sur larborescence du code source existant, crant ainsi une nouvelle arborescence. Le patch contient les changements apporter aux anciens fichiers, et de nouveaux fichiers. Voici comment les patchs peuvent tre appliqus : les patchs du noyau stable peuvent tre appliqus sur une version de base du noyau, par exemple le patch 2.6.35.6 peut tre appliqu seulement sur la version 2.6.35 du noyau. Ainsi, il ne peut pas tre appliqu sur la prcdente version du noyau (version 2.6.35.5) ; un patch d'une version de base ne peut tre appliqu que sur un noyau de la version de base prcdente. Cela signifie que le patch 2.6.36 ne s'applique qu' la version 2.6.35 du noyau. Il ne s'appliquera pas la dernire version stable du noyau 2.6.35.y ni toute autre version ; les patchs incrmentaux permettent la mise niveau dune version donne vers la version qui la suit immdiatement. Ainsi les dveloppeurs ne sont pas obligs de tlcharger un noyau, puis de le mettre jour, juste pour passer dune version stable la suivante (on rappelle que les patchs d'une version stable ne s'appliquent que sur une version de base du noyau, et non sur la prcdente version stable).

EXEMPLE On veut passer de la version 2.6.35.5 la version 3.6.35.7. On a donc besoin de tlcharger deux patchs : un patch pour passer de la version 2.6.35.5 la version 2.6.35.6, puis un autre patch pour passer de la version 2.6.35.6 la version 2.6.35.7. On les trouve la page www.kernel.org/pub/linux/kernel/v2.6/incr/. Comme ils sont compresss, la premire chose faire est de les dcompresser avec la commande bzip2 : $ bzip2 -dv patch-2.6.35.5-6.bz2
Ouvrage sous contrat Creative Commons BY-NC-SA p. 22

Prparation lexamen 201 pour la certification LPIC-2

patch-2.6.17.9-10.bz2: done $ bzip2 -dv patch-2.6.35.6-7.bz2 Maintenant, il faut appliquer les fichiers de patch dans le rpertoire du noyau. On se place dans le rpertoire linux-2.6.35.5 et on lance la commande patch : $ cd linux-2.6.35.5 $ patch -p1 < ../patch-2.6.35.5-6 patching file Makefile patching file arch/alpha/kernel/err_marvel.c patching file arch/alpha/kernel/proto.h patching file arch/alpha/kernel/sys_cabriolet.c patching file arch/alpha/kernel/sys_takara.c patching file arch/arm/mach-at91/at91sam9g45_devices.c patching file arch/ia64/kernel/fsys.S patching file arch/sparc/include/asm/oplib_64.h patching file arch/sparc/prom/cif.S patching file arch/sparc/prom/console_64.c patching file arch/sparc/prom/devops_64.c patching file arch/sparc/prom/misc_64.c patching file arch/sparc/prom/p1275.c patching file arch/sparc/prom/tree_64.c patching file arch/x86/kvm/emulate.c patching file arch/x86/kvm/mmu.c patching file arch/x86/kvm/paging_tmpl.h On peut examiner le fichier Makefile pour voir le changement de version du noyau : $ head Makefile VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 35 EXTRAVERSION = .6 NAME = Sheep on Meth # *DOCUMENTATION* # To see a list of typical targets execute "make help" # More info can be located in ./README # Comments in this file are targeted only to the developer, do not On utilise nouveau la commande patch pour passer de la version 2.6.35.6 la version 2.6.35.7 : $ patch -p1 < ../patch-2.6.35.6-7 patching file Makefile patching file drivers/xen/events.c
Ouvrage sous contrat Creative Commons BY-NC-SA p. 23

Prparation lexamen 201 pour la certification LPIC-2

$ head Makefile VERSION = 2 PATCHLEVEL = 6 SUBLEVEL = 35 EXTRAVERSION = .7 NAME = Yokohama

6. Modules du noyau
Le noyau Linux supporte un chargement dynamique des modules : il est possible de les charger ou de les supprimer quand le noyau est en cours dexcution. Les modules du noyau sont stocks dans le rpertoire /lib/modules/version_noyau, o version_noyau est la version du noyau Linux en cours (retourne par la commande uname r). On peut lister les modules prsents avec la commande lsmod : $ lsmod Module Size Used by nls_utf8 1069 0 isofs 29250 0 nls_iso8859_1 3249 2 nls_cp437 4919 2 vfat 8933 2 fat 47767 1 vfat usb_storage 39425 2 binfmt_misc 6587 1 ppdev 5259 0 vboxnetadp 6326 0 vboxnetflt 15280 0 vboxdrv 190594 2 vboxnetadp,vboxnetflt joydev 8708 0 snd_hda_codec_atihdmi 2367 1 snd_hda_codec_conexant 22641 1 snd_hda_intel 21941 4 La commande insmod permet de charger manuellement un module du noyau. Dans l'exemple suivant on ajoute le module msdos : # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/msdos.ko insmod: error inserting '/lib/modules/2.6.35-22generic/kernel/fs/fat/msdos.ko': -1 Unknown symbol in module La commande a retourn une erreur indiquant qu'un symbole n'est pas rsolu. En effet lors du chargement de ce module des variables ou des fonctions n'ont pas t retrouves. Ce
Ouvrage sous contrat Creative Commons BY-NC-SA p. 24

Prparation lexamen 201 pour la certification LPIC-2

module dpend ncessairement d'autres modules et on peut voir cette dpendance par la commande modinfo : # modinfo /lib/modules/2.6.35-22-generic/kernel/fs/fat/msdos.ko filename: /lib/modules/2.6.35-22-generic/kernel/fs/fat/msdos.ko description: MS-DOS filesystem support author: Werner Almesberger license: GPL srcversion: 44046DD818C31AAF3D90191 depends: fat vermagic: 2.6.35-22-generic SMP mod_unload modversions 686 Ainsi le module msdos dpend du module fat qu'il faut donc charger en premier : # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/fat.ko Et maintenant le module msdos peut tre charg : # insmod /lib/modules/2.6.35-22-generic/kernel/fs/fat/msdos.ko # lsmod | grep fat fat 48240 1 msdos La commande rmmod est utilise pour supprimer des modules du noyau en cours d'excution. # rmmod fat ERROR: Module fat is in use by msdos Le message derreur indique que la suppression du module fat choue parce qu'il est en cours d'utilisation par le module msdos. Il faut donc commencer par supprimer le module msdos : # rmmod msdos # rmmod fat La commande modprobe peut dterminer les dpendances entre les modules et installer automatiquement les modules ncessaires. Pour ce faire, modprobe examine le fichier /lib/modules/version_noyau/modules.dep. # modprobe msdos # lsmod | grep fat fat

48240 1 msdos

Les lignes dans le fichier modules.dep sont sous la forme : nom_module.ko : dependance1 dependance2 .

Ouvrage sous contrat Creative Commons BY-NC-SA p. 25

Prparation lexamen 201 pour la certification LPIC-2

Par exemple : $ grep msdos /lib/modules/2.6.35.5/modules.dep kernel/fs/fat/msdos.ko: kernel/fs/fat/fat.ko Le fichier modules.dep doit tre cohrent afin d'assurer le bon fonctionnement de la commande modprobe. Il est gnralement rgnr chaque dmarrage du systme par la commande depmod -a place dans les scripts de dmarrage. Le fichier /etc/modprobe.conf (ou les fichiers sous le rpertoire /etc/modprobe.d) est le fichier de configuration de la commande modprobe. Il sert changer le comportement de modprobe lors du chargement d'un ou de plusieurs modules. Il est possible d'y dfinir des alias pour les noms de modules, les options des modules ou encore de lancer des commandes au lieu de charger ou dcharger un module.

7. Passage de paramtres au noyau partir du chargeur de dmarrage


On peut avoir besoin de passer quelques options au noyau Linux lors du dmarrage du systme, telles que la partition racine qu'il doit utiliser ou les cartes Ethernet multiples quil doit dtecter. Le chargeur de dmarrage (LILO ou GRUB) est responsable du transfert de ces options au noyau. Pour que ces options soient prises en compte chaque dmarrage du systme, on doit les ajouter dans les fichiers de configurations /etc/lilo.conf ou /boot/grub/grub.conf, selon le chargeur de dmarrage utilis. On peut aussi utiliser l'invite de commandes du chargeur de dmarrage. EXEMPLE Pour indiquer LILO de charger le noyau spcifi par l'tiquette linux , dutiliser la partition racine /dev/sda1 et de dtecter deux cartes Ethernet, on utilise la commande LILO suivante: LILO: linux root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1 Pour indiquer la mme chose GRUB on utilise la commande : grub> kernel /vmlinuz root=/dev/sda1 ether=0,0,eth0 ether=0,0,eth1 grub> boot

Exercices
1. Laquelle des commandes suivantes, lorsqu'elle est excute dans le rpertoire
Ouvrage sous contrat Creative Commons BY-NC-SA p. 26

Prparation lexamen 201 pour la certification LPIC-2

/usr/src/linux aprs la configuration du noyau, permet de compiler le noyau Linux et ses principaux modules ? 2. A. make bzImage B. make modules C. make xconfig D. make

Laquelle des commandes suivantes pourriez vous taper dans /usr/src/linux aprs avoir copi le fichier de configuration partir d'un vieux noyau pour appliquer les options de l'ancien noyau dans le nouveau noyau ? A. make config B. make allmodconfig C. make oldconfig D. make mrproper

3.

Vous avez configur et compil un nouveau noyau, sa version 2.6.35.4. Vous avez maintenant tap make modules_install. O pouvez-vous trouver les fichiers de modules ? A. /lib/modules/modules-2.6.35.4 B. /usr/src/linux/2.6.35.4 C. /lib/modules/2.6.35.4 D. /usr/lib/2.6.35.4

Ouvrage sous contrat Creative Commons BY-NC-SA p. 27

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 2. Dmarrage du systme


Objectifs Personnalisation du processus de dmarrage systme interroger et modifier le comportement des services systmes dans diffrents niveaux d'excution ; configurer la procdure de dmarrage des services. Rcupration du systme manipuler la squence de dmarrage et le mode rcupration ;

utiliser les outils init et les options du noyau relatives init.


Points importants Spcification du standard LSB (Linux Standard Base). Shell Grub. Commandes de gestion de service. /etc/inittab, /etc/init.d/, /etc/rc.d/, chkconfig, update-rc.d, mount, fsck, init, telinit

Mots cls

Le dmarrage du systme implique quatre programmes lancs successivement : le BIOS (Basic Input Output System), le chargeur de dmarrage, le noyau et le processus init. Le BIOS est le premier programme excut, il rside au niveau du ROM. Il charge les 512 premiers octets, ces 512 octets constituent le secteur d'amorage ou le (Master Boot Record). Le MBR contient plusieurs informations sur les partitions du disque. Il inclut aussi le chargeur de dmarrage (ou une partie du chargeur de dmarrage). Le chargeur de dmarrage Grub (Grand Unified Bootloader) est utilis sur la plupart des distributions Linux. Il est dcompos en deux parties. La premire partie rside sur le MBR, elle charge la deuxime partie qui se trouve dans une partition du disque. Une fois que la deuxime partie du Grub est charge, une interface est affiche permettant l'utilisateur de choisir quel systme d'exploitation dmarrer. Le chargeur de dmarrage excute le noyau. Ce dernier continue le dmarrage de la machine, il dtecte et initialise les priphriques, monte la partition racine et dmarre le processus init.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 28

Prparation lexamen 201 pour la certification LPIC-2

1. Processus init et niveau d'excution


Le processus init est le premier processus utilisateur cr par le noyau lors du dmarrage du systme. Il utilise les niveaux d'excution pour dfinir l'tat du systme un instant donn. Chaque niveau d'excution contient une liste de services arrter ou dmarrer. Lors du dmarrage du systme, le processus init dtermine, partir du fichier de configuration /etc/inittab, le niveau d'excution par dfaut, et dmarre les applications et les services requis dans ce niveau. Lors de l'arrt du systme, init bascule vers sur niveau dexcution numro 0. Ce niveau d'excution est configur de telle sorte que toutes les applications et tous les services seront arrts. Il existe sept niveaux d'excution possibles, allant de 0 6. Chaque distribution les dfinit sa manire, mais certains niveaux d'excution sont les mmes pour toutes les distributions. C'est le cas des niveaux d'excution 0, 1 et 6. Le niveau d'excution 0 est utilis pour l'arrt du systme, le niveau d'excution 1 est utilis pour le dmarrage du systme en mode mono-utilisateur ou mode dpannage et le niveau d'excution 6 est utilis lors du redmarrage du systme. Sur la distribution Debian et ses drivs les niveaux d'excution de 2 5 sont tous en mode multi-utilisateurs. Et tous les services requis sont gnralement configurs pour tre dmarrs pour ces niveaux d'excution. La distribution Red Hat et ses drivs utilisent les niveaux d'excution de la manire suivante : 1 : mode mono-utilisateur, utilis pour la maintenance et la rcupration du systme (recovery mode). Dans ce niveau d'excution, l'administrateur peut changer la configuration et effectuer les tches de maintenance critique, comme le redimensionnement des partitions ou la vrification du systme de fichiers racine. Typiquement, le niveau d'excution s ou S produit un shell root sans montage des systmes de fichiers, tandis que le niveau d'excution 1 essaie de monter des systmes de fichiers et lance quelques programmes systmes. 2 : mode console, multi-utilisateurs, sans le support rseau ; 3 : mode multi-utilisateurs avec le support rseau ; 5 : mode multi-utilisateurs avec interface graphique.

Les commandes init et telinit permettent de changer de niveau d'excution. EXEMPLE Pour basculer du niveau d'excution courant vers le niveau d'excution 1 : # telinit 1 Le fichier de configuration de init est /etc/inittab. Ce fichier spcifie le niveau d'excution par dfaut du systme. Il dtaille galement les autres niveaux d'excution, et
Ouvrage sous contrat Creative Commons BY-NC-SA p. 29

Prparation lexamen 201 pour la certification LPIC-2

o trouver la liste des services dmarrer ou arrter chaque niveau d'excution. Le format d'une ligne du fichier /etc/inittab est : Id:[niveaux]:action:commande Id : identifie une entre dans inittab. Pour les programmes de connexion comme getty ou mingetty, le champ id doit tre le numro du tty correspondant la console, par exemple 1 pour tty1 ; niveaux : la liste des niveaux d'excution pour lesquels l'action doit tre ralise ; action : dcrit l'action raliser ; commande : spcifie la commande excuter. respawn : le programme est redmarr chaque fois qu'il se termine (exemple : getty) ; wait : le programme n'est dmarr qu'une seule fois dans son niveau d'excution et init attend la fin de lexcution avant de continuer ; once : le programme est excut lorsque le niveau d'excution spcifi est appel ; boot : le programme est champ niveaux est ignor ; excut pendant le dmarrage du systme. Le

Voici les principales actions valides dans le champ action :

bootwait : le programme est excut pendant le dmarrage du systme, et init attend quil se termine. Le champ niveaux est ignor ; off : ne fait rien ; initdefault : indique le niveau d'excution par dfaut ; sysinit : le programme est excut pendant le dmarrage du systme. Il est excut avant les entres boot ou bootwait. Le champ niveaux est ignor ; powerwait : le programme est excut quand la machine est sur le point de s'teindre. Ce cas se produit quand la machine est branche sur un onduleur et que la batterie est presque dcharge ; powerfail : quivalent powerwait, mis part qu'init n'attend pas la fin du programme avant de continuer ; powerokwait : le programme est excut ds qu'init est inform que l'alimentation de la machine est rtablie ; powerfailnow : le programme est excut quand init est inform que la tension faiblit ; ctrlaltdel : le programme est excut lorsque init reoit le signal SIGINT. Cela signifie que quelqu'un sur la console systme a tap la combinaison de touches [Ctrl]-[Alt][Supp].

Ouvrage sous contrat Creative Commons BY-NC-SA p. 30

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE Voici un exemple de fichier /etc/inittab : # Le niveau d'excution par dfaut (le 2) id:2:initdefault: # Le premier script dmarrer si::sysinit:/etc/init.d/rcS

# # # # # # #

/etc/init.d excute les scripts S et K scripts lors d'un changement de mode de dmarrage. Runlevel 0 est l'arrt. Runlevel 1 est le mode simple utilisateur. Runlevels 2-5 sont des modes multi-utilisateur. Runlevel 6 est le mode de redmarrage. 0 1 2 3 4 5 6

l0:0:wait:/etc/init.d/rc l1:1:wait:/etc/init.d/rc l2:2:wait:/etc/init.d/rc l3:3:wait:/etc/init.d/rc l4:4:wait:/etc/init.d/rc l5:5:wait:/etc/init.d/rc l6:6:wait:/etc/init.d/rc

# Intercepter les touches CTRL-ALT-DELETE pour un redmarrage ca::ctrlaltdel:/sbin/shutdown -t5 -rf now # Cration des diffrentes consoles (CTRL ALT F[1-6] 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 Le processus init utilise une srie de scripts stocks sous les rpertoires /etc/rcN.d o N est le niveau d'excution. Par exemple le rpertoire /etc/rc3.d contient les services du niveau d'excution 3.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 31

Prparation lexamen 201 pour la certification LPIC-2

2. Gestion des services


Un serveur est conu pour tre constamment en activit et couter les requtes des clients, cest le cas des serveurs de courriers lectroniques, serveurs web ou serveurs de fichiers. Un serveur est aussi appel dmon ou service. Les niveaux d'excution sont utiliss par le systme lors du dmarrage pour savoir quels services dmarrer et quels services arrter. Par exemple les fichiers dans le rpertoire /etc/rc3.d sont des liens symboliques vers des scripts stocks dans le rpertoire /etc/init.d. Ces scripts contiennent les procdures pour dmarrer, arrter ou dterminer ltat de chaque service : lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 13 lrwxrwxrwx. 1 root root 23 ../init.d/clamd.amavisd lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 19 ../init.d/snmptrapd lrwxrwxrwx. 1 root root 14 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 16 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 19 ../init.d/firstboot lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 19 ../init.d/ip6tables lrwxrwxrwx. 1 root root 18 lrwxrwxrwx. 1 root root 16 lrwxrwxrwx. 1 root root 21 ../init.d/portreserve lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 14 lrwxrwxrwx. 1 root root 24 ../init.d/NetworkManager lrwxrwxrwx. 1 root root 14 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 22 ../init.d/spamassassin lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 17 lrwxrwxrwx. 1 root root 15 lrwxrwxrwx. 1 root root 13 janv. 10 10:33 K15httpd -> ../init.d/httpd janv. 10 10:34 K20nfs -> ../init.d/nfs janv. 25 06:27 K32clamd.amavisd -> janv. 10 10:44 K50snmpd -> ../init.d/snmpd janv. 10 10:44 K50snmptrapd -> janv. janv. janv. janv. janv. 10 10 10 10 10 11:52 11:52 10:42 10:31 11:52 K74ntpd -> ../init.d/ntpd K75ntpdate -> ../init.d/ntpdate K84btseed -> ../init.d/btseed K90network -> ../init.d/network K95firstboot ->

janv. 10 10:29 S06cpuspeed -> ../init.d/cpuspeed janv. 10 10:28 S08ip6tables -> janv. 10 10:28 S08iptables -> ../init.d/iptables janv. 10 10:34 S11auditd -> ../init.d/auditd janv. 10 10:28 S11portreserve -> janv. 10 10:31 S12rsyslog -> ../init.d/rsyslog janv. 10 10:33 S25cups -> ../init.d/cups janv. 10 10:44 S27NetworkManager -> janv. 10 10:34 S55sshd -> ../init.d/sshd janv. 11 15:35 S65dovecot -> ../init.d/dovecot janv. 25 14:59 S78spamassassin -> janv. janv. janv. janv. 25 11 10 10 09:20 10:15 10:32 10:40 S79amavisd -> ../init.d/amavisd S80postfix -> ../init.d/postfix S90crond -> ../init.d/crond S95atd -> ../init.d/atd

Ouvrage sous contrat Creative Commons BY-NC-SA p. 32

Prparation lexamen 201 pour la certification LPIC-2

lrwxrwxrwx. 1 root root 11 janv. 10 10:31 S99local -> ../rc.local Tous ces liens symboliques sont prfixs par Sn pour les scripts dmarrer ( start ) et Kn ( kill ) pour les scripts arrter, o n indique lordre de traitement. init parcourt le rpertoire /etc/init.d, il commence par arrter les processus prfixs par un K, ensuite il dmarre ceux prfixs par un S. Il dmarre ou arrte ces services en ordre, du nombre n le plus petit vers le nombre n le plus grand. Dans notre exemple, on peut voir que le service postfix dmarre aprs le service iptables. En effet d'aprs les noms des fichiers liens symboliques, l'ordre du service iptables, 08 , est infrieur celui du service postfix ( 80 ). Ce systme de numrotation est utilis afin d'assurer que les services dmarrent dans un ordre correct. Le service iptables doit dmarrer avant postfix parce que le pare-feu iptables protge le systme contre les intrusions. Les services peuvent tre lancs partir des scripts du rpertoire /etc/init.d. Ces scripts peuvent tre appels avec diffrents arguments : start : pour dmarrer le service ; stop : pour arrter le service ; restart : pour arrter puis redmarrer le service ; reload : pour envoyer un signal SIGHUP au processus du service en cours d'excution. Ce signal le force relire ses fichiers de configuration ; status : indique si le service est en cours d'excution.

EXEMPLE La squence de commandes ci-dessous dmarre puis arrte le service postfix. # /etc/init.d/postfix start Dmarrage de postfix : # /etc/init.d/postfix stop Arrt de postfix :

3. Gestion des services sous Red Hat


Pour comprendre comment Red Hat gre les services, examinons par exemple l'en-tte du script postfix dans le rpertoire /etc/init.d. $ head /etc/init.d/postfix #!/bin/bash # # postfix Postfix Mail Transfer Agent #
Ouvrage sous contrat Creative Commons BY-NC-SA p. 33

Prparation lexamen 201 pour la certification LPIC-2

# # # # # #

chkconfig: 2345 80 30 description: Postfix is a Mail Transport Agent, which is the program \ that moves mail from one machine to another. processname: master pidfile: /var/spool/postfix/pid/master.pid config: /etc/postfix/main.cf

On peut voir la quatrime ligne : chkconfig : 2345 80 30 Cette information est utilise par le programme chkconfig pour crer des liens symboliques vers le script /etc/init.d/postfix dans les rpertoires /etc/rc2.d, /etc/rc3.d, /etc/rc4.d et /etc/rc5.d. Ces liens symboliques ont les prfixes S80 et K30. Ainsi le service postfix dmarre dans les niveaux d'excution 2, 3, 4 et 5 avec lordre 80, et s'arrte avec lordre 30. Le standard LSB (Linux Standard Base) prconise d'crire dans len-tte des scripts du rpertoire /etc/init.d des mots cls suivis d'une liste d'arguments. EXEMPLE Voici un extrait de len-tte du script /etc/init.d/postfix : ### BEGIN INIT INFO # Provides: postfix mail-transport-agent # Required-Start : $local_fs $remote_fs $syslog $named $network $time # Required-Stop : $local_fs $remote_fs $syslog $named $network # Should-Start : postgresql mysql clamav-daemon postgrey spamassassin # Should-Stop : postgresql mysql clamav-daemon postgrey spamassassin # Default-Start : 2 3 4 5 # Default-Stop : 0 1 6 # Short- Description : start and stop the Postfix Mail Transport Agent # Description: postfix is a Mail Transport agent ### END INIT INFO Dans cet exemple le mot cl Required_Start indique les services requis pour le dmarrage du service SMTP postfix. Les arguments $local_fs et $remote_fs indiquent que les systmes de fichiers locaux et distants doivent tre monts, les autres arguments $syslog, $named, $network et $time indiquent respectivement que le service de gestion des logs, le service DNS, le service rseau et le serveur de temps doivent tre dmarrs. Les mots-cls les plus utiliss sont prsents dans le tableau 2.
Tableau 2. Quelques mots cls LSB

Mots cls Provides

Description Donne une brve indication sur ce que le service fournit. Cette information est utilise par d'autres services.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 34

Prparation lexamen 201 pour la certification LPIC-2

Required-Start Required-Stop Should-Start Should-Stop Default-Start Default-Stop Description

Liste les services qui doivent tre disponibles pour que le service puisse dmarrer. Indique que le service doit tre arrt avant que les services lists ici soient arrts. Dfinit les services qui peuvent tre dmarrs, mais non obligatoirement, avant que ce service dmarre. Indique que le service peut tre arrt, mais non obligatoirement, avant les services lists ici. Par dfaut, le service doit dmarrer dans les niveaux d'excution lists. Par dfaut, le service ne doit pas dmarrer dans les niveaux dexcution lists. Donne la description de ce service.

Avec l'option --list de la commande chkconfig on peut lister tous les services, activs ou dsactivs, disponibles sur la machine :
# chkconfig --list NetworkManager 0:arrt 6:arrt acpid 0:arrt 6:arrt amavisd 0:arrt 6:arrt atd 0:arrt 6:arrt clamd.amavisd 0:arrt crond 0:arrt 6:arrt cups 0:arrt 6:arrt dovecot 0:arrt 6:arrt httpd 0:arrt ip6tables 0:arrt 6:arrt iptables 0:arrt 6:arrt network 0:arrt nfs 0:arrt ntpd 0:arrt ntpdate 0:arrt postfix 0:arrt 6:arrt 1:arrt 2:marche 1:arrt 2:marche 1:arrt 2:marche 3:marche 3:marche 3:marche 4:marche 4:marche 4:marche 5:marche 5:marche 5:marche

1:arrt 2:arrt 3:marche

4:marche

5:marche

1:arrt 2:arrt 3:arrt 4:arrt 5:arrt 6:arrt 1:arrt 2:marche 3:marche 4:marche 1:arrt 2:marche 1:arrt 2:marche 3:marche 3:marche 4:marche 4:marche

5:marche 5:marche 5:marche

1:arrt 2:arrt 3:arrt 4:arrt 5:arrt 6:arrt 1:arrt 2:marche 3:marche 4:marche 1:arrt 2:marche 1:arrt 1:arrt 1:arrt 1:arrt 1:arrt 2:arrt 3:arrt 2:arrt 3:arrt 2:arrt 3:arrt 2:arrt 3:arrt 2:marche 3:marche 4:arrt 5:arrt 4:arrt 5:arrt 4:arrt 5:arrt 4:arrt 5:arrt 3:marche 4:marche 6:arrt 6:arrt 6:arrt 6:arrt 4:marche

5:marche 5:marche

5:marche

Afin d'activer le service postfix dans les niveaux d'excution dfinis dans l'en-tte du script /etc/init.d/postfix, on excute la commande : # chkconfig postfix on

Ouvrage sous contrat Creative Commons BY-NC-SA p. 35

Prparation lexamen 201 pour la certification LPIC-2

On peut aussi dfinir manuellement les niveaux d'excution dans lesquels le service postfix va dmarrer. EXEMPLE Pour activer postfix dans les niveaux d'excution 3 et 5, on utilise la commande : # chkconfig --level 35 postfix on Ainsi, lors du dmarrage du systme, le service postfix dmarre automatiquement dans les niveaux d'excution 3 ou 5, mais pas dans les niveaux d'excution 2 et 4. Si on souhaite dsactiver le service postfix de sorte qu'il ne dmarre pas automatiquement lors du dmarrage du systme, on utilise la commande : # chkconfig postfix off

4. Gestion des services sous Debian et ses drivs


Sous Dbian et ses drivs on utilise la commande update-rc.d pour maintenir les liens symboliques vers les scripts de dmarrage dans les rpertoires /etc/rcN..d SYNTAXE update-rc.d nom_service { start | stop } numro_sequence numros_niveaux_execution . La commande update-rc.d a comme arguments : un numro de squence, utilis par init pour dcider de lordre dexcution des scripts ; la liste des niveaux d'excution applicables, imprativement suivie par un point.

EXEMPLE Pour configurer le service d'impression cups de telle sorte qu'il dmarre dans les niveaux d'excution 2, 3 4 et 5 avec un ordre de 80 et s'arrte dans les niveaux d'excution S, 1 et 6 avec un ordre de 20 : $ update-rc.d cups start 80 2 3 4 5 . stop 20 S 1 6 . Adding system startup for /etc/init.d/cups ... /etc/rc1.d/K20cups -> ../init.d/cups /etc/rc6.d/K20cups -> ../init.d/cups /etc/rcS.d/K20cups -> ../init.d/cups /etc/rc2.d/S80cups -> ../init.d/cups /etc/rc3.d/S80cups -> ../init.d/cups /etc/rc4.d/S80cups -> ../init.d/cups /etc/rc5.d/S80cups -> ../init.d/cups Quand on appelle update-rc.d avec loption remove les liens dans les rpertoires
Ouvrage sous contrat Creative Commons BY-NC-SA p. 36

Prparation lexamen 201 pour la certification LPIC-2

/etc/rcN.d qui pointent vers le script correspondant du rpertoire /etc/init.d seront supprims. Ce script doit auparavant avoir t lui-mme supprim. Sil est toujours prsent dans /etc/init.d, update-rc.d affiche un message derreur indiquant quil faut utiliser l'option -f pour forcer la suppression du script, comme lillustre lexemple suivant. EXEMPLE # update-rc.d atd remove update-rc.d: /etc/init.d/atd exists during rc.d purge (use -f to force) # update-rc.d -f atd remove Removing any system startup links for /etc/init.d/atd ... /etc/rc1.d/K11atd /etc/rc2.d/S89atd /etc/rc3.d/S89atd /etc/rc4.d/S89atd /etc/rc5.d/S89atd

5. Upstart
Plusieurs distributions Linux rcentes, y compris les dernires versions d'Ubuntu et de Fedora, ont remplac le systme classique init dUNIX systme V, SysV init, bas sur les niveaux d'excution, par un nouveau systme Upsatrt. Upstart est un systme de gestion de services fonctionnant avec les vnements. Il supervise les services pendant que le systme fonctionne. Ainsi il dmarre ou arrte des services en rponse aux vnements tels que l'ajout d'un priphrique. Pour un besoin de compatibilit, il mule galement les niveaux d'excution traditionnels de init. Un systme qui utilise Upstart remplace la fois le fichier /etc/inittab et les rpertoires spcifiques des niveaux d'excution par les scripts placs dans le rpertoire /etc/init (ce rpertoire a t appel /etc/event.d sur des versions antrieures d'Upstart).

6. Rcupration du systme
Des problmes de MBR ou de systme de fichiers de la partition racine empchent Linux de dmarrer. L'administrateur doit donc utiliser un CD de dpannage permettant de dmarrer le systme partir d'un noyau Linux sur ce CD, ensuite procder la rparation des problmes de dmarrage du systme.

6.1 Rcupration du chargeur de dmarrage Grub


Si on n'obtient pas l'cran de Grub au dmarrage du systme, il se peut que le MBR (Master Boot Record) soit endommag, il faut donc rinstaller Grub sur le MBR du disque d'amorage.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 37

Prparation lexamen 201 pour la certification LPIC-2

PROCEDURE Dmarrage du systme partir du premier cdrom d'installation de la distribution. La distribution CentOs 6.0 propose le menu suivant permettant un dmarrage en mode dpannage (figure 3). Ce mode est aussi disponible dans les autres distributions Linux.
Figure 3. Menu de dmarrage en mode dmarrage de la distribution CentOS

Configuration de la langue (figure 4).


Figure 4. Configuration de la langue

Ouvrage sous contrat Creative Commons BY-NC-SA p. 38

Prparation lexamen 201 pour la certification LPIC-2

Configuration du type de clavier (figure 5).


Figure 5. Configuration du type de clavier

Montage du systme : le mode dpannage cherche l'installation Linux et la monte sous le rpertoire /mnt/sysimage (figure 6) :
Figure 6. Montage du systme

Changement de rpertoire racine (chroot) : le prompt # apparat, on dfinit le rpertoire /mnt/sysimage comme la nouvelle racine / du systme : chroot /mnt/sysimage

Installation du Grub sur le MBR avec les paramtres dfinis dans le fichier de configuration grub.conf : # /sbin/grub-install /dev/sda Installation finished. No error reported. This is the contents of the device map /boot/grub/device.map. Check if this is correct. If any of the lines are incorrect, fix it and re-run the script 'grub-install.' # this device map was generated by anaconda
Ouvrage sous contrat Creative Commons BY-NC-SA p. 39

Prparation lexamen 201 pour la certification LPIC-2

(hd0) /dev/sda Lors du redmarrage du systme on devra voir l'cran du Grub permettant de slectionner le systme d'exploitation dmarrer. Dans le cas o la partition de dmarrage est endommage, la commande grub-install ne fonctionne pas car elle ne peut pas localiser le fichier de configuration grub.conf. On doit donc utiliser le shell Grub pour localiser la partition contenant l'installation prcdente du Grub puis le rinstaller sur le MBR : Excution de la commande grub, le prompt change indiquant que le shell Grub est lanc : # grub GNU GRUB version 0.97 (640K lower / 3072K upper memory) [ Minimal BASH-like line editing is supported. For the first word, TAB lists possible command completions. Anywhere else TAB lists the possible completions of a device/filename.] grub > Recherche de la partition contenant l'installation du Grub : grub> find /grub/stage1 find grub/stage1 (hd0,0) Le rsultat de la commande prcdente indique que l'installation du Grub est sur la premire partition du premier disque dur. Dfinition de la partition contenant le rpertoire /grub : grub> root (hd0,0) Filesystem type is ext2fs, partition type 0x83 Rinstallation du Grub sur le MBR : grub> setup (hd0) setup (hd0) Checking if "/boot/grub/stage1" exists... no Checking if "/grub/stage2" exists... yes Checking if "/grub/e2fs_stage1_5" exists... yes Running "embed /grub/e2fs_stage1_5 (hd0)"... 26 sectors are embedded. succeeded Running "install /grub/stage1 (hd0) (hd0)1+26 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Ouvrage sous contrat Creative Commons BY-NC-SA p. 40

Prparation lexamen 201 pour la certification LPIC-2

Done.

6.2 Rcupration de la partition racine


Si le systme de fichiers de la partition racine n'est pas dmont correctement, la commande fsck est lance automatiquement lors de redmarrage du systme afin de vrifier et corriger les systmes de fichiers. On peut aussi vrifier le systme de fichiers manuellement avec le mode de dpannage lanc partir du premier cdrom d'installation de la distribution. Il est recommand d'excuter la commande fsck sur un systme de fichiers dmont. Comme on ne peut pas dmonter le systme de fichiers racine d'un systme en cours d'excution, la solution est de remonter la partition racine en lecture seule : # mount -o remount,ro / Ensuite vrifier et corriger le systme de fichiers de la partition racine : # fsck /

Exercices
1. Dans quels rpertoires pourriez-vous trouver des liens symboliques vers les scripts de dmarrage des services dUNIX systme V ? 2. A. /etc/rc?.d B. /etc/inittab C. /etc/init.d/rc?.d D. /etc/init

Sur une machine Red Hat, quelle commande allez-vous utiliser pour savoir dans quels niveaux d'excution le serveur postfix est activ ? A. ps -ef | grep postfix B. chkconfig --list postfix C. info postfix D. update-rc postfix

3.

Lesquelles des propositions suivantes pourraient tre utilises comme un niveau d'excution par dfaut ? A. 0
Ouvrage sous contrat Creative Commons BY-NC-SA p. 41

Prparation lexamen 201 pour la certification LPIC-2

4.

B. 2 C. 3 D. 5

Sur une machine Debian, laquelle des commandes suivantes est utilise pour configurer le service cron de telle sorte qu'il s'arrte dans le niveau d'excution 2 avec un ordre de 45 ? A. chkconfig cron off 45 2 . B. update-rc.d cron stop 45 2 . C. disable cron 45 2 D. update-rc.d cron off 45 2

Ouvrage sous contrat Creative Commons BY-NC-SA p. 42

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 3. Les systmes de fichiers Linux


Objectifs Intervention sur le systme de fichiers Linux configurer et monter plusieurs types de systmes de fichiers Linux ; activer et dsactiver le swap. Maintenance d'un systme de fichiers Linux corriger les erreurs d'un systme de fichiers ; manipuler un systme de fichiers. Cration et configuration des options du systme de fichiers configurer le montage automatique d'un systme de fichiers avec le service autofs ; crer un systme de fichiers pour des priphriques tels que les cdroms. Gestion de priphrique udev comprendre la dtection et la gestion de priphriques avec udev ; maintenir les rgles udev. Le fichier de configuration fstab. Outils pour manipuler les partions et les fichiers SWAP. Utilisation des UUIDs. Outils pour manipuler les systmes de fichiers ext2, ext3, ext4, reiserfs et xfs. Fichiers de configuration autofs. Outils de manipulation de UDF et ISO9660. Rgles udev. interface du noyau. /etc/fstab, /proc/mounts, sync, swapoff, /etc/mtab, mount et umount, swapon, fsck (fsck.*), mkfs (mkfs.*), debugfs, debugreiserfs, mkswap, xfs_check, badblocks, dumpe2fs, tune2fs, reiserfstune, xfs_info, xfs_repair, /etc/auto.master, mkisofs, mke2fs, /etc/auto.[dir], dd, udevmonitor, /etc/udev

Points importants

Mots-cls

Ouvrage sous contrat Creative Commons BY-NC-SA p. 43

Prparation lexamen 201 pour la certification LPIC-2

1. Les types de systmes de fichiers


minix, le systme de fichier de Minix, est le premier systme de fichiers utilis sous Linux. Le systme de fichiers tendu ext, une extension de minix, a t dvelopp en avril 1992. Cest le premier systme de fichiers utilisant l'API VFS. Il a t inclus dans la version 0.96c du noyau Linux. Dans cette section, certains des systmes de fichiers les plus couramment utiliss sous Linux seront examins. Ils sont numrs dans le tableau 3 avec leurs principales caractristiques.
Tableau 3. Principaux systmes de fichiers supports par Linux

Systme de fichiers ext2 ext3 ext4 XFS JFS

Caractristiques Extension du systme de fichiers ext. Stable, usage gnral, peut tre rtrci ou agrandi. Ce systme de fichiers n'a pas la fonctionnalit de journalisation. Une amlioration de ext2. La fonctionnalit de journalisation est ajoute pour permettre la rcupration rapide du systme de fichiers en cas de crash. Une amlioration de ext3 pour supporter de grandes tailles de fichiers et de systmes de fichiers. Stable, usage gnral, une rcupration rapide, peut tre tendu en ligne Stable, usage gnral, une rcupration rapide

1.1 ext2
Le systme de fichier ext2 a t, jusqu' la fin des annes 1990, le systme de fichiers de Linux. Il a la rputation d'un systme de fichiers fiable et stable. Il a t clips par d'autres systmes de fichiers journal, mais il a toujours son utilit. En particulier, ext2 peut tre un bon choix pour une petite partition ou pour les disques amovibles de petites tailles. Sur ces petites partitions, la taille du journal utilis par ces systmes de fichiers journal peut servir stocker les donnes.

1.2 ext3
Le systme de fichiers ext3 est une extension de ext2. Il ajoute une fonctionnalit de journalisation qui augmente sa fiabilit, sans changer la structure fondamentale hrite de ext2. On peut toujours monter un systme de fichiers ext3 comme tant un systme de fichier ext2 en dsactivant la fonctionnalit de journalisation. Il est possible de convertir un systme de fichiers ext2 en un systme de fichiers ext3 avec loption j de la commande tune2fs .

Ouvrage sous contrat Creative Commons BY-NC-SA p. 44

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE Pour convertir la partition ext2 /dev/sda2 en ext3 : #tune2fs -j /dev/sda2 Le systme de fichiers ext3 rserve une zone du disque pour le fichier journal . Quand une opration sur le systme de fichiers se produit, les modifications ncessaires sont d'abord crites dans le fichier journal. Ensuite le systme de fichiers est modifi. Si une coupure de courant ou une panne systme survient pendant la mise jour, on peut se rfrer au fichier journal pour reconstruire un systme de fichiers cohrent. La technique de journalisation permet de rduire considrablement le temps ncessaire au systme de fichiers pour effectuer des contrles de cohrence. Sauf pour des pannes matrielles, l'tat d'un systme de fichiers ext3 peut tre presque instantanment valu et restaur.
2

1.3 ext4
Le systme de fichier ext4 est la nouvelle gnration de la famille ext. ext4 ajoute la possibilit de travailler avec des disques trs volumineux (plus de 32 traoctets) ou de trs gros fichiers (ceux de plus de 2 To), ainsi que des extensions destines amliorer les performances et la dfragmentation en ligne.

1.4 XFS
Silicon Graphics (SGI) a cre le systme de fichier XFS pour son systme d'exploitation IRIX, par la suite elle a donn le code source de XFS Linux. XFS a acquis une rputation de robustesse, de rapidit et de flexibilit sur IRIX. La taille d'un systme de fichier XFS peut tre agrandie en ligne, condition qu'il y ait de l'espace non allou disponible sur le disque contenant le systme de fichiers.

1.5 JFS
IBM a dvelopp le systme de fichiers journalis JFS (Journaled File System) pour son systme d'exploitation AIX. JFS est considr comme un bon systme de fichiers journalis qui fonctionne bien avec des fichiers de tailles variables. Il est galement considr comme un systme de fichiers lger qui n'utilise pas de grandes quantits de CPU lors d'une activit importante du disque.

Sur les fichiers journaux, voir manuel LPI 102, chapitre 6 Administration du systme GNU/Linux Ouvrage sous contrat Creative Commons BY-NC-SA p. 45

Prparation lexamen 201 pour la certification LPIC-2

2. Cration de systmes de fichiers


2.1 Commande mkfs
La commande mkfs permet de construire un systme de fichiers sur une partition du disque. Elle fait appel d'autres programmes en fonction du type de systme de fichiers slectionn. Linux prend en charge diffrents types de systmes de fichiers, y compris plusieurs systmes de fichiers journaliss et les systmes de fichiers Windows. La cration d'un systme de fichiers peut tre faite avec la commande qui a comme prfixe mkfs et comme suffixe le nom du type de systme de fichiers. Par exemple : pour crer un systme de fichiers ext3 on utilise la commande mkfs.ext3 ; pour les systmes de fichiers ReiserFS, la commande est mkfs.reiserfs ; pour les systmes de fichiers 6 bits de Windows (95/98), la commande est mkfs.vfat. La commande mke2fs permet aussi de crer un systme de fichiers ext2, et en utilisant l'option -j on peut crer un systme de fichiers ext3. La syntaxe de la commande mkfs est : mkfs [-t type-sys-fichiers][options-sys-fichiers] partition [nombre-blocs] Si le type du systme de fichiers (type-sys-fichiers) n'est pas indiqu, le systme de fichiers utilis par dfaut est ext2. On peut ajouter des options du systme de fichiers crer (options-sys-fichiers). Enfin on peut spcifier le nombre de blocs utiliser pour le systme de fichiers (nombre-blocs). Le tableau 4 rsume les principales options ext3 de la commande mkfs.
Tableau 4. Principales options ext3 de la commande mkfs

Option -V -v -c -l nom-fichier -L tiquette-duvolume -b taille-de-bloc

Description Affiche le numro de la version de la commande mkfs. Sortie bavarde Vrifie le priphrique pour liminer les secteurs dfectueux avant de formater le systme de fichiers. Lit la liste des secteurs dfectueux depuis le fichier nom-fichier. Dfinit le nom de volume pour le systme de fichiers Dfinit la taille de bloc

Ouvrage sous contrat Creative Commons BY-NC-SA p. 46

Prparation lexamen 201 pour la certification LPIC-2

-N nombre-d-inodes -m pourcentage-deblocs-rservs

Dfinit le nombre d'inodes Dfinit le pourcentage de blocs rservs pour le super utilisateur

EXEMPLE L'exemple suivant illustre la cration d'un systme de fichiers ext3 sur la partition /dev/sdb1 : # mkfs.ext3 /dev/sdb1 mke2fs 1.40.8 ( 13-Mar-2008) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 122880 inodes, 489974 blocks 24498 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=503316480 15 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912 Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. On peut voir dans la sortie de la commande prcdente que l'tiquette du systme de fichiers n'est pas dfinie ( Filesystem label= ). Elle peut tre spcifie avec l'option -L de la commande mkfs.ext3. L'tiquette ou nom du systme de fichier peut tre utilise dans le montage d'une partition. Ainsi, si la partition /dev/sdb1 a l'tiquette DISK1 , elle sera monte par la commande suivante : # mount LABEL=DSIK1 /media On peut aussi voir une srie de statistiques sur la taille du systme de fichiers et comment lespace de stockage a t allou.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 47

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE Block size=4096 (log=2) . 122880 inodes, 489974 blocks Le systme de fichiers contient 489 974 blocs et 12 2880 inodes. La taille d'un bloc est 4 096 octets. Chaque fichier correspond un inode unique. L'inode est une structure de donnes contenant des informations sur le fichier associ. Les informations stockes dans un inode sont : l'utilisateur propritaire du fichier, le groupe propritaire du fichier, le type de fichier, les droits d'accs, la date du dernier accs au fichier, la date de dernire modification du fichier, la date de dernire modification de l'inode, la taille du fichier et les adresses des blocs disques contenant le fichier. Et on peut noter que des blocs sont rservs pour le super-utilisateur (root) : 24498 blocks (5.00%) reserved for the super user Les blocs rservs pour le super-utilisateur sont dfinis de sorte qu'un utilisateur autre que root ne puisse pas remplir tout un systme de fichiers. Si ctait le cas, le super-utilisateur ne pourrait plus se connecter, et les services sexcutant en tant que super-utilisateur seraient incapables dcrire des donnes sur le disque. La taille par dfaut des blocs rservs pour le super-utilisateur est de 5 % de la taille du systme de fichier. Ce pourcentage convient si le systme de fichiers racine a une taille de quelques gigaoctets. En revanche, si le systme de fichiers une taille dun traoctet, la taille des blocs rservs pour le super-utilisateur est de 50 gigaoctets. Dans ce cas, pour viter quun tel espace ne puisse tre utilis pour le stockage des donnes des utilisateurs, il est logique de modifier le pourcentage. L'option -m de la commande mkfs.ext3 permet de dfinir ce pourcentage de blocs rservs pour le super-utilisateur. Sa valeur est 0 lors de la cration du systme de fichiers, et on peut la modifier plus tard avec la commande tune2fs. Enfin, la sortie de la commande mkfs.ext3 indique qu'on peut modifier les conditions dclanchement de la vrification automatique du systme de fichiers : This filesystem will be automatically checked every 25 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override. Par dfaut, une nouvelle vrification est faite ds que lune des deux conditions suivantes est ralise : 25 montages ont t faits depuis la dernire vrification, ou 180 jours se sont couls.

2.2 Le superbloc
Les systmes de fichiers ext3 et ext2 ont la mme structure de base. Cette structure est compose par un superbloc suivi de plusieurs groupes de blocs :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 48

Prparation lexamen 201 pour la certification LPIC-2

Superbloc

Groupe de blocs 1

Groupe de blocs 2

...

Groupe de blocs n

Le superbloc est un enregistrement qui dcrit les caractristiques du systme de fichiers. Il contient des informations sur la taille des blocs, la taille et l'emplacement des tables des inodes, la taille des groupes de blocs, la taille du systme de fichiers, l'espace disque disponible et quelques autres paramtres importants du systme de fichiers. Avec la perte du superbloc, on n'a aucun moyen pour dterminer l'emplacement des blocs de donnes des fichiers, ce qui risque dentraner la perte des donnes. Pour cette raison des copies de sauvegarde du superbloc sont maintenues dans des lieux disperss au dbut de chaque groupe de blocs. Les donnes d'un fichier sont donc rparties entre les groupes de blocs de sorte que les blocs de donnes, qui doivent tre accessibles ensemble, sont stocks proximit les uns des autres sur le disque. Ce regroupement permet de rduire la ncessit de rechercher sur tout le disque lors de l'accs aux blocs d'un mme fichier. La commande dumpe2fs permet d'afficher les informations sur le superbloc et les groupes de blocs et de localiser les adresses des copies du superbloc sur une partition du disque. EXEMPLE Pour localiser les adresses de copies du superbloc sur la partition /dev/sda1 on excute la commande suivante : # dumpe2fs /dev/sda1 Filesystem volume name: Last mounted on: Filesystem UUID: Filesystem magic number: Filesystem revision #: Filesystem features: filetype needs_recovery Inode count: Block count: Reserved block count: Free blocks: Free inodes: First block: Block size: Fragment size: Reserved GDT blocks: Blocks per group: Fragments per group: Inodes per group: Inode blocks per group: <none> <not available> bb19cad6-586d-48bc-83c1-5bed78bdcd2e 0xEF53 1 (dynamic) has_journal ext_attr resize_inode dir_index 305824 1220932 61046 718222 280072 0 4096 4096 298 32768 32768 8048 503

Ouvrage sous contrat Creative Commons BY-NC-SA p. 49

Prparation lexamen 201 pour la certification LPIC-2

Filesystem created: Last mount time: Last write time: Mount count: Maximum mount count: First orphan inode: Default directory hash: Directory Hash Seed: Journal backup: Journal features: Taille du journal: Journal length: Journal sequence: Journal start:

Sun Sep 5 11:50:38 2010 Fri Feb 11 09:27:06 2011 Sat Jan 29 09:38:02 2011 31 37 173244 half_md4 1fa74e4e-edbf-429b-9214-86447611ee3e inode blocks journal_incompat_revoke 128M 32768 0x00031af3 1

.... Groupe 1 : (Blocs 32768-65535) superbloc Secours 32768, Descripteurs de groupes 32769-32769 Blocs rservs GDT 32770-33067 Bitmap de blocs 33068 (+300), Bitmap d'i-noeuds 33069 (+301) Table d'i-noeuds 33070-33572 (+302) 0 blocs libres, 6818 i-noeuds libres, 243 rpertoires Blocs libres : I-noeuds libres : 9279-16096

2.3 Configuration de l'espace swap


La commande mkswap permet de crer un espace swap sur un priphrique et de l'ajouter au systme. Le priphrique est habituellement une partition de disque, mais peut aussi tre un fichier. On peut galement spcifier la taille de lespace swap, mais ce n'est pas recommand. Quand la taille est omise, mkswap utilise simplement la totalit de la partition ou du fichier spcifi. La commande swapon permet d'activer des priphriques et des fichiers utiliser pour le swap. swapon vrifie galement que lespace swap a t correctement ajout. EXEMPLE Dans cet exemple les commandes mkswap et swapon sont utilises pour crer puis activer un espace swap sur la partition /dev/sda2. L'option -s de la commande swapon permet d'afficher l'utilisation du swap pour chaque priphrique. # mkswap /dev/sda2
Ouvrage sous contrat Creative Commons BY-NC-SA p. 50

Prparation lexamen 201 pour la certification LPIC-2

Setting up swapspace version 1, size = 2105667584 bytes # swapon /dev/sda2 # swapon -s Filename Type Size Used Priority /dev/hda5 partition 133020 688 -1 /dev/sda2 partition 2056316 0 -2

3. Ajustement des paramtres des systmes de fichiers ext[234]


La commande tune2fs permet de modifier les paramtres ajustables d'un systme de fichiers ext2, ext3 ou ext4. Les principaux paramtres ajustables sont le label, le journal et les blocs rservs pour le super-utilisateur. Le tableau 5 illustre les principales options de la commande tune2fs.
Tableau 5. Principales options de la commande tune2fs

Option -c N

Fonction Ajuste le nombre maximal de montages entre deux vrifications du systme de fichiers. Si N vaut 0 ou -1, le nombre de fois que le systme de fichiers a t mont sera ignor par la commande e2fsck et par le noyau. Affiche le contenu du superbloc du systme de fichiers. Dfinit le pourcentage de blocs rservs pour le super-utilisateur dans le systme de fichiers. Dfinit le nombre de blocs rservs pour le super-utilisateur dans le systme de fichiers. Ajoute un journal ext3 au systme de fichiers. Dfinit le nom de volume du systme de fichiers.

-l -m N -r N -j -L label

4. Vrification et rparation dun systme de fichiers


Gnralement les systmes de fichiers modernes sont fiables face aux pannes du systme et du matriel. Des pannes du noyau et des coupures du courant lectrique peuvent engendrer des petites incohrences dans le systme de fichiers. Ces dommages peuvent tre rsolus avec la commande fsck. La commande fsck analyse les systmes de fichiers et corrige les erreurs dtectes, telles que : blocs de donnes non utiliss et non enregistrs ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 51

Prparation lexamen 201 pour la certification LPIC-2

blocs de donnes marqus comme libres mais galement utiliss dans un fichier ; inodes non rfrencs ; rpertoires non relis au systme de fichiers ; informations incorrectes dans le superbloc. Les disques sont gnralement analyss au dmarrage du systme avec la commande fsck -p. Cette commande examine et corrige les systmes de fichiers lists dans le fichier /etc/fstab. Linux garde une trace des systmes de fichiers qui ont t correctement dmonts. Concernant les systmes de fichiers qui ne sont pas dmonts correctement, Linux procde leur analyse et leur correction. Si une certaine forme de journalisation est active, fsck indique que le systme de fichiers est journalis et applique le dernier tat cohrent du systme de fichiers. EXEMPLE Pour analyser le systme de fichiers /dev/sda5 : # fsck -p /dev/sda5 La commande fsck -p lit le fichier /etc/fstab pour savoir quels sont les systmes de fichiers contrler. Elle les traite par ordre numrique croissant, en se basant sur la valeur contenue dans la dernire colonne de chaque ligne. La partition racine est toujours vrifie en premier. Mme si tous les dmontages des systmes de fichiers ont t faits correctement, on peut forcer la vrification aprs un certain nombre de montages. La valeur par dfaut est 25 dmontages. Cest une bonne prcaution, toutefois, sur les ordinateurs de bureau o les montages de systmes de fichiers sont frquents, faire un fsck tous les 25 montages peut devenir fastidieux. On peut donc fixer 50 le nombre maximum de montages entre deux vrifications. EXEMPLE # tune2fs -c 50 /dev/sda3 tune2fs 1.35 (28-Feb-2004) Setting maximal mount count to 50

5. Gestion des disques optiques


5.1 Systmes de fichiers cdrom et DVD
Le systme de fichiers ISO 9660 est conu pour les disques optiques tels que les cdroms et les DVD. Initialement le systme de fichiers ISO 9660 a impos plusieurs limites, par exemple, les noms de fichiers sont rduits 8 caractres avec une extension de 3 caractres. Pour remdier ces limitations et pouvoir utiliser les supports optiques sur de diffrents systmes d'exploitations, des extensions ISO 9660 sont dfinies :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 52

Prparation lexamen 201 pour la certification LPIC-2

l'extension Joliet est dfinie par Microsoft, elle permet d'utiliser des noms de fichiers longs allant jusqu 64 caractres, comprenant des espaces et des caractres accentus ; l'extension Rock Ridge est compatible avec le standard POSIX permettant d'utiliser des noms de fichiers composs de plus de 255 caractres, des droits d'accs Unix, des liens symboliques, etc. ; l'extension El Torido est utilise sur les cdroms et DVD destins au dmarrage du systme.

Le systme de fichiers UDF (Universal Disk Format) est conu pour remplacer l'ISO 9660, il supporte de plus grands fichiers et de plus grands disques. Il est support par les systmes d'exploitation Linux, Windows et Mac OS. Il est utilis sur les DVD de donnes, DVD vido, DVD audio, DVD rinscriptibles, etc. Le systme de fichiers HFS (Hierarchical File System) est dvelopp par Apple et utilis sur les disques durs et les supports optiques.

5.2 Cration de systme de fichiers


La commande mkisofs cre un fichier image contenant un systme de fichiers ISO 9660. EXEMPLE Crer une image nomme image.iso contenant les fichiers du rpertoire ~/work/lpi/auf/ : $ mkisofs -o image.iso ~/work/lpi/auf/ La commande mkisofs dispose de plusieurs options, certaines sont utilises pour ajouter les extensions ISO 9660 : -R : ajoute l'extension Rock Ridge, les fichiers conservent alors leurs droits d'accs et leurs propritaires ; -r : ajoute l'extension Rock Ridge, change les propritaires des fichiers root et donne un accs en lecture seul tous les utilisateurs ; -J : ajoute l'extension Joliet ; -T : Cre des tables de traduction des fichiers destins aux systmes ne supportant pas l'extension Rock Ridge ; -V : dfinit l'tiquette ou le nom du volume du cdrom ; -v : affiche en mode bavard (verbose) la progression et les messages de la cration d'image. Crer une image nomme image.iso contenant les fichiers du rpertoire ~/work/lpi/auf/, avec les extensions Rock Ridge. Le nom de ltiquette de limage ISO cre est LABEL :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 53

EXEMPLE

Prparation lexamen 201 pour la certification LPIC-2

# mkisofs -r -V 'LABEL' -v -o image.iso ~/work/lpi/auf Vrifier l'image cre en faisant le montage du systme de fichiers de l'image sur le rpertoire /mnt : # mount -o loop -t iso9660 -o ro image.iso /mnt/ La commande dd permet aussi crer un fichier image partir d'un cdrom. EXEMPLE Chercher le priphrique associ au cdrom : # mount /dev/sda1 on / type ext3 (rw,errors=remount-ro,commit=0) proc on /proc type proc (rw,noexec,nosuid,nodev) none on /sys type sysfs (rw,noexec,nosuid,nodev) /dev/sda7 on /home type ext3 (rw,commit=0) /dev/sda5 on /usr type ext3 (rw,commit=0) ... /dev/sr0 on /media/disk type iso9660 (ro,nosuid,nodev,uhelper=udisks,uid=1000,gid=1000,iocharset=utf8,mode=0400, dmode=0500) On peut voir que le priphrique cdrom /dev/sr0 est mont sous le rpertoire /media/disk Copier le contenu d'un cdrom vers vers un fichier image : # dd if=/dev/sr0 of=monimage.iso

5.3 Gravure d'une image iso


La commande cdrecord permet de graver un fichier image, contenant un systme de fichier ISO 9660, sur un cdrom ou un DVD. EXEMPLE Rcuprer les paramtres du graveur $ cdrecord scsibus1: 1,0,0 100) 1,1,0 101) 1,2,0 102) 1,3,0 103) 1,4,0 104) 1,5,0 105) -scanbus 'MATSHITA' 'DVD-RAM UJ880AS ' '1.50' Removable CD-ROM * * * * *
Ouvrage sous contrat Creative Commons BY-NC-SA p. 54

Prparation lexamen 201 pour la certification LPIC-2

1,6,0 106) * 1,7,0 107) * Le graveur est un MATSHITA' 'DVD-RAM UJ880AS identifi par l'adresse 1,0,0. Graver l'image : # cdrecord -v speed=16 dev=1,0,0 image.iso

6. Gestion des priphriques avec udev


6.1 Principe de fonctionnement
Au dpart, les fichiers spciaux des priphriques, appels nuds ou nodes, taient crs manuellement dans le rpertoire /dev. Les mainteneurs des distributions Linux taient obligs de peupler le rpertoire /dev avec tous les fichiers de priphriques possibles. Cette approche n'tait pas idale ni pratique. Depuis la version 2.6.2 du noyau Linux, le service udev gre dynamiquement la cration et la suppression des nuds dans le rpertoire /dev en fonction de l'ajout ou de la suppression des priphriques du systme. Le service udev peut aussi charger automatiquement les pilotes des priphriques, assurer que les priphriques gardent toujours les mmes noms, indpendamment de leur ordre de branchement, et notifier aux autres programmes la prsence d'un priphrique. La figure 7 illustre le principe de fonctionnement du service udev : il coute les messages du noyau, appels uevent, concernant les changements d'tat des priphriques. Il peut effectuer une varit d'actions quand un priphrique est dcouvert ou dconnect, pour cela il se base sur des rgles dfinies dans les fichiers des rpertoires /etc/udev/rules.d et /lib/udev/rules.d/.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 55

Prparation lexamen 201 pour la certification LPIC-2 Figure 7

uevent Noyau Linux udev

Balayage des rgles Cration/suppression des fichiers des priphriques

Chargement des pilotes des priphriques (modules) Notification vers les programmes des utilisateurs EXEMPLE On utilise la commande udevadm monitor --environment pour capturer le message du noyau (uevent), envoy suite la connexion d'un disque USB. $ udevadm monitor --environment monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent KERNEL[1321431768.343421] add /devices/pci0000:00/0000:00:1d.7/usb2/22 (usb) UDEV_LOG=3 ACTION=add DEVPATH=/devices/pci0000:00/0000:00:1d.7/usb2/2-2 SUBSYSTEM=usb DEVNAME=bus/usb/002/004 DEVTYPE=usb_device PRODUCT=781/5406/10 TYPE=0/0/0 BUSNUM=002 DEVNUM=004 SEQNUM=1725 MAJOR=189 MINOR=131 Lorsque le noyau dtecte le disque USB, il cre une entre dans le systme de fichiers sysfs. L'attribut DEVPATH reprsente l'emplacement de cette entre dans le rpertoire
Ouvrage sous contrat Creative Commons BY-NC-SA p. 56

Prparation lexamen 201 pour la certification LPIC-2

/sys. L'attribut DEVNAME indique que ce priphrique est le numro 4 sur le bus USB numro 2. L'attribut PRODUCT indique que le code vendeur est 781, et le code produit 5406. En se 3 rfrant la page www.linux-usb.org/usb.ids on peut voir que ces codes correspondent au vendeur SanDisk Corp et la cl USB Cruzer Micro U3 . Le numro de squence est incrment pour chaque message uevent mis. Enfin, le numro majeur (189) et le numro mineur (131) de priphrique sont inclus dans le message uevent. Tous les priphriques grs par un mme pilote ont le mme numro majeur. Le numro mineur est utilis par le noyau afin de distinguer les priphriques grs par un mme pilote. Udev examine les attributs du priphrique dtect pour slectionner et appliquer les rgles correspondantes.

6.2 Le systme de fichiers sysfs


Les informations sur les bus et les priphriques sont exportes sous forme d'objets, de l'espace du noyau vers l'espace des utilisateurs, par le biais du systme de fichiers sysfs. Le systme de fichiers sysfs est mont sur le rpertoire /sys. Les objets sont reprsents par des sous-rpertoires, les attributs d'un objet sont reprsents par des fichiers et la valeur dun attribut correspond au contenu du fichier. Par exemple le fichier /sys/block/sdc/size reprsente la taille du disque sdc : $ cat /sys/block/sdc/size 7978637 L'objet ici est un disque dur sdc reprsent par le rpertoire /sys/block/sdc/. L'attribut size du disque est reprsent par le fichier /sys/block/sdc/size et a pour valeur la chane de caractres 7978637 contenue dans le fichier /sys/block/sdc/size. La commande udevadm permet aussi de recueillir les attributs d'un priphrique partir de sa reprsentation sysfs. Ces informations permettent de construire les rgles udev. $ udevadm info -a -p /sys/block/sdc Udevadm info starts with the device specified by the devpath and then walks up the chain of parent devices. It prints for every device found, all possible attributes in the udev rules key format. A rule to match, can be composed by the attributes of the device and the attributes from one single parent device.

On trouve dans cette page la liste de tous les priphriques USB connus. Chaque priphrique USB est identifi par un code constructeur et un code produit. Ouvrage sous contrat Creative Commons BY-NC-SA p. 57

Prparation lexamen 201 pour la certification LPIC-2

looking at device '/devices/pci0000:00/0000:00:1d.7/usb2/2-2/22:1.0/host9/target9:0:0/9:0:0:0/block/sdc': KERNEL=="sdc" SUBSYSTEM=="block" DRIVER=="" ATTR{range}=="16" ATTR{ext_range}=="256" ATTR{removable}=="1" ATTR{ro}=="0" ATTR{size}=="7978637" ATTR{alignment_offset}=="0" ATTR{discard_alignment}=="0" ATTR{capability}=="51" ATTR{stat}==" 308 8935 10390 432 1 1 4 0 316 436" ATTR{inflight}==" 0 0"

6.3 Les rgles udev


Chaque rgle udev est compose de deux lments : les conditions de dclenchement des actions ; les actions proprement dites.

Les conditions sont dfinies par des cls de comparaison, et les actions par des cls d'assignation. EXEMPLE Voici un exemple de rgle udev extrait du fichier /lib/udev/rules.d/97-bluetooth.rules ACTION=="add", SUBSYSTEM=="bluetooth", RUN+="/usr/sbin/bluetoothd udev" Ici, si l'action est un ajout et le priphrique est de type Bluetooth, le programme /usr/sbin/bluetoothd sera excut automatiquement. Les oprateurs suivants peuvent tre utiliss avec les cls de comparaison : == pour tester l'galit entre la cl et une valeur ; != pour tester la diffrence entre la cl et une valeur.

Dans l'exemple prcdent on a test l'galit entre la cl ACTION et la valeur add et entre la cl SUBSYSTEM et la valeur bluetooth .

Ouvrage sous contrat Creative Commons BY-NC-SA p. 58

Prparation lexamen 201 pour la certification LPIC-2

Les oprateurs suivants sont utiliss avec les cls d'assignation : = pour assigner une nouvelle valeur une cl. Si la cl contient dj une ou plusieurs valeurs, cette nouvelle valeur les remplace ; += pour ajouter une valeur la cl. Si la cl contient dj une liste de valeurs, cette nouvelle valeur est ajoute cette liste ; := pour assigner une nouvelle valeur une cl et interdire toute modification ultrieure par d'autres rgles. ACTION, contient le nom de l'vnement uevent ; DEVPATH, dfinit le chemin d'accs sysfs aux informations sur le priphrique ; KERNEL, indique le nom attribu par le noyau au priphrique ; NAME, dfinit le nom de fichier priphrique crer sur le rpertoire /dev ; SYMLINK, contient les noms des liens symboliques crer ; SUBSYSTEM, indique le type de priphrique : block ou character ; DRIVER, dfinit le pilote de priphrique ; LABEL, contient une tiquette qui peut tre utilise avec la cl GOTO ; GOTO, permet de passer l'tiquette dfinie avec la cl LABEL ; RUN, indique le nom dun programme excuter. * : remplace zro, un ou plusieurs caractres ; ? : remplace un et un seul caractre ; une liste de caractres entre crochets, par exemple [13478], remplace un et un seul caractre, qui doit tre lun des caractres lists. Il est possible de spcifier des intervalles de caractres, par exemple le caractre remplac par [0-9] peut tre nimporte quel chiffre ; une liste de caractres entre crochets et prcde par un point dexclamation, par exemple [!13478], remplace un et un seul caractre, qui ne doit tre aucun des caractres lists.

Les principales cls utilises dans les rgles udev sont :

Des caractres jokers peuvent tre utiliss dans les valeurs des cls :

EXEMPLES KERNEL=="sd[!0-9] correspond aux noms des priphriques sda, sdb, sdc, etc ... KERNEL=="tty[SR] correspond soit ttyS soit ttyR Enfin on peut utiliser dans les rgles udev des variables prdfinies. Les variables les plus utilises sont : %k ou $kernel, nom assign par le noyau un priphrique ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 59

Prparation lexamen 201 pour la certification LPIC-2

%n ou $number, numro de priphrique ; $driver, nom de pilote ; %M, numro majeur ; %m, numro mineur.

EXEMPLE Voici trois rgles udev : ACTION==add, KERNEL==sd[a-d][0-9], SYMLINK+=usbdisk%n, NAME=%k ACTION==add, KERNEL==sd[a-d][0-9], RUN+=/bin/mkdir -p /media/usbdisk%n ACTION==add, KERNEL==sd[a-d][0-9], RUN+=/bin/mount /dev/%k /media/usbdisk%n Lors de la dtection de priphrique, udev cre un lien symbolique vers le priphrique rel appel /dev/usbdiskn, o n est le numro du priphrique. Par exemple, pour le premier priphrique dtect, un lien symbolique appel /dev/usbdisk0 pointe vers le priphrique rel. Ensuite, la directive RUN permet de crer un rpertoire sous /media avec le mme nom. La dernire action consiste monter le nouveau priphrique sur un nouveau point de montage cr sur le rpertoire /media.

7. Le service autofs
Le montage automatique des systmes de fichiers dfinis dans /etc/fstab cre un certain nombre de problmes dans les grands rseaux. En effet, si les systmes de fichiers sont monts via NFS (Network File System) partir des serveurs sur le rseau, c'est le chaos quand un de ces serveurs tombe en panne. En plus chaque commande qui accde des points de montage se bloque. Ainsi, la performance sera affecte lorsque le systme maintient plusieurs montages de systmes de fichiers en mme temps. Une solution alternative au fichier /etc/fstab est d'utiliser le service autofs. Ce service permet de monter des systmes de fichiers de manire automatique et transparente au moment o on y accde et les dmonte aprs une priode d'inactivit, ce qui amliore la performance du systme. Le service autofs est gr par le script /etc/init.d/autofs. Ce dernier accepte les arguments start, restart et stop pour le dmarrage, le redmarrage et l'arrt du service autofs. L'argument reload permet de charger les modifications apportes la configuration du service autofs. Et l'argument status indique s'il est dmarr ou non. Le fichier /etc/auto.master est le fichier de configuration principale pour autofs. Chaque ligne dcrit un point de montage, un fichier de configuration du montage et des options de montage. EXEMPLE Voici un exemple de fichier de configuration principale d'autofs :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 60

Prparation lexamen 201 pour la certification LPIC-2

# cat /etc/auto.master /mnt/nfs /etc/auto.nfs --timeout=10 Le rpertoire /mnt/nfs est le point de montage. Le fichier de configuration /etc/auto.nfs contient les options de montage associes au point de montage /mnt/nfs. Voici le contenu du fichier /etc/auto.nfs : # cat /etc/auto.nfs zied -rw 172.31.209.135:/home/zied hedi -rw 172.31.209.135:/home/hedi Deux sous-rpertoires de montage zied et hedi seront crs sous /mnt/nfs et correspondent respectivement aux partages NFS /home/zied et /home/hedi sur la machine 172.31.209.135. Les sous-rpertoires zied et hedi sont crs uniquement lorsqu'on essaie d'y accder.

Exercices
1. Quel point de montage doit-on associer avec les partitions swap ? 2. A. /home B. / C. /proc D. aucun

Laquelle des options suivantes est utilise avec la commande fsck, afin d'utiliser un type de systme de fichiers ? A. t B. A C. f D. C

3.

Laquelle des caractristiques suivantes pouvez-vous ajuster avec tune2fs? ? A. le propritaire du systme du fichier B. la valeur UUID du systme de fichiers C. la taille de systme de fichier D. l'ajout d'un journal
Ouvrage sous contrat Creative Commons BY-NC-SA p. 61

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 4. RAID et LVM


Objectifs Configuration RAID configurer et implmenter un RAID logiciel ; utiliser et configurer les niveaux 0, 1 et 5 du RAID logiciel. Gestionnaire de volumes logiques crer et supprimer des volumes logiques, des groupes de volumes et des volumes physiques ; prendre des instantans (snapshots) et redimensionner des volumes logiques. Ajustement des paramtres des priphriques de stockage configurer les options du noyau permettant de supporter diffrents pilotes de priphriques de stockage ; utiliser les outils logiciels pour visualiser et modifier les paramtres du disque dur. Fichiers de configuration et utilitaires de RAID logiciel. Commandes de gestion des volumes LVM. Redimensionnement, renommage, cration et suppression des volumes logiques, groupes de volumes et volumes physiques. Cration et maintenance des instantans (snapshots). Activation des groupes de volumes. Outils logiciels pour visualiser et modifier les paramtres du disque dur. Commandes de configuration de DMA pour les priphriques IDE, ATAPI et SATA. Outils de manipulation et d'analyse des ressources systmes associes aux disques durs (e.g. interruptions). mdadm.conf, mdadm, /proc/mdstat, fdisk, hdparm, tune2fs, /sbin/pv*, /sbin/lv*, /sbin/vg*, mount, /dev/mapper/

Points importants

Mots cls

Un volume RAID (Redudent Array of Independent Disk) est constitu d'un ensemble de disques ou de partitions de disques. L'objectif est d'assurer une tolrance aux pannes, en dupliquant les donnes sur plusieurs disques. La performance est amliore en permettant
Ouvrage sous contrat Creative Commons BY-NC-SA p. 62

Prparation lexamen 201 pour la certification LPIC-2

la lecture ou l'criture en parallle des donnes depuis ou vers les disques qui constituent le volume RAID. Le RAID peut tre matriel ou logiciel. Le RAID matriel utilise un contrleur matriel permettant de grer le volume RAID. Ce contrleur RAID est dot d'un processeur spcifique, une mmoire et un logiciel embarqu (RAID firmware). Le contrleur RAID matriel cache les caractristiques du volume RAID au systme d'exploitation. Ce dernier peroit le volume RAID comme un disque dur classique. En RAID logiciel, le contrleur RAID est un composant du systme d'exploitation. Le module MD (Multiple Disk) du noyau Linux est un contrleur RAID logiciel permettant de grer le volume RAID et offrant aux applications un seul disque dur virtuel. LVM (Logical Volume Manager) est une technique qui cre des systmes de fichiers sur des volumes logiques, ce qui permet par exemple de redimensionner la taille des partitions en toute transparence du point de vue des applications et sans avoir besoin de redmarrer un serveur en production. Les sections suivantes dcrivent les techniques RAID et LVM et illustrent la mise en place de ces deux techniques combines ensemble.

1. RAID
1.1 Concepts gnraux
Selon le type darchitecture mis en place, la technique RAID permet damliorer : soit la performance de lecture et dcriture, en distribuant les donnes sur plusieurs disques, ce qui permet au contrleur de travailler sur plusieurs disques simultanment ; soit la tolrance aux pannes, en dupliquant des donnes sur plusieurs disques, ce qui diminue les risques en cas de dfaillance de lun deux ; soit les deux.

Il existe plusieurs types de RAID, appels niveaux. Les plus utiliss sont RAID 0, RAID 1, RAID 5 et RAID 10 : RAID 0 : il est utilis uniquement pour amliorer les performances. Les donnes sont dcoupes en blocs (chunk) et ces blocs sont rpartis sur plusieurs disques, ce qui diminue les temps de lecture et dcriture (figure 8) ; RAID 1 : il offre une redondance des donnes. En effet elles sont dupliques sur deux ou plusieurs disques (figure 8). La performance de lecture augmente avec le nombre de disques du volume RAID. Ceci peut assurer une meilleure tolrance aux pannes, mais peut nuire la performance dcriture, car l'information doit tre crite plusieurs fois ;

Ouvrage sous contrat Creative Commons BY-NC-SA p. 63

Prparation lexamen 201 pour la certification LPIC-2 Figure 8. RAID 0 et RAID 1


4

Figure 9. RAID 5

Figure 1 : schmas de Cburnett diffuss sur Wikimedia Commons sous licence Creative Commons BY-SA 3.0 : http://commons.wikimedia.org/wiki/File:RAID_0.svg et http://commons.wikimedia.org/wiki/File:RAID_1.svg Figure 2 : schma de Cburnett diffus sur Wikimedia Commons sous licence Creative Commons BYSA 3.0 : http://commons.wikimedia.org/wiki/File:RAID_5.svg Ouvrage sous contrat Creative Commons BY-NC-SA p. 64

Prparation lexamen 201 pour la certification LPIC-2

RAID 4 : les donnes sont distribues en petits blocs sur les diffrents disques durs. Le contrle de parit est inscrit sur un disque spcifique. Ceci permet de crer une architecture redondante qui amliore le temps d'criture. Si un disque tombe en panne, les donnes manquantes seront recalcules partir des donnes utiles et des parits. RAID 4 n'est plus utilis, il est remplac par RAID 5 ; RAID 5 : la diffrence de RAID 4, les donnes et la parit sont elles aussi distribues sur l'ensemble des disques (figure 9) ; RAID 10 ou (1+0) : combinaison de RAID 1 et de RAID 0. C'est un RAID 0 compos de deux volumes RAID 1 (figure 10), ce qui offre les avantages simultans du RAID 1 et RAID 0 : augmentation de la taille de stockage et des performances de lecture. Il faut au minimum quatre disques de stockage pour crer un volume RAID 10.
Figure 10. RAID 10
6

1.2 Gestion du RAID logiciel sous Linux


La plupart des distributions Linux utilisent la commande mdadm pour gnrer un volume RAID.

Figure 3 : schma de Wheart, bas sur un schma de Cburnett et diffus sur Wikimedia Commons sous licence Creative Commons BY-SA 3.0 : http://commons.wikimedia.org/wiki/File:RAID_10.svg Ouvrage sous contrat Creative Commons BY-NC-SA p. 65

Prparation lexamen 201 pour la certification LPIC-2

Les versions prcdentes de la distribution Red Hat utilisaient le paquetage raidtools, mais mdadm est la fois plus puissante et plus facile utiliser que raidtools. La commande mdadm permet de crer, contrler et administrer le volume RAID. Elle possde sept modes de fonctionnement diffrents, chacun avec ses propres options (tableau 6). Si aucun mode n'est spcifi, la commande mdadm est en mode manage ou misc. Le mode manage est slectionn si le nom de priphrique RAID est spcifi avant toutes les options ou si la premire option est --add, --fail, or remove.
Tableau 6. Les diffrents modes de fonctionnement du RAID

Mode

assemble

Option pour slectionner le mode --assemble ou --A

Description

build create manage

--build ou -B --create ou -C (par dfaut)

misc

(par dfaut)

monitor

--follow, --monitor ou -F

grow

--grow ou -G

Assemble les composants d'un volume RAID dj cr. Ce mode est utile pour le dpannage ou l'activation d'un volume RAID transfr depuis un autre ordinateur. L'option -s ou --scan rcupre les informations sur le volume RAID et les disques sous-jacents. Cre un volume RAID partir des disques qui n'ont pas de superblocs (des mtadonnes). Cre un nouveau volume RAID avec des superblocs (des mtadonnes) dans chaque disque Peut ajouter ou supprimer des disques un volume RAID en cours d'excution. Ceci est utile pour enlever des disques durs en panne, ajouter des disques de rechange ou remplacer des disques. Effectue des oprations spcifiques sur un disque sous-jacent, telles que l'effacement de superblocs ou du paramtre en lecture seule. Surveille un volume RAID. Peut par exemple automatiser l'envoi des alertes aux administrateurs lorsque le volume RAID rencontre des erreurs. Peut aussi excuter automatiquement des commandes, comme enlever et rinsrer un disque pour tenter de corriger une dfaillance non fatale. Change le nombre ou la taille des blocs ou des disques sous-jacents.

Les volumes RAID sont configurs dans le fichier /etc/mdadm.conf. Ce fichier est utilis par la commande mdadm dans le mode create pour crer le volume RAID ou pour linitialiser aprs chaque dmarrage. Les principaux paramtres de ce fichier sont : DEVICE : liste des disques et partitions susceptibles d'tre utiliss dans le volume RAID ; ARRAY : nom du volume RAID, par exemple /dev/md0 ou /dev/md/00 ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 66

Prparation lexamen 201 pour la certification LPIC-2

level : niveau RAID, par exemple raid0, raid1, raid4 ou raid5 ; devices : liste des disques ou partitions (spars par des virgules) qui seront utiliss pour assembler le volume RAID ; num-devices : nombre de disques ou partitions sous-jacents dans le volume RAID ; spare-group : nom du groupe de secours. Les disques ou partitions appartenant un groupe de secours peuvent tre utiliss par plusieurs volumes RAID. -n ou --raid-devices : nombre de disques du volume RAID ; -l ou --level : niveau RAID ; -c ou --chunk : taille en kilo-octets du bloc (chunk). La valeur indique doit tre une puissance de 2. La valeur par dfaut est 64 ko ; -x ou --spare-devices : nombre de disques de secours ; -z ou --size : taille en kilo-octets de l'espace utiliser dans chaque disque pour les niveaux RAID 1, 4, 5 et 6. Cette taille doit tre multiple de la taille d'un bloc (chunk size). Par dfaut elle correspond la taille du plus petit disque (ou partition) sousjacent du volume RAID ; -p ou --parity : algorithme de parit utilis. Par dfaut c'est l'algorithme left-symmetric. Crer un volume RAID niveau 5, /dev/md1, compos des partitions /dev/sda1, /dev/sdb1 et /dev/sdc1 : # mdadm --create /dev/md1 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1 level=5

Les options du mode create sont :

EXEMPLES

Commande identique la prcdente avec des options courtes : # mdadm -C /dev/md1 -n3 /dev/sda1 /dev/sdb1 /dev/sdc1 -l5

Crer un volume RAID partir des informations de configuration du fichier /etc/mdadm.conf. La commande mdadm prend comme argument le nom du volume RAID : # mdadm --create /dev/md0

Crer deux volumes RAID, /dev/md0 et /dev/md1. Le premier volume RAID est cr avec un disque de secours /dev/sdd1. Les deux volumes RAID utilisent le mme groupe de secours mongroupe (dfini par l'option --spare-group), ce qui leur permet de partager les disques de secours. Cela signifie que si un disque du volume RAID /dev/md1 tombe en panne, il sera remplac automatiquement par le disque /dev/sdd1 : # mdadm --create /dev/md0 --raid-devices=3 /dev/sda1 /dev/sdc1 -x
Ouvrage sous contrat Creative Commons BY-NC-SA p. 67

Prparation lexamen 201 pour la certification LPIC-2

/dev/sdd1 --level=1 --spare-group= mongroupe # mdadm --create /dev/md1 --raid-devices=2 /dev/sda2 /dev/sdc2 --level=1 --spare-group= mongroupe

2. LVM
2.1 Concepts gnraux du LVM
La gestion des volumes logiques dfinit une couche d'abstraction de haut niveau sur les partitions physiques du disque dur. Les volumes physiques (physical volumes ou pv) sont regroups pour former des groupes de volumes (volume groups ou vg). Les volumes physiques peuvent tre des disques, des partitions ou mme des volumes RAID. Dans un groupe de volumes on peut crer plusieurs volumes logiques qui seront accessibles comme des partitions classiques. Enfin, sur ces volumes logiques, on peut crer des systmes de fichiers et les monter sur l'arborescence systme. LVM offre ainsi plusieurs avantages. On peut : avoir une utilisation et une allocation efficaces de l'espace de stockage, puisque les volumes logiques sont rpartis sur plusieurs disques physiques ; augmenter et rduire la taille des volumes logiques sans risque d'interrompre des services du systme ni de perdre des donnes ; on peut prendre des instantans (snapshots) sur le systme de fichiers. Ces instantans servent sauvegarder et restaurer les donnes.

2.2 Gestion du LVM sous Linux


La configuration LVM sous Linux est faite en trois tapes : cration et initialisation des volumes physiques ; ajout des volumes physiques un groupe de volumes ; cration des volumes logiques au sein du groupe de volumes.

Les commandes LVM commencent par deux lettres qui refltent le niveau d'abstraction LVM : les commandes pv manipulent les volumes physiques ; les commandes vg manipulent les groupes de volumes ; les commandes lv manipulent les volumes logiques. pvcreate : initialise un priphrique (partition, disque ou volume RAID) comme un volume physique pour une utilisation par LVM ; pvdisplay : affiche des informations dtailles sur un volume physique, y compris le nom du groupe de volumes auquel il appartient et sa taille ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 68

Les principales commandes de gestion des volumes physiques sont :

Prparation lexamen 201 pour la certification LPIC-2

pvscan : analyse les partitions de disque la recherche des priphriques de blocs contenant des volumes physiques ; pvck : contrle la cohrence du volume physique ; pvs : affiche des informations sommaires sur les volumes physiques. vgcreate : cre un groupe de volumes ; vgchange : modifie certains attributs dun groupe de volumes, par exemple pour lactiver ou le dsactiver ; vgdisplay : affiche les caractristiques dtailles d'un volume logique. Loption -v permet de visualiser la liste des volumes logiques et des volumes physiques de chaque groupe de volumes ; vgscan : analyse le systme pour rechercher des groupes de volumes ; vgextend : ajoute des volumes physiques un groupe de volumes existant ; vgreduce : supprime un ou plusieurs volumes physiques d'un groupe de volumes ; vgremove : supprime un groupe de volumes ; vgrename : renomme un groupe de volumes ; vgs : affiche des informations sommaires sur les groupes de volumes. lvdisplay : affiche des informations dtailles sur les volumes logiques ; lvcreate : cre un volume logique ; lvrename : renomme un volume logique ; lvchange : change les attributs d'un volume logique ; lvextend : augmente la taille d'un volume logique ; lvreduce : rduit la taille d'un volume logique ; lvremove : supprime des volumes logiques ; lvs : affiche des informations sommaires sur les volumes logiques ; lvresize : redimensionne un volume logique (quivalent la fois lvextend et lvreduce ) ; lvscan : analyse le systme pour rechercher des volumes logiques.

Les principales commandes de gestion des groupes de volumes sont :

Les principales commandes de gestion des volumes logiques :

3. Exemple de configuration avec LVM et RAID logiciel


Dans ce qui suit, on tudie un exemple de mise en place d'une architecture LVM et RAID. Cette configuration est particulirement utile pour les serveurs.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 69

Prparation lexamen 201 pour la certification LPIC-2

Lobjectif est de crer un volume RAID 5 sur trois disques vides, puis de dfinir sur ce volume deux partitions LVM, web1 et web2.

3.1 Cration du volume RAID


Le premier disque /dev/sda contient les partitions du systme. On commence par crer des tables de partitions dans les autres disques non partitionns /dev/sdb, /dev/sdc et /dev/sdd. Pour le disque /dev/sdb ( rpter ensuite pour les disques /dev/sdc et /dev/sdd) : # fdisk /dev/sdb Commande (m pour l'aide): n Commande d'action e tendue p partition primaire (1-4) 1 Numro de partition non valide pour le type 1 Commande d'action e tendue p partition primaire (1-4) p Numro de partition (1-4): 1 Premier cylindre (1-509, par dfaut 1): Utilisation de la valeur par dfaut 1 Dernier cylindre, +cylindres or +taille{K,M,G} (1-509, par dfaut 509): Utilisation de la valeur par dfaut 509 Commande (m pour l'aide): type Partition slectionne 1 Code Hexa (taper L pour lister les codes): fd Type systme de partition modifi de 1 fd (Linux raid autodetect) Une seule partition est cre dans chaque disque. Le type de chaque partition est reprsent par le code fd (Linux Raid Autodetect). Ce type permet au systme RAID de Linux de dtecter automatiquement ces partitions. La commande suivante gnre un volume RAID 5 sur les trois partitions /dev/sdb1, /dev/sdc1 et /dev/sdd1 : # mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sdb1 /dev/sdc1 /dev/sdd1 mdadm: array /dev/md/0 started. Le fichier /proc/mdstat contient ltat courant du volume RAID :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 70

Prparation lexamen 201 pour la certification LPIC-2

# watch cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdd1[3] sdc1[1] sdb1[0] 8385664 blocks level 5, 64k chunk, algorithm 2 [3/2] [UU_] [=============>.......] recovery = 68.1% (2859008/4192832) finish=0.5min speed=44160K/sec unused devices: <none> Il est particulirement utile de surveiller ce fichier aprs l'ajout d'un nouveau disque ou le remplacement d'un disque dfectueux. On peut aussi voir des messages de notification sur la cration du volume RAID dans le fichier /var/log/messages. La commande mdadm sert aussi activer le volume RAID et le rendre disponible pour les utilisateurs. Il est galement recommand de crer un fichier de configuration RAID, /etc/mdadm.conf, pour servir de secours en cas de problme et simplifier lactivation du volume RAID en dispensant de redonner ses paramtres. On peut utiliser la commande mdadm --details --scan pour crire la configuration courante du volume RAID dans un fichier de configuration : # echo DEVICE /dev/sdb1 /dev/sdc1 /dev/sdd1 > /etc/mdadm.conf # mdadm --detail --scan >> /etc/mdadm.conf La commande mdadm peut maintenant lire ce fichier de configuration au dmarrage ou l'arrt du systme. Pour activer le volume RAID on excute la commande : # mdadm -As /dev/md0 mdadm: /dev/md/0 has been started with 3 drives. Pour arrter le volume RAID on excute la commande : # mdadm -S /dev/md0 mdadm: stopped /dev/md0 On a maintenant runi les trois disques dans un volume RAID unique. Sur ce volume on va dfinir des groupes de volumes logiques sur lesquels on pourra crer des systmes de fichiers.

3.2 Cration du LVM


Les versions anciennes du LVM ncessitent de lancer la commande vgscan comme tape initiale, mais ceci n'est plus ncessaire, on commence plutt par initialiser chaque priphrique physique avec la commande pvcreate. Dans lexemple on utilise le volume
Ouvrage sous contrat Creative Commons BY-NC-SA p. 71

Prparation lexamen 201 pour la certification LPIC-2

physique RAID 5 /dev/md0 que lon a cr : # pvcreate /dev/md0 Physical volume "/dev/md0" successfully created L'opration prcdente dtruit toutes les donnes sur les disques et les partitions. Bien qu'on utilise un seul volume physique dans cet exemple, LVM permet d'ajouter plusieurs volumes de types diffrents dans un groupe de volumes. On peut maintenant crer le groupe de volumes VG1 : # vgcreate VG1 /dev/md0 Volume group "VG1" successfully created Pour examiner les caractristiques du groupe de volume, on utilise la commande vgdisplay : # vgdisplay VG1 --- Volume group --VG Name System ID Format Metadata Areas Metadata Sequence No VG Access VG Status MAX LV Cur LV Open LV Max PV Cur PV Act PV VG Size PE Size Total PE Alloc PE / Size Free PE / Size VG UUID

VG1 lvm2 1 1 read/write resizable 0 0 0 0 1 1 8,00 GB 4,00 MB 2047 0/0 2047 / 8,00 GB 1pqn22-KEu1-uJde-0rgB-WhiK-KjV1-7ZTc0G

La dernire tape est de crer dans le groupe de volumes VG1 des volumes logiques qui seront accessibles ensuite comme des partitions du disque : # lvcreate -L 2G Logical volume # lvcreate -L 2G Logical volume -n web1 VG1 "web1" created -n web2 VG1 "web2" created

Ouvrage sous contrat Creative Commons BY-NC-SA p. 72

Prparation lexamen 201 pour la certification LPIC-2

Ces volumes logiques, une fois crs, sont reprsents par des fichiers de priphrique situs dans /dev/mapper/ : $ ls -l /dev/mapper/ total 0 crw-rw----. 1 root root 10, 63 sept. 7 12:56 control brw-rw----. 1 root disk 253, 1 sept. 7 12:56 VG1-web1 brw-rw----. 1 root disk 253, 0 sept. 7 12:56 VG1-web2 Maintenant que les deux volumes logiques web1 et web2 sont crs dans le groupe de volumes VG1, on peut crer et monter les systmes de fichiers : # mke2fs -j /dev/VG1/web1 mke2fs 1.41.4 (27-Jan-2009) tiquette de systme de fichiers= Type de systme d'exploitation : Linux Taille de bloc=4096 (log=2) Taille de fragment=4096 (log=2) 131072 i-noeuds, 524288 blocs 26214 blocs (5.00%) rservs pour le super utilisateur Premier bloc de donnes=0 Nombre maximum de blocs du systme de fichiers=536870912 16 groupes de blocs 32768 blocs par groupe, 32768 fragments par groupe 8192 i-noeuds par groupe Superblocs de secours stocks sur les blocs : 32768, 98304, 163840, 229376, 294912 criture des tables d'i-noeuds : complt Cration du journal (16384 blocs) : complt criture des superblocs et de l'information de comptabilit du systme de fichiers : complt # mke2fs -j /dev/VG1/web2 # mkdir /mnt/web1 /mnt/web2 # mount /dev/VG1/web1 /mnt/web1 # mount /dev/VG1/web2 /mnt/web2 Finalement les systmes de fichiers sont prts tre utiliss. On ajoute les nouveaux systmes de fichiers dans le fichier /etc/fstab et on redmarre le systme.

3.3 Simulation d'une panne


En cas de partition corrompue ou de panne de disque, il est important de savoir rsoudre le problme rapidement. Le volume RAID 5 quon a construit prcdemment va continuer
Ouvrage sous contrat Creative Commons BY-NC-SA p. 73

Prparation lexamen 201 pour la certification LPIC-2

de fonctionner en cas de panne d'un disque. En effet il offre une redondance des donnes. Les utilisateurs ne seront pas ncessairement conscients de ces problmes. La commande mdadm offre la possibilit de simuler une panne de disque. Dans lexemple cidessous elle simule une panne au niveau de la partition /dev/sdc1 : # mdadm /dev/md0 -f /dev/sdc1 mdadm: set /dev/sdc1 faulty in /dev/md0 Le fichier journal /var/log/messages contient les informations sur la panne simule : # cat /var/log/messages Apr 26 17:37:21 tabarka device. Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:21 tabarka Apr 26 17:37:55 tabarka Apr 26 17:38:00 tabarka suppressed Apr 26 17:38:22 tabarka kernel: raid5: Disk failure on sdc1, disabling kernel: raid5: Operation continuing on 2 devices. kernel: RAID5 conf printout: kernel: --- rd:3 wd:2 kernel: disk 0, o:1, dev:sdb1 kernel: disk 1, o:0, dev:sdc1 kernel: disk 2, o:1, dev:sdd1 kernel: RAID5 conf printout: kernel: --- rd:3 wd:2 kernel: disk 0, o:1, dev:sdb1 kernel: disk 2, o:1, dev:sdd1 pulseaudio[1932]: ratelimit.c: 27 events suppressed pulseaudio[1932]: ratelimit.c: 6437 events pulseaudio[1932]: ratelimit.c: 55 events suppressed

Des informations similaires sont aussi disponibles dans le fichier d'tat du volume RAID /proc/mdstat : # cat /proc/mdstat Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sdb1[0] sdd1[2] sdc1[3](F) 8385664 blocks level 5, 64k chunk, algorithm 2 [3/2] [U_U] ce stade l'administrateur doit prendre les mesures suivantes : supprimer le disque dfectueux du volume RAID avec l'option -r de la commande mdadm : #mdadm /dev/md0 -r /dev/sdc1 mdadm: hot removed /dev/sdc1 procder au remplacement du disque (dans lexemple, la panne est juste une
Ouvrage sous contrat Creative Commons BY-NC-SA p. 74

Prparation lexamen 201 pour la certification LPIC-2

simulation) ; enfin, ajouter le priphrique au volume RAID avec la commande suivante : # mdadm /dev/md0 -a /dev/sdc1 mdadm: re-added /dev/sdc1

3.4 La raffectation d'espace de stockage


On suppose que la taille de la partition /mnt/web1 a augment de faon non prvue. Le redimensionnement des partitions LVM est simple et dpend du type de systme de fichiers. Les tapes suivantes sont applicables sur un systme de fichiers ext3. On a laiss dans le groupe de volumes VG1 un espace supplmentaire qui sera utilis pour agrandir la taille de la partition /mnt/web1. La commande vgdisplay sert examiner l'espace disponible dans le groupe de volumes et la commande df indique l'espace disponible dans une partition : # df /mnt/web1 Sys. de fich. 1K-blocs /dev/mapper/VG1-web1 2064208 # df /mnt/web2 Sys. de fich. 1K-blocs /dev/mapper/VG1-web2 2064208 Occup Disponible Capacit Mont sur 1543352 416000 79% /mnt/web1

Occup Disponible Capacit Mont sur 68676 1890676 4% /mnt/web2

La commande prcdente montre que 79 % de la partition /mnt/web1 est dj occupe. Pour augmenter la taille de cette partition, on utilise la commande lvextend, qui ajoute de l'espace un volume logique et ensuite la commande resize2fs, qui redimensionne la structure du systme de fichiers : # lvextend -L+2G /dev/VG1/web1 Extending logical volume web1 to 4,00 GB Logical volume web1 successfully resized # resize2fs /dev/VG1/web1 resize2fs 1.41.4 (27-Jan-2009) Le systme de fichiers de /dev/VG1/web1 est mont sur /mnt/web1 ; le changement de taille doit tre effectu en ligne old desc_blocks = 1, new_desc_blocks = 1 En train d'effectuer un changement de taille en ligne de /dev/VG1/web1 vers 1048576 (4k) blocs. Le systme de fichiers /dev/VG1/web1 a maintenant une taille de 1048576 blocs. Enfin on peut utiliser la commande df pour vrifier le nouvel espace disponible dans
Ouvrage sous contrat Creative Commons BY-NC-SA p. 75

Prparation lexamen 201 pour la certification LPIC-2

/mnt/web1 : # df /mnt/web1 Sys. de fich. 1K-blocs /dev/mapper/VG1-web1 4128448 Occup Disponible Capacit Mont sur 1800620 2118140 46% /mnt/web1

4. Ajustement des paramtres d'accs aux disques


Les serveurs connectent gnralement leurs disques travers une interface SCSI (Small Computer Systems Interface). Sur les ordinateurs de bureau et les ordinateurs portables cest l'interface IDE (Integrated Drive Electronics) qui est utilise. Il existe plusieurs pilotes pour ces diffrents types de disques et d'interfaces.

4.1 Interfaces des disques durs


Linterface du disque dur sert transmettre les donnes entre le disque et son contrleur qui les transmet alors au systme. Il existe plusieurs interfaces qui se distinguent par des contrleurs, des connecteurs, des dbits et par le nombre de disques grs.

PATA
L'interface PATA (Parallel Advanced Technology Attachment), permet de relier les priphriques de masse (disques, lecteurs de cdroms ...) la carte mre par des cbles plats, souples et composs de 40 ou 80 broches. On peut connecter deux disques (un matre et un esclave) sur le mme cble. L'interface PATA est aussi connue sous le nom IDE (IDE) ou Enhanced IDE (eIDE). Linterface PATA utilise les standards ATA (Advanced Technology Attachment) et ATAPI (Parallel Advanced Technology Attachment Packet Interface)

SATA
L'interface SATA (Serial ATA) succde l'interface PATA. Elle permet un dbit de transfert plus lev. La mthode de transfert des donnes est en srie. Chaque disque dur est reli son propre contrleur via son propre cble ainsi chaque disque bnficie de la totalit de la bande passante. Les cbles utiliss sont beaucoup plus minces que les cbles des disques PATA, ils ne comportent que 7 fils, ce qui encombre moins les botiers des ordinateurs. Linterface SATA supporte le branchement chaud (hot plug). Les priphriques SATA sont internes l'ordinateur. Une variante de l'interface, connue sous le nom de eSATA, est utilise pour les disques durs externes.

SCSI
L'interface SCSI (Small Computer System Interface) permet de relier, simultanment et en
Ouvrage sous contrat Creative Commons BY-NC-SA p. 76

Prparation lexamen 201 pour la certification LPIC-2

srie, plusieurs priphriques tels que les disques durs, les lecteurs de cdroms, les graveurs, les scanners. etc. Selon sa version, l'interface SCSI peut prendre en charge de 8 16 priphriques par cble. Le contrleur SCSI est considr comme un priphrique part entire, de sorte qu'on peut brancher rellement 7 ou 15 priphriques. Linterface SCSI se prsente sous la forme dune petite carte comportant un microcontrleur indpendant du processeur, qui permet de bien le soulager et d'augmenter les performances systmes. Gnralement on trouve l'interface SCSI dans les serveurs et les stations de travail haut de gamme. Elle est moins utilise sur les ordinateurs du bureau et les ordinateurs portables cause de son cot lev.

USB
L'interface USB (Universal Serial Bus) permet de relier plusieurs types de priphriques externes un ordinateur, y compris les disques durs et les lecteurs flash. La premire et la deuxime gnration de l'USB sont peu performantes, mais l'USB 3.0 est nettement plus rapide.

4.2 Ressources utiliss par les disques


Les contrleurs de disques durs utilisent des ressources matrielles. Gnralement ces ressources sont gres automatiquement par le noyau Linux et ses pilotes. Une ressource matrielle importante, utilise par le contrleur de disque dur, est la demande d'interruption (IRQ Interruption Request). L'architecture traditionnelle Intel x86 prend en charge 16 interruptions, numrotes de 0 15. Les interruptions numros 14 et 15 sont ddies respectivement aux contrleurs PATA primaire et secondaire. Les architectures modernes des PC prennent en charge plus d'interruptions. Le fichier /proc/interrupts regroupe les interruptions en cours d'utilisation : $ cat /proc/interrupts CPU0 CPU1 0: 1081739 1088752 1: 2106 1859 8: 0 1 9: 1143 1113 12: 67 56 16: 1 0 firewire_ohci 18: 0 0 19: 2129 2172 uhci_hcd:usb5, uhci_hcd:usb7 21: 0 0

IO-APIC-edge IO-APIC-edge IO-APIC-edge IO-APIC-fasteoi IO-APIC-edge IO-APIC-fasteoi IO-APIC-fasteoi IO-APIC-fasteoi IO-APIC-fasteoi

timer i8042 rtc0 acpi i8042 uhci_hcd:usb3, mmc0, uhci_hcd:usb8 ehci_hcd:usb1, uhci_hcd:usb4

Ouvrage sous contrat Creative Commons BY-NC-SA p. 77

Prparation lexamen 201 pour la certification LPIC-2

23: 44: 45: 46: 47: 48: 49: NMI: LOC: SPU: PMI: PND: RES: CAL: TLB: TRM: THR: MCE: MCP: ERR: MIS:

26776 0 20330 44632 264 28 68611 0 610822 0 0 0 34364 272 40172 0 0 0 9 1 0

24158 1 19504 40806 263 32 67586 0 668286 0 0 0 36349 82 32896 0 0 0 9

IO-APIC-fasteoi ehci_hcd:usb2, uhci_hcd:usb6 PCI-MSI-edge sky2@pci:0000:03:00.0 PCI-MSI-edge ahci PCI-MSI-edge iwlagn PCI-MSI-edge hda_intel PCI-MSI-edge hda_intel PCI-MSI-edge fglrx[0]@PCI:1:0:0 Non-maskable interrupts Local timer interrupts Spurious interrupts Performance monitoring interrupts Performance pending work Rescheduling interrupts Function call interrupts TLB shootdowns Thermal event interrupts Threshold APIC interrupts Machine check exceptions Machine check polls

La dernire colonne du rsultat de la commande ci-dessus indique le nom du priphrique. On peut constater que les interruptions numros 47 et 48 sont associes au pilote du disque dur hda_intel et que l'interruption numro 45 est lie la mthode daccs AHCI (Advanced Host Controller Interface) qui permet de communiquer avec les disques durs SATA. Un autre type de ressource matrielle qu'on peut utiliser est le DMA (Direct Memory Access). Dans cette configuration le contrleur de disques durs fait le transfert des donnes directement vers et partir d'un espace mmoire, sans passer par le microprocesseur, ce qui permet d'amliorer la performance du systme. Le fichier /proc/dma contient la liste des canaux DMA enregistrs et utiliss.

4.3 Modification des paramtres disques


Il existe plusieurs commandes pour ajuster les paramtres disque : hdparm pour les disques IDE ; sdparm pour les disques SCSI et SATA.

La commande hdparm communique avec le pilote IDE afin d'obtenir et modifier des paramtres du disque tels que mmoire cache, gestion d'nergie APM (Advanced Power Management), gestion acoustique et DMA. En rglant ces paramtres on peut amliorer les performances du disque IDE.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 78

Prparation lexamen 201 pour la certification LPIC-2

Les options de la commande hdparm utilises pour amliorer les performances des disques IDE sont : -dnumro : active ou dsactive le paramtre using_dma du disque ; -d0 active le mode PIO (Programmed Input/Output) ; -d1 active le mode DMA. Cette option fonctionne maintenant avec la majorit des combinaisons de disques et d'interfaces qui supportent le DMA et sont reconnus par le gestionnaire de priphriques IDE. En gnral l'option -d est utilise avec l'option -X pour s'assurer que le disque lui-mme est programm pour le mode DMA appropri, bien que la plupart des BIOS le fassent au dmarrage. Activer le DMA donne pratiquement toujours les meilleures performances, avec des entres-sorties haut dbit et une faible utilisation du processeur. Cependant, il y a quand mme quelques configurations de chipsets et de disques pour lesquelles le DMA ne fait pas beaucoup de diffrence, voire ralentit la machine ; -p mode : dfinit le mode PIO, qui varie de 0 5 dans la plupart des cas. Augmenter le mode PIO correspond une meilleure performance ; -c mode : affiche ou dfinit le mode de transfert 32-bits. Omettre le mode permet d'afficher la valeur courante. La valeur 0 du mode dsactive le support d'entre-sortie 32-bits, la valeur 1 active les transferts de donns 32-bits, et la valeur 3 active les transferts de donns 32-bits avec une squence spciale sync requise par de nombreux contrleurs ; -S dlai : fixe le dlai avant la suspension (spindown) du disque. Cette valeur est utilise par le disque pour dterminer combien de temps attendre (sans activit disque) avant de suspendre la rotation du moteur pour conomiser l'nergie. Dans de telles circonstances, le disque peut mettre jusqu' une trentaine de secondes pour rpondre un accs, bien que la plupart des disques soient bien plus rapides. Le dlai est indiqu dans une unit qui varie selon lintervalle : la valeur zro signifie pas de suspension , les valeurs comprises entre 1 240 sont multiples de 5 secondes. Par exemple, 120 signifie 600 secondes, ou 10 minutes, les valeurs comprises entre 241 251 spcifient de 1 11 units de 30 minutes, la valeur 252 signifie un dlai de 21 minutes, la valeur 253 fixe un dlai dfini par le constructeur, la valeur 254 est rserve, la valeur 255 est interprte comme 21 minutes et 15 secondes ;

-v : affiche tous les paramtres du disque. Ceci est aussi le comportement par dfaut quand aucune option n'est spcifie ; -X modeTransfert : dfinit le mode de transfert DMA utilis par un disque. Cette option est habituellement utilise en combinaison avec -d1 pour activer le mode DMA. Le modeTransfert peut prendre les valeurs sdmax, mdmax, ou udmax. Ces valeurs correspondent respectivement au transfert simple-mot DMA, multimot DMA ou rafales
Ouvrage sous contrat Creative Commons BY-NC-SA p. 79

Prparation lexamen 201 pour la certification LPIC-2

ultra DMA. Le nombre x reprsente la valeur du mode DMA. Les disques modernes sont capables de supporter des modes de transferts tels que -X udma5 ou -X udma6. Cette option doit tre utilise avec prudence, un mode incorrect peut rendre le disque inaccessible. EXEMPLES Important : L'utilisation incorrecte de la commande hdparm peut dtruire les donnes et, dans certains cas, le disque dur ! Afficher les paramtres du disque /dev/sda : # hdparm -v /dev/sda /dev/sda: multcount IO_support readonly readahead geometry

= = = = =

128 (on) 1 (32-bit) 0 (off) 256 (on) 2088/255/63, sectors = 33554432, start = 0

Interroger le pilote propos des paramtres modifiables du disque /dev/sda : # hdparm -i /dev/sda /dev/sda: Model=VBOX, FwRev=1.0, SerialNo=VBc3f20747-1a6d6cf5 Config={ Fixed } RawCHS=16383/16/63, TrkSize=0, SectSize=512, ECCbytes=0 BuffType=DualPortCache, BuffSize=256kB, MaxMultSect=128, MultSect=128 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=33554432 IORDY=yes, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120} PIO modes: pio0 pio3 pio4 DMA modes: mdma0 mdma1 mdma2 UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 AdvancedPM=no WriteCache=enabled Drive conforms to: unknown: ATA/ATAPI-1,2,3,4,5,6 * signifies the current active mode

Tester la vitesse de lecture : l'option -t affiche la vitesse de lecture travers la mmoire cache, sur le disque, sans aucune mise en cache pralable des donnes ; l'option -T affiche la vitesse de lecture directement partir de la mmoire cache sans accs au disque :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 80

Prparation lexamen 201 pour la certification LPIC-2

# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 2970 MB in 1.97 seconds = 1507.47 MB/sec Timing buffered disk reads: 154 MB in 3.02 seconds = 50.98 MB/sec Activer les transferts des donnes 32-bits : # hdparm -c1 /dev/sda /dev/sda: setting 32-bit IO_support flag to 1 IO_support = 1 (32-bit)

Exercices
1. Parmi les commandes suivantes, laquelle regroupe un volume RAID 1 partir des priphriques composant /dev/sda1 et /dev/hda2 ? 2. A. mdadm --create --level=1 --raid-devices=2 /dev/sda1 /dev/hda2 B. mdadm --level=5 --raid-devices=2 /dev/sda1 /dev/hda2 C. mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/hda2 D. mdadm --level=1 --raid-devices=2 /dev/sda1 /dev/hda2

Que pouvez-vous conclure de la ligne suivante du fichier /proc/mdstat ? md0 : active raid4 sdd2[2] sdc1[1] sda8[0] A. /dev/md0 est un volume RAID 4 construit partir des partitions /dev/sda8, /dev/sdc1 et /dev/sdd2. B. Une partition manque au volume RAID /dev/md0. tant donn son niveau de RAID 4, il devrait avoir quatre partitions, . C. Le volume RAID /dev/md0 est mal configur. D. Aucune des rponses prcdentes.

3.

Dans une configuration LVM, quelle commande est utilise pour initialiser une partition afin qu'elle puisse fonctionner comme un volume physique : A. lvconvert B. lvcreate C. pvcreate D. pvchange
Ouvrage sous contrat Creative Commons BY-NC-SA p. 81

Prparation lexamen 201 pour la certification LPIC-2

4.

O tes-vous susceptibles de trouver des nuds d'un priphrique pour le groupe de volumes MonGroupe ? A. /dev/mongroupe B. /dev/mapper C. /dev/lvm D. /dev/LVM/MonGroupe

Ouvrage sous contrat Creative Commons BY-NC-SA p. 82

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 5. Configuration rseau


Objectifs Configuration lmentaire d'un rseau : - Configurer des interfaces rseaux afin de se connecter un rseau local, filaire ou sans fil, et un rseau tendu ; - Communiquer entre les diffrents sous-rseaux d'un mme rseau. Configuration avance d'un rseau et dpannage : - Configurer un hte multirseau ; - Configurer un client VPN ; - Rsolution des problmes de communication. Dpannage des problmes rseaux : - Identifier et corriger les problmes rseaux les plus frquents ; - Reconnatre les emplacements des fichiers de configuration. Notification des utilisateurs : - Notifier aux utilisateurs les problmes relatifs au systme. - Utilitaires de configuration et de manipulation des interfaces Ethernet. - Configuration des rseaux sans fil. - Utilitaires de manipulation des tables de routage. - Utilitaires d'analyse de l'tat des interfaces rseaux. - Utilitaires de suivi et d'analyse du trafic TCP/IP - OpenVPN. - Localisation et contenu des fichiers de contrle d'accs. - Utilitaires de dtection et d'affichage de l'tat d'un rseau. - Utilitaires de rcupration d'information sur la configuration rseau. - Mthodes dinformation sur les priphriques dtects et utiliss. - Fichiers et scripts d'initialisation du systme. - Automatisation de la communication avec les utilisateurs travers les messages de connexion. - Notification aux utilisateurs des oprations de maintenance du systme. - ifconfig, ip, arp, iwconfig, hostname, route, openvpn, ping, traceroute, dig, netstat, tcpdump, lsof, nc, nmap, wireshark, dmesg, host, wall, shutdown. - /etc/network || /etc/sysconfig/network-scripts/, /etc/hostname | /etc/HOSTNAME, /etc/resolv.conf, /etc/hosts, /var/log/syslog,
Ouvrage sous contrat Creative Commons BY-NC-SA p. 83

Points importants

Mots cls

Prparation lexamen 201 pour la certification LPIC-2

/var/log/messages, /etc/openvpn/*, /etc/hosts.allow, /etc/hosts.deny, /etc/issue, /etc/issue.net, /etc/motd.

La connexion d'un hte un rseau IP ncessite des oprations d'installation et de configuration. Les tapes de la mise en rseau sont : installation d'une interface rseau : cette tape consiste installer une (ou plusieurs) carte rseau et paramtrer l'interface rseau correspondante. Elle suit la procdure gnrale d'installation d'un priphrique. Lors de l'installation du systme Linux, les cartes rseaux sont automatiquement dtectes et configures ; configuration IP : cette tape traite la configuration de niveau rseau ; test de la configuration : cette tape consiste tester la configuration prcdemment effectue et utiliser les utilitaires de diagnostic en cas de problmes rseaux.

1. Interface rseau
1.1. Dtection des interfaces rseaux
Les interfaces rseaux sont identifies par des noms de la forme type-numro o type spcifie le type de l'interface rseau et numro est l'ordre de l'interface. Les types d'interface sont eth pour les interface Ethernet, wlan pour les interfaces Wi-Fi, ppp pour les interfaces point point, etc. Par exemple eth0 est la premire interface Ethernet, eth1 est la deuxime, etc. La commande lshw permet d'identifier les interfaces rseaux. Elle affiche pour chaque interface l'information sur le bus, le dtail du pilote et les fonctionnalits supportes. EXEMPLE La commande lshw de cet exemple dtecte deux interfaces rseaux connectes sur le bus PCI. La premire est une interface de type Ethernet, nomme eth0 et gre par le pilote e1000e . La deuxime est une interface de type Wi-Fi, nomme wlan0 et gre par le pilote iwl3945 . # lshw -class network *-network description: Ethernet interface product: 82562GT 10/100 Network Connection vendor: Intel Corporation physical id: 19 bus info: pci@0000:00:19.0 logical name: eth0 version: 03 serial: 00:1a:4b:90:df:b0 size: 100MB/s
Ouvrage sous contrat Creative Commons BY-NC-SA p. 84

Prparation lexamen 201 pour la certification LPIC-2

capacity: 100MB/s width: 32 bits clock: 33MHz capabilities: pm msi bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=1.0.2-k2 duplex=full firmware=1.1-2 ip=172.16.1.1 latency=0 link=yes multicast=yes port=twisted pair speed=100MB/s resources: irq:28 memory:dc500000-dc51ffff memory:dc520000-dc520fff ioport:5000(size=32) *-network description: Wireless interface product: PRO/Wireless 3945ABG [Golan] Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:10:00.0 logical name: wlan0 version: 02 serial: 00:1c:bf:76:e9:2b width: 32 bits clock: 33MHz capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless configuration: broadcast=yes driver=iwl3945 latency=0 multicast=yes wireless=IEEE 802.11abg resources: irq:30 memory:dc000000-dc000fff

1.2. Pilotes et noms des interfaces rseaux


Pour les noyaux Linux modulaires, les pilotes des interfaces rseaux se prsentent sous la forme de modules noyau. Lors de dmarrage du systme, le noyau charge ces modules et attribue un nom chaque interface. Avec les systmes antrieurs udev le nom d'une interface est attribu comme un alias au nom du pilote dans le fichier /etc/modprobe.conf. EXEMPLE D'aprs le fichier /etc/modprobe.conf suivant, le nom eth0 est attribu l'interface rseau gre par le pilote e1000e et le nom wlan0 celle gre par le pilote iwl3945 . # cat /etc/modprobe.conf alias eth0 e1000e alias wlan0 iwl3945

Ouvrage sous contrat Creative Commons BY-NC-SA p. 85

Prparation lexamen 201 pour la certification LPIC-2

Pour les systmes se basant sur le gestionnaire de priphriques udev, le nom d'une interface est fix par le paramtre NAME de l'interface ayant l'adresse MAC correspondante dans le fichier des rgles udev. EXEMPLE Le fichier des rgles udev suivant attribue le nom eth0 l'interface rseau d'adresse MAC 00:1a:4b:90:df:b0 et le nom wlan0 l'interface rseau d'adresse MAC 00:1c:bf:76:e9:2b . # cat /etc/udev/rules.d/70-persistent-net.rules # This file maintains persistent names for network interfaces. # PCI device 0x8086:0x10c4 (e1000e) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1a:4b:90:df:b0", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0" # PCI device 0x8086:0x4222 (iwl3945) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:1c:bf:76:e9:2b", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="wlan*", NAME="wlan0"

1.3. Paramtrage des interfaces Ethernet


L'utilitaire ethtool affiche et modifie les paramtres des interfaces Ethernet tels que autonegotiation, port speed, duplex mode et Wake-on-LAN. EXEMPLE La ligne de commande suivante change le mode de fonctionnement de l'interface eth0 full duplex , fixe le dbit 100 Mb/s, active la ngociation automatique et active le dmarrage de l'hte la rception du paquet magique (wol g : Wake-on-LAN = Wake on Magic Packet). # ethtool -s eth0 speed 100 duplex full autoneg on wol g # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full Supports auto-negotiation: Yes Advertised link modes: 100baseT/Full Advertised pause frame use: No Advertised auto-negotiation: Yes Link partner advertised link modes: Not reported Link partner advertised pause frame use: No
Ouvrage sous contrat Creative Commons BY-NC-SA p. 86

Prparation lexamen 201 pour la certification LPIC-2

Link partner advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on MDI-X: off Supports Wake-on: pumbag Wake-on: g Current message level: 0x00000001 (1) Link detected: yes Les changements des paramtres des interfaces Ethernet par la commande ethtool sont temporaires et seront perdus au prochain redmarrage du systme. Afin de les rendre permanents, il faut spcifier ces paramtres dans le fichier de configuration de l'interface. Pour les distributions Debian et drives, la commande ethtool est spcifie dans l'instruction pre-up du fichier de configuration /etc/network/interfaces et pour les distributions Red Hat et drives les paramtres sont attribus la variable ETHTOOL_OPTS dans le fichier de configuration de l'interface correspondante (/etc/sysconfig/networkscripts/ifcfg-eth0 pour l'interface eth0). EXEMPLE Cet exemple illustre le paramtrage permanent de l'interface eth0 de l'exemple prcdent pour les deux types de distributions. Pour les distributions Debian et drives : Debian-like# cat /etc/network/interfaces auto eth0 ... pre-up /usr/sbin/ethtool -s eth0 speed 100 duplex full autoneg off wol g et pour les distributions Red Hat et drives : RedHat-like# cat /etc/sysconfig/network-scripts/ifcfg-eth0 ... ETHTOOL_OPTS="speed 100 duplex full autoneg off wol g "

1.4. Paramtrage des interfaces sans fil


1.4.1. Gnralits
La norme la plus utilise pour les rseaux sans fil est la norme IEEE 802.11 connue, aussi, sous le nom de Wi-Fi. Avant d'aborder les commandes de paramtrage des interfaces
Ouvrage sous contrat Creative Commons BY-NC-SA p. 87

Prparation lexamen 201 pour la certification LPIC-2

sans fil, il est ncessaire de rappeler les termes frquents dans ce contexte tels que : point d'accs , service set id et cl de cryptage . Point d'accs Un point d'accs (AP : Access Point) est un quipement jouant le rle de concentrateur ou commutateur pour les communications sans fil. En gnral, un rseau local sans fil (WLAN : Wireless LAN) est construit par des htes quips d'interfaces sans fil et interconnects entre eux par un point d'accs formant ainsi un rseau local sans fil. Ce mode de mise en rseau est nomm mode infrastructure. Il est possible que les htes communiquent entre eux sans utiliser de point daccs. Dans ce cas de figure le mode de mise en rseau est nomm Ad-Hoc . Identifiant rseau Les rseaux sans fil 802.11 a/b partagent la mme plage de frquence permettant ainsi l'coute du trafic des rseaux voisins. Pour ignorer le trafic inutile, un identifiant rseau (ESSID : Extended Service Set ID) est dfini. L'identifiant rseau doit tre fix dans la configuration des interfaces rseaux des htes ainsi qu'au niveau du point d'accs. Cryptage Pour viter l'coute du trafic non autoris, les donnes transmises dans un rseau sans fil sont cryptes. Le mme mcanismes de cryptage doit tre utilis par toutes les entits communicantes (htes et point d'accs). Le mcanisme de cryptage le plus utilis est WEP (Wired Equivalent Privacy). Mais une faille de scurit a t dcouverte et des utilitaires tels que WEP Crack et aircrackng sont disponibles et permettent de dchiffrer le cryptage WEP en quelques minutes. Pour remdier la dfaillance du cryptage WEP, le mcanisme de cryptage WPA (Wi-Fi Protected Access) a t dfini. Ce mcanisme propose deux modes : le mode personnel ou PSK (Pre Shared Key) qui utilise une cl de cryptage configure manuellement et le mode entreprise qui combine, en gnral, un mcanisme de cryptage et un mcanisme d'authentification.

1.4.2. Paquetage wireless-tools


Le paquetage wireless-tools contient les commandes de gestion des interfaces sans fil au niveau liaison de donnes qui sont iwconfig, iwlist, iwevent, iwgetid, iwpriv et iwspy. Les commandes iwconfig et iwlist sont les deux commandes les plus pertinentes de ce paquetage.

1.4.3. Commande iwconfig


La commande iwconfig est l'outil principal de paramtrage d'une interface sans fil. Elle permet de changer tous les lments d'une configuration tels que le ESSID, le canal, la frquence et les cls.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 88

Prparation lexamen 201 pour la certification LPIC-2

SYNTAXE La commande iwconfig, excute sans paramtre, affiche les paramtres des interfaces sans fil ainsi que des statistiques sur la liaison. La syntaxe pour modifier un paramtre est la suivante : iwconfig interface paramtre valeur Les paramtres les plus utiliss sont : essid : spcifie l'identifiant du rseau ; mode : spcifie le mode de fonctionnement de l'interface qui dpend de la topologie du rseau. La valeur Managed dsigne le mode infrastructure, la valeur Ad-Hoc dsigne le mode Ad-Hoc, etc. ; ap : force la carte s'associer un point d'accs donn ; key/enc : spcifie la cl de cryptage. EXEMPLES Dans le premier exemple, la commande iwconfig, excute sans paramtre, affiche les valeurs des paramtres des interfaces sans fil. $ iwconfig lo no wireless extensions. eth0 no wireless extensions. wlan0 IEEE 802.11abg ESSID:"Hedi-HOME" Mode:Managed Frequency:2.412 GHz Access Point: 00:90:D0:E0:6B:5A Bit Rate=54 Mb/s Tx-Power=15 dBm Retry long limit:7 RTS thr:off Fragment thr:off Power Management:off Link Quality=42/70 Signal level=-68 dBm Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 Tx excessive retries:0 Invalid misc:0 Missed beacon:0 Le deuxime exemple configure l'interface wlan0 afin de joindre le rseau sans fil en mode infrastructure (managed) d'identifiant Hedi-Work avec la cl de cryptage WEP 1234567890 . # iwconfig wlan0 mode Managed # iwconfig wlan0 essid Hedi-Work # iwconfig wlan0 key 1234567890 Pour que cette configuration soit permanente, ces paramtres doivent tre spcifis et enregistrs dans les fichiers de configuration correspondants. Si la distribution est de type Debian ou drives, le fichier /etc/network/interfaces doit contenir ce qui suit : auto wlan0
Ouvrage sous contrat Creative Commons BY-NC-SA p. 89

Prparation lexamen 201 pour la certification LPIC-2

... wireless-mode Managed wireless-essid Hedi-Work wireless-key 1234567890 Si la distribution est de type Red Hat ou drives le fichier /etc/sysconfig/networkscripts/ifcfg-wlan0 doit contenir ce qui suit : ... TYPE=Wireless MODE=Managed ESSID=Hedi-Work KEY=1234567890

1.4.4. Commande iwlist


La commande iwlist liste les canaux, les frquences, les dbits et d'autres informations disponibles pour une interface sans fil. SYNTAXE La syntaxe de la commande iwlist est : iwlist [interface] type Si l'interface n'est pas spcifie alors les informations disponibles pour toutes les interfaces sans fil sont listes. Le type correspond au type d'information lister. Les valeurs possibles sont : scan ou scanning : affiche les paramtres des points d'accs et des cellules Ad-Hoc la porte de l'interface ; freq, frequency ou channel : liste les frquences et le nombre des canaux disponibles au niveau de l'interface ; rate, bit ou bitrate : liste les dbits supports par l'interface ; keys, enc ou encryption : affiche les tailles des cls de cryptage supportes et liste toutes les cls installes dans l'interface ; etc. EXEMPLE La commande iwlist suivante dtecte un seul point d'accs la porte de l'interface wlan0 . Elle liste toutes les informations de ce point d'accs telles que l'adresse MAC, l'identifiant rseau, le mode, etc. # iwlist wlan0 scan wlan0 Scan completed :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 90

Prparation lexamen 201 pour la certification LPIC-2

Cell 01 - Address: 00:90:D0:E0:6B:5A Channel:1 Frequency:2.412 GHz (Channel 1) Quality=43/70 Signal level=-67 dBm Encryption key:on ESSID:"Hedi-Home" Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 18 Mb/s 24 Mb/s; 36 Mb/s; 54 Mb/s Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 48 Mb/s Mode:Master ... #

1.5. Paramtrage des interfaces point--point


Le protocole PPP est utilis pour tablir des liens internet au dessus d'une connexion RTC par modem, connexion DSL, etc. Le dmon pppd fonctionne avec le pilote ppp du noyau pour tablir et maintenir une liaison ppp avec un hte nomm peer et pour ngocier les adresses IP pour chaque extrmit du lien. Il peut aussi grer la procdure d'authentification avec lhte peer. Les principaux fichiers de configuration du dmon pppd sont : /etc/ppp/options : contient les paramtres gnraux d'excution de pppd, /etc/ppp/pap-secret : contient les donnes d'authentification du protocole PAP (risque de scurit) et /etc/ppp/chap-secret : contient les donnes d'authentification du protocole CHAP (plus scuris). Pour simplifier le paramtrage d'une interface ppp, des utilitaires de gnration de fichiers de configuration sont utiliss : utilitaires pppconfig et wvdialconf pour les connexions PPP et pppoeconf pour les liaisons PPPoE (PPP over Ethernet). Les fichiers de configuration de ces utilitaires sont : /etc/ppp/peers/<fournisseur-accs-Internet> : fichier de configuration spcifique <fournisseur-accs-Internet> cr par pppconfig pour le dmon pppd; /etc/chatscripts/<fournisseur-accs-Internet> : fichier de configuration spcifique <fournisseur-accs-Internet> cr par pppconfig pour le protocole chat ; /etc/ppp/peers/wvdial : fichier de configuration spcifique wvdial cr par wvdialconf pour le dmon pppd ; /etc/wvdial.conf : fichier de configuration cr par wvdialconf ; /etc/ppp/peers/<fournisseur-accs-adsl> : fichier de configuration spcifique PPPoE cr par pppoeconf pour le dmon pppd
Ouvrage sous contrat Creative Commons BY-NC-SA p. 91

Prparation lexamen 201 pour la certification LPIC-2

PROCEDURE Cette procdure cre une configuration pour une connexion RTC nomme FAI en utilisant l'utilitaire pppconfig qui gnre les fichiers de paramtrage de la liaison PPP correspondante. Ensuite elle dmarre le dmon pppd avec cette configuration liaison. Lancement de l'utilitaire pppconfig et paramtrage de la connexion : # pppconfig "Utilitaire de configuration de PPP pour GNU/Linux" Menu principal Cet outil est destin la configuration de PPP. Il n'ouvrira aucune connexion chez votre fournisseur d'accs (FAI) mais configure simplement PPP pour que vous puissiez ensuite tablir la connexion. Plusieurs informations vous seront demandes : identifiant, mot de passe et numro de tlphone de votre FAI. Ces informations sont fournies par votre FAI. Si celui-ci utilise PAP ou CHAP, elles seront suffisantes. ... Create Change Delete Quit Crer une connexion Modifier une connexion Supprimer une connexion Sortir de ce programme <Ok> Validation et sauvegarde des paramtres : "Rglages pour FAI" Veuillez choisir le rglage modifier. Choisissez Annuler pour revenir au menu principal Number User Password Speed Com Method 21673123456 hedi magroun 115200 /dev/ttyS1 CHAP Numro de tlphone Identifiant chez le FAI Mot de passe chez le FAI Vitesse du port Port de communication du modem Mthode d'authentification

Advanced Options avances

Ouvrage sous contrat Creative Commons BY-NC-SA p. 92

Prparation lexamen 201 pour la certification LPIC-2

Finished Sauvegarder la configuration et revenir au menu principal Previous Retour au menu prcdent Quit Sortir de ce programme <Ok> <Annuler>

Visualisation du fichier de configuration /etc/ppp/peers/FAI gnr par l'utilitaire pppconfig : # cat /etc/ppp/peers/FAI ### This optionfile was generated by pppconfig 2.3.18. hide-password noauth connect "/usr/sbin/chat -v -f /etc/chatscripts/FAI" debug /dev/ttyS1 115200 defaultroute noipdefault user "hedi" remotename FAI ipparam FAI Visualisation du fichier de configuration /etc/chatscripts/FAI gnr par l'utilitaire pppconfig : # cat /etc/chatscripts/FAI ### This chatfile was generated by pppconfig 2.3.18. ### Please do not delete any of the comments. Pppconfig needs them. # # ispauth chat # abortstring ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED # modeminit '' ATZ # ispnumber OK-AT-OK "ATDT21673123456" # ispconnect CONNECT '' # prelogin # ispname
Ouvrage sous contrat Creative Commons BY-NC-SA p. 93

Prparation lexamen 201 pour la certification LPIC-2

ogin: "hedi" # isppassword ssword: "\qhedi mot de passe" # postlogin '' \d\c # end of pppconfig stuff Lancement du dmon pppd avec la configuration FAI : # pppd call FAI

2. Configuration IP
La configuration rseau consiste : attribuer, pour chaque interface rseau, une adresse IP et un masque de sous-rseau ; dfinir la passerelle par dfaut ; configurer le service de rsolution de noms d'htes.

2.1. Commandes de configuration IP


Le paquetage net-tools inclut les utilitaires de contrle du sous-systme rseau : arp, ifconfig, route, netstat, etc. Les commandes de configuration rseau ifconfig et route de ce paquetage n'exploitent pas les nouvelles fonctionnalits avances du noyau Linux. C'est dans ce cadre que le paquetage iproute (nomm aussi iproute2) a t dvelopp. Les commandes ip et tc sont les commandes les plus importantes de ce paquetage. La plupart des distributions Linux installent, par dfaut, ces deux paquetages.

2.1.1 Attribution d'adresse IP


Les commandes ifconfig et ip (avec le paramtre addr) sont utilises pour la configuration des interfaces rseaux. SYNTAXES Les syntaxes usuelles des commandes ifconfig et ip pour l'attribution d'adresse IPv4 une interface rseau sont : ifconfig interface adresse-IPv4 \ [netmask masque] [broadcast adresse-diffusion] ip addr action adresse_IPv4/masque [broadcast adresse-diffusion] \ dev interface et celles pour l'attribution d'adresse IPv6 sont : ifconfig interface inet6 action adresse-IPv6/masque
Ouvrage sous contrat Creative Commons BY-NC-SA p. 94

Prparation lexamen 201 pour la certification LPIC-2

ip -6 addr action adresse_IPv6/masque dev interface avec : interface : dsigne l'interface rseau configurer ; adresse-IPv4 : correspond l'adresse IP version 4 attribuer ; adresse-IPv6 : correspond l'adresse IP version 6 attribuer ; masque : reprsente le masque de sous rseau ; adresse-diffusion : reprsente l'adresse de diffusion correspondante ; action : reprsente l'action effectuer telle que add ou del. EXEMPLES Les lignes de commandes suivantes sont toutes quivalentes et elles configurent l'interface eth0 avec l'adresse IP 192.168.1.1 , le masque 255.255.255.0 (le masque par dfaut des adresses IP de classe C) et l'adresse de diffusion 192.168.1.255 . # # # # ifconfig eth0 192.168.1.1 netmask 255.255.255.0 broadcast 192.168.1.255 ifconfig eth0 192.168.1.1 ip addr add 192.168.1.1/24 broadcast 192.168.1.255 dev eth0 ip addr add 192.168.1.1/24 dev eth0

Le deuxime exemple configure l'interface eth1 avec l'adresse 192.168.2.1 et un masque de sous-rseau gal 255.255.255.128 (ou /25 en notation dcimale). Toutes les commandes sont quivalentes. # ifconfig eth1 192.168.2.1 netmask 255.255.255.128 \ broadcast 192.168.2.127 # ifconfig eth1 192.168.2.1 netmask 255.255.255.128 # ip addr add 192.168.2.1/25 broadcast 192.168.2.127 dev eth1 Le troisime exemple configure l'interface eth0 avec l'adresse IPv6 2011:ABCD::1 et le masque /64 . Les deux commandes sont quivalentes. # ifconfig eth0 inet6 add 2011:ABCD::1/64 # ip -6 addr add 2011:ABCD::1/64 dev eth0 NOTE Dans certaines circonstances, il est ncessaire d'attribuer plusieurs adresses IP un mme hte. Ceci est possible en utilisant la notion d'alias IP qui consiste attribuer des adresses IP des instances d'une interface rseau. Par exemple l'interface eth0 dsigne l'interface Ethernet principale, eth0:0 est un alias de celle-ci, eth0:1 est un autre alias, etc. La configuration d'une interface de type alias est effectue de la mme manire que celle de l'interface principale.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 95

Prparation lexamen 201 pour la certification LPIC-2

2.1.2. Passerelle par dfaut


Les commandes route et ip (avec le paramtre route) permettent de grer la table de routage d'un hte et en particulier de fixer sa passerelle par dfaut. SYNTAXE Les syntaxes usuelles des commandes route et ip pour la gestion de la table de routage d'un hte sont : route action type destination [netmask masque] gw passerelle \ dev interface ip route action destination[/masque] via passerelle dev interface avec : action : reprsente l'action effectuer telle que add ou del pour l'ajout ou la suppression d'une route ; type : correspond -net si la destination est un rseau et -host si la destination est un hte ; destination : correspond l'adresse de la destination. La valeur default correspond la route par dfaut ; masque : correspond au masque de sous rseau de la destination ; interface : correspond l'interface de sortie des paquets envoys vers la destination. NOTES L'excution de la commande route sans paramtre permet d'afficher la table de routage et l'option -n affiche les adresses numriques plutt que des noms de domaines. Les routes vers les rseaux adjacents (rseaux auxquels sont connects les interfaces de lhte) sont ajoutes automatiquement. EXEMPLE Les lignes de commande suivantes sont quivalentes et permettent de fixer 172.16.0.254 l'adresse de la passerelle par dfaut, qui est joignable via l'interface eth0 . # route add -net default gw 172.16.0.254 dev eth0 # ip route add default via 172.16.0.254 dev eth0 La squence suivante affiche la table de routage avec les deux commandes route et ip route. # route -n Table de routage IP du noyau Destination Passerelle Genmask

Indic Metric Ref

Use Iface

Ouvrage sous contrat Creative Commons BY-NC-SA p. 96

Prparation lexamen 201 pour la certification LPIC-2

172.16.0.0 0.0.0.0 255.255.0.0 U 1 0 0 eth0 0.0.0.0 172.16.1.254 0.0.0.0 UG 0 0 0 eth0 # ip route 172.16.0.0/16 dev eth0 proto kernel scope link src 172.16.1.1 metric 1 default via 172.16.1.254 dev eth0

2.2. Fichiers de configuration rseau


Les commandes ifconfig, ip et route manipulent les paramtres rseau du noyau. Ceci implique que la configuration rseau, fixe par ces commandes, n'est valable que pour la session systme en cours. Pour avoir une configuration rseau permanente, les paramtres rseaux doivent tre sauvegards dans des fichiers de configuration dont les noms, les emplacements et les formats diffrent selon les distributions.

2.2.1. Cas des distributions Debian et drives


Les distributions Debian et drives utilisent le fichier /etc/network/interfaces pour la configuration permanente des interfaces rseaux. Ce fichier se compose de zro ou plusieurs entres iface, mapping, auto et allow- : auto (ou allow-auto) : active une interface lors du dmarrage du systme ; allow-hotplug : active une interface lorsque le noyau dtecte un vnement depuis celle ci ; mapping : dtermine le nom d'interface logique pour une interface physique ; iface : permet de fixer les paramtres de configuration IP d'une interface. Le format de l'entre iface est : iface interface famille mthode paramtre1 valeur1 paramtre2 valeur2 ... avec : interface : spcifie le nom de l'interface configurer ; famille : spcifie la famille d'adresses utilise. Les valeurs frquentes sont inet pour la famille d'adresses IPv4 et inet6 pour la famille d'adresses IPv6 ; mthode : spcifie la mthode utilise pour l'attribution d'adresses. Les mthodes les plus utilises sont : lo : c'est la mthode d'attribution d'adresses de boucle locale. Elle n'admet pas de paramtres ; dhcp : c'est la mthode d'attribution d'adresses par le service DHCP. Elle admet des paramtres tels que hwaddress, leasetime, etc. En gnral, la mthode dhcp est
Ouvrage sous contrat Creative Commons BY-NC-SA p. 97

Prparation lexamen 201 pour la certification LPIC-2

utilise sans paramtres ; static : c'est la mthode pour attribuer des adresses manuellement. Les paramtres les plus frquents sont : EXEMPLE Le fichier /etc/network/interfaces suivant illustre la configuration rseau d'un hte ayant deux interfaces Ethernet : eth0 configure statiquement et eth1 configure dynamiquement par le le service DHCP. Il illustre aussi les lignes correspondantes l'interface de boucle locale (loopback) lo . # cat /etc/network/interfaces ### The loopback network interface auto lo iface lo inet loopback ### The first network interface eth0 auto eth0 iface eth0 inet static address 192.168.1.45 netmask 255.255.255.0 gateway 192.168.1.1 ### The second network interface eth1 auto eth1 iface eth1 inet dhcp NOTE chaque modification du fichier de configuration des interfaces, le script de contrle du service rseau est relanc pour recharger les paramtres dans le noyau. Les lignes de commandes suivantes sont quivalentes et assurent le redmarrage du service rseau : # /etc/init.d/networking restart # invoke-rc.d networking restart address : spcifie l'adresse IP affecter ; netmask : spcifie le masque de sous rseau ; broadcast : spcifie l'adresse de diffusion ; gateway : spcifie l'adresse de la passerelle par dfaut.

2.2.2. Cas des distributions Red Hat et drives


Pour une configuration rseau permanente, Les distributions Red Hat et drives utilisent un fichier de configuration pour chaque interface. Ce fichier a pour nom ifcfg-interface et se situe sous le rpertoire /etc/sysconfig/network-scripts/. Par exemple, le fichier
Ouvrage sous contrat Creative Commons BY-NC-SA p. 98

Prparation lexamen 201 pour la certification LPIC-2

/etc/sysconfig/network-scripts/ifcfg-eth0 est le fichier de configuration de l'interface eth0 . Chaque ligne des fichiers de configuration est sous la forme : paramtre=valeur . Il existe des paramtres communs tout type d'interface (Ethernet, PPP, etc.) et d'autres spcifiques un type donn. Ce qui suit est la description des paramtres frquents dans le cas de la configuration d'une interface Ethernet : DEVICE : correspond au nom de l'interface rseau ; BOOTPROTO : correspond au protocole utilis pour la configuration de l'interface. Les valeurs possibles sont : none : indique quaucun protocole ne devrait tre utilis, bootp : indique que le protocole BOOTP devrait tre utilis et dhcp : indique que le protocole DHCP devrait tre utilis ; ONBOOT : correspond l'tat de l'interface indiquant si celle-ci devrait tre active ou non lors du dmarrage du systme. Les valeurs possibles sont yes ou no ; IPADDR : correspond l'adresse IP de l'interface ; NETMASK : correspond au masque du sous rseau ; BROADCAST : correspond l'adresse de diffusion. Cette directive a t abandonne car la valeur est calcule automatiquement avec ifcalc ; GATEWAY : correspond l'adresse IP de la passerelle rseau ; USERCTL : correspond la possibilit de contrler l'interface par les utilisateurs autres que l'utilisateur root. Les valeurs possibles sont yes et no. EXEMPLES Le premier exemple illustre une configuration statique de l'interface eth0 . # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.16.1.1 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 USERCTL=no Le deuxime exemple illustre une configuration dynamique de l'interface eth1 . # cat /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=dhcp

Ouvrage sous contrat Creative Commons BY-NC-SA p. 99

Prparation lexamen 201 pour la certification LPIC-2

ONBOOT=yes NOTE chaque modification des fichiers de configuration des interfaces, le script de contrle du service rseau est relanc pour recharger les paramtres dans le noyau. Les lignes de commandes suivantes sont quivalentes et assurent le redmarrage du service rseau : # /etc/rc.d/init.d/network restart # service network restart

2.3. Rsolution de noms d'htes


Les deux mthodes les plus utilises pour la rsolution des noms d'htes sont la mthode files et la mthode dns. La mthode files utilise le fichier /etc/hosts pour associer les adresses IP avec les noms d'htes. Chaque ligne de ce fichier correspond une seule adresse IP et elle respecte le format suivant : Adresse_IP nom_canonique [alias ...] Cette premire mthode n'est plus exploite que dans le cas d'un rseau de quelques htes et le fichier /etc/hosts est rduit, en gnral, au contenu suivant : 127.0.0.1 localhost.localdomain localhost 127.0.0.1 nom_hte.nom_domaine nom_hte o nom_hte correspond au nom de lhte dfini dans le fichier /etc/hostname et nom_domaine est le nom du domaine pleinement qualifi (FQDN : Fully qualified domain name) de ce dernier. La deuxime mthode consiste demander au client DNS (resolver) de rsoudre le nom d'hte par l'envoi de requtes aux serveur DNS prciss dans le fichier de configuration /etc/resolv.conf. Le format gnral de ce fichier est comme suit : domain domaine_local search domaines_de_recherche nameserver serveur_DNS avec : domain : spcifie le domaine de lhte ; search : spcifie la liste des domaines de recherche ; nameserver : spcifie l'adresse IP d'un serveur DNS. NOTES Les directives domain et search sont utilises pour former les noms complets (FQDN)
Ouvrage sous contrat Creative Commons BY-NC-SA p. 100

Prparation lexamen 201 pour la certification LPIC-2

dans le cas o des noms raccourcis sont recherchs. La directive nameserver peut tre utilise plusieurs fois pour prciser le serveur DNS secondaire, tertiaire, etc. Le service NSS (Name Service Switch) dtermine l'ordre d'application des mthodes de rsolution des noms d'htes. Ceci est spcifi par l'entre hosts de son fichier de configuration /etc/nsswitch.conf. EXEMPLE La configuration suivante prcise que la mthode files est appele en premier pour rsoudre un nom d'hte. S'il est trouv dans le fichier /etc/hosts, elle retourne l'adresse IP correspondante. Sinon la mthode dns est appele. $ grep hosts /etc/nsswitch.conf hosts: files dns

3. Configurations IP avances
3.1. Configuration multirseau
Un hte multirseau (multihomed host) est un hte quip de plusieurs interfaces rseaux connectes chacune un rseau diffrent. Cette configuration est utilise dans le cas o un hte Linux joue le rle d'un routeur, d'une passerelle rseau ou d'un pare-feu. Par dfaut, la fonction de routage du noyau Linux est dsactive. C'est dire que les paquets IP reus dont l'adresse IP de destination correspond un autre hte sont rejets. Dans le cas d'un hte multirseau, la fonction de routage doit tre active. Ceci est assur par l'affectation de la valeur 1 au contenu du fichier /proc/sys/net/ipv4/ip_forward qui peut s'effectuer comme suit : # echo "1" > /proc/sys/net/ipv4/ip_forward ou # sysctl -w net.ipv4.ip_forward=1 Le fichier /proc/sys/net/ipv4/ip_forward correspond au paramtre fonction de routage de la session en cours du systme. Les deux valeurs possibles sont : 0 : fonction de routage dsactive et 1 : fonction de routage active. Pour rendre l'activation de la fonction de routage permanente (mme en cas de redmarrage du systme), le paramtre net.ipv4.ip_forward du fichier de configuration /etc/sysctl.conf doit tre fix manuellement 1. La vrification de l'activation permanente de la fonction de routage peut tre effectue comme suit :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 101

Prparation lexamen 201 pour la certification LPIC-2

# grep ip_forward /etc/sysctl.conf net.ipv4.ip_forward=1 EXEMPLE L'exemple suivant configure (pour la session du systme en cours) un hte multirseau connect un premier rseau local contenant les htes de type poste de travail et un deuxime rseau contenant les htes de type serveurs ainsi que le routeur assurant la connexion vers Internet. Il est connect au premier rseau d'adresse IP 172.16.0.0/16 travers eth0 d'adresse 172.16.255.254 et au deuxime rseau d'adresse IP 192.168.1.0/24 travers eth1 d'adresse 192.168.1.253 . Le routeur assurant la connexion vers Internet et jouant le rle de passerelle par dfaut de lhte multirseau est d'adresse 192.168.1.254 . # ifconfig eth0 172.16.255.254 netmask 255.255.0.0 # ifconfig eth1 192.168.1.253 netmask 255.255.255.0 # route add -net default gw 192.168.1.254 dev eth1 # route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric 172.16.0.0 0.0.0.0 255.255.0.0 U 0 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0.0.0.0 192.168.1.254 0.0.0.0 UG 0 # sysctl -w net.ipv4.ip_forward=1

Ref 0 0 0

Use 0 0 0

Iface eth0 eth1 eth1

3.2. OpenVPN
Un VPN (Virtual Private Network) est un rseau priv virtuel. Il est constitu d'un ensemble de rseaux locaux interconnects par un rseau public travers des canaux scuriss appels tunnels VPN. Les protocoles IPSec, L2TP, OpenVPN et PPP+SSH sont des exemples de protocoles pour la mise en place de VPN. OpenVPN permet d'tablir des tunnels de niveau applicatif en se basant sur le protocole TCP ou UDP. Le chiffrement est assur par SSL/TLS (Secure Sockets Layer / Transport Layer Security) et l'authentification est ralise par une cl secrte, un certificat x509 ou un couple (nom, mot de passe). OpenVPN est aussi le nom du logiciel libre qui implmente le protocole OpenVPN. Il fonctionne selon le modle client/serveur. PROCEDURE La procdure suivante permet de mettre en place un tunnel VPN entre deux htes : poste1 (d'adresse 172.16.1.1 ) et poste2 (d'adresse 172.16.1.2 ) avec OpenVPN. Lhte poste1 joue le rle de serveur et poste2 celui de client. Installation de openvpn sur les deux htes :

Ouvrage sous contrat Creative Commons BY-NC-SA p. 102

Prparation lexamen 201 pour la certification LPIC-2

poste[12] # apt-get install openvpn Gnration et partage d'une cl secrte : poste1 # openvpn --genkey --secret /etc/openvpn/secret.key poste1 # scp /etc/openvpn/secret.key poste2:/etc/openvpn/ ... secret.key 100% 636 0.6KB/s 00:00 Configuration de la liaison sur poste1 (serveur). Le paramtre ifconfig est suivi de l'adresse IP associe la carte virtuelle locale tun0 suivie de l'adresse IP de la carte distante : poste1 # nano /etc/openvpn/openvpn.cfg dev tun ifconfig 192.168.1.1 192.1680.1.2 secret /etc/openvpn/secret.key Configuration de la liaison sur poste2 (client) : poste2 # nano /etc/openvpn/openvpn.cfg remote poste1 dev tun ifconfig 192.1680.1.2 192.168.1.1 secret /etc/openvpn/secret.key Activation de la liaison sur poste1 (serveur) : poste1 # openvpn --config /etc/openvpn/openvpn.cfg --verb 1 ... OpenVPN 2.1.0 i486-pc-linux-gnu [SSL] ... ... IMPORTANT: OpenVPN's default port number is now 1194, ... ... /usr/sbin/openvpn-vulnkey -q /etc/openvpn/secret.key ... ... TUN/TAP device tun0 opened ... /sbin/ifconfig tun0 192.168.1.1 pointopoint 192.168.1.2 mtu 1500 ... UDPv4 link local (bound): [undef] ... UDPv4 link remote: [undef] Activation de la liaison sur poste2 (client) : poste2 # openvpn --config /etc/openvpn/openvpn.cfg --verb 1 ... OpenVPN 2.1.0 i486-pc-linux-gnu [SSL] ... ... IMPORTANT: OpenVPN's default port number is now 1194, ...
Ouvrage sous contrat Creative Commons BY-NC-SA p. 103

Prparation lexamen 201 pour la certification LPIC-2

... /usr/sbin/openvpn-vulnkey -q /etc/openvpn/secret.key ... ... TUN/TAP device tun0 opened ... /sbin/ifconfig tun0 192.168.1.2 pointopoint 192.168.1.1 mtu 1500 ... UDPv4 link local (bound): [undef] ... UDPv4 link remote: [AF_INET]172.16.1.1:1194 ---> aprs quellesque secondes : ... Peer Connection Initiated with [AF_INET]172.16.1.1:1194 ... Initialization Sequence Completed Vrification des interfaces et des routes : poste2 # ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-0000-00-00 inet adr:192.168.1.2 P-t-P:192.168.1.1 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 ... poste2 # route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.1 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 ... poste1 # ifconfig tun0 tun0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-0000-00-00 inet adr:192.168.1.1 P-t-P:192.168.1.2 Masque:255.255.255.255 UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1 ... poste1 # route -n Table de routage IP du noyau Destination Passerelle Genmask Indic Metric Ref Use Iface 192.168.1.2 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 ... Test de la liaison : poste2 # ping 192.168.1.1 PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data. 64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=4.84 ms 64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.000 ms ...

Ouvrage sous contrat Creative Commons BY-NC-SA p. 104

Prparation lexamen 201 pour la certification LPIC-2

4. Diagnostic rseau
On est souvent confront des problmes rseaux tels que le ralentissement du trafic, la dconnexion d'un hte ou d'un rseau, la non disponibilit d'un service rseau, etc. Pour identifier ces problmes, les oprations de diagnostic suivantes peuvent tre effectues : l'utilisation des commandes de paramtrage des interfaces et de configuration rseau prcdemment traites ; la vrification des fichiers de configuration ; le suivi et l'analyse des journaux (les fichiers log) ; l'utilisation d'outils ddis aux tests et aux diagnostics rseau dont les plus utiliss seront traits dans cette section.

4.1. Test de la connectivit rseau avec ping


La commande ping est l'utilitaire de base pour tester la connectivit rseau entre deux htes. Elle se base sur les messages echo-request et echo-reply du protocole ICMP. Si les rsultats de la commande ping comporte une rponse positive, alors lhte local et lhte distant sont correctement configurs ainsi que le chemin rseau entre les deux. Dans le cas o toutes les rponses sont ngatives, les dductions suivantes sont possibles : la configuration de l'hte local ou/et de l'hte distant n'est pas correcte ; lhte distant est non disponible (teint par exemple) ; il existe une erreur dans la configuration de l'un des routeurs du chemin rseau entre les deux htes ; lhte distant est configur afin de ne pas rpondre aux requtes ping pour des raisons de scurit ; un routeur ou un pare-feu intermdiaire bloque le trafic ICMP. En plus du test de connectivit, la commande ping affiche des informations utiles sur l'tat du rseau telles que le taux de perte, le temps de transit, etc. Par dfaut, la commande ping de Linux envoie une demande en continu, toutes les secondes, jusqu' son interruption avec la combinaison de touches ctrl C. SYNTAXE ping [option ] hte OPTIONS Les options les plus utilises sont : -b : autorise l'utilisation d'adresses de diffusion ; -c nb : envoie seulement nb paquets ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 105

Prparation lexamen 201 pour la certification LPIC-2

-i intervalle : spcifie le dlai d'attente entre les envois des paquets. Par dfaut il est fix une seconde ; -f : fonctionne en mode flood. Si le dlai d'attente entre les paquets n'est pas spcifi, les paquets sont envoys aussi rapidement que possible (dlai d'attente = 0). Ce mode est rserv l'utilisateur root ; -q : mode silencieux. Seules les lignes rsums au dbut et la fin de l'excution de la commande sont affiches ; -s taille : spcifie, en octets, la taille des donnes envoyer. Par dfaut c'est 56 octets ; -t ttl : spcifie la valeur TTL du paquet IP ; -w dlai : spcifie, en secondes, le dlai de fonctionnement de la commande ping indpendamment du nombre de paquets envoys ou reus. EXEMPLES Le premier exemple teste la connectivit d'un hte non prsent dans le rseau. Dans cet exemple, la commande ping envoie des messages en continu jusqu' la rception de la combinaison de touches Ctrl C. $ ping 172.16.100.250 PING 172.16.100.250 (172.16.100.250) 56(84) bytes of data. From 172.16.100.200 icmp_seq=1 Destination Host Unreachable From 172.16.100.200 icmp_seq=2 Destination Host Unreachable From 172.16.100.200 icmp_seq=3 Destination Host Unreachable ^C --- 172.16.100.250 ping statistics --5 packets transmitted, 0 received, +3 errors, 100% packet loss, ... Le deuxime exemple teste la connectivit de la passerelle. C'est le premier test faire si la connexion vers l'extrieur ne peut pas s'tablir. Dans cet exemple deux messages seulement sont envoys. $ ping -c 2 172.16.100.254 PING 172.16.100.254 (172.16.100.254) 56(84) bytes of data. 64 bytes from 172.16.100.254: icmp_seq=1 ttl=64 time=0.565 ms 64 bytes from 172.16.100.254: icmp_seq=2 ttl=64 time=0.539 ms --- 172.16.100.254 ping statistics --2 packets transmitted, 2 received, 0% packet loss, time 999ms rtt min/avg/max/mdev = 0.539/0.552/0.565/0.013 ms Le troisime exemple teste la connectivit de lhte distant www.auf.org . Dans ce cas, les statistiques sont plus significatives. La commande ping est lance en mode silencieux et sa dure dexcution est limite 5 secondes.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 106

Prparation lexamen 201 pour la certification LPIC-2

$ ping -w 5 -q www.auf.org PING www.auf.org (199.84.140.19) 56(84) bytes of data. --- www.auf.org ping statistics --5 packets transmitted, 5 received, 0% packet loss, time 4006ms rtt min/avg/max/mdev = 139.675/152.673/189.220/18.675 ms

4.2. Test de la rsolution de noms avec nslookup et dig


Les commandes nslookup et dig sont utilises pour diagnostiquer la rsolution de noms avec la mthode DNS. Leur utilisation est dtaille dans le chapitre 7 Service DNS . EXEMPLE La commande dig suivante interroge le serveur DNS 172.16.100.254 (serveur DNS dfini dans le fichier /etc/resolv.conf) pour la rsolution du nom de domaine www.auf.org . $ cat /etc/resolv.conf nameserver 172.16.100.254 $ dig www.auf.org ... ;; ANSWER SECTION: www.auf.org. 83431 IN A 199.84.140.19 ;; AUTHORITY SECTION: auf.org. 83431 IN NS ns1.refer.org. auf.org. 83431 IN NS ns1.ca.auf.org. ... ;; Query time: 22 msec ;; SERVER: 172.16.100.254#53(172.16.100.254) ...

4.3. Test du chemin rseau avec traceroute


La commande traceroute affiche le chemin rseau emprunt pour atteindre un hte distant. Elle envoie des paquets avec des dures de vie (TTL : Time To Live) incrmentales et exploite les messages ICMP time exceeded gnrs par les routeurs lorsque la valeur TTL du paquet IP devient gale 0. La valeur TTL d'un paquet est dcrmente chaque routeur travers. La liste des routeurs intermdiaires est affiche avec les temps d'aller-retour qui peuvent donner une ide de la fluidit du trafic dans les diffrentes portions du chemin. Les cas o la commande traceroute choue et natteint pas la destination peuvent tre dus lune des raisons suivantes :

Ouvrage sous contrat Creative Commons BY-NC-SA p. 107

Prparation lexamen 201 pour la certification LPIC-2

les paquets traceroute sont bloqus ou rejets par l'un des routeurs intermdiaires ; lhte distant n'est pas prsent dans le rseau ; le rseau o rside lhte distant n'est pas joignable cause d'une erreur dans les tables de routage de l'ensemble des routeurs. EXEMPLE L'exemple suivant trace la route vers lhte www.google.com . Le caractre * indique qu'aucune rponse n'est reue pendant 5 secondes (c'est la valeur par dfaut du temps d'attente). Le premier nud du chemin est toujours la passerelle par dfaut de lhte source. $ traceroute -n www.google.com traceroute to www.google.com (209.85.148.147), 30 hops max, 60 byte packets 1 172.16.100.254 1.139 ms 1.093 ms 1.062 ms 2 *** 3 *** 4 *** 5 *** 6 * 196.203.78.17 21.172 ms 25.331 ms 7 * 196.203.78.50 24.322 ms 40.963 ms 8 193.95.96.181 23.310 ms 25.252 ms 22.648 ms 9 193.95.96.65 24.879 ms 21.768 ms 26.217 ms 10 * 193.95.0.50 24.602 ms 21.560 ms 11 72.14.214.141 51.802 ms 49.963 ms 48.962 ms 12 216.239.43.156 50.471 ms 47.080 ms 50.038 ms 13 209.85.253.8 53.090 ms 209.85.253.10 49.857 ms 209.85.253.8 54.086 ms 14 72.14.232.78 60.386 ms 58.346 ms 58.372 ms 15 72.14.239.63 59.318 ms 65.849 ms 72.14.236.21 66.354 ms 16 209.85.254.41 60.772 ms 209.85.254.57 69.770 ms 71.274 ms 17 209.85.148.147 58.484 ms 60.837 ms 59.805 ms $

4.4. Test de la connectivit applicative avec telnet


La commande telnet peut tre utilise pour tester la connectivit rseau d'une application serveur. Par dfaut elle se connecte sur le port TCP / 23 (port de l'application serveur telnet), mais il est possible de spcifier un autre port pour interroger une autre application rseau selon la syntaxe suivante : telnet hte port o hte est le nom ou l'adresse IP de lhte distant et port le numro de port sur lequel l'application serveur coute les demandes de connexion.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 108

Prparation lexamen 201 pour la certification LPIC-2

Pour isoler ou localiser le problme de connectivit d'une application rseau, la dmarche suivante peut tre applique : tester la connectivit partir de lhte local en utilisant l'adresse de l'interface de boucle locale puis l'adresse de l'interface physique. Ceci permet d'liminer l'influence du parefeu protgeant lhte lui-mme ; Vrifier les rgles de filtrage Netfilter avec la commande iptables -L et les listes de contrle d'accs (ACL : Access Control List) des fichiers /etc/hosts.allow et /etc/hosts.deny si l'excution de l'application utilise la technique TCP Wrapper. tester la connectivit partir d'un hte appartenant au mme rseau que lhte en question. Ceci permet d'liminer l'influence du pare-feu protgeant le rseau ; tester la connectivit partir d'un hte distant n'appartenant pas au mme rseau que lhte hbergeant l'application. EXEMPLES Le premier exemple illustre une connexion russie avec un serveur web (port 80) s'excutant sur lhte d'adresse IP 192.168.1.1 . L'interruption de la connexion est effectue par la combinaison de touches ctrl ]. $ telnet 172.16.100.12 80 Trying 172.16.100.12... Connected to 172.16.100.12. Escape character is '^]'. ^] telnet> quit Connection closed. $ Le deuxime exemple illustre une connexion refuse (connection refused) dont la cause peut tre : l'application n'est pas dmarre ou un pare-feu bloque et rejette la connexion. $ telnet 172.16.100.254 80 Trying 172.16.100.254... telnet: Unable to connect to remote host: Connection refused $ Le troisime exemple illustre une connexion qui ne peut s'tablir suite au dpassement du dlai d'attente (connection timed out). La cause peut tre : lhte n'est pas prsent dans le rseau ; un pare-feu bloque et ne rejette pas la connexion.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 109

Prparation lexamen 201 pour la certification LPIC-2

$ telnet 125.2.1.68 80 Trying 125.2.1.68... telnet: Unable to connect to remote host: Connection timed out $

4.5. Test de la connectivit applicative avec nc


La commande nc permet d'ouvrir des connexions TCP, d'envoyer des datagrammes UDP, d'couter (en tant que serveur) sur des ports TCP ou UDP et de scanner les ports rseaux. Elle est trs utile pour tablir des connexions rseaux en mode client/serveur pour des fins de diagnostic rseau. SYNTAXE La syntaxe gnrale de la commande nc est la suivante : nc [option ...] [hte] [port] OPTIONS Les options les plus usuelles de la commande nc sont : -l : spcifie que la commande nc doit couter les connexions entrantes au lieu d'initialiser une connexion vers un hte distant ; -p : spcifie le port source utiliser ; -u : utilise le protocole UDP la place du protocole TCP (par dfaut) ; -z : spcifie que nc doit scanner les ports en tat d'coute. EXEMPLE La commande nc suivante tablit une connexion rseau avec le serveur Web de lhte monServeur , avec 1234 comme port source. Dans la squence, le serveur Web rpond au message GET par l'envoi de la page Web par dfaut contenant des informations utiles. $ nc -p 1234 monServeur 80 GET <--- saisir <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> ...</head><body> ... <address>Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny13 with Suhosin-Patch mod_scgi/1.12 mod_ssl/2.2.9 OpenSSL/0.9.8g mod_wsgi/2.5 Python/2.5.2 Server at monServeur Port 80</address> </body></html> $

Ouvrage sous contrat Creative Commons BY-NC-SA p. 110

Prparation lexamen 201 pour la certification LPIC-2

4.6. Diagnostic rseau avec netstat


La commande netstat est un utilitaire trs utilis dans les diagnostics rseaux. Elle fournit des informations sur les connexions rseaux, les tables de routage et un certain nombre de statistiques de lhte sur lequel elle s'excute. Parmi les utilisations frquentes de la commande netstat : la dtermination des services rseaux actifs et la liste de toutes les connexions rseaux disponibles. SYNTAXE La syntaxe de la commande netstat est : netstat [option ...] OPTIONS Sans option, la commande netstat liste les sockets (fichiers rseaux) ouvertes. Les options les plus utiles sont : -a : affiche toutes les sockets, y compris les sockets en tat d'coute ; -l : affiche seulement les sockets en tat d'coute ; -t : se limite aux connexions TCP ; -u : se limite aux connexions UDP ; -i : affiche des statistiques par interface ; -s : affiche des statistiques par protocole ; -p : affiche le PID et le nom des processus des sockets listes. Cette option est utilise avec le privilge root ; -r : affiche la table de routage ; -n : affiche les adresses en format numrique au lieu d'essayer de dterminer le nom symbolique d'hte, de port ou d'utilisateur. EXEMPLES Le premier exemple liste les sockets TCP en tat d'coute ainsi que les programmes associs. # netstat -ltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Add. Foreign Add. State PID/Program name tcp 0 0 localhost:mysql *:* LISTEN 939/mysqld tcp 0 0 *:www *:* LISTEN 9439/apache2 tcp 0 0 *:ssh *:* LISTEN 906/sshd tcp 0 0 *:https *:* LISTEN 9439/apache2
Ouvrage sous contrat Creative Commons BY-NC-SA p. 111

Prparation lexamen 201 pour la certification LPIC-2

... Le deuxime exemple permet de calculer le nombre de connexions en tat ESTABLISHED ou TIME_WAIT. # netstat -at | egrep 'ESTABLISHED|TIME_WAIT' | wc -l 13

4.7. Diagnostic rseau avec lsof


La commande lsof liste des informations propos des fichiers ouverts par les processus. Parmi ces fichiers on trouve les fichiers rseaux (sockets) tels que les fichiers rseaux Internet, les fichiers NFS et les fichiers rseaux du domaine UNIX. L'option -i limite la liste aux sockets Internet. SYNTAXE La syntaxe gnrale pour lister les sockets Internet est la suivante : lsof -i [46][protocole][@hte][:port] avec : 46 : spcifie la version du protocole IP: 4 pour IPv4 et 6 pour IPv6 ; protocole: dsigne le nom du protocole TCP ou UDP ; hte : spcifie l'adresse IP ou le nom d'un hte ; port : spcifie le nom, le numro ou une liste de ports. EXEMPLE La commande suivante liste les sockets Internet en se limitant aux connexions TCP utilisant un port de numro compris entre 1 et 1024. # lsof -i TCP:1-1024 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 906 root 3u IPv4 4024 0t0 TCP *:ssh (LISTEN) sshd 906 root 4u IPv6 4026 0t0 TCP *:ssh (LISTEN) master 1083 root 12u IPv4 4707 0t0 TCP localhost:smtp (LISTEN) sshd 3292 root 3r IPv4 778665 0t0 TCP 172.16.100.12:ssh>172.16.100.200:42791 (ESTABLISHED) apache2 3400 root 3u IPv4 616612 0t0 TCP *:www (LISTEN) apache2 3400 root 4u IPv4 616614 0t0 TCP *:https (LISTEN) apache2 9439 www-data 3u IPv4 616612 0t0 TCP *:www (LISTEN) apache2 9439 www-data 4u IPv4 616614 0t0 TCP *:https (LISTEN) ... #
Ouvrage sous contrat Creative Commons BY-NC-SA p. 112

Prparation lexamen 201 pour la certification LPIC-2

4.8. Scanner de ports nmap


La commande nmap est un utilitaire de type scanner de ports rseaux. Elle permet de chercher les ports en tat d'coute, de dterminer les services hbergs et de collecter des informations sur le systme d'exploitation d'un hte distant. Ce type d'utilitaire est utilis, principalement, pour dtecter les vulnrabilits dans un rseau telles que l'excution de services non autoriss. SYNTAXE La syntaxe de la commande nmap est : nmap [option ...] [cible] o cible est lhte, le rseau ou l'ensemble des htes scanner. OPTIONS Ci-dessus quelques options utilises pour scanner les htes prsents et les ports ouverts. -sP : scanne les htes prsents dans le rseau ; -sS, -sT, -sA, -sW, ou -sM : scanne les ports TCP en tat d'coute de diffrentes mthodes ; -sU : scanne les ports UDP en tat d'coute ; -p port : spcifie le port ou la plage des ports scanner ; EXEMPLES Dans le premier exemple, la commande nmap scanne les htes prsents dans le rseau d'adresse IP 172.16.100.0/24 . $ nmap -sP 172.16.100.0/24 Starting Nmap 5.00 ( http://nmap.org ) at 2011-11-17 11:02 CET Host 172.16.100.1 is up (0.0022s latency). Host 172.16.100.5 is up (0.0020s latency). Host 172.16.100.6 is up (0.0020s latency). Host 172.16.100.12 is up (0.0010s latency). Host 172.16.100.200 is up (0.00016s latency). Host 172.16.100.204 is up (0.0015s latency). Host 172.16.100.254 is up (0.0011s latency). Nmap done: 256 IP addresses (7 hosts up) scanned in 2.56 seconds Dans le deuxime exemple, la commande nmap scanne les ports de lhte local et dtermine les services actifs. $ nmap -p 1-1024 -sT 127.0.0.1 ... Interesting ports on localhost (127.0.0.1):
Ouvrage sous contrat Creative Commons BY-NC-SA p. 113

Prparation lexamen 201 pour la certification LPIC-2

Not shown: 1017 closed ports PORT STATE SERVICE 21/tcp open ftp 22/tcp open ssh 25/tcp open smtp 80/tcp open http 110/tcp open pop3 143/tcp open imap 389/tcp open ldap Nmap done: 1 IP address (1 host up) scanned in 0.11 seconds

4.9. Analyse du trafic avec tcpdump


La commande tcpdump est l'un des utilitaires les plus utiliss pour la capture et l'analyse des paquets rseaux. Elle permet d'afficher le trafic rseau sur la sortie standard ou de l'enregistrer dans un fichier, sous une forme binaire, pour une analyse ultrieure. Elle utilise, comme la majorit des analyseurs sous Linux, la librairie libpacap. SYNTAXE La syntaxe gnrale de la commande tcpdump est la suivante : tcpdump [option ] [expression] EXPRESSION Les expressions de tcpdump sont utilises pour filtrer le trafic analyser. Par dfaut (sans expression) tout le trafic est analys. La syntaxe des expressions est celle de pcap-filter qui consiste en une ou plusieurs primitives. Chaque primitive est compose d'un identifiant (nom ou numro) prcd par un ou plusieurs qualificateurs. Il existe trois sortes de qualificateurs : type : spcifie le type d'identifiant. Les valeurs possibles sont host (valeur par dfaut), net et port ; dir : spcifie la direction du paquet. Parmi les valeurs possibles : src, dst, src or dst (valeur par dfaut) et src and dst ; proto : spcifie le protocole traiter. Parmi les valeurs possibles : ether, wlan, ip, ip6, arp, rarp, tcp et udp. La valeur par dfaut correspond tous les protocoles compatibles avec le type. Des expressions complexes peuvent tre construites en utilisant les oprateurs logiques not (ou ! ), and (ou && ) et or (ou || ) ainsi que les parenthses. Une expression peut tre une comparaison (utilisation des oprateurs : <, >, <=, >=, = et !=) entre des expressions arithmtiques utilisant les oprateurs binaires : +, -, *, /, &, |, << et >>.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 114

Prparation lexamen 201 pour la certification LPIC-2

OPTIONS Les options les plus utilises sont : -i interface : spcifie l'interface de capture ; -w fichier : enregistre les donnes de la capture dans un fichier ; -r fichier : analyse les donnes partir d'un fichier ; -n : ne convertit pas les adresses en nom ; -c nb : capture nb paquets et s'arrte ; -p : ne met pas l'interface rseau dans le mode promiscuous o l'interface rcupre toutes les trames mme celles qui ne lui sont pas destines ; -t : n'affiche pas l'horodatage au dbut de chaque ligne. EXEMPLES Dans le premier exemple, la commande tcpdump intercepte les trames partir de l'interface eth0 et filtre les paquets afficher pour ne laisser que ceux dont le port source ou destination est 53. La commande se limite analyser deux paquets. # tcpdump -i eth0 -t -n -c2 port 53 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes IP 172.16.100.200.44396 > 172.16.100.254.53: 28303+ A? www.auf.org. (29) IP 172.16.100.254.53 > 172.16.100.200.44396: 28303 1/0/0 A 199.84.140.19 (45) 2 packets captured 2 packets received by filter 0 packets dropped by kernel # Dans le deuxime exemple, la commande tcpdump enregistre les paquets capturs dans le fichier auf.tcpdump puis visualise ce fichier binaire sur l'cran. # tcpdump -w auf.tcpdump host www.auf.org and \( port 80 or port 443 \) tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes ^C 2999 packets captured 3005 packets received by filter 0 packets dropped by kernel # tcpdump -r auf.tcpdump 17:26:54.337581 IP hedi-laptop.local.39499 > www.auf.org.www: Flags [S], seq 2913060691, win 5840, options [mss 1460,sackOK,TS val 4509747 ecr
Ouvrage sous contrat Creative Commons BY-NC-SA p. 115

Prparation lexamen 201 pour la certification LPIC-2

0,nop,wscale 6], length 0 ...

4.10. Analyse du trafic avec wireshark


Wireshark est un analyseur de protocole rseau avec une interface graphique. Il permet d'afficher les donnes partir du trafic rseau ou partir des donnes prcdemment sauvegardes dans un fichier. Wireshark utilise la mme syntaxe des expressions filtres que la commande tcpdump et peut lire ou importer le format de la mme commande ainsi que plusieurs autres formats. NOTE La commande tshark est la version textuelle de Wireshark conue pour la capture et l'affichage des paquets lorsqu'une interface utilisateur graphique n'est pas ncessaire ou n'est pas disponible. Elle supporte les mmes options que wireshark.

5. Notification des utilisateurs


Cette section traite de la notification des utilisateurs propos des interventions de maintenance et des pannes systmes travers les messages de connexion et les commandes de notification. Les messages de connexion sont un moyen de notification pour les utilisateurs et ne sont visibles qu'avec les sessions textuelles. Ces messages sont enregistrs dans les trois fichiers suivants : /etc/issue pour les messages des connexions locales ; /etc/issue.net pour les messages des connexions distantes ; /etc/motd pour les messages du jour (motd : message of th day). Le contenu des fichiers /etc/issue ou /etc/issue.net est affich avant l'invite de connexion, celui du fichier /etc/motd est affich aprs la connexion et avant le lancement du shell. Les fichiers /etc/issue et /etc/issue.net supportent les squences de contrle des commandes de type getty telles que \n pour le nom de l'hte, \l pour le terminal de connexion, etc. EXEMPLE L'exemple suivant illustre l'exploitation des fichiers /etc/issue et /etc/motd pour l'affichage des messages de notification. Debian Squeeze 6.0.2 Serveur1 tty1 Serveur1 login : hedi
Ouvrage sous contrat Creative Commons BY-NC-SA p. 116

Prparation lexamen 201 pour la certification LPIC-2

password : A NOTER! Tous les systmes seront arrts ce weekend pour des oprations de maintenance. Sauvegardez vos travaux! $ cat /etc/issue Debian Squeeze 6.0.2 \n \l $ cat /etc/motd A NOTER! Tous les systmes seront arrts ce weekend pour des oprations de maintenance. Sauvegardez vos travaux! $ NOTE Il existe d'autres commandes de notification des utilisateurs telles que wall et shutdown. La commande wall (write all) permet l'utilisateur root d'afficher les donnes du fichier donn comme paramtre ou de l'entre standard sur tous les terminaux des utilisateurs connects. La commande shutdown notifie les utilisateurs connects lors de l'arrt du systme.

6. Exercices
1. Quelles sont les trois commandes utilises pour dterminer les ports TCP ouverts de lhte local ? A. lsof B. netstat C. nmap D. tcpdump E. tcpd

2. Un hte d'adresse IP 172.16.1.22 vient d'tre connect au rseau dont la connexion vers Internet est assure par un routeur ayant 172.16.1.254 comme adresse IP. Quelle est la commande permettant au nouvel hte de se connecter Internet ?

Ouvrage sous contrat Creative Commons BY-NC-SA p. 117

Prparation lexamen 201 pour la certification LPIC-2

A. route add -net 172.16.1.0 mask 255.255.255.0 gw 172.16.1.254 B. route add -net 172.16.0.0 mask 255.255.0.0 gw 172.16.1.254 C. route add -net 0.0.0.0 mask 0.0.0.0 gw 172.16.1.254 D. route add -host 172.16.1.254 mask 255.255.255.255 gw 172.16.1.22 E. route add 172.16.0.0 gw 172.16.1.254

3. Quels sont les fichiers en relation avec la rsolution des noms ? Trois propositions sont correctes. A. /etc/hosts B. /etc/hosts.allow C. /etc/hosts.deny D. /etc/hosts.conf E. /etc/resolv.conf F. /etc/nsswitch.conf

4. Quelles sont les deux commandes qui ont gnr le trafic captur par la commande tcpdump suivante ? # tcpdump -nli eth0 ... ... IP 192.168.1.66 > 192.168.1.254: ICMP echo request, id 24091, ... ... IP 192.168.1.254 > 192.168.1.66: ICMP echo reply, id 24091, ... ... ... IP 192.168.1.66.40978 > 192.168.1.254.53: 26331+ A? www.lpi.org. ... ... IP 192.168.1.254.53 > 192.168.1.66.40978: 26331 1/2/0 A 69.90.69.231... ... # A. traceroute 192.168.1.66 B. traceroute 192.168.1.254 C. ping 192.168.1.66 D. ping 192.168.1.254 E. nslookup 192.168.1.254 F. nslookup 192.168.1.66 G. nslookup 69.90.69.231

Ouvrage sous contrat Creative Commons BY-NC-SA p. 118

Prparation lexamen 201 pour la certification LPIC-2

H. nslookup www.lpi.org

Ouvrage sous contrat Creative Commons BY-NC-SA p. 119

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 6. Maintenance systme


Objectifs Installation partir des codes sources : dpaqueter un fichier de code source ; construire et installer des programmes partir du code source. Oprations de sauvegarde : sauvegarder les donnes importantes du systme ; vrifier l'intgrit des fichiers de sauvegarde ; restaurer les sauvegardes. Installation partir des codes sources : utilitaires usuels de compression et d'archivage ; utilisation de make pour compiler des programmes ; paramtrage du script de configuration ; emplacement des rpertoires de code source. Oprations de sauvegarde : supports de sauvegarde ; utilitaires de sauvegarde ; solutions de sauvegarde rseau. Installation partir des codes sources : /usr/src/, gunzip, gzip, bzip2, tar, configure, make, uname, install Sauvegarde : cpio, dd, tar, /dev/st*, /dev/nst*, mt, rsync, dump, restore

Points importants

Mots cls

1. Installation partir des codes sources


1.1 Introduction
Il existe deux mthodes pour installer un logiciel sous Linux : partir des paquetages binaires qui sont dj compils et construits par les diteurs de logiciels ou de distributions ;

Ouvrage sous contrat Creative Commons BY-NC-SA p. 120

Prparation lexamen 201 pour la certification LPIC-2

partir des paquetages comportant les codes sources. La premire mthode est celle qui est prfre mais la deuxime, qui est traite dans cette section, peut s'avrer indispensable dans des cas particuliers tels que : absence de paquetage binaire ; besoin d'une version plus rcente que les versions binaires disponibles ou besoin de refaire la compilation d'un logiciel pour des raisons d'optimisation ou d'adaptation. Les paquetages comportant les codes sources des logiciels sont distribus sous forme de fichiers archives. Ces fichiers archives contiennent notamment README et INSTALL, les fichiers qui dcrivent les tapes d'installation suivre. En gnral les tapes d'installation d'un logiciel partir de ses codes sources sont : rcupration du fichier archive ; dpaquetage de l'archive ; prparation ou configuration de la compilation : pr-compilation ; compilation ; installation des fichiers binaires : post-compilation.

1.2 Rcupration des codes sources


L'archive des codes sources d'un programme ou d'un logiciel peut tre rcupre partir du site hbergeant le projet correspondant. Les sites tels que www.gnu.org et sourceforge.net sont des plates-formes d'hbergement pour de nombreux projets open source. Les grands projets disposent de leurs propres plates-formes d'hbergement, par exemple le projet serveur web Apache est hberg par le site www.apache.org . EXEMPLE WGET Les exemples de cette section traitent l'installation pas pas, partir de codes sources, de l'utilitaire GNU Wget. La premire tape consiste rcuprer la dernire version de l'utilitaire wget partir du site FTP du projet GNU, http://ftp.gnu.org/gnu/wget/ . Il s'agit du fichier wget-1.12.tar.gz.

1.3 Dpaquetage
Les codes sources d'un programme sont disponibles sous la forme d'une archive tar compresse en gzip ou en bzip2. Pour la manipulation de ces archives les utilitaires tar, gzip, gunzip, bzip2 et bunzip2 peuvent tre utiliss. Une archive au format .tar.gz peut tre dcompresse et dsarchive comme suit : $ tar -xzvf application-version.tar.gz

Ouvrage sous contrat Creative Commons BY-NC-SA p. 121

Prparation lexamen 201 pour la certification LPIC-2

ou $ gunzip application-version.tar.gz $ tar xvf application-version.tar ou $ gzip d application-version.tar.gz $ tar xvf application-version.tar Une archive au format .tar.bz2 peut tre dcompresse et dsarchive comme suit : tar xjvf application-version.tar.bz2 ou bunzip2 application-version.tar.bz2 tar -xvf application-version.tar ou bzip2 d application-version.tar.bz2 tar -xvf application-version.tar La commande tar est traite en dtail plus loin ans ce chapitre, dans la section Commande tar . EXEMPLE WGET D'aprs l'extension du fichier rcupr, il s'agit d'une archive compresse par gzip qui peut tre dcompress et dsarchive comme suit : $ tar -xzvf wget-1.12.tar.gz Laffichage du contenu du rpertoire wget-1.12 (voir ci-dessous) montre l'existence des fichiers README et INSTALL ainsi que celle du script de configuration configure qui sera utilis dans l'tape qui suit. $ cd wget-1.12/ $ ls ABOUT-NLS ChangeLog.README aclocal.m4 config.log AUTHORS config.status autogen.sh configure build-aux configure.ac ChangeLog configure.bat $

COPYING doc GNUmakefile INSTALL lib m4

MAILING-LIST maint.mk Makefile Makefile.am Makefile.in md5

msdos util NEWS windows po README src tests

Ouvrage sous contrat Creative Commons BY-NC-SA p. 122

Prparation lexamen 201 pour la certification LPIC-2

1.4 Pr-compilation
La premire fonction du script de configuration ./configure est de dtecter des informations propos du systme et de configurer le code source en tenant compte de ces informations. La deuxime fonction et de permettre d'activer ou dsactiver des fonctionnalits optionnelles du logiciel. L'option --help affiche la syntaxe d'utilisation du script et prcise les arguments pour activer ou dsactiver les fonctionnalits optionnelles. Si aucun argument n'est prcis le script de configuration prend les valeurs par dfaut qui sont, dans la plupart des cas, les plus adquats. L'option --prefix est commune tous les scripts de configuration des logiciels. Elle prcise le rpertoire d'installation. Par dfaut, c'est le rpertoire /usr/local. EXEMPLE WGET Ce qui suit est un extrait de l'aide du script de configuration du paquetage GNU Wget qui montre l'utilisation de l'option --prefix et liste ses fonctionnalits optionnelles telles que digest, ntlm, debug, largefile, ipv6, etc. $ ./configure --help ... --prefix=PREFIX install architecture-independent files in PREFIX [/usr/local] By default, `make install' will install all the files in `/usr/local/bin', `/usr/local/lib' etc. You can specify an installation prefix other than `/usr/local' using `--prefix', for instance `--prefix=$HOME'. ... Optional Features: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --disable-digest disable support for HTTP digest authorization --disable-ntlm disable support for NTLM authorization --disable-debug disable support for debugging output --disable-largefile omit support for large files --disable-ipv6 disable IPv6 support ... $ Si on dispose du privilge root, on excute le script ./configure sans prciser une valeur pour l'option --prefix. Par dfaut le rpertoire d'installation est /usr/local.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 123

Prparation lexamen 201 pour la certification LPIC-2

# ./configure Par contre, si on ne dispose pas du privilge root, on doit excuter le script ./configure en prcisant un rpertoire d'installation. Dans la plupart des cas c'est le rpertoire personnel qui est spcifi comme rpertoire d'installation : $ ./configure --prefix=$HOME

1.5 Compilation
L'utilitaire make est utilis pour la construction des programmes binaires partir des fichiers sources. Il utilise le fichier Makefile contenant les instructions de compilation excuter pour gnrer les codes binaires. La dure de l'tape de compilation dpend de la taille du programme source compiler. L'un des problmes rencontrs lors de l'installation partir des sources est l'absence des bibliothques et des fichiers en-ttes. Si une bibliothque biblioX est manquante, alors il faut installer le paquetage lib<biblioX> ainsi que le paquetage lib<biblioX>-devel ou lib<biblioX>-dev correspondant. EXEMPLE WGET La compilation du paquetage Wget est lance par : $ make Si la compilation rencontre des erreurs, make se termine. En gnral se sont des erreurs d'absence de fichier en-tte ou de bibliothque. Pour rsoudre ces erreurs, il suffit d'installer les paquetages correspondants et de recompiler l'application.

1.6 Post-compilation
Une fois que la compilation s'est droule sans erreurs, il faut copier les diffrents fichiers dans les rpertoires adquats : les programmes binaires sous le rpertoire bin, les bibliothques sous le rpertoire lib, les fichiers de configuration sous le rpertoire /etc, les pages manuels sous le rpertoire man, etc. Cette copie peut tre automatise par la commande : # make install Il faut disposer du privilge root pour excuter cette commande si, dans l'tape de prcompilation, le script ./configure est excut sans prciser une valeur pour l'option -prefix. Pour nettoyer l'arborescence du rpertoire source des fichiers gnrs par la compilation avant une ventuelle deuxime compilation, la commande suivante est utilise : $ make clean
Ouvrage sous contrat Creative Commons BY-NC-SA p. 124

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE WGET L'installation des diffrents fichiers, rsultats de l'tape de compilation, dans les rpertoires correspondants est effectue par : # make install L'installation place la nouvelle version de wget dans le rpertoire /usr/local/bin. Maintenant deux versions de wget sont disponibles. $ whereis wget wget: /usr/bin/wget /usr/local/bin/wget $ /usr/bin/wget --version GNU Wget 1.10 compil sur linux-gnu. ... $ /usr/local/bin/wget --version GNU Wget 1.12 compil sur linux-gnu. ... $

1.7 Dsinstallation
Pour dsinstaller le logiciel, le paramtre uninstall est utilis. # make uninstall EXEMPLE WGET Dsinstallation de la version de l'utilitaire wget nouvellement install : # make uninstall Il est possible de vrifier la dsinstallation en relanant la commande whereis : $ whereis wget wget: /usr/bin/wget $

2. Sauvegarde
2.1 Concepts
La sauvegarde est une tche importante. Elle doit tre effectue priodiquement sur des machines comportant des donnes sensibles. Les oprations de sauvegarde sont ralises afin de pouvoir :

Ouvrage sous contrat Creative Commons BY-NC-SA p. 125

Prparation lexamen 201 pour la certification LPIC-2

restaurer la totalit d'un systme en tat de fonctionnement suite un incident (disque en panne, feu, ) ; restaurer une partie du systme (un fichier ou un rpertoire) suite une fausse manipulation telle quune suppression accidentelle d'un fichier de configuration.

2.1.1 Types de sauvegarde


Les sauvegardes sont de trois types : sauvegarde complte : consiste sauvegarder la totalit du systme. Elle se traduit par la sauvegarde de tous les fichiers d'un disque ou d'une partition. Elle peut prendre des heures pour s'achever ; sauvegarde diffrentielle : consiste ne sauvegarder que les fichiers modifis en se rfrant une sauvegarde complte prcdemment effectue. Dans ce cas les sauvegardes sont de plus en plus volumineuses, mais une restauration complte ne ncessite que la sauvegarde complte et la dernire sauvegarde diffrentielle ; sauvegarde incrmentale : consiste ne sauvegarder que les fichiers modifis depuis la dernire sauvegarde. La premire sauvegarde incrmentale se rfre une sauvegarde complte et chaque sauvegarde incrmentale joue le rle de rfrence pour la suivante. Dans ce cas les sauvegardes sont de petites tailles et de courtes dures mais la restauration complte ncessite la restauration de toutes les archives. Dans la pratique, on effectue une sauvegarde complte combine avec des sauvegardes diffrentielles ou des sauvegardes incrmentales. Par exemple, on effectue une sauvegarde complte toutes les semaines et des sauvegardes incrmentales (ou diffrentielles) quotidiennes.

2.1.2 Politique de sauvegarde


Chaque systme a besoin d'une politique de sauvegarde qui constitue une composante importante du plan de reprise d'activits en cas de sinistre. La politique de sauvegarde la plus simple doit pouvoir rpondre aux questions suivantes : Quest-ce qui est sauvegard ? On doit sauvegarder tous les fichiers qui changent aprs l'installation du systme et qui contiennent des informations dont on a besoin. Parmi les rpertoires les plus critiques on cite /etc, /home, /var. Quelle est la frquence de sauvegarde ? La frquence de sauvegarde doit tre spcifie pour chaque type de sauvegarde. Le cot est un critre de choix important. Il faut valuer dun ct le cot de la ralisation dune sauvegarde, de lautre le cot du travail qui risque dtre perdu si la sauvegarde nest pas faite, et trouver le meilleur compromis. Quel est le type de sauvegarde ? En gnral on effectue une sauvegarde complte hebdomadaire et des sauvegardes incrmentales ou diffrentielles quotidiennes.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 126

Prparation lexamen 201 pour la certification LPIC-2

Quel est le support de sauvegarde ? Il existe une multitude de supports de sauvegarde tels que le disque dur, le CD-ROM ou DVD-ROM, la cl USB, la sauvegarde rseau, la sauvegarde sur Internet et la bande magntique. Les facteurs dterminants pour le choix du mdia sont : le cot, la capacit et la fiabilit. Le lieu de stockage des supports doit galement tre pris en compte, il ne faut pas ngliger les risques quentrane le fait de stocker tous les supports dans un mme emplacement. NOTES Les sauvegardes sont inutiles si on ne peut pas les restaurer. Une sauvegarde non teste reprsente un risque.

2.2 Utilitaires de sauvegarde


2.2.1 Commande mt
La commande mt contrle une bande magntique. SYNTAXE mt [-f priphrique] opration avec priphrique : le lecteur de la bande, par dfaut c'est /dev/tape parmi les oprations possibles : rewind : rembobiner ; status : afficher l'tat de la bande ; erase : effacer la bande ; offline : embobiner et jecter ; fsf [n] : avancer de n fichiers ; bsf [n] : reculer de n fichiers.

EXEMPLE Pour archiver le rpertoire /var/www sur une bande contenant dj une archive on excute : # # # # mt rewind mt -f /dev/nst0 fsf 1 tar cf /dev/nst0 /var/www mt -f /dev/nst0 offline

Ouvrage sous contrat Creative Commons BY-NC-SA p. 127

Prparation lexamen 201 pour la certification LPIC-2

Pour dsarchiver le deuxime fichier de la bande qui contient l'archive du rpertoire /var/www on excute : # # # # mt rewind mt -f /dev/nst0 fsf 1 tar xf /dev/nst0 mt -f /dev/nst0 offline

2.2.2 Commande tar


La commande tar sauvegarde des fichiers et des rpertoires. Elle utilise les options courtes, les options longues et les cls positionnelles. Dans le cas de l'utilisation des cls positionnelles, ces dernires sont regroupes et leurs arguments respectifs sont regroups et prsents dans le mme ordre que les cls. EXEMPLE Les trois lignes de commandes suivantes sont quivalentes et illustrent l'utilisation des options courtes, des options longues et des cls positionnelles. # tar -c -N "2011-01-14 00:00" -f home.tar /home # tar --create --newer "2011-01-14" --file home.tar /home # tar cNf "2011-01-14" home.tar /home OPTIONS Les options les plus courantes de la commande tar sont : c, -c, --create : cre une archive ; x, -x, --extract : extrait une archive ; t, -t, --list : liste tous les fichiers de l'archive ; f, -f, --file Fichier : prcise le fichier archive qui peut tre un fichier ordinaire ou un priphrique ; z, -z, --gzip : (d)compacte l'archive tar avec gzip ; j, -j, --bzip2 : (d)compacte l'archive tar avec bzip2 ; M, -M, --multi-volume : cre une archive tar multivolumes ; v, -v, --verbose : active le mode d'affichage dtaill. EXEMPLES Le premier exemple illustre les oprations d'archivage et de restauration du rpertoire /home en utilisant une bande magntique comme support de stockage. Archivage du rpertoire /home : # tar cvf /dev/st0 /home
Ouvrage sous contrat Creative Commons BY-NC-SA p. 128

Prparation lexamen 201 pour la certification LPIC-2

Affichage de la liste des fichiers de l'archive : # tar tvf /dev/st0 ... -rw-r--r-- root/root 38031 2011-07-01 17:11 home/hedi/lpi206.odt ... Restauration de tous les fichiers de l'archive # cd / # tar xvf /dev/st0 Restauration seulement du fichier lpi206.odt du rpertoire personnel de l'utilisateur hedi # cd / # tar xvf /dev/st0 home/hedi/lpi206.odt Le deuxime exemple montre comment archiver les fichiers du rpertoire /home dont la date de cration ou de dernire modification est plus rcente que 14 janvier 2011: # tar cvNf "2011-01-14" home.tar /home

2.2.3 Commande cpio


La commande cpio sauvegarde sur la sortie standard les fichiers dont les noms sont fournis par l'entre standard. Elle est toujours utilise avec les mcanismes de redirection et de tube (pipe). Elle peut grer les sauvegardes rparties sur plusieurs volumes. OPTIONS Les options les plus courantes de la commande cpio sont: -i : extrait les fichiers de l'archive ; -o : cre une archive ; -t : affiche une table du contenu de l'entre ; -B : utilise une taille de bloc d'entre/sortie de 5120 octets ; -c : utilise un vieux format d'archive portable ; -v : active le mode d'affichage dtaill. EXEMPLES Le premier exemple sauvegarde et extrait les fichiers du rpertoire /etc en utilisant le fichier etc.cpio comme fichier d'archive. Sauvegarde du rpertoire /etc dans le fichier etc.cpio : # find /etc -print | cpio -ov > etc.cpio
Ouvrage sous contrat Creative Commons BY-NC-SA p. 129

Prparation lexamen 201 pour la certification LPIC-2

Visualisation de la liste des fichiers de l'archive etc.cpio : # cpio -itv < etc.cpio Extraction de tous les fichiers de l'archive : # cpio -iv < etc.cpio Extraction des fichiers /etc/apache2/* de l'archive : # cpio iv '/etc/apache2/*' < etc.cpio Le deuxime exemple sauvegarde les fichiers du rpertoire personnel de l'utilisateur hedi dont la date de dernire modification est plus rcente que celle du fichier lpi206.odt # find /home/hedi -type f -newer lpi206.odt | cpio -ov > hedi.cpio

2.2.4 Utilitaire rsync


rsync (remote synchronization) est un utilitaire de synchronisation de fichiers entre lhte local et un hte distant. Il utilise le protocole de mise jour distance rsync pour acclrer le transfert de fichiers. Il est frquemment utilis pour mettre en place des solutions de sauvegarde distante. Il y a deux manires pour rsync de communiquer avec lhte distant : en utilisant un shell distant comme transport (tel que ssh ou rsh). Le transport par shell distant est utilis chaque fois que le chemin source ou destination contient un sparateur : aprs la spcification de l'hte ; en contactant un dmon rsync directement par TCP. Ceci est utilis lorsque le chemin source ou destination contient un sparateur :: aprs la spcification de l'hte ou lorsqu'une URL rsync:// est spcifie. OPTIONS Les options les plus courantes de la commande rsync sont : -v : active le mode d'affichage dtaill ; -a : active le mode archive, identique -rlptgoD ; -z : compresse les donnes envoyer ; -e commande : spcifie un shell distant ; -n : simule le fonctionnement de la commande ; --delete : supprime les fichiers qui n'existent pas sur lhte metteur. EXEMPLES Les exemples suivants prsentent des utilisations pratiques de l'utilitaire rsync.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 130

Prparation lexamen 201 pour la certification LPIC-2

Synchronisation du rpertoire local /local/monsite avec le rpertoire /var/www de lhte monserveur en utilisant le shell distant ssh : $ rsync -a -v -e "ssh -l hedi" --delete monserveur:/var/www/ /local/monsite Synchronisation du rpertoire /var/www du hte monserveur avec le rpertoire local /local/monsite en utilisant le shell distant ssh: $ rsync -a -v -e "ssh -l hedi" --delete /local/monsite/ monserveur:/var/www Synchronisation du rpertoire local /var/www avec un serveur rsync distant $ rsync -a -v --delete unserveur::www /var/www

2.2.5 Commandes dump et restore


La commande dump sauvegarde un systme de fichiers de type Ext2/Ext3. La commande dump supporte les sauvegardes incrmentales, elle utilise pour cela la notion de niveau d'archive. Le niveau 0 est rserv pour une sauvegarde complte. Un niveau de sauvegarde suprieur 0 correspond une sauvegarde incrmentale relative la dernire sauvegarde de niveau infrieur. Autrement dit, une archive de niveau n (n>0) sauvegarde tous les changements du systme de fichiers depuis la dernire archive de niveau m, m tant le plus grand niveau infrieur n. La squence 0 1 2 3 4 5 6 correspond une sauvegarde complte suivie de sauvegardes incrmentales. Pour restaurer le systme de fichiers il faut commencer par la sauvegarde complte (niveau 0) puis traiter les sauvegardes incrmentales dans l'ordre. Par contre la squence 0 6 6 6 6 6 6 correspond une sauvegarde complte suivie de sauvegardes incrmentales relatives la sauvegarde complte (des sauvegardes diffrentielles). Pour restaurer le systme de fichiers il faut restaurer la sauvegarde complte et seulement la dernire incrmentale. dump utilise le fichier /var/lib/dumpdates (ou /etc/dumpdates) pour enregistrer les informations sur les archives effectues : le systme de fichiers, le niveau et la date. La commande dump supporte les options courtes, les options longues et les cls positionnelles. OPTIONS Les options les plus courantes de la commande dump sont : -Niveau : spcifie le niveau de l'archive. La valeur 0 prcise une sauvegarde complte, une valeur diffrente de 0 prcise une sauvegarde incrmentale ; -u : mise jour du fichier dumpdates ; -f fichier : spcifie le fichier archive. Par dfaut c'est /dev/st0. La valeur - est utilise pour la sortie standard ; -L tiquette : ajoute une tiquette dans l'en-tte de l'archive ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 131

Prparation lexamen 201 pour la certification LPIC-2

-A fichier : cre un fichier contenant la liste des fichiers de l'archive. La commande restore extrait des fichiers, des rpertoires ou la totalit du systme de fichiers d'une archive cre par dump. Elle possde un mode de fonctionnement interactif permettant de naviguer dans l'arborescence de l'archive et de slectionner les fichiers extraire. OPTIONS Les options les plus courantes de la commande restore sont : -i : lance la commande en mode interactif ; -f fichier : spcifie le fichier archive ; -r : extrait le contenu de toute l'archive dans le rpertoire courant ; -t : liste le contenu du fichier archive. Les commandes les plus courantes du mode interactif sont : ls : liste le contenu du rpertoire ; cd [rpertoire] : change le rpertoire courant de l'archive ; pwd : affiche le rpertoire courant de l'archive ; add [fichier] : ajoute un fichier la liste des fichiers extraire ; delete [fichier] : supprime un fichier de la liste des fichiers extraire ; extract : extrait les fichiers prciss par la commande add ; quit : quitte le mode interactif ; what EXEMPLES L'exemple suivant suppose que le rpertoire /var/www se trouve dans une partition part. Priodiquement (chaque semaine par exemple) on effectue une sauvegarde complte suivie de plusieurs sauvegardes incrmentales. Pour faire la sauvegarde complte du systme de fichiers /var/www : # dump 0uf /dev/st0 /var/www Pour faire la premire sauvegarde incrmentale : # dump 1uf /dev/st0 /var/www Pour faire la deuxime sauvegarde incrmentale : # dump 2uf /dev/st0 /var/www : liste les informations d'en-tte de la commande dump ; help ou ? : affiche l'aide des commandes du mode interactif.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 132

Prparation lexamen 201 pour la certification LPIC-2

et ainsi de suite pour les sauvegardes incrmentales suivantes. Pour lister le contenu de la sauvegarde : # restore -tf /dev/st0 Pour restaurer tout le systme de fichiers /var/www on se dplace vers le rpertoire /var/www :

# cd /var/www puis on charge la dernire bande contenant une sauvegarde complte et on excute :

# restore -rf /dev/st0 Le fichier ./restoresymtable est cr. Il contient des informations utiles pour la restauration des sauvegardes incrmentales. Il ne faut supprimer ce fichier qu'aprs avoir termin la restauration. Dans le cas o on a besoin de sauvegarder tout le systme, il faut sauvegarder tous les systmes de fichiers qui le composent. Si par exemple le systme sauvegarder est compos des systmes de fichiers /, /usr, /home et /var alors il faut taper successivement les commandes suivantes : # # # # dump dump dump dump 0uf 0uf 0uf 0uf /dev/st0 /dev/st0 /dev/st0 /dev/st0 / /usr /home /var

2.2.6 Commande dd
La commande dd permet de faire une copie bloc par bloc. Elle est adapte pour la duplication des priphriques de stockage tels qu'un disque, une partition, etc. Elle n'est pas adapte pour sauvegarder un systme de fichiers car les donnes peuvent changer lors de la lecture, ce qui causera une incohrence dans la sauvegarde. SYNTAXE dd if=fichier-entre of=fichier-sortie bs=taille count=nb avec if : spcifie le fichier source, par dfaut c'est le fichier entre standard ; of : spcifie le fichier destination, par dfaut c'est le fichier sortie standard ; bs : spcifie la taille des blocs, par dfaut c'est 512 octets ; count : spcifie le nombre de blocs copier, par dfaut c'est autant de blocs quen contient fichier-entre.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 133

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLES Les exemples suivants prsentent des utilisations pratiques de la commande dd. Sauvegarde de la deuxime partition du premier disque sur la bande magntique : # dd if=/dev/sda2 of=/dev/st0 Restauration de la deuxime partition du premier disque partir de l'archive prcdemment sauvegarde sur la bande magntique : # dd if=/dev/st0 of=/dev/sda2 Sauvegarde du MBR (premier secteur) du premier disque dans le fichier /tmp/mbr.img : # dd if=/dev/sda of=/tmp/mbr.img bs=512 count=1 Restauration du MBR du premier disque prcdemment sauvegard dans le fichier /tmp/mbr.img : # dd if=/tmp/mbr.img of=/dev/sda bs=512 count=1 Cration d'un fichier vide d'une certaine taille, par exemple 100 Mo, afin de l'associer un priphrique loop # # # # dd if=/dev/zero of=/tmp/disk1.img bs=1M count=100 losetup /dev/loop0 /tmp/disk1.img mkfs -t ext2 /dev/loop0 mount -t ext2 /dev/loop0 /mnt/disk1

2.3 Solutions de sauvegarde


Les solutions de sauvegarde grent les oprations de sauvegarde, de restauration et de vrification de donnes de diffrents systmes tels que Linux, MacOS, Windows, etc. Elles fonctionnent en rseau selon le modle client/serveur en utilisant des protocoles de transfert de fichiers tels que NFS, SSH, SMB, etc. Ces solutions sont relativement faciles utiliser, efficaces et offrent de nombreuses fonctions avances de gestion de sauvegarde. Bacula, Amanda et BackupPC sont des solutions de sauvegarde libres distribues sous licence GPL. Elles sont considres comme des alternatives viables aux solutions de sauvegarde propritaires.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 134

Prparation lexamen 201 pour la certification LPIC-2

3. Exercices
1. On vient de compiler une application partir des codes sources. Quelle est la commande qui permet d'installer cette application via le fichier Makefile ? 2. configure make make depend make install install

Quel est le problme le plus probable si la compilation d'un programme s'effectue avec succs mais l'installation de ses fichiers binaires prsente des erreurs de permission ? Les droits d'accs du rpertoire /usr/bin sont errons Un prfixe erron est utilis lors de la configuration ou n'est pas dfinit d'une manire propre lors de l'tape de compilation. Les fichiers binaires doivent tre installs dans un rpertoire o seul l'utilisateur root peut crire

3.

Quel est le type de sauvegarde si chaque semaine on effectue les commandes suivantes : dimanche : # dump 0uf /dev/st0 /home lundi : # dump 1uf /dev/st0 /home mardi : # dump 2uf /dev/st0 /home ... samedi : # dump 6uf /dev/st0 /home Sauvegarde partielle Sauvegarde diffrentielle Sauvegarde incrmentale Sauvegarde complte

4.

Quelle est la commande qui permet de dsarchiver le fichier archive.tar.gz ? tar tvf archive.tar.gz tar xvf archive.tar.gz tar cjf archive.tar.gz
Ouvrage sous contrat Creative Commons BY-NC-SA p. 135

Prparation lexamen 201 pour la certification LPIC-2

5.

tar xjf archive.tar.gz tar xzf archive.tar.gz

Quels sont les types de systme de fichiers qui n'ont pas besoin d'tre sauvegards ? reiserFS swap ext2 ext3 /proc

Ouvrage sous contrat Creative Commons BY-NC-SA p. 136

Prparation lexamen 201 pour la certification LPIC-2

Chapitre 7. Service DNS


Objectifs Configuration lmentaire d'un serveur DNS : configurer BIND pour fonctionner comme un serveur de cache ; grer un serveur en excution et configurer les fichiers journaux. Cration et maintenance des fichiers de zone : crer un fichier de zone pour une rsolution directe, une rsolution inverse ou un serveur de niveau racine ; paramtrer les valeurs appropries des enregistrements de ressources d'une zone ; dlguer des zones d'autres serveurs DNS. Scurisation d'un serveur DNS : configurer un serveur DNS afin quil s'excute dans le contexte d'un utilisateur non root et dans un environnement enferm (chrooted environnement) ; configurer des serveurs DNS pour qu'ils s'changent les donnes d'une manire scurise. Fichiers de configuration, vocabulaire et utilitaires de BIND9. Localisation des fichiers de zone partir des fichiers de configuration. Rechargement des fichiers de configuration et de zone aprs modification. Utilitaires dinterrogation partir d'un serveur DNS. Diffrentes mthodes d'ajout de nouveaux htes dans les fichiers zones en incluant les zones inverses. Configuration de BIND9 pour quil sexcute dans un environnement enferm. Scurisation des changes de donnes. named, named.conf, rndc, rndc.conf, kill, host, nslookup, dig, namedcheckconf, named-checkzone, dnssec-keygen, dnssec-signzone, format des fichiers de zone, formats des enregistrements de ressources, DNSSEC, TSIG, ACL, chroot

Points importants

Mots cls

Ouvrage sous contrat Creative Commons BY-NC-SA p. 137

Prparation lexamen 201 pour la certification LPIC-2

1. Concepts
Le service DNS assure, principalement, la conversion de noms de domaine en adresses IP et la dtermination d'un serveur de messagerie pour une adresse lectronique. Le service DNS d'Internet est un systme distribu constitu de l'ensemble des serveurs DNS.

1.1 Domaine et dlgation


Les noms de domaines sont organiss sous la forme d'une arborescence o les nuds correspondent aux noms des domaines et les feuilles aux noms des htes (figure 11).
Figure 11. Arborescence des noms de domaine

Chaque domaine appartient un domaine de niveau suprieur et peut contenir des sousdomaines. Au sommet de l'arbre se trouve le domaine racine (dsign par . ) et au premier niveau se trouve les domaines de haut niveau (TLD : Top Level Domains). Les TLD sont de deux types : ! les domaines de haut niveau gnriques (gTLD : generic Top Level Domains) tels que .com, .org, .net, etc. ; ! les domaines de haut niveau relatifs aux codes des pays (ccTLD : country code Top Level Domains) tels que .tn, .fr, .ca, .uk, .us, etc. Au niveau Internet, les htes sont dsigns par des noms de domaine compltement qualifis (FQDN : Fully qualified domain name). Par abus de langage nom de domaine
Ouvrage sous contrat Creative Commons BY-NC-SA p. 138

Prparation lexamen 201 pour la certification LPIC-2

est utilis pour dsigner un FQDN. La gestion de tous les domaines est organise d'une manire hirarchique en appliquant le mcanisme de dlgation. En effet un organisme autoritaire sur un domaine peut dlguer la gestion et la responsabilit d'un sous domaine un autre organisme. L'ICANN (Internet Corporation for Assigned Numbers and Names) est l'organisme autoritaire du domaine racine. L'ICANN dlgue la gestion des domaines gTLD des organismes accrdits et les domaines ccTLD aux pays correspondants. Par exemple, le nom de domaine www.auf.org se compose de deux parties www et auf.org . Le nom de domaine auf.org a t dlgu l'Agence universitaire de la Francophonie (AUF) par un organisme accrdit de niveau gTLD grant .org . Ce dernier a t son tour dlgu par l'ICANN. La partie www correspond un nom d'hte attribu par l'AUF, l'organisme autoritaire du domaine auf.org .

1.2 Organisation et structure


Les serveurs DNS d'Internet refltent la structure de dlgation dcrite plus haut. En effet il existe un serveur DNS chaque niveau de la hirarchie de dlgation. Les serveurs DNS racines (root DNS) sont sous la responsabilit de l'ICANN. Il existe plusieurs serveurs racines rpartis sur Internet. Ces serveurs doivent tre connus par tous les serveurs DNS publics car ils reprsentent le point de dpart des oprations de recherche. Les serveurs DNS TLD (gTLD ou ccTLD) sont grs par des agences ou des organismes tels que l'Agence franaise pour le nommage Internet en coopration (AFNIC) pour le domaine .fr et l'Agence tunisienne d'Internet (ATI) pour le domaine .tn .

1.3 Fichiers de zone


Les donnes relatives un domaine sont formes d'un ensemble d'enregistrements de ressources qui sont stocks dans des fichiers de zone. Ces enregistrements contiennent : les donnes prcisant le sommet de la zone et numrant les proprits gnrales de celle-ci. C'est l'enregistrement de type SOA ; les donnes autorit pour tous les nuds ou htes de la zone. Typiquement c'est les enregistrements A (IPv4) ou AAAA (Ipv6) ; les donnes dcrivant les informations globales de la zone telles que les enregistrements MX pour les serveurs de messagerie et les enregistrements NS pour les serveurs DNS ; dans le cas d'une dlgation d'un sous domaine, un ou plusieurs enregistrements de type NS seront recenss permettant d'atteindre les serveurs DNS de ce sous domaine. Le format des fichiers de zone ainsi que les formats des diffrents types d'enregistrements des ressources seront dtaills plus loin.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 139

Prparation lexamen 201 pour la certification LPIC-2

1.4 Rsolution de noms


Lorsqu'une application rseau veut communiquer en utilisant un nom de domaine, elle demande la rsolution de la correspondance IP l'application client DNS locale (resolver). D'aprs la configuration (/etc/resolv.conf), le resolver consulte le DNS adquat pour assurer cette correspondance. Les tapes suivantes dcrivent le processus de rsolution du nom de domaine www.exemple.com . Le client DNS de l'hte envoie la requte de rsolution du nom de domaine www.exemple.com au serveur DNS local ; Le serveur DNS local cherche l'information dans sa table locale (cache). Si l'information existe, le serveur envoie la rponse vers le client DNS et le traitement de la requte est termin. Sinon, le processus de rsolution de nom se poursuit avec les tapes suivantes : La requte est envoye vers un serveur racine qui renvoie l'adresse d'un serveur TLD grant le domaine .com ; La requte est envoye au serveur TLD .com qui renvoie l'adresse du serveur DNS grant le domaine exemple.com ; La requte est envoye au serveur DNS grant exemple.com qui envoie la rponse vers le client DNS.
Figure 12. Rsolution rcursive

La rsolution est dite rcursive (figure 12) si les requtes des tapes 3, 4 et 5 sont
Ouvrage sous contrat Creative Commons BY-NC-SA p. 140

Prparation lexamen 201 pour la certification LPIC-2

envoyes par le serveur local. Elle est dite itrative (figure 13) si ces requtes sont envoyes par le client DNS lui-mme.
Figure 13. Rsolution itrative

2. Dmon named
Le dmon named est le serveur DNS fourni par le paquetage BIND (Berkeley Internet Name Domain). L'Universit de Berkeley est l'origine de BIND mais, actuellement, c'est lInternet System Consortium (ISC) qui assure sa maintenance. Le fichier de configuration principal de named est named.conf (sous /etc/ ou /etc/bind/). La structure, le format et le contenu de ce fichier seront dtaills dans la section Fichier de configuration named.conf Une fois lanc, named enregistre son numro de processus (PID : Process IDentifier) dans le fichier /var/run/named.pid.

2.1 Syntaxe et options


SYNTAXE La syntaxe de lancement du dmon named est : named [option ]
Ouvrage sous contrat Creative Commons BY-NC-SA p. 141

Prparation lexamen 201 pour la certification LPIC-2

OPTIONS Les options les plus courantes de named sont : -c fichier : spcifie un fichier de configuration autre que named.conf ; -d niveau-debogage : prcise le niveau de dbogage ; -n nombre-CPU : cre nombre-CPU processus lgers (threads). Par dfaut named dtermine le nombre de CPU et cre autant de threads. S'il n'y arrive pas, un seul thread est cr ; -p port : indique le numro de port d'coute du serveur, par dfaut c'est le port 53 ; -u utilisateur : spcifie le contexte de l'utilisateur dans lequel sera excut le dmon. Cette option sera traite plus en dtail dans la section 8.1 Environnement enferm ; -t rpertoire : spcifie le rpertoire racine pour une excution dans un environnement enferm (chroot environment). Cette option sera traite plus en dtail dans la section 8.1 Environnement enferm ; -v : affiche la version.

2.2 Signaux
Le dmon named ragit certains signaux (envoys par la commande kill) d'une manire particulire : SIGHUP : le dmon relit le fichier de configuration ainsi que les fichiers de zone ; SIGINT et SIGTERM : le dmon s'arrte normalement. Dans un fonctionnement normal, l'utilisation de la commande rndc (voir plus loin) est prfre aux envois de signaux.

2.3 Dmarrage et arrt


Pour dmarrer ou arrter le dmon named, la majorit des distributions Linux utilisent les scripts RC ou des commandes quivalentes. Les lignes de commandes qui suivent sont utilises pour les distributions Debian et drives : # /etc/init.d/bind9 {start|stop|reload|restart|force-reload|status} # # ceci est quivalent : # invoke-rc.d bind9 {start|stop|reload|restart|force-reload|status} Les commandes quivalentes pour les distributions Red Hat et drives sont : # /etc/init.d/named {start|stop|reload|restart|force-reload|status} # # ceci est quivalent : # service named {start|stop|reload|restart|force-reload|status}

Ouvrage sous contrat Creative Commons BY-NC-SA p. 142

Prparation lexamen 201 pour la certification LPIC-2

3. Fichier de configuration named.conf


named.conf est le fichier de configuration principal du serveur DNS BIND. Il est le premier fichier lu par named. La directive include permet de rpartir la configuration sur plusieurs fichiers pour des fins de clart ou d'organisation.

3.1 Structure et format


named.conf est structur en clauses regroupant chacune un ensemble d'instructions sous la forme d'un bloc. Il faut imprativement respecter la syntaxe du fichier qui peut tre rsume par les rgles suivantes : une instruction se termine par ; ; un bloc d'instruction dbute par { et se termine par }; ; un commentaire est crit sous l'une des formes suivantes : /* commentaire au style C */ // commentaire au style C++ # commentaire au style PERL/SHELL Les clauses les plus usuelles sont : acl : dfinit des groupes de machines ou d'utilisateurs identifis par leurs cls, qui seront rfrences dans d'autres clauses ou instructions ; controls : dcrit et contrle l'administration de named par l'utilitaire rndc ; key : dfinit les cls utilises pour les oprations de contrle et d'authentification telles que l'utilisation de l'utilitaire rndc ou les mises jour dynamiques ; logging : configure l'emplacement, le niveau et le type de journalisation ; options : regroupe les instructions contrlant le comportement gnrique ou global et ayant un effet sur toutes les zones ; server : dfinit le comportement et les proprits du serveur lorsqu'il accde ou rpond aux serveurs de noms distants ; trusted-keys : contient des cls publiques utilises pour des oprations de DNS scuris (DNSSEC) ; view : contrle le comportement et les fonctionnalits de named en se basant sur les adresses IP des htes ; zone : dfinit la zone supporte par le serveur. Le fichier named.conf est gnralement sous la forme : // dfinition des ACL acl "nomACL" {...}; // configuration de la journalisation logging {...};
Ouvrage sous contrat Creative Commons BY-NC-SA p. 143

Prparation lexamen 201 pour la certification LPIC-2

// dfinition des options globales options {...}; // dclaration des zones prdfinies zone {...}; ... // dclaration des zones rsoudre zone {...} ; ...

3.2 Journalisation
Par dfaut, named envoie les messages standard au dmon rsyslog, qui les enregistre dans le fichier /var/log/messages. La clause logging permet de paramtrer les oprations de journalisation. Elle comporte plusieurs instructions, dont channel et category sont les plus importantes. L'instruction channel dfinit la destination des messages de journalisation et l'instruction category dtermine l'information journaliser. EXEMPLE Le paramtrage de la clause logging suivante configure named de faon ce quil envoie les messages de dbogage relatifs aux requtes DNS vers le fichier /var/log/query.log. logging { channel query.log { file "/var/log/query.log"; severity debug 3; // les valeurs de debug sont 1(par dfaut),2 et 3 }; category queries { query.log; }; };

3.3 Zones particulires


Le fichier named.conf inclut par dfaut la dclaration des zones particulires racine, localhost et 127.in-addr.arpa : le fichier de la zone racine, dsign par . et de type hint, contient la liste des serveurs interroger lorsqu'un serveur de nom n'arrive pas rsoudre une requte ; la zone localhost permet la rsolution du nom localhost l'adresse de boucle locale 127.0.0.1 lors de l'utilisation du serveur DNS ; la zone 127.in-addr.arpa assure la rsolution inverse de l'adresse de boucle locale 127.0.0.1 .

Ouvrage sous contrat Creative Commons BY-NC-SA p. 144

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE La portion du fichier named.conf qui suit illustre la dclaration de ces zones particulires. zone "." { type hint; file "/etc/bind/db.root"; }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; };

4. Configurations types
Il existe plusieurs manires de configurer un serveur DNS. Les configurations types les plus frquentes sont : un serveur matre (master), un serveur esclave (slave), un serveur de cache (caching only) et un serveur de retransmission (forwarding). Dans la pratique, la configuration d'un serveur DNS est forme d'une combinaison de ces configurations types. En effet un serveur de noms peut tre configur pour fonctionner comme matre pour certaines zones, esclave pour d'autres et fournir le service de cache ou de retransmission pour tout le reste. NOTE Le paramtre de zone type nest pas seul dfinir le type de configuration d'un serveur DNS. Il existe en effet d'autres paramtre tels que : forward, forwardes, etc.

4.1 Serveur matre


Un serveur de nom matre dfinit le fichier de la zone sur laquelle il fait autorit. Cette autorit a t dlgue ce dernier, travers l'enregistrement NS, par le serveur de niveau suprieur. EXEMPLE La portion suivante du fichier named.conf configure BIND comme serveur matre (type master) pour la zone exemple.com dont les enregistrements seront stocks dans le fichier /etc/bind/db.exemple.com. L'instruction notify no indique que BIND ne doit pas notifier les serveurs esclaves lors du changement du fichier de zone. Par dfaut, BIND notifie les serveurs esclaves prciss dans les enregistrements NS.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 145

Prparation lexamen 201 pour la certification LPIC-2

zone "exemple.com" { type master; notify no; file "/etc/bind/db.exemple.com"; };

4.2 Serveur esclave


Un serveur de nom esclave rcupre ses donnes de zone moyennant l'opration de transfert de zone partir du serveur matre et rpond en tant que serveur autoritaire aux requtes concernant cette zone. Il est impossible de dterminer si la rponse d'une requte provient du serveur matre de la zone ou de l'un de ses esclaves. Pour une zone donne, il y a obligatoirement un serveur matre et ventuellement un ou plusieurs serveur esclaves. EXEMPLE La portion suivante du fichier named.conf configure BIND comme serveur esclave (type slave) pour la zone exemple.com dont les donnes seront rcupres partir du serveur prcis par l'instruction masters {}. L'instruction file est optionnelle, elle permet au serveur esclave de sauvegarder les donnes de la zone sur le disque afin de les utiliser en cas de redmarrage. zone "exemple.com" { type slave; file "/var/cache/bind/db.exemple.com"; masters { 192.168.1.1; }; // adresse IP du serveur matre }; Le fichier de configuration du serveur matre doit tre rectifi pour autoriser le transfert de zone vers le(s) serveur(s) esclave(s) en ajoutant l'instruction allow-transfer {...}: zone "exemple.com" { type master; file "/etc/bind/db.exemple.com"; allow-transfer { 192.168.1.2; }; // liste des adresses IP des // serveurs esclaves };

4.3 Serveur de cache


Un serveur de cache rcupre les informations partir du serveur matre de la zone contenant l'information et sauvegarde (cache) les donnes localement. la prochaine requte pour la mme information, le serveur de cache rpondra en utilisant les donnes dj sauvegardes. Si la dur de vie (TTL : Time To Live) de l'information expire, le
Ouvrage sous contrat Creative Commons BY-NC-SA p. 146

Prparation lexamen 201 pour la certification LPIC-2

serveur de cache refait l'opration de rcupration de l'information. En gnral la configuration d'un serveur de cache est utilise dans les cas suivants : un serveur agissant comme matre ou esclave d'une ou plusieurs zones et comme serveur de cache pour le reste des requtes ; un serveur local de cache seulement : typiquement utilis pour minimiser le trafic extrieur ou compenser les liens externes de faible dbit. Dans ce cas, il est dsign par serveur proxy DNS . NOTE La rponse d'une requte est dite autoritaire si la rponse est reue : d'un serveur matre de la zone ; d'un serveur esclave de la zone avec des informations non encore expires (non timeexpired) ; par l'intermdiaire d'un serveur de cache qui vient de la rcuprer partir d'un serveur matre ou d'un serveur esclave. Si la rponse est lue partir du cache, elle n'est pas autoritaire. EXEMPLE La portion suivante du fichier named.conf configure BIND comme serveur de cache : forwarders { 10.1.1.1; // par exemple : premier serveur DNS du FAI 10.1.1.2; // deuxime serveur DNS du FAI };

4.4 Serveur de retransmission


Un serveur de retransmission est un serveur qui transfert toutes les requtes un autre serveur DNS supportant les rsolutions rcursives. Un serveur de retransmission est utilis : en cas de connexion lente au rseau Internet ; pour simplifier l'administration locale, en limitant les changements du paramtre serveurs DNS distants un seul hte (serveur de retransmission) au lieu de le modifier pour tous les htes du rseau local ; comme un composant dans la configuration d'un service DNS segment pour des fins de scurit. BIND peut tre configur comme serveur de retransmission en utilisant les instructions forward et forwards dans la section options (niveau global) ou dans la section zone (niveau domaine).

Ouvrage sous contrat Creative Commons BY-NC-SA p. 147

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLES La portion du fichier de configuration named.conf suivante illustre une retransmission globale : options { ... forwarders {10.0.0.1; 10.0.0.2;}; forward only; }; ... La portion du fichier de configuration named.conf suivante illustre une retransmission de niveau domaine pour la zone exemple.com : zone "exemple.com" IN { type forward; forwarders {192.168.1.1; 192.168.1.2;}; };

5. Fichier de zone
Un fichier de zone contient les enregistrements de ressources (RR : resource records) d'un espace de noms. Le nom et l'emplacement d'un fichier de zone est spcifi par l'instruction file de la clause zone du fichier named.conf.

5.1 Format d'un fichier de zone


Le format d'un fichier de zone peut se rsumer par les points suivants : un fichier de zone contient des commentaires, des directives et des enregistrements de ressources ; un commentaire commence par ; et continue jusqu' la fin de la ligne ; une directive commence par $ . Les directives les plus courantes sont : $ORIGIN : dfinit le nom de base qui sera concatn tous les enregistrements non totalement qualifis, $INCLUDE : inclut le fichier spcifi l'endroit o apparat la directive, $TTL : rgle la valeur par dfaut de la dure de vie (TTL : Time To Live) pour la zone. Elle doit tre prsente et doit figurer avant le premier enregistrement ;

le premier enregistrement de ressource doit tre SOA (Start Of Authority) ; le format gnral d'un enregistrement est : nom ttl classe type valeur o nom : nom (ou label) du nud dans le fichier de zone auquel appartient cet
Ouvrage sous contrat Creative Commons BY-NC-SA p. 148

Prparation lexamen 201 pour la certification LPIC-2

enregistrement. La valeur @ indique que la valeur de $ORIGIN sera utilise et un blanc ou une tabulation indique que le dernier nom cit sera utilis. ttl : dure de vie (en seconde) de l'enregistrement dans un cache. La valeur 0 indique que l'enregistrement ne doit pas tre maintenu dans un cache ; classe : dfinit la famille du protocole. La valeur normale est IN (INternet protocol) ; type : type de l'enregistrement de ressource ; valeur : valeur de l'enregistrement qui dpend du type et de la classe.

5.2 Format des enregistrements de ressources


Les types d'enregistrement de ressources les plus frquemment utiliss sont : A, CNAME, MX, NS, PTR, SOA. Les formats de ces types sont dtaills dans les paragraphes qui suivent. A (Address) : l'enregistrement de type adresse spcifie une adresse IP associer un nom d'hte selon le format nom ttl IN A ip . Si le nom d'hte n'est pas spcifi l'adresse IP indique sera associe au dernier nom (ou label). EXEMPLE Dans l'exemple qui suit, l'adresse 192.168.1.10 est associe au nom serveur1.exemple.com et les adresses 192.168.1.20 et 192.168.1.21) au nom mail.exemple.com . Pour le nom mail.exemple.com , named rpond par dfaut : (192.168.1.20, 192.168.1.21) et (192.168.1.21, 192.168.2.20) tour de rle. $ORIGIN exemple.com. ;nom ttl classe typeip serveur1 IN A 192.168.1.10 mail IN A 192.168.1.20 IN A 192.168.1.21 CNAME (Canonical NAME) : l'enregistrement de type nom canonique (ou alias) permet d'attribuer un deuxime nom au nom rel de l'hte, qui peut tre dans un autre domaine, selon le format nom ttl IN CNAME nomRelle . EXEMPLE L'exemple qui suit attribue les alias www.exemple.com et irc.exemple.com l'hte serveur1.exemple.com et l'alias ftp.exemple.com un hte de nom appartenant un autre domaine. $ORIGIN exemple.com. ;nom ttl classe typenomRelle www IN CNAME serveur1.exemple.com irc IN CNAME serveur1.exemple.com ftp IN CNAME serveur.un.autre.domaine

Ouvrage sous contrat Creative Commons BY-NC-SA p. 149

Prparation lexamen 201 pour la certification LPIC-2

MX (Mail eXchange) : l'enregistrement de type MX spcifie les noms et les prfrences des serveurs de messagerie de la zone. Il est utilis par les applications agents de messagerie (mail agents) pour router les courriers lectroniques du domaine. Le format de l'enregistrement de type MX est : nom ttl IN MX prfrence nom . EXEMPLE D'aprs l'exemple qui suit, les courriers lectroniques du domaine exemple.com sont routs vers lhte mail.exemple.com . Si ce dernier n'est pas disponible (arrt, drang ou en panne) alors les courriers seront routs vers mail2.exemple.com . $ORIGIN exemple.com. ;nom ttl classe typeprf. nom IN MX 10 mail ;forme courte ; ceci est quivalent ; exemple.com. IN MX 10 mail.exemple.com. IN MX 20 mail2.exemple.com. NS (Name Server) : l'enregistrement de type serveur de noms dfinit les serveurs de noms autoritaires de la zone. En gnral, Il est situ juste aprs l'enregistrement SOA et il est utilis aussi pour dfinir les dlgations des sous domaines. Le format de l'enregistrement NS est : nomDomaine ttl IN NS nom . EXEMPLE La configuration qui suit dclare les htes dns.exemple.com et dns2.exemple.com comme les serveurs DNS de la zone exemple.com et dlgue la gestion du sousdomaine sd.exemple.com au serveur DNS dns.sd.exemple.com . $ORIGIN exemple.com. SOA ... ;nom ttl classe typenom IN NS dns.exemple.com. IN NS dns2.exemple.com. dns IN A 192.168.1.1 dns2 IN A 192.168.1.2 ;sd.exemple.com est un sous domaine exemple.com $ORIGIN sd.exemple.com. IN NS dns.sd.exemple.com. ... dns IN A 192.168.2.1 ;ou sans utiliser la directive $ORIGIN ;sd.exemple.com. IN NS dns.sd.exemple.com. ;dns.sd.exemple.com. IN A 192.168.2.1 PTR (PoinTeR) : l'enregistrement de type PTR sert la rsolution inverse des noms selon le format : nomARPA ttl IN PTR nom .
Ouvrage sous contrat Creative Commons BY-NC-SA p. 150

Prparation lexamen 201 pour la certification LPIC-2

EXEMPLE D'aprs l'exemple qui suit, l'adresse ip 192.168.1.10 sera retourne pour une recherche inverse pour lhte serveur1.exemple.com . $ORIGIN 1.168.192.IN-ADDR.ARPA. ... ;nomARPA ttl classe typenom 10 IN PTR serveur1.exemple.com. ... SOA (Start of Authority) : l'enregistrement de type SOA dfinit les paramtres globaux de la zone (domaine). Il existe un seul enregistrement de type SOA par fichier de zone. Ces paramtres sont : serveur : nom du serveur de noms ; e-mail : courriel du responsable du domaine ; nSerie : numro de srie du fichier de zone qui sera incrment chaque modification ; raf : priode d'envoi des demandes de rafrachissement par un serveur esclave vers un serveur matre ; ret : priode de retransmission des demandes de rafrachissement si le serveur matre ne rpond pas ; exp : dure au bout de laquelle, si le serveur matre ne rpond pas une demande de rafrachissement, le serveur esclave cesse de rpondre aux requtes en tant quautoritaire ; ttl : dure minimale que doit passer une information de cette zone dans un serveur de cache. Le format d'un enregistrement SOA est : nom ttl IN SOA serveur e-mail (nSerie raf ret exp ttl) . EXEMPLE La configuration qui suit dfinit les paramtres globaux de la zone exemple.com . $ORIGIN exemple.com. ;name ttl classe typeserveur e-mail (nSerie raf ret exp ttl) IN SOA dns.exemple.com. root.exemple.com. ( 2011092800 ; nSerie 172800 ; ou 2d ? raf = 2 jours 900 ; ou 15m? ret = 15 minutes 1209600 ; ou 2w ? exp = 2 semaines 3600 ; ou 1h ? ttl = 1 heure ) ; Les lignes qui suivent sont aussi quivalentes:
Ouvrage sous contrat Creative Commons BY-NC-SA p. 151

Prparation lexamen 201 pour la certification LPIC-2

;@ ;exemple.com.

IN SOA dns.exemple.com. root.exemple.com. ( ...) IN SOA dns.exemple.com. root.exemple.com. ( ...)

6. Utilitaire rndc
L'utilitaire rndc (remote name daemon control) est utilis pour administrer le dmon named de l'hte local ou d'un hte distant. Il communique avec named d'une manire scurise travers une connexion TCP, par dfaut sur le port 953. Le fichier de configuration de rndc est rndc.conf. Si le fichier n'existe pas, l'utilitaire utilise la cl localise dans le fichier rndc.key.

6.1 Paramtrage de named.conf


Par dfaut, l'administration de dmon named par rndc est autorise pour les connexions locales. Pour les connexions distantes, il faut rajouter la clause controls au fichier de configuration named.conf. EXEMPLES La clause controls dcrite dans l'exemple qui suit demande named (s'excutant sur le hte 192.168.1.1 ) d'autoriser les commandes rndc provenant de l'hte 192.168.1.20 , si la cl adquate est donne. controls { inet 192.168.1.1 allow { 192.168.1.20; } keys {<nomCl-192.168.1.1>;}; }; <nomCl> fait rfrence la clause key du fichier de configuration named.conf. L'exemple suivant illustre une clause key utilisant l'algorithme HMAC-MD5. key "<nomCl-192.168.1.1>" { algorithm hmac-md5; secret "<valeurCl-192.168.1.1>"; };

6.2 Paramtrage de rndc.conf


Le fichier de configuration rndc.conf possde une structure et une syntaxe similaires au fichier named.conf mais il est plus simplifi que ce dernier. Il utilise les trois clauses : options, server et key. La clause key reprsente la clause la plus importante, elle a la mme syntaxe que celle de named.conf. Le nom de la cl ainsi que sa valeur doivent tre identiques ceux du fichier named.conf.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 152

Prparation lexamen 201 pour la certification LPIC-2

NOTE La commande rndc-confgen gnre les fichiers de configuration de l'utilitaire rndc. Elle peut tre utilise comme une alternative l'dition manuelle du fichier rndc.conf et aux clauses controls et key correspondantes dans le fichier named.conf. EXEMPLE Le fichier de configuration rndc.conf suivant permet l'utilitaire rndc de contrler le dmon named distant d'adresse 192.168.1.1 en utilisant la cl <nomCl-192.168.1.1>. key "<nomCl-192.168.1.1>" { algorithm hmac-md5; secret "<valeurCl-192.168.1.1>"; }; server 192.168.1.1{ key "<nomCl-192.168.1.1>"; };

6.3 Syntaxe et options


La syntaxe gnrale de l'utilitaire rndc est : rndc [option ...] commande [option-commande ...] Les options les plus utilises sont : -c fichier : spcifie un fichier de configuration autre que rndc.conf; -p port : spcifie un autre numro de port ; -s serveur : spcifie un serveur autre que le serveur par dfaut (default-server) ; -y cl : spcifie une cl autre que celle par dfaut (default-key). Les sous commandes de rndc sont : halt : arrte immdiatement le service named ; Querylog : enregistre toutes les requtes effectues auprs du serveur de noms ; Refresh : rafrachit la base de donnes du serveur ; Reload : recharge les fichiers de zone mais conserve toutes les rponses prcdemment mises en cache. Cette commande permet galement d'apporter des changements aux fichiers de zone sans perdre toutes les rsolutions de noms stockes. Si les changements n'affectent qu'une zone particulire, il est possible de recharger seulement cette zone en ajoutant le nom de la zone aprs la commande reload ; Stats : vide les statistiques courantes de named vers le fichier /var/named/named.stats ; stop : arrte correctement le serveur, en enregistrant pralablement toutes les mises jour dynamiques et toutes les donnes des transferts de zone incrmentaux (IXFR).
Ouvrage sous contrat Creative Commons BY-NC-SA p. 153

Prparation lexamen 201 pour la certification LPIC-2

7. Commandes de diagnostic et de configuration


La distribution BIND fournit avec le dmon named, des commandes de diagnostic (host, nslookup, dig, etc), de vrification (named-checkconf, named-checkzone, etc) et de scurit (dnssec-keygen, dnssec-signzone, etc).

7.1 Commande host


Host est une commande simple pour effectuer des recherches DNS. SYNTAXE L'utilisation gnrale de la commande host est la suivante : host [option ] nom [serveur] nom : le nom d'hte ou de domaine rsoudre. Il peut tre aussi une adresse IP dans le cas d'une rsolution inverse ; Serveur : nom ou adresse IP du serveur DNS interroger. Par dfaut, la commande host utilise le serveur DNS recens dans le fichier /etc/resolv.conf. EXEMPLES Les lignes de commande suivantes sont quivalentes et assurent la rsolution du nom d'hte www.exemple.com partir du serveur DNS par dfaut. host www.exemple.com host www.exemple.com a host -t a www.exemple.com Mme exemple mais en interrogeant le serveur DNS dns.exemple.com . host www.exemple.com dns.exemple.com Les lignes de commande suivantes sont quivalentes et assurent la rsolution inverse de l'hte d'adresse IP 192.168.1.10 . host 192.168.1.10 host 10.1.168.192.in-addr.arpa ptr host -t ptr 10.1.168.192.in-addr.arpa

7.2 Commande nslookup


La commande nslookup est officiellement abandonne et remplace par la commande dig. nslookup est cependant presque universellement disponible. SYNTAXE nslookup [option ] nom [serveur]
Ouvrage sous contrat Creative Commons BY-NC-SA p. 154

Prparation lexamen 201 pour la certification LPIC-2

Les paramtres nom et Serveur ont les mmes significations que ceux de la commande host. EXEMPLES Les lignes de commande suivantes sont quivalentes et assurent la rsolution du nom d'hte www.exemple.com partir du serveur DNS par dfaut. nslookup www.exemple.com nslookup www.exemple.com a nslookup -type=A www.exemple.com Mme exemple mais en interrogeant le serveur DNS dns.exemple.com . nslookup www.exemple.com dns.exemple.com Les lignes de commande suivantes sont quivalentes et assurent la rsolution inverse de l'hte d'adresse IP 192.168.1.10 nslookup 192.168.1.10 nslookup 10.1.168.192.in-addr.arpa ptr nslookup -type=ptr 10.1.168.192.in-addr.arpa

7.3 Commande dig


La commande dig est l'outil prfr de diagnostic d'un serveur DNS. Elle est plus puissante et plus riche que la commande nslookup. SYNTAXE La syntaxe typique de la commande dig est : dig [@serveur] nom [type-req] [+option-req ...] [-option-dig ...] avec serveur : nom ou adresse IP du serveur DNS interroger. Il doit tre prcd par @ . Par dfaut c'est le serveur dfini dans le fichier /etc/resolv.conf ; Nom : nom d'hte ou de domaine ou adresse IP rsoudre ; Type-req : type d'enregistrement retourner : a (par dfaut), mx, ns, soa, etc. La valeur particulre any indique n'importe quel type et la valeur particulire axfr demande la liste complte de tous les enregistrements. La disponibilit de la fonctionnalit axfr dpend de l'option allow-transfer du serveur DNS interroger ; Option-req : prcise une option de la requte ou un style d'affichage des rsultats. Elle doit tre prcd par + ; option-dig : option de la commande dig.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 155

Prparation lexamen 201 pour la certification LPIC-2

OPTIONS Quelques options de la commande dig : -P : lance un ping sur le serveur utiliser ; -p port : change le port vers lequel seront envoyes les requtes ; -f fichier : spcifie un fichier contenant les commandes diffres ; -T secondes : prcise le temps entre les excutions des commandes du fichier diffr ; -c : indique la classe de requte : in (par dfaut), hesiod, chaos, any ; -t : indique le type d'enregistrement rcuprer ; -x : spcifie que la notation inverse sera utilise. EXEMPLES Les lignes de commandes suivantes sont quivalentes et assurent la rsolution du nom d'hte www.exemple.com partir du serveur DNS par dfaut. dig www.exemple.com dig www.exemple.com a dig -t a www.exemple.com Mme exemple mais en interrogeant le serveur DNS dns.exemple.com . dig @dns.exemple.com www.exemple.com Les lignes de commande suivantes sont quivalentes et assurent la rsolution invers de l'hte d'adresse IP 192.168.1.10 dig -x 192.168.1.10 dig 10.1.168.192.in-addr.arpa ptr dig -t ptr 10.1.168.192.in-addr.arpa Lexemple suivant rcupre l'enregistrement MX du domaine exemple.com en prcisant les options de requte : +vc +time=5 +retry=2 . La requte utilisera une connexion TCP (vc correspond TCP et novc (par dfaut) UDP) avec un dlai limit 5 secondes et 2 tentatives au maximum. dig exemple.com mx +vc +time=5 +retry=2

7.4 Commande named-checkconf


La commande named-checkconf vrifie la syntaxe d'un fichier de configuration de named ainsi que les fichiers inclus travers l'instruction include. SYNTAXE named-checkconf [option ] [fichier]
Ouvrage sous contrat Creative Commons BY-NC-SA p. 156

Prparation lexamen 201 pour la certification LPIC-2

avec fichier : chemin du fichier de configuration vrifier. Si aucun fichier n'est spcifi, named.conf sera trait. NOTE Les fichiers lus par named et qui ne sont pas spcifis par l'instruction include tels que rndc.key et bind.keys ne sont pas traits automatiquement par named-checkconf. Il faut vrifier ces fichiers explicitement. OPTIONS Les options les plus utiles de la commande named-checkconf sont : -t rpertoire : spcifie le rpertoire racine pour un environnement enferm ; -p : affiche le fichier de configuration named.conf ainsi que les fichiers inclus sous une forme canonique ; -z : teste le chargement de toutes les zones matres du fichier named.conf ; -j : lit le journal, s'il existe, lors du chargement d'un fichier zone. EXEMPLE Les lignes de commandes suivantes vrifient la syntaxe du fichier de configuration named.conf (ainsi que les fichiers inclus), /etc/bind/rndc.key et /etc/bind/bind.keys. Named-checkconf Named-checkconf /etc/bind/rndc.key Named-checkconf /etc/bind/bind.keys

7.5 Commande named-checkzone


La commande named-checkzone vrifie la syntaxe et l'intgrit d'un fichier de zone. Elle effectue les mmes vrifications que named, d'o l'intrt de l'utiliser avant d'ajouter les fichiers de zone la configuration d'un serveur de noms. SYNTAXE named-checkzone [option ] zone fichier-zone avec zone : nom de domaine de la zone vrifier ; fichier-zone : fichier contenant les donnes de la zone. OPTIONS Les options les plus utiles de la commande named-checkzone sont : -d : active le dbogage ; -j : lit le fichier journal (cache) lors du chargement du fichier zone ;

Ouvrage sous contrat Creative Commons BY-NC-SA p. 157

Prparation lexamen 201 pour la certification LPIC-2

-f format : spcifie le format du fichier zone. Les valeurs possibles de format sont text (par dfaut) pour le format texte et raw pour le format binaire ; -t rpertoire : vrifie la syntaxe du fichier dans un environnement enferm dont le rpertoire racine est rpertoire. EXEMPLE L'exemple qui suit permet de vrifier la syntaxe et l'intgrit des enregistrements du fichier /etc/bind/db.exemple.com et du fichier journal correspondants la zone du domaine exemple.com tout en affichant les messages de dbogage. named-checkzone -j -d exemple.com /etc/bind/db.exemple.com

7.6 Commande dnssec-keygen


La commande dnssec-keygen gnre des cls de cryptage qui seront utilises par DNSSEC, TSIG et TKEY. SYNTAXE La syntaxe gnrale de la commande dnssec-keygen est : dnssec-keygen [option ] nom-cl avec nom-cl : nom de la cl gnrer. Le nom de la cl spcifie pour DNSSEC doit correspondre au nom de la zone pour laquelle la cl est gnre. Aprs la gnration de la cl, dnssec-keygen affiche la chaine d'identification de la cl sous la forme Knom-cl.+aaa+iiiii o : nom-cl est le nom de la cl ; aaa est la reprsentation numrique de l'algorithme et iiiii est l'identifiant de la cl. Les fichiers crs sont Knom-cl.+aaa+iiiii.key contenant la cl publique et Knomcl.+aaa+iiiii.private contenant la cl prive. Le fichier Knom-cl.+aaa+iiiii.key contient un enregistrement DNSKEY qui peut tre insr dans le fichier de zone (directement ou travers l'instruction $INCLUDE). NOTE Les deux fichiers .key et .private sont gnrs aussi pour les algorithmes de cryptage symtrique tel que HMAC-MD5. Ils sont quivalents. OPTIONS Les options frquemment utilises de la commande named-checkzone sont : -a algorithme : prcise l'algorithme cryptographique choisir. Plusieurs algorithmes peuvent tre utiliss pour la gnration des cls. Le protocole DNSSEC oblige
Ouvrage sous contrat Creative Commons BY-NC-SA p. 158

Prparation lexamen 201 pour la certification LPIC-2

l'implmentation de l'algorithme RSASHA1 et recommande l'implmentation de l'algorithme DSA. Pour TSIG, l'implmentation de l'algorithme HMAC-MD5 est obligatoire ; -b taille : fixe la taille (en bits) de la cl. Le choix de la taille de cl dpend de l'algorithme utilis. La taille des cls RSASHA1 est [512..4096], celle des cls DSA est [512..1024] et elle est divisible par 64, et pour les cls HMAC-MD5 elle est [1..512] ; -n type : spcifie le type de la cl. Parmi les valeurs possibles, la valeur ZONE est spcifie pour la cl de signature de zone et HOST ou ENTITY pour la cl associe un hte ; -f flag : dfinit la valeur du champ flag de l'enregistrement KEY/DNSKEY. Les seules valeurs possibles sont KSK (Key Signing Key) et REVOKE ; -K rpertoire : spcifie le rpertoire o les fichiers cls seront gnrs ; -q : mode silencieux. N'affiche pas les symboles de progression de la gnration des cls ; -r fichier-alatoire : spcifie le fichier source pour la gnration des nombres alatoires. Si le systme d'exploitation ne fournit pas un fichier priphrique /dev/random ou un quivalent, le clavier sera utilis comme source. EXEMPLES La premire commande dnssec-keygen qui suit gnre une cl DSA de taille 512 bits pour le domaine exemple.com . Elle affiche la chaine d'identification Kexemple.com.+003+27270 et cre : le fichier Kexemple.com.+003+27270.key contenant la cl publique, le fichier Kexemple.com.+003+27270.private contenant la cl prive. $ dnssec-keygen -a DSA -b 512 -n ZONE exemple.com Kexemple.com.+003+27270 $ ls Kexemple.com* Kexemple.com.+003+27270.key Kexemple.com.+003+27270.private $ Dans le deuxime exemple, la commande dnssec-keygen gnre une cl HMAC-MD5 de taille 512 bits et de type HOST. Les deux fichiers .key et .private sont quivalents et contiennent la mme cl. $ dnssec-keygen -a HMAC-MD5 -b 512 -n HOST tsig-serveur1-serveur2 Ktsig-serveur1-serveur2.+157+65523 $ ls Ktsig-serveur1-serveur2* Ktsig-serveur1-serveur2.+157+65523.key Ktsig-serveur1-serveur2.+157+65523.private
Ouvrage sous contrat Creative Commons BY-NC-SA p. 159

Prparation lexamen 201 pour la certification LPIC-2

7.7 Commande dnssec-signzone


La commande dnssec-sigzone gnre, partir d'un fichier de zone, une version signe de cette zone. En particulier, elle calcule et rajoute les enregistrements NSEC et RRSIG pour l'authentification des donnes dans le protocole DNSSEC. NOTE Une sous zone dlgue d'une zone signe peut tre signe ou non. Si elle est signe, le fichier keyset correspondant doit exister. SYNTAXE La syntaxe gnrale de la commande dnssec-signzone est : dnssec-signzone [option ] fichier-zone [cl ] avec fichier-zone : fichier contenant la zone signer ; cl : spcifie les cls utiliser pour signer la zone. Si aucune cl n'est spcifie, alors la zone sera examine pour les enregistrements DNSKEY au sommet de la zone. Si les enregistrements sont retrouvs et des cls prives correspondantes existent dans le rpertoire courant, alors elles seront utilises. OPTIONS -d rpertoire : spcifie le rpertoire o chercher les fichiers dsset- ou keyset- ; -K rpertoire : spcifie le rpertoire o chercher les cls DNSSEC. Par dfaut c'est le rpertoire courant ; -k cl-KSK : spcifie la cl KSK (Key Signing Key) ; -f fichier : prcise le fichier rsultat contenant la zone signe. Par dfaut elle ajoute .signed au nom du fichier de la zone ; -o origine : spcifie le nom de base qui sera concatn tous les enregistrements non totalement qualifis (zone origin). Si elle n'est pas spcifie, le nom de fichier zone sera utilis comme origine ; -r fichier-alatoire : spcifie la source de gnration des nombres alatoires. Si le systme d'exploitation ne fournit pas un fichier priphrique /dev/random ou un quivalent, le clavier sera utilis comme source. EXEMPLE Dans l'exemple suivant, la commande dnssec-signzone signe la zone exemple.com avec la cl ZSK (Zone Signing KEY) : Kexemple.com.+005+27270 et la cl KSK (Key Signing KEY) : Kexemple.com.+005+07082. Les rsultats (zone signe) seront enregistrs dans le fichier db.exemple.com.signed.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 160

Prparation lexamen 201 pour la certification LPIC-2

# dnssec-signzone -o exemple.com \ -f db.exemple.com.signed \ -k Kexemple.com.+005+07082.private \ /etc/bind/db.exemple.com\ Kexemple.com.+005+27270.private exemple.com.signed #

8. Scurit
Dans un systme informatique ouvert sur Internet, le service DNS est un service critique. En effet : la non disponibilit du serveur DNS entranera la non disponibilit des serveurs web et de messagerie ; une intrusion dans le serveur DNS, entrane la collecte d'informations prives telles que les adresses IP d'autre serveurs, des postes clients, des commutateurs, etc ; si les informations du DNS sont empoisonnes (modifies), un pirate peut rediriger les internautes vers ses serveurs au lieu des serveurs rels. Le problme sera plus grave s'il y a des transactions financires. Pour renforcer la scurit de ce service, les oprations suivantes peuvent tre appliques : l'excution du dmon correspondant dans un environnement enferm ; l'utilisation des listes de contrle d'accs (ACL : Access control List) ; la signature des transactions (TSIG : Transaction SIGnature) et la signature des informations des zones (DNSSec : DNS Security).

8.1 Environnement enferm


L'une des fonctionnalits utiles de BIND est la possibilit d'excuter le dmon named dans le contexte d'un utilisateur non privilgi (option -u de named). La plupart des distributions utilisent, par dfaut, cette fonctionnalit. Dans la distribution Debian, par exemple, le dmon named est excut dans le contexte de l'utilisateur bind cr spcialement pour cette fonctionnalit. Une autre fonctionnalit intressante de BIND est la possibilit d'excuter le dmon named dans un environnement enferm (chrooted environnement). Cette fonctionnalit permet de limiter les dommages dans le cas o le serveur est compromis. L'option -t rpertoire informe named qu'il sera excut dans un environnement enferm. La majorit des distributions n'implmentent pas, par dfaut, cette fonctionnalit. PROCEDURE La procdure qui suit illustre la mise en place d'un environnement enferm de BIND sous
Ouvrage sous contrat Creative Commons BY-NC-SA p. 161

Prparation lexamen 201 pour la certification LPIC-2

la distribution Debian Squeeze. Il est trs facile d'adapter cette procdure pour une autre distribution. Arrt du service BIND # invoke-rc.d bind9 stop Cration de l'arborescence. Le rpertoire racine de l'environnement enferm est /chroot/bind. # mkdir -p /chroot/bind # cd /chroot/bind # mkdir -p dev etc var/run var/cache Copie des fichiers utiles pour l'excution de named. # # # # # # cp cp cp cp mv ln -a /dev/log /dev/null /dev/random ./dev/ -p /etc/localtime ./etc/ -a /var/cache/bind ./var/cache/ -a /var/run/named ./var/run/ /etc/bind ./etc/ -s /chroot/bind/etc/bind /etc/bind

Changement du rpertoire personnel de l'utilisateur bind. # usermod -d /chroot/bind/ bind Ajout de l'option -t /chroot/bind aux options de dmarrage de dmon named prcisant que la racine de l'environnement enferm est /chroot/bind. # cat /etc/default/bind9 ... OPTIONS="-u bind" # nano /etc/default/bind9 # # ajouter -t /chroot/bind aux options de lancement de namednt denamed # cat /etc/default/bind9 ... OPTIONS="-u bind -t /chroot/bind" Configuration du dmon rsyslogd pour accepter les messages de journalisation de named s'excutant dans son nouvel environnement enferm. # echo '$AddUnixListenSocket /chroot/bind/dev/log' > \ /etc/rsyslog.d/bind-chroot.conf # invoke-rc.d rsyslog restart # ou: restart rsyslog

Ouvrage sous contrat Creative Commons BY-NC-SA p. 162

Prparation lexamen 201 pour la certification LPIC-2

Dmarrage du service bind9 # invoke-rc.d bind9 start * Starting domain name service... bind9 [ OK ]

Vrification de l'excution de named dans l'environnement enferm de racine /chroot/bind # ps -ef | grep named bind 26855 ... /usr/sbin/named -u bind -t /chroot/bind ... # ls -l /proc/26855/root lrwxrwxrwx 1 bind bind 0 2011-09-19 17:18 /proc/26855/root -> /chroot/bind #

8.2 Listes de contrle d'accs


L'utilisation des listes de contrle d'accs (ACL Access Control List) permet de simplifier et d'affiner le contrle d'accs un serveur DNS. Elles sont utilises avec les instructions allow-notify, allow-query, allow-query-on, allow-recursion, allow-recursion-on, blackhole, allow-transfer, etc. Les noms ACL suivants sont prdfinis dans named : none : ne dsigne aucun hte ; any : dsigne tous les htes ; localhost : dsigne toutes les adresses IP de lhte excutant named ; localnets : dsigne les adresses IP de tous les rseaux IP auxquels lhte excutant named appartient. EXEMPLE La portion du fichier named.conf suivante utilise les ACL pour contrler l'accs un serveur DNS de manire n'autoriser les rsolutions rcursives que pour les postes du rseau local. acl "lan" { 192.168.1.0/24; }; options { ... allow-query { "lan"; }; allow-recursion { "lan"; }; ... }; zone "exemple.com" { type master;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 163

Prparation lexamen 201 pour la certification LPIC-2

file "/etc/bind/db.exemple.com"; allow-query { any; }; };

8.3 Scurisation des transactions avec TSIG


La fonctionnalit TSIG (Transaction SIGnature) permet de crypter les donnes changes lors d'un transfert de zone entre le serveur DNS matre d'une zone et ses esclaves. Elle est aussi utilise pour les mises jour dynamiques (dynamic updates) des enregistrements d'une zone. Les transactions utilisant TSIG sont horodates. Il est donc ncessaire que les horloges des entits communicantes soient synchronises. De prfrence, elles doivent tre synchronises auprs d'un serveur de temps commun. PROCEDURE La procdure qui suit numre les tapes de mise en place des transactions scurises pour le transfert de la zone exemple.com entre le serveur DNS matre dns1 et un serveur esclave dns2 . Gnration d'un secret : la commande qui suit gnre une cl symtrique de nom tsigdns1-dns2, de type HOST en utilisant l'algorithme HMAC-MD5 de taille 512 bits. dnssec-keygen -a HMAC-MD5 -b 512 -n HOST tsig-dns1-dns2 Cette commande cre les fichiers Ktsig-dns1-dns2.+157+06761.[key,private] contenant le mme secret. Nanmoins, dans certains cas d'utilisation avec dig, la prsence de ces deux fichiers est ncessaire. Prise en charge de la cl : sur les deux serveurs, le fichier tsig-dns1-dns2 contenant la cl symtrique doit tre cr. Le contenu du fichier est le suivant : key tsig-dns1-dns2 { algorithm hmac-md5; secret "Dey4YV...yzREUQ=="; }; Re-configuration du matre : le fichier de configuration named.conf du dns1 doit tre modifi pour y inclure le chemin d'accs la cl symtrique. include "/chemin/tsig-dns1-dns2"; zone "exemple.com" { type master; file "/etc/bind/db.exemple.com"; allow-transfer { key tsig-dns1-dns2; };
Ouvrage sous contrat Creative Commons BY-NC-SA p. 164

Prparation lexamen 201 pour la certification LPIC-2

}; Re-configuration de l'esclave : le fichier de configuration named.conf du dns2 doit tre modifi pour y inclure le chemin d'accs la cl symtrique. include "/chemin/tsig-dns1-dns2"; server 192.168.1.1 { keys { tsig-dns1-dns2; }; }; zone "exemple.com" { type slave; file "/etc/bind/db.exemple.com"; masters { 192.168.1.1; }; }; Test du transfert : la commande dig suivante interroge dns1 pour un transfert de zone. Ddig @dns1.exemple.com \ -k Ktsig-dns1-dns2.+157+06761.private \ exemple.com AXFR Le message NOERROR est retourn s'il n'y a pas d'erreur. En cas d'erreur, le message Transfer failed. BADSIG est retourn pour une erreur de signature et le message Transfer failed. BADKEY pour une erreur de nom de la cl.

8.4 Scurisation des donnes avec DNSSEC


La fonctionnalit DNSSEC (DNS SECurity) permet de signer des zones. Ceci permet de vrifier que les informations relatives une zone spcifique proviennent du serveur DNS qui les a signes avec une cl de zone (ZSK : Zone Signing Key). PROCEDURE La procdure qui suit dcrit les tapes de signature de la zone exemple.com : Gnration des cls : les commandes qui suivent gnrent deux paires de cls asymtriques l'une pour la signature de la zone (ZSK) exemple.com et l'autre pour la signature de la cl (KSK) de la zone. Le contenu des fichiers .key (cls publiques) gnrs est ajout la fin du fichier zone exemple.com . # dnssec-keygen -q -a RSASHA1 -b 512 -n ZONE exemple.com Kexemple.com.+005+50823 # cat Kexemple.com.+005+50823.key >> /etc/bind/db.exemple.com # # dnssec-keygen -q -a RSASHA1 -b 512 -f KSK -n ZONE exemple.com Kexemple.com.+005+53281
Ouvrage sous contrat Creative Commons BY-NC-SA p. 165

Prparation lexamen 201 pour la certification LPIC-2

# cat Kexemple.com.+005+53281.key >> /etc/bind/exemple.com Signature de la zone : la commande dnssec-signzone qui suit signe la zone exemple.com avec la cl ZSK Kexemple.com.+005+50823 et la cl KSK Kexemple.com.+005+53281. Les rsultats (zone signe) seront enregistrs dans le fichier db.exemple.com.signed. # dnssec-signzone -o exemple.com \ -f /etc/bind/db.exemple.com.signed \ -k Kexemple.com.+005+53281.private \ /etc/bind/db.exemple.com\ Kexemple.com.+005+50823.private Chargement de la zone : le fichier named.conf doit tre modifi pour remplacer le fichier /etc/bind/db.exemple.com par /etc/bind/db.exemple.com.signed. zone "exemple.com" { type master; file "/etc/bind/db.exemple.com.signed"; ... }; Le dmon named doit recharger le fichier de configuration named.conf puisqu'il vient d'tre modifi. Test de la zone signe : la commande dig suivante interroge dns1 en activant le bit DO (Dnssec OK) travers l'option +dnssec. $ dig @dns1.exemple.com www.exemple.com a +dnssec

9. Exercices
1. Quelle est l'instruction du fichier named.conf autorisant la mise jour d'un serveur esclave ? 2. A. allow-update { ADRESSE_IP; }; B. allow-access { ADRESSE_IP; }; C. allow-transfer { ADRESSE_IP; };

Qu'est ce qu'il faut faire aprs l'ajout d'un nouvel hte une zone ? A. Mettre jour les serveurs esclaves. B. Autoriser la rsolution de noms pour cet hte.

Ouvrage sous contrat Creative Commons BY-NC-SA p. 166

Prparation lexamen 201 pour la certification LPIC-2

3.

C. Incrmenter le numro de srie de la zone.

Quelle instruction configure un serveur DNS pour qu'il transfre toutes les requtes un autre serveur DNS d'adresse IP 172.16.161.254 ? A. forward { 172.16.1.254; }; B. forwarder { 172.16.1.254; }; C. forward-only { 172.16.1.254; }; D. forward only, forwarders { 172.16.1.254; };

4.

Quelle est la commande qui fournit plus d'information propos d'une requte DNS ? A. host B. nslookup C. dig D. named-checkconf E. named-checkzone

5.

Quelle est l'instruction qui bloque les requtes DNS envoyes par un ou plusieurs htes spcifis ? A. block { ADRESSE_IP; }; B. deny-req { ADRESSE_IP; }; C. blackhole { ADRESSE_IP; };

Ouvrage sous contrat Creative Commons BY-NC-SA p. 167

Prparation lexamen 201 pour la certification LPIC-2

Index des mots cls


arp, 83

/
/dev/mapper/, 62 /dev/nst*, 120 /dev/st*, 120 /etc/auto.[dir], 43 /etc/auto.master, 43 /etc/fstab, 43 /etc/hostname | /etc/HOSTNAME, 83 /etc/hosts, 83 /etc/hosts.allow, 83 /etc/hosts.deny, 83 /etc/init.d/, 28 /etc/issue, 83 /etc/issue.net, 83 /etc/motd., 83 /etc/mtab, 43 /etc/network || /etc/sysconfig/networkscripts/, 83 /etc/openvpn/*, 83 /etc/rc.d/, 28 /etc/resolv.conf, 83 /etc/udev, 43 /proc/mdstat, 62 /proc/mounts, 43 /sbin/lv*, 62 /sbin/pv*, 62 /sbin/vg*, 62 /usr/src/, 120 /usr/src/linux, 12 /var/log/messages, 83 /var/log/syslog, 83

B
badblocks, 43 bzImage, 12 bzip2, 120

C
chkconfig, 28 chroot, 137 cloneconfig, 12 config, 12 configure, 120 cpio, 120

D
dd, 43, 120 debugfs, 43 debugreiserfs, 43 depmod, 12 dig, 83, 137 dmesg, 83 DNSSEC, 137 dnssec-keygen, 137 dnssec-signzone, 137 dump, 120 dumpe2fs, 43

F
fdisk, 62 format des fichiers de zone, 137 formats des enregistrements de ressources, 137

A
ACL, 137

Ouvrage sous contrat Creative Commons BY-NC-SA p. 168

Prparation lexamen 201 pour la certification LPIC-2

fsck, 28 fsck (fsck.*), 43

G
gunzip, 120 gzip, 120

modinf, 12 modprobe, 12 modules, 12 modules_install, 12 mount, 28, 62 mount et umount, 43 mrproper zImage, 12 mt, 120

H
hdparm, 62 host, 83, 137 hostname, 83

N
named, 137 named.conf, 137 named-checkconf, 137 named-checkzone, 137 nc, 83 netstat, 83 nmap, 83 nslookup, 137

I
ifconfig, 83 init, 28 insmod, 12 install, 120 ip, 83 iwconfig, 83

O
oldconfig, 12 openvpn, 83

K
kill, 137

P
patch, 12 ping, 83 prepare-all, 12

L
lsmod, 12 lsof, 83

R
reiserfstune, 43 restore, 120 rmmod, 12 rndc, 137 rndc.conf, 137 route, 83 rsync, 120

M
make, 12, 120 mdadm,, 62 mdadm.conf, 62 menuconfig, 12 mke2fs, 43 mkfs (mkfs.*), 43 mkinitramfs, 12 mkinitrd, 12 mkisofs, 43 mkswap, 43

S
shutdown, 83
Ouvrage sous contrat Creative Commons BY-NC-SA p. 169

Prparation lexamen 201 pour la certification LPIC-2

swapoff, 43 swapon, 43 sync, 43

W
wall, 83 wireshark, 83

T
tar, 120 tcpdump, 83 telinit, 28 traceroute, 83 TSIG, 137 tune2fs, 43, 62

X
xconfig, 12 xfs_check, 43 xfs_info, 43 xfs_repair, 43

U
udevmonitor, 43 uname, 12, 120 update-rc.d, 28

Z
zImage, 12

Ouvrage sous contrat Creative Commons BY-NC-SA p. 170

Table des figures et des tableaux


Figure 1. Outil make menuconfig.................................................................... 17 Figure 2. Fentre xconfig Generic Driver Options .................................. 18 Figure 3. Menu de dmarrage en mode dmarrage de la distribution CentOS .............................................................................................................. 38 Figure 4. Configuration de la langue ............................................................ 38 Figure 5. Configuration du type de clavier.................................................... 39 Figure 6. Montage du systme..................................................................... 39 Figure 7 ........................................................................................................ 56 Figure 8. RAID 0 et RAID 1 .......................................................................... 64 Figure 9. RAID 5........................................................................................... 64 Figure 10. RAID 10....................................................................................... 65 Figure 11. Arborescence des noms de domaine........................................ 138 Figure 12. Rsolution rcursive.................................................................. 140 Figure 13. Rsolution itrative.................................................................... 141 Tableau 1. Quelques paramtres ajustables du noyau Linux ...................... 14 Tableau 2. Quelques mots cls LSB ........................................................... 34 Tableau 3. Principaux systmes de fichiers supports par Linux ................ 44 Tableau 4. Principales options ext3 de la commande mkfs ......................... 46 Tableau 5. Principales options de la commande tune2fs............................. 51 Tableau 6. Les diffrents modes de fonctionnement du RAID..................... 66

Les auteurs
Zied Bouziri (Tunisie) : enseignant depuis 2003 au dpartement Informatique de lInstitut suprieur des tudes technologiques de Charguia. Il est ingnieur en informatique, diplm de l'cole nationale des sciences de l'informatique de Tunis (ENSI). Entre 1999 et 2003, il a t ingnieur conception et dveloppement au dpartement recherche et dveloppement chez Alcatel. Hedi Magroun (Tunisie) : Ingnieur principal de formation, agrg en informatique et expert en administration systme et rseau (certifi LPIC2, RHCE et CCNA). Actuellement enseignant au dpartement informatique (depuis 1998) et directeur du CRI (Centre des Ressources Informatiques) de l'ISET (Institut suprieur des tudes technologiques) de Sousse - Tunisie. Vronique Pierre (France) : documentaliste et ditrice scientifique multimdia.

You might also like