Vous êtes sur la page 1sur 99

Collection Savoirs francophones Srie Technologies de linformation

pour la certification de lInstitut professionnel de Linux, niveau junior (LPIC-1)


Zied Bouziri (2 dition) Niry H. Andriambelo, Andrei Boyanov, Nicolas Larrousse (1 dition)
re e

Prparation lexamen 101

Prparation lexamen 101 pour la certification LPIC-1

Pour citer cet ouvrage


Z. Bouziri, N. H. Andriambelo, A. Boyanov, N. Larrousse (2010). Prparation lexamen 101 pour la certification de lInstitut professionnel de Linux, niveau junior (LPIC-1). Agence universitaire de la Francophonie, Paris. Disponible sur le Web : www.lpi-francophonie.org/spip.php?article234. Premire dition : N. H. Andriambelo, A. Boyanov, N. Larrousse (2007). Institut professionnel de Linux. Support de formation LPIC 101. Agence universitaire de la Francophonie, ditions des archives contemporaines, Paris. 167 p. ISBN 978-2-914610-51-3 Mis disposition sous contrat libre Creative Commons BY-NC-CA http://creativecommons.org/licenses/by-nc-sa/2.0/fr/ 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 101 pour la certification LPIC-1

Accs et utilisation
Cet ouvrage est diffus exclusivement au format numrique, gratuitement. Il est tlchargeable au format PDF sur le site LPI Francophonie, www.lpifrancophonie.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@lpifrancophonie.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) : diffusion payante, mme aprs modification, est interdite ; toute

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

Table des matires


Pour citer cet ouvrage ....................................................................................2 Accs et utilisation..........................................................................................3

Table des matires ...........................................................................4 Chapitre 1. Architecture matrielle et gestion des priphriques ...........................................................................................................9
A. Architecture de base de lordinateur ..........................................................9
a) Le processeur (Central Processing Unit ou CPU) ..........................................9 b) Mmoires ........................................................................................................9 c) Le BIOS (Basic Input/Output System)...........................................................10 d) Les bus .........................................................................................................10 e) Les disques...................................................................................................10 a) Les bus .........................................................................................................10 b) Allocation de ressources...............................................................................11 c) Le pseudo systme de fichiers /proc .............................................................11 d) Le pseudo systme de fichiers /sys ou sysfs..................................................12 e) Les cartes PCI ..............................................................................................13 f) USB................................................................................................................15

Les droits.............................................................................................................3 Les conditions respecter ..................................................................................3

B. Introduction la gestion des priphriques .............................................10

C. Exercices ................................................................................................. 17

Chapitre 2. Le dmarrage de Linux ..............................................19


A. Les niveaux de dmarrage ...................................................................... 19 B. Configuration du dmarrage par /etc/inittab et /etc/rcN.d ........................20
Ouvrage sous contrat Creative Commons BY-NC-SA p. 4

Table des matires

C. LILO et le processus de dmarrage ........................................................22 D. Le processus de dmarrage .................................................................... 23


a) BIOS .............................................................................................................23 b) LILO ..............................................................................................................23 c) Le noyau .......................................................................................................24 d) init .................................................................................................................24

E. Exercices ................................................................................................. 25

Chapitre 3. Installation et gestion de paquetages.......................27


A. Les principes dinstallation .......................................................................27 B. Les chargeurs de dmarrage : LILO/GRUB et le MBR............................28 C. Le gestionnaire de paquetage Debian.....................................................31 D. Le gestionnaire de paquetage RPM et YUM ...........................................33 E. Gestion des bibliothques........................................................................38 F. Exercices.................................................................................................. 38
a) RPM (Red Hat Package Manager) ...............................................................34 b) YUM (Yellow dog Updater Modified).............................................................36 a) DPKG............................................................................................................31 b) apt-get...........................................................................................................32 c) aptitude .........................................................................................................33

Chapitre 4. Systme de fichiers ....................................................41


A. Disques durs et partitionnement ..............................................................41 B. Arborescence des fichiers sous Linux .....................................................43 C. Formatage et types de systmes de fichiers ...........................................44 D. Contrle de l'intgrit du systme de fichiers et rparation.....................45 E. Montage et dmontage d'un systme de fichiers .................................... 46 F. Les droits sur les fichiers et les rpertoires..............................................49
Ouvrage sous contrat Creative Commons BY-NC-SA p. 5 a) Montage et dmontage manuel ....................................................................46 b) Montage et dmontage automatique ............................................................47 c) Contrle de systme de fichiers....................................................................48 a) Les rpertoires de base ................................................................................44 b) Les autres rpertoires ...................................................................................44 a) Les partitions.................................................................................................41 b) Organisation des partitions sous Linux .........................................................42

Prparation lexamen 101 pour la certification LPIC-1

G. Modifier le propritaire et le groupe sur les fichiers et les rpertoires .................................................................................................... 51 H. Les quotas ...............................................................................................52 I. Recherche de fichiers................................................................................53
a) find ................................................................................................................53 b) locate et slocate ............................................................................................54 c) which .............................................................................................................54 d) whereis..........................................................................................................54 e) whatis............................................................................................................55 f) apropos ..........................................................................................................55

J. Exercices .................................................................................................. 55

Chapitre 5. GNU et les commandes Unix.....................................57


A. Commandes gnrales............................................................................57 B. Les filtres.................................................................................................. 61 C. Utilisation de lditeur vi ..................................................................... 64 D. Tubes et les redirections..........................................................................66
a) Redirection....................................................................................................66 b) Les tubes ......................................................................................................67 c) La commande tee .........................................................................................67 d) La commande xargs .....................................................................................68 e) La commande exec.......................................................................................68 a) Les interprteurs de commandes .................................................................58 b) Les commandes relatives aux rpertoires et aux fichiers .............................59 c) Les pages de manuel....................................................................................60

E. Les caractres spciaux ..........................................................................68 F. Les variables et les variables d'environnement .......................................70 G. Les processus .........................................................................................71
a) Obtenir des informations sur un processus ..................................................72 b) Arrter ou envoyer un signal un processus ...............................................73 b) Priorit d'un processus .................................................................................74 c) Les processus et le shell...............................................................................75 d) La commande nohup ....................................................................................76

H. Exercices ................................................................................................. 76

Annexe 1. Exemple dexamen de certification ............................79


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

Table des matires

nonc .........................................................................................................79 Rponses examen LPI 101 ..........................................................................90

Table des figures et tableaux ........................................................93 Index des mots-cls .......................................................................95 Les auteurs .....................................................................................99

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

Chapitre 1. Architecture matrielle et gestion des priphriques


A. Architecture de base de lordinateur
Objectifs Points importants Mots cls Se familiariser avec les notions de base de larchitecture matrielle des ordinateurs. Les ordinateurs de type PC ont des lments fonctionnellement semblables bien quils soient de modles diffrents ou fabriqus par des constructeurs diffrents. BIOS, CPU, mmoire, ROM, RAM, bus, dmesg

Les ordinateurs de type PC sont constitus dun ensemble de composants assurant des fonctions semblables.

a) Le processeur (Central Processing Unit ou CPU)


Le processeur est un circuit lectronique qui assure les fonctions centrales de lordinateur. Cest lui qui excute les instructions constituant les diffrentes tches demandes lordinateur.

b) Mmoires
Les mmoires sont des composants lectroniques pouvant garder des informations temporairement ou long terme. Les mmoires centrales sont utilises pour stocker les informations ncessitant un accs rapide par le processeur. On distingue les mmoires vives (Random Access Memory ou RAM) et les mmoires mortes (Read Only Memory ou ROM). Les mmoires de masse sont utilises pour stocker les informations plus long terme comme les disques, les disquettes (cf. section disques ).
Ouvrage sous contrat Creative Commons BY-NC-SA p. 9

Prparation lexamen 101 pour la certification LPIC-1

c) Le BIOS (Basic Input/Output System)


Le BIOS est un petit programme qui rside en mmoire morte et qui, aprs la mise sous tension de lordinateur, effectue un inventaire et un test des matriels prsents. Il permet galement, selon les versions, de les paramtrer.

d) Les bus
Lunit centrale dun PC communique avec les contrleurs de priphriques par le biais des bus. Un contrleur de priphrique permet de piloter plusieurs priphriques qui lui sont rattachs.

e) Les disques
Les disques sont des priphriques de stockage. On peut citer les disques durs, les disquettes, les cdroms, le DVD-ROM, etc.

B. Introduction la gestion des priphriques


Objectifs Savoir dterminer les ressources matrielles des priphriques. Savoir utiliser des outils permettant de lister des informations sur les priphriques (par exemple : lsusb, lspci, etc.). Savoir utiliser des outils permettant de manipuler les priphriques USB. Comprendre les concepts de sysfs, udev, hald, D-Bus. Dans les noyaux 2.6 et grce la combinaison des systmes de fichiers virtuels /proc et /sys, il est possible dobtenir un instantan du systme et de toutes ses priphriques. ISA, PCI, AGP, IRQ, DMA (canaux), /proc, /sys, lspci, lsusb, udev

Points importants Mots cls

a) Les bus
Un PC utilise gnralement plusieurs types de bus : Le bus ISA (Industry Standard Architecture) permet de transfrer 8 Mo/s et a une frquence de 8,33 MHz. Les cartes dextension (slots) supportes sont de 8 ou 16 bits. Le bus PCI (Peripheral Component Interconnect) est plus rapide. Il fonctionne 33 Mhz en permettant des transferts jusqu 132 Mo/s en 32 bits.

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

Chapitre 1. Architecture matrielle et gestion des priphriques

Le bus AGP (Accelerated Graphical Port), de type PCI, est rserv aux cartes graphiques. Il peut fonctionner plus de 33 MHz.

Le bus local permet essentiellement daccder la mmoire. Ce type de bus utilise la mme frquence que le processeur. Plusieurs contrleurs ncessitant une vitesse rapide sont branchs sur ce type de bus, en occurrence les contrleurs PCI et AGP.

b) Allocation de ressources
Un systme informatique alloue des ressources aux diffrents contrleurs de priphriques afin quelles puissent communiquer avec lui. Lorsquun priphrique veut communiquer avec le processeur, il envoie une interruption. Cette interruption dclenche lexcution dun sous-programme du pilote du priphrique qui va demander du temps CPU. Le CPU interrompra alors lactivit en cours pour excuter les demandes du priphrique. Ces interruptions sont identifies par un numro, lIRQ (Interrupt Request Number), qui varie de 0 15. Les canaux DMA (Direct Memory Access) permettent un contrleur de priphrique de transfrer les donnes directement la mmoire sans passer par le CPU. Ces canaux amliorent la performance dans la mesure o ils permettent des transferts rapides parfois simultans (par opposition aux transferts octet par octet transitant par le processeur). Les adresses dentres/sorties (I/O ports) sont utilises pour que le CPU puisse communiquer avec les priphriques en lecture/criture ou criture. Les adresses dentres/sorties sont souvent de 0x100 0x3ff. Les paragraphes suivants dcrivent les systmes de fichiers /proc et /sys qui permettent davoir des informations sur les priphriques du systme telles que les ressources alloues et les pilotes utiliss.

c) Le pseudo systme de fichiers /proc


/proc rside dans la mmoire systme. Il na pas dexistence sur les disques. Il contient des fichiers qui fournissent des informations importantes sur ltat du systme telles que les informations relatives aux processus, aux paramtres du noyau et aux priphriques. Le noyau conserve les informations relatives aux ressources alloues, savoir les interruptions reues, la liste des canaux DMA et les entressorties en cours dutilisation, respectivement dans les fichiers suivants : /proc/interrupts [maitre@maestro maitre]$ more/proc/interrupts CPU0 0: 220494 IO-APIC-edge timer
Ouvrage sous contrat Creative Commons BY-NC-SA p. 11

Prparation lexamen 101 pour la certification LPIC-1

1: 196 IO-APIC-edge 2: 0 XT-PIC 8: 1 IO-APIC-edge 12: 9331 IO-APIC-edge 14: 6609 IO-APIC-edge 15: 3287 IO-APIC-edge 16: 0 IO-APIC-level 17: 767 IO-APIC-level 18: 2 IO-APIC-level 19: 0 IO-APIC-level 23: 0 IO-APIC-level NMI: 0 LOC: 220418 ERR: 0 MIS: 0 [maitre@maestro maitre]$ /proc/dma

i8042 cascade rtc i8042 ide0 ide1 uhci_hcd yenta, eth0, Intel 82801DB-ICH4 uhci_hcd, ohci1394 uhci_hcd ehci_hcd

[maitre@maestro maitre]$more /proc/dma 4: cascade [maitre@maestro maitre]$ /proc/ioports [maitre@maestro maitre]$ more /proc/ioports 0000-001f : dma1 0020-0021 : pic1 0040-005f : timer 0060-006f : keyboard 0070-0077 : rtc 0080-008f : dma page reg 00a0-00a1 : pic2 00c0-00df : dma2 00f0-00ff : fpu 0170-0177 : ide1 01f0-01f7 : ide0

d) Le pseudo systme de fichiers /sys ou sysfs


Avec le noyau 2.6, la plupart des informations relatives aux priphriques ont t dplaces vers /sys.

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

Chapitre 1. Architecture matrielle et gestion des priphriques

Sysfs permet de connatre des informations sur les priphriques du systme et leurs pilotes, il est galement utilis pour configurer certaines fonctionnalits du noyau. /sys est organis en un ensemble de rpertoires, chacun contient un certain nombre de fichiers qui contiennent en gnral une seule valeur. Certains liens symboliques sont prsents, parcourant plusieurs branches de larborescence du /sys. Le tableau 1 dcrit les sous-rpertoires du systme de fichiers /sys.
Tableau 1. Le systme de fichiers /sys

Sousrpertoire /sys/bus /sys/class /sys/block

Description peupl de liens symboliques, reprsentant la manire dont chaque priphrique appartient aux diffrents bus montre les priphriques regroups en classes, comme les priphriques rseau par exemple contient les priphriques de type bloc

Le dmon udevd coute les messages du noyau concernant les changements dtat du priphrique. udevd utilise ces informations, ainsi que les informations sur le priphrique fournies par le noyau au travers du systme de fichiers /sys, pour effectuer les oprations de chargement des modules de pilotes de priphriques, de chargement des firmwares et de cration des fichiers spciaux de priphriques dans le rpertoire /dev. D-Bus, systme de communication inter-processus, utilise sysfs pour la diffusion dvnements systme tels que nouveau matriel ajout ou file dattente change . Le dmon hald est connect D-Bus afin doffrir une API que les applications peuvent utiliser pour dcouvrir, surveiller et invoquer des oprations sur les priphriques. Cette API constitue une couche dabstraction matrielle (Hardware Abstraction Layer ou HAL).

e) Les cartes PCI


Les cartes dextension branches sur les bus AGP ou PCI sont dtectes par le systme dexploitation au dmarrage. Les ressources qui leur sont alloues dpendent des spcifications des bus sur lesquels elles sont connectes et les conflits de ressources sont donc grs quasi automatiquement. Ces ressources ainsi que dautres informations sur ces priphriques peuvent tre visualises dans les systmes de fichiers /proc et /sys, ou bien en utilisant les commandes dmesg et lspci.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 13

Prparation lexamen 101 pour la certification LPIC-1

La liste des ressources alloues par le systme dexploitation au dmarrage est conserve dans le fichier /var/log/dmesg. La commande dmesg affiche le contenu de ce fichier, o sont stocks les messages du noyau. Elle permet donc galement dafficher les ressources alloues par le noyau. La commande lspci, en examinant le contenu du fichier /proc/bus/pci, affiche un rsum synthtique des bus et cartes dextension PCI dtects au dmarrage par le systme. On utilise en particulier les deux options v, qui affiche les ressources alloues par le systme ces cartes (IRQ et adresse dentre/sortie), et -b qui affiche les ressources alloues par le BIOS. Dans lexemple suivant, nous allons examiner les caractristiques de la carte rseau attache notre machine. # lspci | grep -i ethernet 03:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 4355 (rev 12) La sortie de cette commande donne lidentifiant du priphrique PCI. On peut avoir plus dinformations sur ce priphrique, tels que le pilote associ et les ressources alloues. # lspci -v -s 03:00.0 03:00.0 Ethernet controller: Marvell Technology Group Ltd. Device 4355 (rev 12) Subsystem: Toshiba America Info Systems Device ff50 Flags: bus master, fast devsel, latency 0, IRQ 218 Memory at c0100000 (64-bit, non-prefetchable) [size=16K] I/O ports at 3000 [size=256] Capabilities: [48] Power Management version 3 Capabilities: [5c] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable+ Capabilities: [c0] Express Legacy Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting <?> Capabilities: [130] Device Serial Number 00-23-8b-ff-ff-a3-fb-bd Kernel driver in use: sky2 Kernel modules: sky2 La commande udevinfo permet dinterroger les proprits du priphrique rseau partir de sa reprsentation sysfs. # udevinfo -p /sys/class/net/eth0/ -a ... looking at device '/class/net/eth0': KERNEL=="eth0" SUBSYSTEM=="net"
Ouvrage sous contrat Creative Commons BY-NC-SA p. 14

Chapitre 1. Architecture matrielle et gestion des priphriques

.. ATTR{address}=="00:23:8b:a3:fb:bd" ATTR{broadcast}=="ff:ff:ff:ff:ff:ff" .. looking at parent device '/devices/pci0000:00/0000:00:1c.1/0000:03:00.0': KERNELS=="0000:03:00.0" SUBSYSTEMS=="pci" DRIVERS=="sky2" ATTRS{vendor}=="0x11ab" ATTRS{device}=="0x4355" ATTRS{subsystem_vendor}=="0x1179" ATTRS{subsystem_device}=="0xff50" ATTRS{class}=="0x020000" ATTRS{irq}=="218" .

f) USB
LUSB (Universal Serial Bus) est une interface qui permet de relier des priphriques un PC. Elle possde les caractristiques suivantes : connexion chaud ( hotpluggable ) ; jusqu 126 priphriques peuvent tre relis au PC ; vitesse de transfert comprise entre 1,5 et 12 Mbit/s pour la version 1 et allant jusqu 480 Mbit/s pour la version 2. hub ; moniteur, imprimante, scanner, camra, appareil photo ; priphriques audios ; HID (Human Interface Device) : clavier, souris, joystick ; priphriques de stockage : lecteur de disquettes, disques, lecteur de carte, etc. ; des ports srie (serial converter).

Les types de priphriques pouvant tre connects sont les suivants :

Les contrleurs USB sont intgrs la carte mre. Ils peuvent tre compatibles avec les types suivants : OHCI (Open Host Controller Interface) de Compaq (USB 1) ; UHCI (Universal Host Controller Interface) dIntel (USB 1) ; EHCI pour la version 2 de la norme USB.

Les modules du noyau correspondant chaque type de contrleur sont respectivement usb-ohci.o, usb-uhci.o et ehci-hdc.o, mais pour quun
Ouvrage sous contrat Creative Commons BY-NC-SA p. 15

Prparation lexamen 101 pour la certification LPIC-1

priphrique fonctionne correctement, il faudrait charger, en plus du pilote du contrleur USB utilis, le pilote de ce priphrique. La commande lsusb fournit des informations sur les priphriques USB relis la machine. $ lsusb Bus 008 Bus 008 Bus 008 Bus 001 Bus 005 Bus 007 Inc. Bus 007 Bus 004 Bus 006 Bus 003 Bus 002 Device Device Device Device Device Device Device Device Device Device Device 003: 002: 001: 001: 001: 002: 001: 001: 001: 001: 001: ID ID ID ID ID ID ID ID ID ID ID 03f0:2b17 04f2:b008 1d6b:0002 1d6b:0001 1d6b:0001 1058:0704 1d6b:0002 1d6b:0001 1d6b:0001 1d6b:0001 1d6b:0001 Hewlett-Packard LaserJet 1020 Chicony Electronics Co., Ltd Linux Foundation 2.0 root hub Linux Foundation 1.1 root hub Linux Foundation 1.1 root hub Western Digital Technologies, Linux Linux Linux Linux Linux Foundation Foundation Foundation Foundation Foundation 2.0 1.1 1.1 1.1 1.1 root root root root root hub hub hub hub hub

Dans lexemple qui suit on peut constater quune imprimante USB a t rcemment connecte au systme : # dmesg | tail [31997.733610] usb 8-1: new high speed USB device using ehci_hcd and address 7 [31997.886063] usb 8-1: configuration #1 chosen from 1 choice [31997.887761] usb 8-1: New USB device found, idVendor=03f0, idProduct=2b17 [31997.887773] usb 8-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [31997.887779] usb 8-1: Product: HP LaserJet 1020 [31997.887783] usb 8-1: Manufacturer: Hewlett-Packard [31997.887788] usb 8-1: SerialNumber: FN16V3G [31998.044821] usblp0: USB Bidirectional printer dev 7 if 0 alt 0 proto 2 vid 0x03F0 pid 0x2B17 [31998.044821] usbcore: registered new interface driver usblp La commande udevinfo permet de visualiser des informations dtailles sur cette imprimante, tels que le pilote associ et les ressources alloues : # udevinfo -p /sys/class/usb/lp0/ -a . looking at device '/class/usb/lp0': KERNEL=="lp0"
Ouvrage sous contrat Creative Commons BY-NC-SA p. 16

Chapitre 1. Architecture matrielle et gestion des priphriques

SUBSYSTEM=="usb" DRIVER=="" . looking at parent device '/devices/pci0000:00/0000:00:1d.7/usb8/8-1/8-1:1.0': KERNELS=="8-1:1.0" SUBSYSTEMS=="usb" DRIVERS=="usblp" ... ATTRS{ieee1284_id}=="MFG:Hewlett-Packard;MDL:HP LaserJet 1020;CMD:ACL;CLS:PRINTER;DES:HP LaserJet 1020; FWVER:20050309;"

C. Exercices
1. Quelle commande permet dafficher les messages de dmarrage du systme ? 2. mess. dmesg. bootmsg. lsmsg.

Quelle(s) commande(s) permet(tent) de dafficher les ressources utilises par une carte PCI connecte votre machine ? lspci. udev. udevinfo. less /etc/modules.conf.

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

Chapitre 2. Le dmarrage de Linux


Objectifs Comprendre les tapes du dmarrage de Linux pour mieux connatre le fonctionnement du systme en gnral. Savoir rsoudre plus facilement des problmes concernant le matriel et ladministration de la machine. Connatre les constituants du processus de dmarrage LILO, le noyau, init et son fichier de configuration inittab. Comprendre le mode dmarrage de Linux est fondamental, ne serait-ce que pour tre capable de dmarrer la machine depuis dautres sources (cdrom, cl USB ) afin de rsoudre des problmes aussi bte que la perte du mot de passe administrateur. runlevels, init, telinit, inittab, initdefault, sysinit, respawn, wait, LILO

Points importants

Mots cls

A. Les niveaux de dmarrage


Commenons dans le sens inverse du dmarrage. Nous allons dabord considrer les diffrent tats dans lesquels le systme peut se retrouver aprs le dmarrage pour expliquer ensuite la manire de procder pour y parvenir. Le systme Linux, comme tous les systmes de type Unix, peut fonctionner sous plusieurs modes. On appelle ces diffrents modes des niveaux dexcution (runlevels), comme par exemple single user mode pour assurer la maintenance du systme ou multi user mode pour un fonctionnement standard. Les diffrents niveaux dexcution sont numrots de 0 6. Le tableau 2 dcrit lutilisation standard des niveaux de dmarrage :
Tableau 2. Niveaux dexcution standard Ouvrage sous contrat Creative Commons BY-NC-SA p. 19

Prparation lexamen 101 pour la certification LPIC-1

Niveau dexcution Runlevel 0 Runlevel 1 Runlevel 2 Runlevel 3 Runlevel 4 Runlevel 5 Runlevel 6

Description shut down arrte la machine single user mode mode de maintenance (un seul utilisateur peut se connecter au systme) multi user sans dmarrer tous les services rseau multi user multi user avec interface graphique (Display manager) reboot redmarrage du systme

Attention, certaines distributions, par exemple Debian, utilisent des niveaux dexcutions diffrents. Pour passer dun niveau un autre on utilise soit la commande init soit la commande telinit. Le programme init est celui qui est lanc le premier au dmarrage du systme. Le processus init qui lui correspond a toujours un PID de 1 : ps aux | grep init root 1 0.0 0.3 1272 220 ? S May16 0:05 init Le numro 1 situ aprs le nom dutilisateur root reprsente lidentifiant du processus (le PID). On abordera plus loin la manire de configurer le niveau de dmarrage par dfaut (cest--dire le runlevel qui sera choisi par init au dmarrage du systme par dfaut). On verra galement comment indiquer au processus init de choisir un autre niveau de dmarrage. Pour passer un autre niveau (par exemple le niveau 2) nous allons utiliser la commande init avec largument 2 : # init 2

B. Configuration du dmarrage par /etc/inittab et /etc/rcN.d


Les actions qui seront lances aprs avoir excut la commande prcdente sont dfinies en deux endroits : /etc/inittab et /etc/rc2.d. Le fichier /etc/inittab contient des actions spcifiques pour chaque niveau dexcution, plus dautres configurations que lon verra plus tard. La ligne suivante est normalement prsente dans le fichier /etc/inittab :

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

Chapitre 2. Le dmarrage de Linux

l2:2:wait:/etc/rc.d/rc 2 Cette ligne provoque lexcution de /etc/rc.d/rc 2 chaque fois que le systme entre dans le niveau 2 (le deuxime champ de la ligne indique le niveau dexcution). Regardons maintenant le contenu du rpertoire /etc/rc2.d. La commande prcdente va dmarrer tous les services de ce rpertoire commenant par un S et va arrter tous les services qui commencent par un K . Lordre de dmarrage/arrt des services est dfini par les deux chiffres la suite de la premire lettre. En ralit les fichiers dans les rpertoires /etc/rcN.d sont des liens symboliques vers des scripts qui se trouvent dans le rpertoire /etc/init.d/. Ces scripts prennent comme argument au moins les commandes start et stop, respectivement pour dmarrer et arrter le service. Regardons maintenant plus en dtail le contenu du fichier /etc/inittab. Le format des lignes de ce fichier est le suivant : id : niveau : action : commande avec : id : identifiant de la ligne. Cette valeur est choisie de manire alatoire ; niveau : niveau de dmarrage pour lequel cette ligne doit tre excute. Peut contenir plusieurs niveaux, par exemple 2345 ;. action : dfinit ce que la ligne fait ; commande : la commande excuter. id:3:initdefault: # Initialisation du systme si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 # Que faire loccurrence de CTRL-ALT-DEL ca::ctrlaltdel:/sbin/shutdown -t3 -r now

Analysons une partie du contenu dun fichier inittab :

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

Prparation lexamen 101 pour la certification LPIC-1

# Dmarrage des trminaux virtuels 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 # Dmarrage de linterface graphique au niveau 5 x:5:respawn:/etc/X11/prefdm nodaemon Certaines lignes du fichier ne sont pas affiches dans cet exemple. Voil les actions possibles avec leurs significations : initdefault : le niveau de dmarrage par dfaut ; sysinit : commande excuter linitialisation du systme ; wait : excuter la commande spcifie et attendre quelle se termine pour continuer ; respawn : excuter la commande au dbut et la re-excuter ds quelle se termine.

chaque modification du fichier /etc/inittab, le processus init doit relire son fichier de configuration pour prendre en compte les modifications. Cela se fait par la commande suivante : # init q

C. LILO et le processus de dmarrage


Au dmarrage du PC le BIOS est lanc et dtecte les diffrents priphriques. Lorsque le BIOS se termine, il charge en mmoire un petit programme (boot loader). Si le systme est charg partir du disque dur, ce programme est enregistr sur le premier secteur du disque dur. Si Linux est install sur la machine, ce programme peut tre le chargeur standard de Linux LILO (LInux LOader). LILO charge le noyau en mmoire et peut lui passer certains paramtres. De plus, il donne la possibilit de choisir parmi plusieurs noyaux compils et configurs au pralable. Le noyau charg par LILO commence par se dcompresser, il assure principalement linitialisation du matriel et excute le premier processus du systme, init.

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

Chapitre 2. Le dmarrage de Linux

Lindication du chargement de LILO est donne par linvite (LILO prompt) qui permet de choisir le noyau charger et dindiquer les paramtres passer au noyau ainsi quau processus init : Boot: linux init s Lexemple ci-dessus montre comment demander init dinitialiser le systme en single user mode . On peut constater sur cet exemple que le noyau charg est nomm linux : il sagit trs souvent du nom du noyau par dfaut. Configuration de LILO Pour configurer de manire permanente des paramtres du noyau nous allons modifier le fichier de configuration de LILO, /etc/lilo.conf. Dans ce fichier, comme nous lavons dj vu prcdemment, chaque noyau correspond une section. Cest dans cette section que nous pouvons configurer les paramtres passer au noyau au dmarrage, on utilise cet effet le mot-cl append : append= "pci=biosirq" append=ram=16M append=/dev/hdc=ide-scs Aprs chaque modification, il ne faut pas oublier dinstaller le nouveau LILO (muni des nouveaux paramtres) avec la commande /sbin/lilo.

D. Le processus de dmarrage
Voici les diffrentes tapes de la mise en route dun ordinateur :

a) BIOS
Le programme BIOS est livr avec le PC et est spcifique au constructeur de la carte mre. Il est indpendant de Linux et ne fait donc pas partie de lobjet de notre tude. Remarquons simplement quil charge le boot loader LILO et quil dtecte le matriel install sur la machine.

b) LILO
Cest le petit programme qui permet de choisir quel noyau charger et quels paramtres lui passer. Il y a bien sr un choix par dfaut qui sera pris en compte dans le cas o lutilisateur nintervient pas.

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

Prparation lexamen 101 pour la certification LPIC-1

c) Le noyau
Une fois que LILO charge le noyau partir du fichier qui a t spcifi dans /etc/lilo.conf le noyau prend la main. La premire action pour le noyau est de le dcompresser. Ce nest pas toujours obligatoire que le noyau soit compress mais il lest souvent du fait de la limitation mmoire due larchitecture des PC (do lutilit de linstruction make bzImage). Puis le noyau initialise le matriel prsent sur lordinateur. Dans un premier temps, il sagit juste du matriel dont les drivers sont prsents directement dans le noyau. Les autres matriels seront initialiss plus tard lors du chargement des modules. la suite de cette opration, le noyau monte le systme de fichier racine (/) en lecture seule. partir de ce moment les programmes indispensables comme ceux que lon trouve dans /sbin/ et /bin/ sont disponibles. Le noyau est alors prt crer le premier processus du systme, /sbin/init.

d) init
Une fois cr, ce processus, comme son nom lindique, initialise le systme, en se basant sur la configuration contenue dans le fichier /etc/inittab. Le premier programme excut par init est celui indiqu sur la ligne contenant laction sysinit. Le plus souvent ce premier programme est /etc/rc.s/rc.sysinit qui normalement, avant deffectuer le montage des systmes de fichiers (indiqus dans /etc/fstab), vrifie leur intgrit laide de lutilitaire /sbin/fsck. Il charge ensuite les modules partir de /etc/modules.conf (ou /etc/conf.modules sur les prcdentes versions de Linux). Puis init excute les programmes configurs dans /etc/inittab pour le niveau de dmarrage considr. Ce niveau de dmarrage est soit le niveau par dfaut (configur par laction initdefaut du fichier /etc/inittab), soit celui pass comme argument par lilo. Pour les niveaux dexcution multiutilisateurs , il cre les terminaux virtuels, par la commande /sbin/mingetty ou /sbin/getty. Et pour tous les niveaux, il dmarre les services appropris, daprs la configuration de /etc/rcN.d o N est le niveau de dmarrage.

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

Chapitre 2. Le dmarrage de Linux

E. Exercices
1. 2. 3. Quel est le chemin daccs complet au fichier contenant la configuration du niveau de dmarrage par dfaut ? Quelle commande affiche le niveau de dmarrage prcdent et celui en cours ? Quelle action du fichier /etc/inittab est utilise pour dfinir le niveau dexcution par dfaut ? 4. runlevel default defaultinit initdefault

Modifier le niveau de dmarrage par dfaut. OBJECTIFS Sexercer la modification de la configuration de /etc/inittab. Comprendre les niveaux de dmarrage. Comprendre le niveau de dmarrage par dfaut. SOLUTION 1) Nous allons mettre le niveau de dmarrage par dfaut 5. Pour cela il suffit douvrir le fichier /etc/inittab avec un diteur de texte (vi par exemple) et de modifier la ligne contenant le mot cl initdefault. redmarrer Linux pour tester la nouvelle

2) Il faut ensuite configuration. 5.

Configurer un nouveau terminal virtuel sur la console /dev/tty7 pour les niveaux de dmarrage 2 et 3 OBJECTIFS Sexercer la modification de la configuration de /etc/inittab Comprendre les niveaux de dmarrage. Savoir configurer le dmarrage de diffrents programmes pour diffrents niveaux de dmarrage. SOLUTION 1. Modifier le fichier /etc/inittab pour ajouter une ligne identique aux lignes correspondantes au programme.

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

Prparation lexamen 101 pour la certification LPIC-1

2. Ne pas oublier de lancer la commande init q pour informer le processus init des modifications. 6. Passer un autre niveau de dmarrage OBJECTIFS Comprendre les niveaux de dmarrage. Savoir passer dun niveau de dmarrage un autre. SOLUTION 1. Utiliser la commande init N (ou telinit N) en changeant N avec le niveau de dmarrage voulu. 2. Se reporter aux pages du manuel relatives init et telinit pour voir les options possibles. 7. Dmarrer la machine en mode mono-utilisateur OBJECTIFS Savoir passer des options au noyau et init au dmarrage de la machine. Savoir dmarrer avec un niveau de dmarrage diffrent du niveau par dfaut. SOLUTIONS 1. 2. Si linvite de LILO napparat pas appuyer sur la touche <Ctrl> durant le dmarrage. Au dmarrage de la machine passer Linux loption init s.

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

Chapitre 3. Installation et gestion de paquetages


A. Les principes dinstallation
Objectifs Comprendre les tapes de linstallation du systme et des paquetages. Savoir identifier les diffrents types dinstallations courantes. Il existe plusieurs types dinstallation du systme dexploitation Linux selon lutilisation prvue du poste. Les bons choix effectus lors de linstallation facilitent la maintenance et la gestion dun poste de travail. Choix du type dinstallation.

Points importants Mots cls

En gnral, une installation du systme dexploitation Linux passe par les tapes suivantes : 1. Dmarrage de linstallation, avec choix de la langue dinstallation et du type de clavier. Linstallation peut tre effectue partir du systme local lui-mme (cdrom ou disquette) ou partir du rseau (dmarrer avec un systme minimal partir dune disquette ou dun cdrom qui permettra de configurer laccs rseau). Les fichiers dinstallation euxmmes se trouvent sur une autre machine du rseau : le serveur ; Partitionnement du disque dur : le schma de partitionnement dpendra de la taille du disque ainsi que du type dutilisation du poste. Les outils de partitionnement intgrs dans linterface dinstallation peuvent tre disk druid, fips, fdisk, sfdisk ou cfdisk selon les distributions ; Choix des paquetages installer ; Configuration de linterface graphique : choix des cartes graphiques, des gestionnaires de fentres et paramtrage de laffichage. Linstallation de la souris seffectue galement cette tape ;

2.

3. 4.

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

Prparation lexamen 101 pour la certification LPIC-1

5. 6. 7. 8.

Configuration du rseau local : installation des cartes rseaux. Configuration rseau du poste ; Choix du fuseau horaire ; Configuration de limprimante ; Dfinition du mot de passe du super-utilisateur (root) : la cration ventuelle des premiers utilisateurs peut tre effectue lors de cette tape ; Cration de la disquette de dmarrage ;

9.

10. Configuration du chargeur de dmarrage.

B. Les chargeurs de dmarrage : LILO/GRUB et le MBR


Objectifs Comprendre le fonctionnement des chargeurs de dmarrage. Connatre le fonctionnement des deux types de chargeur. Savoir identifier les fichiers de configuration. tre capable de modifier les fichiers de configuration. Les deux principaux chargeurs de dmarrage sont LILO et GRUB qui permettent de charger un des systmes dexploitation installs sur la machine. LILO, /etc/lilo.conf, /boot/grub/grub.conf, grub-install

Points importants Mots cls

Au dmarrage dun ordinateur, un programme de chargement situ dans le BIOS charge la routine de dmarrage stocke sur le MBR (Master Boot Record) qui est situ en gnral sur le premier secteur du disque. Ce MBR contient : un chargeur (loader) qui va son tour charger un autre programme chargeur (second stage loader) propre au systme dexploitation charger ; la description des tables de partitions du disque en cours ; une valeur numrique (magic number) parfois utilise pour vrifier lintgrit du MBR lui-mme.

Les deux principaux chargeurs du systme Linux sont LILO (Linux Loader) et GRUB (Grand Unified Bootloader), tous les deux installs dans le MBR. Une fois lanc, LILO procde la deuxime tape du processus de chargement qui se situe gnralement dans /boot/boot.b. Ce fichier permet galement le dmarrage dautres systmes dexploitation. Le fichier de
Ouvrage sous contrat Creative Commons BY-NC-SA p. 28

Chapitre 3. Installation et gestion de paquetages

configuration de LILO est /etc/lilo.conf. Ce fichier est lu lexcution de la commande /sbin/lilo qui cre, partir des configurations lues, le fichier /boot/map. Ce dernier contient les emplacements physiques des blocs o se trouve le programme de dmarrage, tant donn qu ce stade le chargeur nest pas capable daccder au systme de fichiers. Le fichier /etc/lilo.conf comporte plusieurs lignes de la forme nom=valeur. Exemple de fichier /etc/lilo.conf : boot = /dev/hda prompt default = linux timeout = 120 image = /boot/vmlinz label = linux root = /dev/hda5 other = /dev/hda1 label = windows table = /dev/hda Les principales options sont les suivantes : boot : localisation de LILO (dans le MBR ou au dbut dune autre partition Linux, /dev/hda reprsente le MBR) ; install : chemin daccs du chargeur. La valeur par dfaut de cette option est /boot/boot.b ; prompt : si cette option est prsente, LILO affichera une invite et attendra une saisie de lutilisateur ; default : nom de limage charger par dfaut ; timeout : utilis avec loption prompt, permet de dfinir un dlai dattente avant le dmarrage automatique ; image : chemin daccs au noyau ; label : nom de limage pouvant tre introduit par lutilisateur si loption prompt est active ; root : la partition qui contient le systme de fichiers racine ; read-only : pour monter la partition en lecture seule afin que le programme de vrification de lintgrit du disque puisse sexcuter proprement ; append : permet de donner des paramtres aux modules du noyau ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 29

Prparation lexamen 101 pour la certification LPIC-1

linear/lba32 : permet de commander LILO afin quil lise le disque en utilisant le systme LBA (Linear Block Adressing) qui est utile pour les disques de grande taille ; lba32 : permet de dpasser la limite des premiers 1 024 cylindres et donc de booter un noyau se situant nimporte o sur le disque dur ; other : permet dindiquer la partition qui abrite un systme dexploitation autre que Linux.

Lautre chargeur, GRUB, est aussi install dans le MBR. Pour changer les options de GRUB, on peut utiliser la commande /sbin/grub qui lancera un interprteur de commande propre GRUB. Les modifications seront enregistres dans le fichier de configuration principale de GRUB, /boot/grub/grub.conf ou /boot/grub/menu.lst (qui peut si ncessaire tre dit directement). Ce fichier de configuration est lu au dmarrage par le programme /sbin/grub-install. Il existe deux types de sections pour le fichier /boot/grub/grub.conf : 1. 2. Section globale (global) : default : nom de limage charger automatiquement (la premire entre est identifie par 0), timeout : dlai dattente de linvite en secondes ; Section image : title : nom de limage, root : la partition qui contient le chargeur de dmarrage du systme (second stage loader) et la racine du systme de fichiers, kernel : chemin du noyau en partant de la racine dfinie avec loption root, ro : lecture seule, initrd : chemin du initial root disk . default=0 timeout=10 title Red Hat Enterprise Linux AS (2.6.8-1.523) root (hd0,0) kernel /vmlinuz-2.6.8-1.523 ro root=/dev/VolGroup00/LogVol00 rhgb quiet initrd /initrd-2.6.8-1.523.img # section to load Windows
Ouvrage sous contrat Creative Commons BY-NC-SA p. 30

Voici un exemple de fichier de configuration /boot/grub/grub.conf :

Chapitre 3. Installation et gestion de paquetages

title Windows rootnoverify (hd0,0) chainloader +1

C. Le gestionnaire de paquetage Debian


Objectifs Savoir installer, mettre jour et dsinstaller des paquetages binaires Debian. Savoir obtenir des informations sur un paquetage Debian : version, contenu, dpendances du paquetage, tat dinstallation... . Le systme de gestion de paquetage Debian offre deux outils de bases pour linstallation et la suppressions des paquetage Debian : DPKT (Debian package tool) et APT (Advanced package tool). Lextension des fichiers paquetage Debian est .deb. /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, aptcache, aptitude

Points importants

Mots cls

a) DPKG
DPKG est loutil de gestion de paquetage pour la distribution Debian. Il permet dinstaller, de dsinstaller, de visualiser, de configurer et de construire des paquetages Debian. Les options courantes de la commande dpkg sont : -i nom-application.deb : installe lapplication nom-application.deb ; -r mon-application.deb : dsinstalle l'application nom-application.deb ; -l | grep appli : cherche si le paquetage appli est install. Sans le grep, liste tous les paquetages ; -L nom-application : liste les fichiers du paquetage nom-application (sil est install) et leur emplacement ; --unpack : permet de dsarchiver mais de ne pas effectuer lopration de configuration du paquetage.

La commande dpkg-reconfigure permet de reconfigurer un paquetage dj install. Les options contrlant le comportement de la commande dpkg sont dcrites dans le fichier /etc/dpkg/dpkg.cfg. La base de donnes des paquetages Debian se trouve dans larborescence /var/lib/dpkg.

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

Prparation lexamen 101 pour la certification LPIC-1

b) apt-get
Le systme de gestion de paquetages Debian est dot d'un autre outil de gestion avanc appel APT (Advanced Package Tool). APT utilise toujours la commande dpkg mais ajoute des fonctionnalits supplmentaires : la dfinition de la source des applications installer (disques locaux, cdrom ou sur Internet par le protocole HTTP ou FTP) et la gestion des dpendances. La dfinition des sources des applications installer seffectue dans le fichier /etc/apt/sources.list. Voici un exemple du contenu de ce fichier : # See sources.list(5) for more information, especialy # Remember that you can only use http, ftp or file URIs # CDROMs are managed through the apt-cdrom tool. deb http://http.us.debian.org/debian stable main contrib nonfree deb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free deb http://security.debian.org stable/updates main contrib nonfree Les options de fonctionnement gnrales de la commande apt sont dcrites dans le fichier apt.conf. Le fichier de configuration principal se trouve dans /etc/apt/apt.conf (ou parfois /etc/apt.conf), les options personnelles peuvent tre modifies dans un fichier apt.conf se trouvant dans le rpertoire home de lutilisateur. apt-get se connecte tous les sites indiqus dans /etc/apt/sources.list, et recherche la liste des programmes disponibles. Les options de base de la commande apt sont : apt-get install nom-paquetage : installe le paquetage nom-paquetage ; apt-get remove nom-paquetage : dsinstalle le paquetage nom-paquetage ; apt-get --purge remove nom-paquetage : dsinstalle nom-paquetage et ses fichiers de configuration ; apt-get install nom-paquetage1 nom-paquetage2- : paquetage1 et dsinstalle nom-paquetage2 ; installe nom-

apt-get remove nom-paquetage1 nom-paquetage2+ : dsinstalle nompaquetage1 et installe nom-paquetage2 ; apt-get --reinstall nom-paquetage1 : rinstalle le paquetage nompaquetage1 ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 32

Chapitre 3. Installation et gestion de paquetages

apt-get update : met jour la liste des paquetages disponibles ; apt-get upgrade : met jour tous les paquetages pouvant tre mis jour ; apt-get -u upgrade : affiche en plus la liste des paquetages qui vont tre mis jour ; apt-get dist-upgrade : met jour le systme tout entier (nouvelle version de la Debian) ; apt-get source nom-paquetage : tlcharge le paquetage source nompaquetage ; apt-get -b source nom-paquetage : tlcharge le paquetage source nompaquetage et le compile ensuite ; apt-get build-dep nom-paquetage : tlcharge les dpendances du paquetage source nom-paquetage qui va tre compil.

D'autres commandes de la famille apt existent. Elles permettent d'avoir des informations sur les paquetages. Voici les options courantes de ces commandes : apt-show-versions -u : affiche une liste des paquetages pouvant tre mis jour ; apt-cache search foobar : recherche dans la liste des paquetages disponibles les occurrences de foobar ; apt-cache show nom-paquetage : affiche la description de nom-paquetage ; apt-cache depends package : montre les dpendances de package ; apt-file search nom-fichier : affiche le nom du paquetage qui fournit nom-fichier ; apt-file list package : affiche le contenu de package.

c) aptitude
Le programme aptitude est une interface en mode texte pour la gestion des paquetages Debian. Il permet lutilisateur de connatre la liste des paquetages et de raliser des tches dadministration comme linstallation, la mise jour et la suppression des paquetages. Le programme aptitude fonctionne en mode interactif ou partir de la ligne de commande.

D. Le gestionnaire de paquetage RPM et YUM


Objectifs Savoir installer, r-installer, mettre jour et supprimer
Ouvrage sous contrat Creative Commons BY-NC-SA p. 33

Prparation lexamen 101 pour la certification LPIC-1

Mots cls

les paquetages avec RPM et YUM. Savoir obtenir des informations sur un paquetage RPM : version, contenu, dpendances, intgrit du paquetage, signature et tat d'installation (si le paquetage est install ou non). Savoir dterminer les fichiers relatifs un paquetage donn, ainsi que rechercher le paquetage auquel appartient un fichier donn. rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, yumdownloader

a) RPM (Red Hat Package Manager)


RPM est utilis originellement par la distribution Red Hat mais actuellement employ par bon nombre de distributions. La gestion des paquetages est principalement ralise par la commande rpm. RPM stocke sa base de donnes dans le rpertoire /var/lib/rpm. Les noms des paquetages au format RPM respectent souvent la syntaxe nomversion-release-architecture.rpm. Exemple : xsnow-1.41-1.i386.rpm Voici les options courantes de la commande RPM : -i (ou --install) : installe un paquetage ; -U (ou --update) : met jour un paquetage dj install ou linstalle sil nest pas encore prsent dans le systme ; -e (ou --erase) : dsinstalle un paquetage ; -q (ou --query) : envoie une requte sur un paquetage afin d'afficher des informations ; -V (ou --verify) : vrifie lintgrit dun paquetage ; -F (ou --freshen) : met jour un paquetage dj install ; --version : affiche la version de la commande rpm ; --help : affiche les options de la commande rpm. c : affiche la liste des fichiers de configuration d'un paquetage donn ; f : affiche le nom du paquetage auquel appartient un fichier donn ; i : affiche les informations relatives un paquetage ; l : affiche tous les fichiers et rpertoires relatifs un paquetage ; p : spcifie que la requte est spcifique au fichier du paquetage ; b : cre un paquetage rpm partir d'un rpertoire contenant les fichiers sources ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 34

Options utiliser avec l'option -q (ou --query) :

Chapitre 3. Installation et gestion de paquetages

--rebuild : cre un paquetage partir d'un fichier de source rpm ; --requires PACKAGE : pour connatre la liste des paquetages dpendants dun paquetage. --nodeps : installe un paquetage sans se soucier des dpendances ; --force : force la mise jour ; --import : importe le fichier de signature d'un paquetage ; --checksig : vrifie l'authenticit du paquet par sa signature ; h : ajoute l'tat d'avancement d'un processus en cours ; v : mode bavard ; a : applique l'option tous les paquetages installs.

Les options spciales :

Le fichier rpmrc contrle les actions de la commande rpm. Il permet de dfinir larchitecture machine et le systme sur lequel la commande rpm sexcute. Il contient galement des informations allant du chemin des bases de donnes rpm jusquaux noms des personnes ayant dvelopp les paquetages. Plusieurs fichiers rpmrc sont prsents sur le systme, /usr/lib/rpm/rpmrc, /etc/rpmrc ainsi que des fichiers rpmrc personnaliss dans le rpertoire home de lutilisateur. Ils sont traits dans lordre nonc prcdemment, les diffrentes options tant modifies par les derniers fichiers considrs. Le contenu final est affich par loption showrc de la commande rpm. rpm --showrc ARCHITECTURE AND OS: build arch : i586 compatible build archs: i686 i586 i486 i386 noarch build os : Linux compatible build os's : Linux install arch : i686 install os : Linux compatible archs : i686 i586 i486 i386 noarch compatible os's : Linux RPMRC VALUES: macrofiles : /usr/lib/rpm/macros:/usr/lib/rpm/i686linux/macros La base de donnes des paquetages RPM se trouve dans larborescence /usr/lib/rpm.

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

Prparation lexamen 101 pour la certification LPIC-1

Le rpertoire /usr/lib/rpm/ contient galement les raccourcis des commandes les plus utilises dans le processus de cration des paquetages comme la commande patch. Ces commandes se trouvent dans le fichier macros. On peut extraire des donnes dun paquetage RPM sans lavoir install. Cela peut tre utile pour rcuprer le code source dun paquetage ou extraire des polices ou dautres donnes. Pour accomplir cette tche on utilise la commande rpm2cpio qui prend comme seul argument le fichier RPM. Le rsultat est envoy vers la sortie standard qui peut tre redirige vers une archive cpio : rpm2cpio vsftpd-2.1.0-2.fc11.i586.rpm > vsftpd-2.1.02.fc11.i586.cpio On peut ensuite utiliser la commande cpio, avec loption i pour extraire les fichiers et make-directories pour crer des rpertoires : cpio i make-directories vsftpd-2.1.0-2.fc11.i586.cpio Le rsultat est une extraction des fichiers de larchive cpio dans le rpertoire courant. Ce sera une srie de sous-rpertoires qui imitent la structure de larborescence Linux savoir usr, lib, etc et ainsi de suite, ou bien une archive tar contenant du code source.

b) YUM (Yellow dog Updater Modified)


YUM est un outil permettant linstallation, la mise jour et la suppression des paquetages rpm. YUM gre les dpendances entre les paquetages. Il trouve ces paquetages sur diffrentes sources appeles dpts : des fichiers images ISO Red Hat, le rseau Red Hat, le site Dags, etc. La configuration de YUM se fait travers le fichier /etc/yum.conf qui contient deux types de sections : [main] : dfinit les options globales de configuration ; [repository] : dfinit la configuration pour chaque dpt.

Des fichiers de configuration supplmentaires sont galement lus partir des rpertoires configurs par loption reposdir, du fichier yum.conf, dont la valeur par dfaut est le rpertoire /etc/yum/repos.d. Les options de base de la commande yum sont : yum install paquetage(s) : installe la dernire version d'un paquetage ou dun groupe de paquetages en s'assurant que toutes les
Ouvrage sous contrat Creative Commons BY-NC-SA p. 36

Chapitre 3. Installation et gestion de paquetages

dpendances sont satisfaites ; yum update paquetage(s) : met jour les paquetages indiqus. Si aucun nom de paquetage n'est fourni avec la commande, update met jour tous les paquetages installs. Lors de la mise jour des paquetages, yum s'assure que toutes les dpendances sont satisfaites ; yum remove paquetage(s) ou yum erase paquetage(s) : supprime du systme le(s) paquetage(s) indiqu(s), ainsi que tous les paquetages qui en dpendent ; yum search chaine : cherche des paquetages dont la description, le rsum, le nom, ou le nom de l'empaqueteur, contiennent la chane indique. Trs pratique pour chercher un paquetage quand on nen connait pas le nom mais que lon connat quelques mots cls s'y rapportant ; yum list : affiche diverses informations sur les paquetages. yum list [all | glob_exp1] [glob_exp2] [...] : affiche tous les paquetages disponibles et installs ; yum list available [glob_exp1] [...] : affiche tous les paquetages disponibles dans le(s) dpt(s) pouvant tre installs ; yum list updates [glob_exp1] [...] : affiche tous les paquetages dont des mises jour sont disponibles dans le(s) dpt(s) ; yum list installed [glob_exp1] [...] : affiche les paquetages mis jour ; yum list extras [glob_exp1] [...] : affiche les paquetages installs sur le systme qui ne sont disponibles dans aucun dpt du fichier de configuration ; yum list obsoletes [glob_exp1] [...] : affiche les paquetages installs sur le systme qui sont rendus obsoltes par des paquetages des dpts du fichier de configuration ; yum list recent : affiche les paquetages rcemment ajouts aux dpts.

La commande list peut prendre plusieurs arguments :

Toutes les options dcrites prcdemment prennent en argument des noms de paquetages ou des expressions gnriques du shell (avec des jokers). Par exemple, yum list available 'foo*' affichera tous les paquets disponibles dont le nom commence par foo . L'utilisation des apostrophes permet de s'affranchir du dveloppement de l'expression par le shell. On peut utiliser la commande yumdownloader suivie du nom de paquetage, et la dernire version de ce paquetage sera tlcharge dans le rpertoire

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

Prparation lexamen 101 pour la certification LPIC-1

courant. Cela peut tre pratique si on a besoin de mettre jour un systme qui nest pas connect Inetrnet.

E. Gestion des bibliothques


Objectifs Points importants Mots cls Savoir grer les librairies dynamiques. Les bibliothques, partages ou non, tiennent une place importante dans le bon fonctionnement du systme Linux. Ce sont des lments de programmes contenant des fonctions utilises par d'autres programmes. /etc/ld/so.conf, ldd, ldconfig, LD_LIBRARY_PATH

Les bibliothques (libraries) sont des fonctions gnralement partages utilises par un programme binaire sous sa forme excutable. Il existe deux sortes de bibliothques : les bibliothques statiques, qui sont incluses dans le fichier image de l'excutable, et les bibliothques dynamiques ou partages, quand les codes du programme ne sont pas inclus dans le fichier image de l'excutable. Les bibliothques statiques se prsentent sous forme de fichier avec l'extension .a tandis que les bibliothques partages sont identifies par l'extension .so (shared object). Les bibliothques dynamiques peuvent tre appeles par plusieurs programmes simultanment, et elles sont associes au processus seulement durant l'excution. Les bibliothques dynamiques sont charges par l'utilitaire ld.so en utilisant l'ordre de recherche suivant : les rpertoires mentionns LD_LIBRARY_PATH ; dans la variable d'environnement

le fichier cache /etc/ld.so.cache qui contient la liste des bibliothques des rpertoires de recherche. Il est mis jour par la commande ldconfig qui scrute les diffrents rpertoires mentionns dans le fichier /etc/ld.so.conf ; les rpertoires /lib et /usr/lib, usr/local/lib, etc.

La commande ldd permet d'avoir la liste des bibliothques partages ncessaires un excutable.

F. Exercices
8. Quelle commande allez-vous utiliser pour r-installer le chargeur de dmarrage GRUB ? grub
Ouvrage sous contrat Creative Commons BY-NC-SA p. 38

Chapitre 3. Installation et gestion de paquetages

9.

install-grub grub-install grub-setup Comment chercher un paquet prcis dans les dpts Debian ? apt-cache search apt search apt-get search apt-get -s

10. Vous venez juste de tlcharger le fichier foo_1.5-20_i386.deb. Quelle commande installera le paquet sur votre systme ? apt-get d install foo aptitude foo_1.5-20_i386.deb dpkg i foo_1.5-20_i386.deb apt-get install foo_1.5-20_i386.deb

11. Quelle commande va lister les fichiers contenus dans foo1.5.20.i386.rpm ? rpm qpl foo-1.5.20.i386.rpm rpm qf foo-1.5.20.i386.rpm rpm qi foo-1.5.20.i386.rpm rpm ql foo-1.5.20.i386.rpm

12. Comment chercher un paquet prcis dans les dpts avec YUM ? yum-cache search yum search yum -s yum-cache -s

13. quoi sert la commande ldconfig ? prendre en compte les nouvelles librairies dont le chemin est contenu dans le fichier /etc/ld.so.conf. configurer les chemins des librairies systmes. prparer la compilation d'un programme.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 39

Prparation lexamen 101 pour la certification LPIC-1

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

Chapitre 4. Systme de fichiers


A. Disques durs et partitionnement
Objectifs Comprendre la logique de Linux en ce qui concerne la gestion du partitionnement. Savoir rparer le partitionnement du disque avant linstallation. Matriser les commandes de partitionnement. MBR, fdisk

Mots cls

Un disque dur est compos de plateaux relis un moteur central, avec des ttes de lecture de part et dautre de chacun des plateaux. Sur chaque plateau se trouvent des pistes cylindriques dcoupes en secteurs. Ladressage dun secteur est une rfrence au cylindre, la tte de lecture utilise, la piste, et enfin au secteur. linstallation, un disque dur nest ni partitionn, ni format. Partitionner signifie dfinir sur le disque un ou plusieurs espaces, ou partitions, et formater signifie prparer une partition recevoir des informations en utilisant un systme de fichiers dfini.

a) Les partitions
Une partition est dfinie par son type, son emplacement de dbut de partition et enfin soit sa taille, soit son emplacement de fin de partition. Un partitionnement est rversible (non physique). Une seule partition est active la fois au niveau du BIOS : cette activation indique o le BIOS doit aller chercher le noyau du systme dexploitation pour le dmarrage. Il existe trois sortes de partitions : les partitions principales : leur nombre est limit quatre et elles
Ouvrage sous contrat Creative Commons BY-NC-SA p. 41

Prparation lexamen 101 pour la certification LPIC-1

supportent tous types de systmes de fichiers ; la partition tendue : elle ne peut contenir que des partitions logiques et ne peut pas recevoir de systmes de fichiers. Elle ne peut exister que sil existe une partition principale ; les partitions logiques : elles sont contenues dans une partition tendue. Elles ne sont pas limites en nombre et acceptent tous types de systmes de fichiers.

b) Organisation des partitions sous Linux


Les descripteurs de disques durs dans le rpertoire /dev commencent par hd pour les priphriques de type IDE ou par sd pour les priphriques de type SCSI. Une lettre additionnelle est ajoute au descripteur pour dsigner le priphrique. Il y a gnralement deux contrleurs IDE en standard sur un PC, chaque contrleur supportant deux priphriques (disques, lecteur de cdrom/DVD, lecteur ZIP...).
Tableau 3. Dsignation des priphriques IDE

Matre Esclave

Primaire a b

Secondaire C D

Pour le priphrique matre sur le contrleur primaire : hda Pour le priphrique esclave sur le contrleur secondaire : hdd. Les priphriques SCSI sont dsigns en fonction de leur position dans la chane SCSI (sda, sdb, sdc, etc.). On utilise la commande fdisk pour configurer une nouvelle partition. Par exemple, pour le premier disque IDE : fdisk /dev/hda Voici une liste des diffrentes commandes internes de fdisk : a : (ds)active un indicateur bootable ; b : dite le libell de disque bsd ; c : (ds)active l'indicateur de compatibilit DOS ; d : supprime une partition ; l : rpertorie les types de partition connus ; m : affiche la liste des commandes ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 42

Chapitre 4. Systme de fichiers

n : ajoute une nouvelle partition ; o : cre une nouvelle table de partition DOS vide ; p : affiche la table de partition ; q : quitte le programme sans enregistrer les modifications ; s : cre un nouveau libell de disque Sun vide ; t : change l'ID systme d'une partition ; u : change l'unit d'affichage/saisie ; v : vrifie la table de partition ; w : crit la table sur le disque et quitte le programme ; x : fonctions supplmentaires (experts seulement).

Ci-dessous, un exemple de table de partitionnement obtenu avec loption l de fdisk :


Figure 1. Exemple de partitionnement

Le systme dexploitation utilise une zone dchange (swap) sur le disque comme une extension de la mmoire physique. Selon les besoins, il y aura donc un change entre la mmoire physique et la zone swap. Linux utilise deux types de partitions : Linux (Linux native) et Echange Linux (swap) comme on peut le constater sur la figure 1. La premire partition est une partition qui peut contenir un systme Windows et la quatrime une partition de type tendu qui permet de crer des partitions logiques (cf. supra).

B. Arborescence des fichiers sous Linux


Objectifs Mots cls Connatre l'organisation de l'arborescence standard des fichiers sous Linux. boot, bin, lib, dev, etc, proc, root, home, tmp, usr, var, local

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

Prparation lexamen 101 pour la certification LPIC-1

a) Les rpertoires de base


Les rpertoires de base de l'arborescence standard de fichiers sont les suivants (N. B. la racine du systme est reprsente par / ) : /boot : contient principalement le fichier binaire du noyau ainsi que les ressources ncessaires son lancement au dmarrage ; /dev : contient les fichiers des priphriques (devices) de la machine ainsi que des fichiers spciaux ; /etc : rpertoire trs important o sont stocks tous les fichiers de configuration du systme en gnral et des diffrents dmons en particulier. Il sagit du rpertoire sauvegarder pour pouvoir restaurer la configuration d'une machine ; /home : rpertoire o sont stocks par dfaut les rpertoires home des utilisateurs du systme ; /proc : contient les informations ncessaires au noyau. C'est une arborescence virtuelle gnralement en lecture seule sauf proc/sys ; /root : rpertoire home du super-utilisateur (root) ; /tmp : permet aux applications et aux utilisateurs d'avoir un espace d'change o ils peuvent stocker leurs fichiers temporaires. Il est effac chaque redmarrage de la machine ( reboot ) ; /usr : contient les fichiers ncessaires aux applications, la documentation, les manuels, les fichiers sources ainsi que des librairies gnralement statiques et gnres l'installation des logiciels standards de la distribution ; /usr/local : arborescence supplmentaires ; qui sert installer les logiciels

/var : contient les fichiers journaux des diffrents dmons (donc variable) ainsi que les spools de mail, d'impression, de cron, etc.

b) Les autres rpertoires


/bin et /sbin : contiennent l'ensemble des binaires indispensables au dmarrage de la machine et les commandes essentielles dadministration ; /lib et /usr/lib : contiennent les librairies ncessaires aux commandes prcdentes.

C. Formatage et types de systmes de fichiers


Objectifs Connatre les diffrents types de systmes de fichiers reconnus par Linux et leurs spcificits.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 44

Chapitre 4. Systme de fichiers

Mots cls

Matriser la cration d'un systme de fichiers sur une partition. ext2, ext3, reiserfs, vfat, xfs, mkfs, tune2fs

Les principaux types de systme de fichiers supports par Linux sont prsents dans le tableau 4.
Tableau 4. Commandes de cration de systmes de fichiers

Systme de fichiers ext2 ext3 reiserfs Xfs vfat

Commande de cration

mke2fs ou mkfs.ext2 mke2fs -j ou mkfs.ext3 Mkreiserfs mkfs.xfs mkfs.vfat

Le systme de fichiers ext3 est une simple extension du format standard ext2 de Linux : il intgre un journal qui enregistre toutes les oprations effectues sur le disque. Ceci permet une rcupration plus rapide et sre du systme en cas d'arrt brutal de la machine. L'instruction gnrale de cration dun systme de fichiers est : mkfs -t type de fichier partition Il existe des commandes quivalentes pour chaque type de systmes de fichiers, par exemple mkfs.ext3, mkfs.vfat (voir tableau 4). Exemples de formatage de la partition hda1 avec cration d'un systme de fichiers de type ext3 (les trois commandes sont quivalentes) : mkfs.ext3 /dev/hda1 mkfs -t ext3 /dev/hda1 mke2fs -j /dev/hda1 # cration du journal spcifique Il est aussi trs facile de transformer une partition ext2 en ext3 avec l'instruction tune2fs pour crer le journal : tune2fs -j /dev/hda1

D. Contrle de l'intgrit du systme de fichiers et rparation


Objectifs Mots cls Matriser la remise en tat d'un systme de fichiers endommag. fsck, e2fsck, debugfs, dumpe2fs
Ouvrage sous contrat Creative Commons BY-NC-SA p. 45

Prparation lexamen 101 pour la certification LPIC-1

Si le systme de fichiers est endommag ou corrompu, l'utilitaire fsck est utilis pour vrifier et corriger le systme. L'instruction gnrale de vrification du systme de fichiers est : fsck -t type-de-fichier partition De mme que prcdemment, il existe des commandes quivalentes pour chaque type de systmes de fichier, par exemple fsck.ext3. L'option -i permet de laisser l'utilitaire fsck essayer de corriger lui-mme les problmes rencontrs. Un expert pourrait mieux faire, mais en gnral lopration se droule bien. L'exemple qui suit permet de vrifier l'intgrit d'un systme de fichiers reiserfs : fsck.reiserfs /dev/hda1 Une vrification de toutes les partitions est faite au dmarrage du systme par la commande fsck. La commande e2fsck est quivalente fsck t ext2. En cas de problmes plus important, il est possible dutiliser lutilitaire debugfs. Il est utilis pour examiner et modifier ltat dun systme de fichiers format en ext2. Il permet par exemple de retrouver des inodes de fichiers supprims (rcemment) et de les restaurer. Lutilitaire dumpe2fs permet dafficher les informations dun systme de fichiers format en ext2. Il est par exemple ainsi possible de connatre la date du dernier montage dun systme de fichiers.

E. Montage et dmontage d'un systme de fichiers


Objectifs Mots cls Savoir monter et dmonter un systme de fichiers sous Linux. mount, umount, du, df, /etc/fstab

a) Montage et dmontage manuel


Pour pouvoir utiliser un systme de fichiers, celui-ci doit tre mont sur un point de montage de l'arborescence Linux : son contenu est alors accessible comme un simple rpertoire. Le systme d'exploitation ralise alors diverses tches de vrification afin de s'assurer que tout fonctionne correctement.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 46

Chapitre 4. Systme de fichiers

La commande mount accepte deux arguments : le premier est le fichier spcial correspondant la partition contenant le systme de fichiers ; le second est le rpertoire sous lequel il sera mont (point de montage).

Il peut tre ncessaire de spcifier le type de fichiers avec l'option -t au cas o Linux ne parviendrait pas le dterminer automatiquement. La commande umount permet le dmontage du systme de fichiers. Voici un exemple de montage et de dmontage d'une cl USB de type flashdisk dcrite par le fichier device sda : mount /dev/sda1 /mnt/flashdisk umount /mnt/flashdisk

b) Montage et dmontage automatique


Le fichier /etc/fstab est utilis pour le montage automatique des systmes de fichiers au moment du dmarrage du systme. Chaque ligne du fichier fstab dcrit la manire de montage dun systme de fichiers, et ceci travers six champs spars par des espaces. #cat /etc/fstab LABEL=/ / /dev/hda5 /home none /proc /dev/cdrom /media/cdrom /dev/hda3 /usr /dev/hda6 /var /dev/hda2 swap ext3 ext3 proc iso9660 ext3 ext3 swap defaults defaults defaults ro,noauto,owner defaults defaults defaults 0 0 0 0 0 0 0 1 2 0 0 2 2 0

Le premier champ donne le nom de priphrique ou ltiquette (LABEL) associ ce priphrique. Ce premier champ peut aussi inclure des systmes de fichiers distants, dans ce cas la notation dun chemin NFS (Network File System) est utilise : serveur:/chemin_distant. Ceci indique que /chemin_distant est un rpertoire partag via NFS sur une machine distante dont le nom est serveur ; Le second champ indique le point de montage, qui est le chemin daccs dans larborescence Linux ; Le troisime champ dcrit le type de systme de fichiers, par exemple ext2, ext3, reiserfs, iso9660, etc. ; Le quatrime champ indique les options de montage. Il sagit dune liste doptions spares par des virgules, ce sont en fait les options de
Ouvrage sous contrat Creative Commons BY-NC-SA p. 47

Prparation lexamen 101 pour la certification LPIC-1

la commande mount. Le mot cl default indique la combinaison des options rw, suid, dev, exec, auto, nouser, et async (voir le manuel de la commande mount pour plus de dtails sur chacune de ces options) ; Le cinquime champ est destin thoriquement tre utilis par lutilitaire dump pour dterminer les systmes de fichiers sauvegarder. Mais en pratique ce champ nest pas exploit et il est presque toujours 0 ; Le sixime champ est utilis par lutilitaire fsck pour dterminer lordre de vrification de lintgrit des systmes de fichiers lors du dmarrage du systme. Le systme de fichier racine doit avoir la valeur 1, les autres systmes de fichiers ont la valeur 2 et seront vrifis la suite. Si ce champ vaut 0, fsck ne vrifie pas le systme de fichier.

Les commandes mount et umount utilisent le fichier fstab. Il est important que les donnes de ce fichier soient compltes et exactes. Par exemple on peut monter un systme de fichier en spcifiant seulement le point de montage ou le nom de priphrique. Ainsi, au lieu dexcuter la commande : #mount t iso9660 o ro,noauto,owner, /dev/cdrom /media/cdrom on peut crire #mount /media/cdrom et les autres informations sont extraites automatiquement par la commande mount partir de fichier fstab. La commande mount a monte tous les systmes de fichiers rpertoris dans le fichier fstab. Cette commande est gnralement excute au moment de dmarrage du systme.

c) Contrle de systme de fichiers


La commande df permet de connatre le taux d'utilisation de toutes les partitions montes du systme. L'option -h (human readable) facilite la lecture en utilisant des units de taille plus commodes (Mo, Go, To ). La commande du (disk usage) est trs pratique pour connatre l'espace occup par une arborescence. L'option -s permet d'afficher le total pour chaque lment et l'option -k de l'afficher en kilo-octets : du -ks /usr/local

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

Chapitre 4. Systme de fichiers

F. Les droits sur les fichiers et les rpertoires


Objectifs Comprendre la gestion des droits sur les fichiers et rpertoires sous Linux. Savoir protger les fichiers et les rpertoires. chmod, umask, chattr, suid, sgid, sticky bit, chattr

Mots cls

Linux permet de spcifier les droits dont disposent les utilisateurs sur un fichier ou un rpertoire par la commande chmod. On distingue trois catgories d'utilisateurs : u : le propritaire (user) ; g : le groupe ; o : les autres (others). r : lecture (read) ; w : criture (write) ; x : excution ; - : aucun droit. pour donner le droit de lire le fichier liste.txt au propritaire du fichier : chmod u+r liste.txt pour autoriser une personne du groupe propritaire du fichier modifier le fichier : chmod g+w liste.txt pour autoriser les autres utilisateurs excuter le fichier commande.sh : chmod o+x commande.sh Les droits d'accs peuvent aussi s'exprimer en notation octale. Les correspondances sont indiques dans le tableau 5. On peut utiliser la notation octale pour les droits avec la commande chmod, cela permet de positionner plusieurs types de droits en une seule commande.Exemples : attribuer les droits rw------- tous les fichiers : chmod 600 *
Ouvrage sous contrat Creative Commons BY-NC-SA p. 49

Ainsi que trois types de droits :

Exemples :

Prparation lexamen 101 pour la certification LPIC-1

attribuer les droits rw-r--r-- tous les fichiers : chmod 644 *

attribuer les droits rwxr-x--- tous les fichiers : chmod 750 *


Tableau 5. Expression des droits sur les fichiers en notation octale

Droit ----x -w-wx r-r-x rwrwx

Notation octale 0 1 2 3 4 5 6 7

Lorsquon cre un nouveau fichier, par exemple avec la commande touch, ce fichier possde certains droits par dfaut. La commande umask permet de changer ces droits par dfaut. Les droits sont indiqus de faon inverse en notation octale pour les droits de type r et w seulement. Pour crer des fichiers en mode rw-r--r-- : umask 022 Pour crer des fichiers en mode ------- : umask 666 Les droits spciaux Il existe trois droits spciaux, SUID, SGID et Sticky Bit. Ils peuvent tre positionns par la commande chmod (premier groupe de droits exprims en octal) : SUID (Set User ID) : lorsque le bit SUID est positionn, une commande se lancera avec l'UID de son propritaire, ce qui permet d'acqurir ses droits durant l'excution de la commande : par exemple la commande /usr/bin/passwd permet dacqurir les droits de root pour modifier le fichier /etc/shadow. Le bit SUID est positionn par loption s de la commande chmod, ou bien en positionnant 1 le premier bit du groupe des droits spciaux (do la valeur 4 de lexemple suivant) :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 50

Chapitre 4. Systme de fichiers

chmod 4755 /bin/cat chmod u+s /bin/grep SGID (Set Group Id) : ce droit fonctionne de la mme faon que le droit SUID en ce qui concerne les excutables mais en donnant le droit du groupe. Le SGID peut aussi tre attribu un rpertoire : dans ce cas tout fichier cr dans un rpertoire portant le SGID aura comme groupe propritaire le groupe du rpertoire. Ce bit est positionn par l'option s de la commande chmod, ou bien en positionnant 1 le deuxime bit du groupe des droits spciaux (do la valeur 2 de lexemple suivant) : chmod 2755 /home/lpi102 chmod g+s /home/lpi102 Sticky Bit : si le Sticky Bit est positionn sur un rpertoire, seul le propritaire d'un fichier contenu dans ce rpertoire pourra le renommer ou le supprimer, mais tous les utilisateurs pourront y avoir accs. Le Sticky Bit est par exemple toujours positionn sur les rpertoires /tmp ou /var/mail/. Ce bit est positionn par l'option t de la commande chmod, ou bien en positionnant 1 le troisime bit du groupe des droits spciaux (do la valeur 1 de lexemple) : chmod 1666 /home/lpi/partag chmod o+t /home/lpi/partag Historiquement, le Sticky Bit positionn sur un fichier indiquait au systme de le maintenir en mmoire la suite dun premier chargement pour des questions defficacit.

G. Modifier le propritaire et le groupe sur les fichiers et les rpertoires


Objectifs Mots cls tre capable de modifier le propritaire et le groupe dun fichier ou dun rpertoire. chown, chgrp

Linux permet de spcifier le propritaire dun fichier ou dun rpertoire par la commande chown. chown le_propritaire /home/lpi/monfichier
Ouvrage sous contrat Creative Commons BY-NC-SA p. 51

Prparation lexamen 101 pour la certification LPIC-1

Linux permet de spcifier le groupe dun fichier ou dun rpertoire par la commande chgrp. chgrp le_groupe /home/lpi/monfichier

H. Les quotas
Objectifs Comprendre la notion de quota sur un systme de fichiers. Savoir grer les quotas par utilisateur. quota, /etc/fstab, usrquota, quotacheck, edquota, quotaon, quotaoff, repquota

Mots cls

Lattribution de quotas dans un systme de fichiers est un outil qui permet de matriser lutilisation de lespace disque par les utilisateurs. Les quotas consistent fixer une limite d'espace pour un utilisateur ou un groupe d'utilisateurs (attention, cela ne fonctionne pas forcment avec les systmes de fichiers de type reiserfs). Pour cela, voici les tapes suivre : diter le fichier /etc/fstab et rajouter usrquota dans les options de montage ; remonter la partition sur laquelle on veut dfinir des quotas pour que le montage prenne en compte les nouvelles options : mount -o remount device commencer la vrification des quotas avec la commande quotacheck : quotacheck -ca diter les quotas pour chaque utilisateur avec edquota : edquota -u utilisateur La commande ouvre un diteur (vi ou emacs selon le contenu de la variable EDITOR), qui permet de modifier directement les fichiers aquota.user ou aquota.group ; dbuter la prise en compte des quotas par la commande quotaon ; quotaon partition afficher un rsum des informations sur les quotas dfinis sur un systme de fichiers et sur leur utilisation de ces quotas par les diffrents utilisateurs avec la commande repquota.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 52

Chapitre 4. Systme de fichiers

repquota partition La commande quotaoff arrte la prise en compte des quotas.

I. Recherche de fichiers
Objectifs Connatre et matriser les diffrents types d'outils de recherche de fichiers. Savoir grer les bases de donnes d'informations associes ces outils. find, locate, slocate, whereis, which, whatis, updatedb, makewhatis, apropos, /etc/updatedb.conf

Mots cls

La recherche dans l'arborescence dun systme de fichiers peut se faire grce des utilitaires tel que find, locate, which, whereis, whatis et apropos.

a) find
La commande find est la plus ancienne commande de recherche de Unix, elle n'utilise pas de base indexe et son excution peut donc parfois tre longue car elle est trs complte par ses critres de recherche. La syntaxe gnrale est la suivante : find <chemin> <critres>. Les principales options de recherche sont les suivantes : -name : par nom de fichiers ; -type : par type du fichier (f : fichier, d : rpertoire ...) ; -user : utilistateur auquel appartiennent les fichiers recherchs ; -atime : par date de dernier accs aux fichiers ; -mtime : par date de dernire modification du contenu des fichiers ; -ctime : par date de dernier changement des fichiers : contenu mais aussi droits daccs, propritaire....

Pour rechercher le fichier Xinitrc dans tout le systme ( partir de la racine) : find / -name Xinitrc Pour rechercher les fichiers de l'utilisateur 666 dans tout le systme ( partir de la racine) : find / -user 666

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

Prparation lexamen 101 pour la certification LPIC-1

b) locate et slocate
La commande locate cherche tous les types de fichiers dans l'intgralit des systmes de fichiers comme find, mais elle utilise une base de donnes. La base de donnes est automatiquement mise jour par une commande de type cron, gnralement la nuit, lorsque la machine est peu sollicite. On peut mettre jour manuellement la base de donnes en utilisant la commande updatedb (on doit tre root pour lancer cette commande). Les options de fonctionnement de la commande updatedb sont dcrites dans le fichier /etc/updatedb.conf. On peut y dcrire la racine de larborescence indexer, les fichiers exclure, lemplacement de la base de donnes, etc. updatedb La recherche est donc trs rapide et peut se faire partir de fragments du nom : locate monfichier_perdu /home/nicolas/trucs/monfichier_perdu La commande slocate est la version scurise de locate. Elle fonctionne de la mme manire, mais stocke galement les droits daccs associs aux fichiers ainsi que les informations de proprit (propritaire et groupe) du fichier de faon ne pas afficher dans le rsultat de la recherche les fichiers auxquels lutilisateur naurait pas accs.

c) which
La commande which est utilise pour trouver l'emplacement d'une commande : elle effectue sa recherche par rapport au contenu de la variable PATH, et retourne le chemin du premier fichier correspondant. which bash /bin/bash Elle est trs commode pour vrifier quelle version de la commande sexcute rellement lorsquon lappelle par son nom relatif.

d) whereis
La commande whereis fonctionne de faon similaire which, mais elle peut aussi chercher dans les pages de manuel (man) et les codes sources. bash: /bin/bash /usr/share/man/man1/bash.1.bz2

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

Chapitre 4. Systme de fichiers

e) whatis
La commande whatis cherche des commandes dans l'intgralit des systmes de fichiers comme which, mais elle utilise une base de donnes qui contient une courte description ainsi que des mots cls. La base de donnes est cre en utilisant la commande makewhatis (on doit tre root pour lancer cette commande). makewhatis La recherche est donc plus rapide et peut se faire partir du nom ou d'un mot cl. La rponse contient une description rapide de la commande whatis who who show who is logged on

f) apropos
La commande apropos utilise la mme base de donnes que whatis, mais donne plus d'informations : apropos who w show who is logged on and what they are doing who show who is logged on whoami print effective userid

J. Exercices
1. Comment est reprsent le priphrique IDE esclave du deuxime contrleur ? 2. 3. hda sdc. hdc1. hdd.

L'arborescence ________ contient les donnes des utilisateurs. Pour formater une partition, vous utilisez disk druid.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 55

Prparation lexamen 101 pour la certification LPIC-1

4.

fdisk. mkfs. fsck.

Quelles commandes permettent de tester un systme de fichiers format en ext3 (plusieurs rponses) ? fsck.ext3. fsck -t ext3. tune2fs -j. e3fsck.

5.

Quelle commande montre l'occupation d'un rpertoire /usr/XXX ? du -s /usr/XXX. df -h /usr/XXX. ls -iR /usr/XXX.

6.

Quels droits sont positionns sur un rpertoire par la commande chmod 1777 un_repertoire (plusieurs rponses) ? Elle permet tous les utilisateurs d'accder au rpertoire. Elle interdit l'accs aux autres utilisateurs que le groupe. Elle permet tous de crer des fichiers dans ce rpertoire, mais pas de modifier ou deffacer ceux des autres.

7. 8.

La commande ______ permet de vrifier les quotas d'un utilisateur. La commande locate fonctionne comme find mais avec des options diffrentes. est plus efficace que find car elle utilise un index. permet de changer la langue par dfaut de Linux.

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

Chapitre 5. GNU et les commandes Unix


A. Commandes gnrales
Objectifs Matriser la ligne de commande. Connatre les caractres spciaux et la majorit des filtres de texte disponibles sur la ligne de commande. Les commandes Unix ont une syntaxe gnrale commune. La matrise de cette syntaxe permet de dtecter trs vite les ventuelles anomalies ou erreurs sur une commande. ~/.bash_history, /etc/shells, bash, csh, ksh, man, pwd, sh, tcsh

Points importants Mots cls

Les commandes Unix peuvent tre excutes depuis la ligne de commande. Les instructions entres sur la ligne de commande sont excutes par un interprteur de commande communment appel shell . Un premier shell est lanc par le programme login aprs l'authentification sur le systme (aprs avoir saisi l'invite login un nom d'utilisateur et un mot de passe associ valides). L'interprteur de commande possde un prompt qui peut prendre plusieurs formes selon les configurations du compte de lutilisateur connect. De faon gnrale, le prompt est de la forme : utilisateur@nom-de-poste repertoire-courant$. Par dfaut, ce prompt se termine par le caractre $ pour un utilisateur normal et par un # pour le super-utilisateur. Les commandes sont entrer la suite de ce prompt qui indique qu'un interprteur de commande est prt les excuter.

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

Prparation lexamen 101 pour la certification LPIC-1

Les commandes Unix sont de la forme gnrale : nom-de-commande [ option(s) ] [ argument(s) ]. Le nom de la commande est toujours prcis. Une commande peut navoir ni option ni argument : ls Une commande peut tre suivie par une ou plusieurs options : ls -a -l Une commande peut possder un ou plusieurs arguments : ls /dev/ Une commande peut tre suivie d'une combinaison doptions et darguments : ls -al /dev/ une option est souvent reprsente par une lettre prcde du caractre - . Plusieurs options peuvent tre spares par des espaces mais peuvent tre aussi rassembles pour former un mot prcd par le caractre - : ls -l ls -a -l ls -al un argument reprsente souvent le chemin dans larborescence du systme de fichiers. Ce chemin peut tre relatif ou absolu : le chemin absolu reprsente l'arborescence complte partir de la racine / . Un chemin absolu commence toujours par / , par exemple /var/log/messages ou /home/maitre/travail ; le chemin relatif reprsente l'arborescence depuis le rpertoire courant. Un chemin relatif ne commence jamais par / , par exemple ../var/log/messages depuis /home et travail depuis /home/maitre.

a) Les interprteurs de commandes


De nombreux interprteurs de commandes sont actuellement disponibles. Voici quelques interprteurs courants : /bin/sh : le bourne shell ; /bin/bash : le bourne again shell ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 58

Chapitre 5. GNU et les commandes Unix

/bin/ksh : le korn shell ; /bin/csh : le C shell ; /bin/tcsh : le Tom's C shell .

Les interprteurs disponibles sur un systme donn sont lists dans le fichier /etc/shells.

b) Les commandes relatives aux rpertoires et aux fichiers


pwd : pour afficher le chemin absolu du rpertoire courant ; cd : pour changer de rpertoire, syntaxe : cd chemin cd (sans option ni argument) permet de se dplacer vers le rpertoire personnel de l'utilisateur courant (home directory) ; ls : pour lister le contenu d'un rpertoire, syntaxe : ls chemin ls (sans option ni argument) affiche le contenu du rpertoire courant, l'option -a affiche en plus les fichiers cachs dont les noms commencent par un point, loption -l permet un affichage long (type de fichier, droit, proprit, date de modification, taille du fichier, etc.), l'option -i affiche le numro d'inode auquel est rattach le fichier ; mkdir : pour crer un nouveau rpertoire, syntaxe : mkdir chemin rmdir : pour supprimer un rpertoire vide, syntaxe : rmdir chemin touch : pour changer les informations de date et d'heure d'un fichier. Cre un fichier vide lorsque le fichier pass en argument nexiste pas ; cp : pour copier le contenu dun fichier, syntaxe : cp chemin-fichier-source chemin-fichier-destination mv : pour dplacer ou renommer un fichier, syntaxe : mv ancien chemin nouveau chemin
Ouvrage sous contrat Creative Commons BY-NC-SA p. 59

Prparation lexamen 101 pour la certification LPIC-1

rm : pour supprimer un fichier, syntaxe : rm chemin

loption -r permet de supprimer un rpertoire, loption -f permet de forcer la suppression sans demande de confirmation de la part de lutilisateur ; ln : pour effectuer un lien sur un fichier. Un lien permet de faire rfrence un fichier donn par plusieurs noms diffrents. Il existe deux types de liens sous Unix : les liens matriels (hardlink) qui crent des noms diffrents pour dsigner un mme espace sur le disque. Le fichier sera effectivement supprim lorsque le dernier lien sera dtruit. Syntaxe : ln chemin fichier source chemin fichier destination

les liens symboliques qui sont eux-mmes de petits fichiers qui contiennent un chemin daccs vers un autre fichier : ils peuvent donc pointer vers un fichier qui nexiste pas. La diffrence essentielle est quun lien symbolique peut pointer vers un fichier appartenant un autre systme de fichiers. Syntaxe : ln -s chemin fichier source chemin fichier-destination

le caractre ~ reprsente le rpertoire personnel de l'utilisateur courant : cd ~ cd ~/travail

c) Les pages de manuel


Pour chaque commande, une page de manuel explique quoi elle sert, comment elle fonctionne, et les diffrentes options disponibles. La commande man affiche ces pages de manuel, syntaxe : man commande man ls La commande history affiche les commandes prcdemment lances par l'utilisateur courant : history

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

Chapitre 5. GNU et les commandes Unix

Elle utilise le contenu du fichier .bash_history qui est mis jour aprs chaque commande. Il se trouve dans le rpertoire personnel de l'utilisateur (~/.bash_history). Le rsultat de cette commande est la liste des prcdentes commandes prcdes d'un numro. Chaque commande peut tre r-excute en tapant !N, o N est le numro de ligne dans le rsultat de la commande history. Pour r-excuter la dernire commande il suffit de taper !!

B. Les filtres
Objectifs Comprendre le fonctionnement des filtres : entre, sorties, arguments. Connatre les commandes de filtre courantes. Retenir les arguments classiques. Les filtres Unix font partie intgrante de son fonctionnement. Cest grce eux que lon peut fabriquer des commandes trs labores en personnalisant leur rsultat. cat, cut, expand, fmt, head, join, nl, od, paste, pr, sed, sort, split, tac, tail, tr, unexpand, uniq, wc, grep, regexp

Points importants Mots cls

Les filtres sont des commandes qui, partir d'un flux d'entres donn, effectuent des traitements avant d'afficher un rsultat en sortie. On les nomme galement commandes de traitement de flux. La commande cat affiche seulement le contenu du fichier /etc/passwd sans altrer le fichier original : cat /etc/passwd La commande nl affiche en sortie les lignes du fichier /etc/passwd en les numrotant sans altrer le fichier original : nl /etc/passwd Voici une liste des filtres les plus courants : cat : pour concatner le contenu dun fichier et lafficher ensuite sur la sortie standard, qui est par dfaut lcran. La commande cat sans argument (nom de fichier) attend les suites de caractres taps sur lentre standard (le clavier) : cat /etc/passwd cut : pour nafficher que certaines colonnes (champs) dun fichier donn. Cette commande utilise alors comme option le sparateur de
Ouvrage sous contrat Creative Commons BY-NC-SA p. 61

Prparation lexamen 101 pour la certification LPIC-1

champs et le numro du champ afficher pour chaque ligne. Sil n'est pas spcifi, le sparateur de champs par dfaut est le caractre de tabulation. La commande ci-dessous permet dafficher les noms dutilisateurs du systme. On utilise comme sparateur de colonnes le caractre : et on slectionne la premire colonne du fichier /etc/password. cut -d : -f1 /etc/passwd expand : pour convertir les tabulations dun fichier en espaces. Le processus inverse, conversion des espaces en tabulations, peut tre effectu avec la commande unexpand ; fmt : pour formater les paragraphes dans un fichier ; grep : pour afficher les lignes contenant une occurrence de caractres donne, syntaxe : grep CHAINE chemin Pour afficher toutes les lignes contenant la chane de caractres false : grep false /etc/passwd CHAINE peut tre une expression rgulire. Pour afficher toutes les lignes qui commencent par la chane root : grep ^root /etc/passwd L'option -v permet de nafficher que les lignes NE contenant PAS l'expression rgulire mentionne. Pour afficher les lignes ne commenant pas par la chane root : grep -v ^root /etc/passwd head : pour afficher les premires lignes d'un fichier, syntaxe : head -N chemin Sans option, head affiche les 10 premires lignes d'un fichier. Pour afficher les quatre premires lignes du fichier /etc/passwd : head -4 /etc/passwd join : pour effectuer des jointures des lignes de deux fichiers diffrents dans un mme champ ;

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

Chapitre 5. GNU et les commandes Unix

nl : affiche en sortie les lignes d'un fichier prcdes de leurs numros respectifs ; od : formate un fichier en octal et en autres formats ; paste : pour fusionner deux fichiers diffrents en prenant chaque ligne de chaque fichier pour former une nouvelle ligne ; pr : pour formater de manire simple un fichier et le prparer pour une impression, syntaxe : pr [option(s)] chemin

option N : affiche le texte en plusieurs colonnes. N dfinit le nombre de lignes, option wN : le N derrire -w (width) indique le nombre de caractres par ligne, par dfaut 72, option -lN : le N derrire -l (length) dfinit le nombre de lignes par page (par dfaut 66), option -hTexte : Texte doit remplacer le nom du fichier dans l'en-tte de chaque page, option -oN : le N derrire -o (offset) dfinit le nombre de caractres de retrait gauche, option -n : numrote les lignes. sed : utilitaire de traitement de donnes trs puissant, capable d'utiliser les expressions rgulires. Pour substituer toute chane1 dans le fichier chemin1 avec chaine2 et envoyer le rsultat dans le fichier chemin2 : sed 's/chaine1/chaine2/g' chemin1 > chemin2

regexp : permet de tester une expression rgulire en lui fournissant une chane de test. Cela permet de vrifier les expressions rgulires employes avec les commandes classiques ls, sed, awk, etc. sort : trie le contenu d'un fichier par ligne : option -n pour effectuer un tri numrique, option -r pour effectuer un tri dcroissant ; split : pour dcouper un fichier en plusieurs. On peut spcifier une taille de fichiers en option. Par exemple, la commande pour crer les fichiers petitfichieraa, petitfichierab dune taille maximum de 1,4 Mo (taille dune disquette) est : split -b 1.4m /home/maitre/grosfichier petitfichier
Ouvrage sous contrat Creative Commons BY-NC-SA p. 63

Prparation lexamen 101 pour la certification LPIC-1

tac : inverse de la commande cat, affiche le contenu du fichier dans lordre inverse des lignes ; tail : pour afficher les dernires lignes d'un fichier, syntaxe : tail -N chemin Sans option, tail affiche les 10 dernires lignes d'un fichier. Pour afficher les 4 dernires lignes du fichier /etc/passwd : tail -4 /etc/passwd

tr : pour effectuer des conversions de caractres, par exemple minuscule/majuscule, retour chariot/passage la ligne ...) ; uniq : affiche les lignes sans doublons ; wc : affichent des statistiques sur un fichier, nombre de caractres, nombre de mots et nombre de lignes. -b : affiche seulement le nombre de caractres ; -w : affiche seulement le nombre de mots ; l : affiche seulement le nombre de lignes.

C. Utilisation de lditeur vi
Objectifs Points importants tre capable deffectuer des manipulations simples du contenu dun fichier avec lditeur vi . Lditeur vi est prsent depuis les toutes premires versions dUnix. Malgr une ergonomie parfois trange, il reste trs utilis par les administrateurs, essentiellement pour des raisons pratiques : par exemple, il fonctionne avec nimporte quel terminal. Vi

Mots cls

Lditeur vi se trouve systmatiquement sur toutes les versions de Linux et est surtout utile lorsque lon intervient sur une machine distance. Il fonctionne en deux modes diffrents, le mode dition et le mode commande. On bascule de lun lautre par la commande esc. Pour ouvrir un fichier avec lditeur vi : vi mon_fichier Pour se dplacer dans le texte : l : vers la droite ;
Ouvrage sous contrat Creative Commons BY-NC-SA p. 64

Chapitre 5. GNU et les commandes Unix

h : vers la gauche ; j : vers le haut ; k : vers le bas ; L : se dplace sur la dernire ligne de la page courante ; H : se dplace sur la premire ligne de la page courante ; nG : se dplace sur la ligne n du fichier courant. i : ajoute le texte partir de la position du curseur ; A : ajoute le texte partir de la fin de la ligne ; O : cre une nouvelle ligne ; R : remplace le texte ; r : remplace le caractre courant ; dd : supprime la ligne courante, 4dd supprime 4 lignes partir de la ligne courante ; x : supprime le caractre courant, 5x supprime 5 caractres.

Pour ajouter ou supprimer du texte :

Pour rechercher du texte : /texte_cherch Pour substituer du texte : :ligne_dbut,ligne_fin/chaine1/chaine2/g : substitue la chaine2 la chaine1 entre les lignes ligne_dbut et ligne_fin sans demande de confirmation ; :ligne_dbut,ligne_fin/chaine1/chaine2/c : substitue la chaine2 la chaine1 entre les lignes ligne_dbut et ligne_fin avec demande de confirmation.

Pour annuler la dernire commande : u. Pour sauvegarder le fichier : :wq (ou ZZ) : sauvegarde le fichier et quitte ; :w son_fichier : sauvegarde dans le fichier son_fichier ; :q! : quitte sans sauvegarde ; :w! : force la sauvegarde lorsque le fichier est en lecture seule ; :e nouveau_fichier : sauvegarde le fichier courant et dite le fichier nouveau_fichier ; :e!nouveau_fichier : dite le fichier nouveau_fichier sans sauvegarder le fichier courant.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 65

Prparation lexamen 101 pour la certification LPIC-1

D. Tubes et les redirections


Objectifs Comprendre le fonctionnement des tubes. Comprendre le fonctionnement des redirections. Connatre les commandes tee et xargs. Les tubes Unix permettent de combiner des commandes en les utilisant comme des briques indpendamment de leur provenance (shell script, programme ). Cest lune des grandes forces dUnix. tee, xargs, |, >, >>, <, <<, echo, exec

Points importants Mots cls

a) Redirection
Linux fonctionne avec trois types de flux de donnes : lentre standard identifie par le descripteur 0, par exemple le clavier ; la sortie standard identifie par le descripteur 1, par exemple lcran ou linterprteur de commande ; la sortie derreur standard identifie par le descripteur 2, par exemple lcran : maitre@maestro maitre$echo 'ceci est un message de test' ceci est un message de test maitre@maestro maitre$ La commande echo permet d'effectuer un simple affichage sur la sortie standard. Le mcanisme de redirection permet de changer la sortie, lentre ou la sortie d'erreur d'une commande donne. Le caractre > est utilis pour changer la sortie standard. Syntaxe : commande > chemin. maitre@maestro maitre$echo 'message test' > /home/maitre/fichier maitre@maestro maitre$cat /home/maitre/fichier message test maitre@maestro maitre$ Si le fichier de redirection nexiste pas encore, > permet de le crer. Sil existe, son contenu sera cras par la sortie de la dernire commande. Les caractres >> permettent soit de crer un fichier inexistant soit de rajouter la sortie d'une commande au contenu dun fichier existant (sans crasement). La redirection fonctionne dans les deux sens, le caractre < permet de spcifier une autre entre que lentre standard, syntaxe :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 66

Chapitre 5. GNU et les commandes Unix

commande < chemin Les caractres << permettent de lire le fichier en entre jusqu ce que la commande rencontre une certaine chane de caractres. Dans lexemple qui suit, les caractres saisis sur lentre standard seront pris en compte jusqu ce que la commande cat rencontre la chane FIN . cat << FIN Enfin, pour rediriger la sortie derreur vers un fichier, on utilise le descripteur 2 de la sortie standard : cat /etc/passwd 2> fichier_erreur Les caractres >& permettent de rediriger la sortie erreur et la sortie standard vers un fichier : tail /etc/passwd > fichier_sortie 2>&1 ou tail /etc/passwd >& fichier_sortie Cette commande copie les 10 dernires lignes du fichier /etc/passwd dans le fichier fichier_sortie et y redirige galement les ventuels messages derreur.

b) Les tubes
Le mcanisme de tube (pipe) permet de faire en sorte que la sortie dune commande devienne lentre dune autre. Les tubes utilisent le caractre | , syntaxe : commande | commande. sort /etc/passwd | head -6 Cette commande affiche les 6 premires lignes du fichier /etc/passwd une fois ce fichier tri par ordre alphabtique croissant. Tubes et redirections peuvent tres enchans indfiniment sur une ligne de commande selon les rsultats que lon veut obtenir.

c) La commande tee
La commande tee duplique le flux de donnes en sortie : elle copie la sortie dans un fichier (simple redirection) et, en mme temps, affiche le rsultat sur la sortie standard, et permet donc de le renvoyer une autre commande.

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

Prparation lexamen 101 pour la certification LPIC-1

La commande de lexemple ci-dessous affiche lcran les 6 premires lignes du fichier /etc/passwd et, en mme temps, les redirige dans le fichier le_fichier. ls -l /etc | tee le_fichier | wc -l

d) La commande xargs
La commande xargs permet de passer en argument dune commande les flux reus en entre. La commande de lexemple ci-dessous prend la sortie de la commande cat le_fichier comme argument de la commande ls. cat le_fichier | xargs ls

e) La commande exec
La commande exec redirige dans un fichier lentre et la sortie standard (stdin et stdout). Elle est gnralement utilise dans un script shell et permet par exemple de rediriger les sorties des commandes dans des fichiers diffrents au cours de lexcution dun script : exec < le_fichier

E. Les caractres spciaux


Objectifs Connatre les caractres spciaux (= qui ont une signification particulire) pour les diffrents shell . Comprendre la signification des caractres spciaux. Il est ncessaire de bien identifier ces caractres particuliers pour viter des effets tranges lors de lutilisation des commandes. ;, &&, ||, &>, $, [, ], [[, ]], {, }, `, ", ', ., ?, \

Points importants Mots cls

Certains caractres ont une signification particulire sur une ligne de commande : ; : permet d'enchaner plusieurs commandes sur une mme ligne. Les commandes spares par un ; sont excutes squentiellement, l'une aprs l'autre ; & : plac en fin de commande, permet de lancer cette commande en tche de fond (background) ; && : plac entre deux commandes, permet d'excuter la deuxime commande si et seulement si la premire sest excute sans erreur :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 68

Chapitre 5. GNU et les commandes Unix

commande_1 && commande_2 || : plac entre deux commandes, permet dexcuter la deuxime commande si et seulement si la premire a renvoy une erreur : commande_1 || commande_2 &> : redirige dans un fichier la sortie dune commande, ainsi que les erreurs ventuelles : commande &> le_fichier $ : permet daccder au contenu d'une variable ; \ : plac avant un caractre spcial, permet que celui-ci soit interprt comme un simple caractre ; " (guillemets) : plac de part et dautre dune chane de caractres, permet que tous les caractres spciaux que celle-ci contient soient ignors, lexception de $ , \ et ` : Un='a trop de travail' Deux="Nicolas $Un" echo $Deux -> Nicolas a trop de travail ' (apostrophe) : place de part et dautres dune chane de caractres, permet que tous les caractres spciaux que celle-ci contient soient ignors. Un='a trs faim' Deux='Nicolas $Un' echo $Deux -> Nicolas $Un ` (apostrophe culbute) place de part et dautre dune commande, force lexcution de cette commande sur la ligne de commande ellemme : Un=`pwd` echo $Un /home/nicolas/travail/ [[ ]] ou { } permettent d'effectuer une opration simple sur la ligne de commande (addition, soustraction, multiplication, division entire).

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

Prparation lexamen 101 pour la certification LPIC-1

Les caractres suivants sont utiliss pour remplacer un ou plusieurs caractres (wildcards) : * : pour remplacer aucun, un ou plusieurs caractres ; ? : pour remplacer un et un seul caractre ; [a-z] : pour remplacer un caractre ayant lune des valeurs indiques dans lintervalle a-z ; [^a-z] : pour remplacer un caractre diffrent de toutes les valeurs indique dans lintervalle a-z .

F. Les variables et les variables d'environnement


Objectifs Points importants Mots cls Comprendre les variables d'environnement. Connatre les commandes relatives aux variables. Les variables Unix, en particulier celles dites denvironnement, modifient le comportement des commandes. Il est important de les connatre et dtre capable de modifier leur contenu. env, set, unset, export, $!, $$, $?, /etc/profile, ~/.profile

Les interprteurs de commande Linux distinguent deux types de variables : les variables simples et les variables d'environnement. Les variables d'environnement ont la particularit d'tre connues de toutes les commandes lances depuis l'interprteur de commande courant. Laffectation de variables se fait comme suit : variable="valeur". variab="abcdef" Il est important de noter quavec bash, il ne doit pas y avoir despace avant et aprs le signe = . Laccs au contenu seffectue en ajoutant le caractre $ au dbut du nom de la variable ou par l'expression ${nom-de-la-variable} : maitre@maestro maitre$echo $variab abcdef maitre@maestro maitre$echo ${variab} abcdef maitre@maestro maitre$

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

Chapitre 5. GNU et les commandes Unix

Nous venons de dfinir une variable simple. Pour la transformer en variable denvironnement, on utilise la commande export : export variab="abcdef" La commande env seule, sans option ni argument, permet d'afficher toutes les variables d'environnement dfinies. La commande set affiche la liste complte des variables dfinies (variables simples ou variables d'environnement). La commande unset permet de dtruire une variable. unset variable Voici certaines variables spciales de bash : $$ : le numro de processus (PID) de linterprteur de commande ; $! : le numro de processus (PID) de la dernire commande lance en tche de fond (c'est--dire avec loprateur & ) ; $? : la valeur retourne par la dernire commande ; $ : la liste des options avec lesquelles linterprteur de commande a t appel. $# : dsigne le nombre de paramtres accompagnant lappel du script ; $@ et $* : dsignent lensemble des paramtres ; $1, ..., $9, ${10}, ${11}, ... : dsignent la valeur de chaque paramtre ; $0 : dsigne le nom (le chemin) du script.

Dans le cadre dune commande lance partir d'un fichier script :

Plusieurs variables sont dfinies au dmarrage de linterprteur de commandes. La dfinition de ces variables peut se trouver dans les fichiers lus par linterprteur au dmarrage comme le fichier /etc/profile pour tous les utilisateurs du systme ou dans les fichiers personnels de l'utilisateur ~/.profile, ~/.bash_profile, etc.

G. Les processus
Objectifs Points importants Comprendre la notion fondamentale de processus sous Unix. Savoir grer les processus. Tout programme lanc sous Unix est associ un processus. tre capable de les identifier et les grer est indispensable.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 71

Prparation lexamen 101 pour la certification LPIC-1

Mots cls

ps, kill, killall, pstree, nice, top, renice, nohup

Ce qui est dsign comme processus est une instance de programme sexcutant un instant donn ainsi que son contexte (ou environnement). Ce dernier terme dsigne lensemble des ressources utilises par le programme pour pouvoir se drouler, comme par exemple la mmoire, les fichiers ouverts, les droits associs, la priorit... Les processus sont identifis par un numro unique dans le systme un moment donn, le PID. C'est laide de ce nombre que lon peut dsigner une instance de programme et interagir avec. Les processus sont galement caractriss par un propritaire. Il sagit de lutilisateur qui en a demand lexcution. En gnral, seul ce propritaire pourra entreprendre des actions sur le processus. Les processus sont crs par clonage , ce qui permet la recopie dune partie des informations cites ci-dessus. Le premier processus cr est le processus init qui est lanctre de tous les autres. La commande pstree affiche les processus sous forme darborescence, on peut donc visualiser qui est le processus parent dun autre. Loption p affiche le PID de chaque processus et loption u affiche le nom de lutilisateur ayant lanc le processus. pstree -pu

a) Obtenir des informations sur un processus


Pour chaque processus excut, le systme dexploitation stocke un certain nombre dinformations : numro unique du processus ou PID (Process Identification) ; numro du processus parent ou PPID (Parent Process Identification) ; numro de lutilisateur, ou UID (User Identification), ayant lanc le processus ; numro du groupe, ou GID (Group Identification), ayant lanc le processus ; dure de traitement (temps CPU) et priorit du processus ; rfrence au rpertoire de travail courant du processus ; table de rfrence des fichiers ouverts par le processus.

Pour retrouver quels sont les processus excuts par le systme, il suffit dexcuter la commande ps. Pour voir tous les processus excuts par lutilisateur :
Ouvrage sous contrat Creative Commons BY-NC-SA p. 72

Chapitre 5. GNU et les commandes Unix

ps -ux Pour voir les processus excuts par lutilisateur dans le terminal courant : ps T Pour voir tous les processus du systme : ps aux La commande top permet dafficher des informations en continu sur lactivit du systme. Elle permet surtout de suivre les ressources que les processus utilisent (quantit de RAM, pourcentage de CPU, dure dexcution dun processus depuis son dmarrage). Loption -d permet de spcifier des dlais de rafrachissement (en secondes) : top -d En cours dutilisation de top, il est possible de grer les processus (changer les priorits des processus, leur envoyer un signal ...) de manire interactive.

b) Arrter ou envoyer un signal un processus


La commande kill permet darrter ou denvoyer un signal un processus, syntaxe : kill [-Numro-du-signal] PID. Les principaux signaux sont : 1 (SIGHUP) : le signal de numro 1, SIGHUP (en anglais hang up), est envoy par le processus parent tous ses enfants lorsquil termine son activit. La plupart des dmons redfinissent ce signal en le transformant en relire les fichiers de configuration ; 2 (SIGINT) : signal dinterruption dun processus. Il est quivalent celui envoy par la combinaison de touches <Ctrl> et <C> ; 9 (SIGKILL) : termine le processus via un appel noyau, donc sans sauvegarde ; 15 (SIGTERM) : signal par dfaut de la commande kill. Il excute le code de terminaison (sil y arrive) et vide la mmoire. C'est donc le signal de fin dun processus le plus propre.

Pour mmoire, Il existe 63 signaux diffrents (tableau 6).


Tableau 6. Signaux pour les processus 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL

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

Prparation lexamen 101 pour la certification LPIC-1 5) SIGTRAP 9) SIGKILL 13) SIGPIPE 18) SIGCONT 22) SIGTTOU 26) SIGVTALRM 30) SIGPWR 34) SIGRTMIN+2 38) SIGRTMIN+6 42) SIGRTMIN+10 46) SIGRTMIN+14 50) SIGRTMAX-13 54) SIGRTMAX-9 58) SIGRTMAX-5 62) SIGRTMAX-1 6) SIGABRT 10) SIGUSR1 14) SIGALRM 19) SIGSTOP 23) SIGURG 27) SIGPROF 31) SIGSYS 35) SIGRTMIN+3 39) SIGRTMIN+7 43) SIGRTMIN+11 47) SIGRTMIN+15 51) SIGRTMAX-12 55) SIGRTMAX-8 59) SIGRTMAX-4 63) SIGRTMAX 7) SIGBUS 11) SIGSEGV 15) SIGTERM 20) SIGTSTP 24) SIGXCPU 28) SIGWINCH 32) SIGRTMIN 36) SIGRTMIN+4 40) SIGRTMIN+8 44) SIGRTMIN+12 48) SIGRTMAX-15 52) SIGRTMAX-11 56) SIGRTMAX-7 60) SIGRTMAX-3 8) SIGFPE 12) SIGUSR2 17) SIGCHLD 21) SIGTTIN 25) SIGXFSZ 29) SIGIO 33) SIGRTMIN+1 37) SIGRTMIN+5 41) SIGRTMIN+9 45) SIGRTMIN+13 49) SIGRTMAX-14 53) SIGRTMAX-10 57) SIGRTMAX-6 61) SIGRTMAX-2

Si lon ne connat pas le PID du processus auquel on veut envoyer un signal, on peut le dsigner par son nom en utilisant la commande killall. Syntaxe : killall SIGNAL nom_du_processus.

b) Priorit d'un processus


La priorit dun processus peut tre connue en examinant la colonne PRI du rsultat des commandes ps l ou top. Plus la priorit est grande, plus de temps CPU est offert au processus. Le noyau gre la priorit moyennant une file dattente de processus. Un utilisateur autoris peut modifier la priorit des processus travers une valeur de gentillesse ou valeur nice (colonne NI du rsultat des commandes ps l ou top). La valeur nice varie de -20 +19, plus elle est leve, moins le processus est prioritaire. La commande nice permet de modifier la priorit d'un processus au dmarrage du processus. Syntaxe : nice [-n Valeur] [Commande [Arguments ...]]

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

Chapitre 5. GNU et les commandes Unix

Comme premier paramtre, la commande nice attend l'indication de la valeur nice. Lutilisateur standard ne peut utiliser quune valeur nice positive, seul le super-utilisateur (root) peut utiliser des valeurs ngatives. Dans l'exemple suivant mon_programme est lanc avec une valeur nice gale 19, c'est dire avec une priorit la moins basse possible. nice -n 19 mon_programme La commande renice permet de modifier la priorit dun ou plusieurs processus en cours dexcution. Cette commande peut prendre comme paramtres des identifiants de processus, des identifiants de groupes de processus ou des noms dutilisateurs. Utiliser renice sur un groupe de processus implique que tous les processus de ce groupe auront leur priorit modifie. Lorsquun utilisateur est spcifi, tous les processus appartenant celui-ci auront leur priorit modifie. Syntaxe : renice [-n] nouvelle_valeur_nice [[-p] pid ] [-g] prgg ] [-u] utilisateur] Pour obtenir le PID de mon_processus : ps -l | grep mon_processus Pour modifier la valeur nice : renice -n 10 -p PID_de_mon_processus

c) Les processus et le shell


Si on lance un programme depuis un terminal, linterprteur de commande (shell) ne rend la main que quand le programme ainsi lanc est termin. Il est possible dinterrompre ce programme et de reprendre la main en utilisant la combinaison de touches <Ctrl>-<Z>. Ajouter le signe & la fin de la ligne de commande permet de lancer le programme en arrire-plan on parle aussi de tche de fond et de reprendre tout de suite la main : on revient directement au prompt du shell. Cette possibilit est surtout utile lorsquon travaille en mode console , ou distance, et quon ne dispose que dune seule fentre ouverte. Dans lexemple ci-dessous, le processus lanc en tche de fond depuis le shell est lditeur emacs. La premire valeur, entre crochets, est le numro de job. La seconde valeur est le PID de emacs. emacs& [1] 7522
Ouvrage sous contrat Creative Commons BY-NC-SA p. 75

Prparation lexamen 101 pour la certification LPIC-1

Si plusieurs shells sont utiliss simultanment par exemple avec plusieurs fentres de console chacun aura ses propres processus fils et ne pourra agir sur ceux des autres shells. Le numro de job identifie un processus de faon univoque par rapport au shell partir duquel il a t lanc, mais plusieurs processus lancs partir de shells diffrents peuvent avoir le mme numro de job. On peut alors utiliser la commande jobs qui affichera la liste des processus sexcutant en arrire-plan. On peut faire passer un processus en avant-plan (foreground) par la commande fg et le remettre en arrire-plan (background) par la commande bg. fg 1

d) La commande nohup
nohup permet de lancer un processus qui pourra rester actif aussi longtemps que ncessaire, et ceci mme aprs la dconnexion de lutilisateur layant initi. Par dfaut, quand un utilisateur se dconnecte, le shell est quitt et un signal SIGHUP (signal 1) est envoy aux processus enfants de ce shell. Laction associe ce signal est larrt de ces processus. nohup ignore le signal SIGHUP (do son nom) puis excute le programme indiqu en ligne de commande, de sorte que celui-ci ignorera le signal SIGHUP. Dans lexemple qui suit, le script mon_calcul_long est lanc avec la nohup pour que, si lutilisateur se dconnecte avant que son excution soit termine, elle ne soit pas interrompue. Notons quen plus dutiliser la commande nohup pour ignorer le signal SGHUP, on tape & en fin de ligne de commande pour que le script sexcute en tche de fond. nohup mon_calcul_long &

H. Exercices
1. 2. En bash, pour afficher la liste des dernires commandes entres, vous utilisez la commande ________. Dans le shell Bash, la commande !! a le mme effet que <Ctrl>-<P> et <Entre>
Ouvrage sous contrat Creative Commons BY-NC-SA p. 76

Chapitre 5. GNU et les commandes Unix

3.

<Ctrl>-<N> et <Entre> <Ctrl>-<U> et <Entre> <!>-<2>

Quelle touche permet daller en fin de ligne ? </> <$> <0> <9>

4.

La commande ls -l /etc/ | grep 'd' affiche tous les rpertoires du rpertoire /etc/. affiche les fichiers du rpertoire /etc/ qui contiennent d . affiche les rpertoires du rpertoire /etc/ ainsi que les fichiers dont le nom contient un d .

5.

La commande pstree permet : d'afficher l'arborescence des processus par famille . d'afficher uniquement les processus d'un utilisateur. d'afficher l'occupation du processeur par les processus.

6.

Supposons que vous ayez un programme en cours appel monprog . Vous souhaitez diminuer lutilisation du processeur de ce programme. Laquelle des commandes suivantes pouvezvous utiliser? renice +1 -p `ps -a | grep monprog | cut -b 1-6` ps h -o pid -C monprog | xargs nice +1 nice +1 monprog renice +1 -u `whoami` monprog

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

Annexe 1. Exemple dexamen de certification


Voici un exemple dnonc dexamen LPIC 101, suivi des rponses. Cet exemple est destin vous aider valuer vos connaissances, et galement vous prparer au style des questions poses lors de lexamen de certification. Il est en effet ncessaire de shabituer la formulation des questions, qui peut parfois paratre ambigu, ainsi quaux questions choix multiples qui sont courantes dans le monde anglo-saxon. Lors de lexamen, vous disposez denviron une minute par question.

nonc
1. Comment est reprsent le priphrique IDE esclave du deuxime contrleur ? 2. 3. A B C D hda. sdc. hdc1. hdd.

La commande ________ permet de lister les priphriques USB prsents sur la machine. Comment peut-on afficher le contenu d'un fichier en sens inverse ? A B cat r. tail.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 79

Prparation lexamen 101 pour la certification LPIC-1

4.

C D

tac. sort r.

Le choix du priphrique de dmarrage de votre machine se fait A B C dans le BIOS. avec une option du chargeur de dmarrage (boot loader). automatiquement.

5.

Quels droits sont positionns par la commande chmod 1777 un_repertoire sur un rpertoire (plusieurs rponses) ? A B Elle permet tous les utilisateurs d'accder au rpertoire. Elle interdit l'accs aux autres utilisateurs que le groupe.

C Elle permet tous de crer des fichiers dans ce rpertoire, mais pas de modifier ou d'effacer ceux des autres.

6.

La commande locate A B C fonctionne comme find mais avec des options diffrentes. est plus efficace que find car elle utilise un index. permet de changer la langue par dfaut de Linux.

7.

Vous crez un nouveau fichier. Les droits sont rw-r--r . La valeur de umask est (plusieurs rponses) A B C D 666. 022. 123. 133.

8.

Quelle diffrence y a-t-il entre les systmes de fichiers ext2 et ext3 (plusieurs rponses) ? A ext3 est un nouveau systme, incompatible avec ext2. B ext3 est une simple extension de ext2 comprenant la journalisation. C on peut passer de ext2 ext3 et inversement trs facilement.

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

Annexe 1. Exemple dexamen de certification

9.

Le fichier de la commande passwd a le bit _________ positionn pour permettre tous les utilisateurs de changer leur mot de passe (modifier le fichier /etc/shadow).

10. Quelle commande allez-vous utiliser afin d'afficher les messages du noyau lors du dmarrage du systme ? A B C D mess. dmesg. bootmsg. lsmsg.

11. Quelle commande allez-vous utiliser afin dafficher toutes les variables ? A B C D set. varlist. vshow var. ps.

12. La commande killall permet de A B C tuer tous les processus d'un utilisateur. tuer un processus sans connatre son PID. envoyer tous les signaux standard un processus.

13. La commande paste permet de A B C coller un fichier la suite d'un autre. joindre deux fichiers cte cte simplement sans critres. laisser un processus en mmoire.

14. Pour changer la date de modification d'un fichier vous pouvez utiliser la commande (plusieurs rponses) A B C D date. timestamp. touch. vi.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 81

Prparation lexamen 101 pour la certification LPIC-1

15. Quel fichier contient la liste des partitions qui seront montes au dmarrage ? A B C /etc/inittab. /etc/fstab. /etc/mtab.

16. En bash, la commande set A B C affiche toutes les variables. affecte une valeur une variable. affiche les variables exportes.

17. Pour changer de niveau d'excution vers le niveau 2 vous A lancez la commande reinit 2. B modifiez la ligne initdefault du fichier /etc/inittab et redmarrez la machine (reboot). C D lancez la commande shutdown -n 2. aucune des rponses n'est valable.

18. Quel fichier indique l'action effectuer lors de l'appui sur <ctrl><alt>-<del> ? A B C /etc/keyboard. /etc/inittab. /etc/passwd.

19. Pour rechercher un fichier texte d'un utilisateur sur votre disque, vous utilisez A B C D locate. whereis. who. find.

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

Annexe 1. Exemple dexamen de certification

20. En bash, pour afficher la liste des dernires commandes entres, vous utilisez la commande ________. 21. Que signifie wait dans le fichier /etc/inittab ? A B C Attendre la fin de la commande pour continuer. Attendre une entre au clavier. Attendre quelques minutes.

22. Comment obtenir de l'information sur une commande et effectuer une recherche par mots-clefs ? A B C D whoami. whatis. apropos. which.

23. La priorit d'un processus peut tre diminue A B C par son propritaire tout moment. par tous les utilisateurs. par son propritaire au moment du lancement seulement.

24. La commande kill -HUP 1664 A dtruit le processus 1664. B force le processus 1664 relire ces fichiers de configuration si cest un dmon . C redmarre le processus 1664.

25. Comment faire la sauvegarde d'une arborescence en conservant les droits des fichiers ? A B C Utiliser cp avec l'option a. Utiliser cp avec l'option d. Utiliser cp avec l'option v.

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

Prparation lexamen 101 pour la certification LPIC-1

26. Un programme mon_programme doit envoyer toutes ses sorties dans un fichier et ne doit rien crire sur la console. Quelle commande utilisez-vous ? A B C mon_programme > lefichier 2>&1. mon_programme > lefichier. mon_programme 1> /dev/null 2> lefichier.

27. Comment peut-on installer le paquetage RPM leprogramme1.2.3.4.i386.rpm ? (plusieurs rponses) A B C D rpm -Uvh leprogramme-1.2.3.4.i386.rpm. rpm -i leprogramme-1.2.3.4.i386.rpm. rpm -u leprogramme-1.2.3.4.i386.rpm. rpm -e leprogramme-1.2.3.4.i386.rpm.

28. Quels rpertoires doivent appartenir au systme de fichier root (plusieurs rponses) ? A B C D E /etc /home /lib /usr /root

29. Quels droits devrait avoir le fichier /usr/bin/passwd ? A B C 4511. 6400. 4222.

30. Comment peut-on afficher les lignes 10 20 d'un fichier de 30 lignes ? A B C D head -n 10-20 lefichier. tail -n 10-20 lefichier. head n 20 lefichier | tail. ns -n 10-20 lefichier.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 84

Annexe 1. Exemple dexamen de certification

31. Comment peut-on afficher le contenu dun fichier avec les lignes numrotes en sens inverse ? A B C cat lefichier | nl | sort -r. cat lefichier | tac l. cat lefichier | nl | tac.

32. Quelle commande montre l'occupation d'un rpertoire '/usr/XXX' ? A B C du -s /usr/XXX. df -h /usr/XXX. ls -iR /usr/XXX.

33. Quelle commande permet de voir toutes les partitions montes ? A B C D mount a. df. show mount. du m.

34. Quelle commande permet de voir l'espace restant sur une partition monte ? A B C D top. free. df. fsstat.

35. Quelle commande permet de transformer un i en I dans un fichier (plusieurs rponses) ? A B C D sed. vi. paste. cat.

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

Prparation lexamen 101 pour la certification LPIC-1

36. Vous effectuez la commande Ma_Var=''Coucou'', que produit la commande echo ''Ma_Var, a va ????'' A B C Coucou, a va ???? Ma_Var, a va ???? erreur de syntaxe.

37. Quelle commande permet dafficher les dernires lignes dun fichier avec un rafrachissement permanent ? A B C D cat -f. tail -n 1. tac -l. tail -f.

38. La commande kill 9 1664 A B C D dtruit le processus 1664. met en pause le processus 1664. force le processus 1664 passer en priorit 9. aucune de ces rponses nest valable.

39. La commande ls -l /etc/ | grep 'd' A B affiche tous les rpertoires du rpertoire /etc/. affiche les fichiers qui contiennent 'd' du rpertoire /etc/.

C affiche les rpertoires du rpertoire /etc/ ainsi que les fichiers dont le nom contient un 'd'.

40. La commande head monfichier | wc l A B C affiche toujours 10. affiche 5. aucune de ces rponses nest valable.

41. Que se passe-t-il lorsque vous utilisez la commande tail fichier1 fichier2 fichier3 ? A elle affiche la fin du fichier1.

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

Annexe 1. Exemple dexamen de certification

B elle affiche la fin de tous les fichiers spars <== . C elle produit une erreur de syntaxe.

par

==>

et

42. Pour formater une partition, vous utilisez A B C D disk druid. fdisk. mkfs. fsck.

43. Pour ajouter et utiliser une partition, vous devez excuter quelles commandes (plusieurs rponses) ? A B C D df. mount. fdisk. mkfs.

44. Quelle variable contient les chemins daccs aux librairies du systme ? A B C D PATH. LD_LIBRARY_PATH. LIBPATH. USRLIB.

45. Quelle commande est lance au dmarrage du systme sur toutes les partitions contenues dans /etc/fstab ? A B C D mkfs. fsck. chksum. verify.

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

Prparation lexamen 101 pour la certification LPIC-1

46. Linux utilise une zone spcifique lorsque la mmoire est sature, cet espace sappelle le ______. 47. Quelle commande permet de trouver lemplacement dun programme, les pages de manuel et le code source ventuel ? A B C D search. find. whereis. apropos.

48. Quelles commandes permettent de tester un systme de fichiers format en ext3 (plusieurs rponses) ? A B C D fsck.ext3. fsck -t ext3. tune2fs -j. e3fsck.

49. La commande ln -s permet A B C de crer un lien symbolique. de mettre jour les librairies du systme. de faire une sauvegarde dun fichier.

50. Quelle commande VI faut-il entrer afin denregistrer un fichier et quitter lditeur vi ? A B C D :x : wq : re : we

51. quoi sert la commande updatedb ? A B C reconstruire la liste des librairies du systme. mettre jour lindex pour la commande locate. mettre jour la liste des utilisateurs.
Ouvrage sous contrat Creative Commons BY-NC-SA p. 88

Annexe 1. Exemple dexamen de certification

52. quoi sert la commande ldconfig ? A prendre en compte les nouvelles librairies dont le chemin est contenu dans le fichier /etc/ld.so.conf. B C configurer les chemins des librairies du systme. prparer la compilation dun programme.

53. Ajouter ________ au dbut dune ligne de commande afin de modifier la priorit dexcution du processus qui en rsulte. 54. Lister les fichiers du paquetage gdm install : A B C D dpkg s gdm dpkg -l gdm dpkg L gdm dpkg q gdm

55. Quelle commande permet deffacer tous les fichiers et les sousrpertoires de larborescence /home/nicolas/truc/ ? A B C rm -r /home/nicolas/. rmdir /home/nicolas/truc. rm -r /home/nicolas/truc/*.

56. La commande pstree permet A B C dafficher larborescence des processus par famille . dafficher uniquement les processus dun utilisateur. dafficher loccupation du processeur par les processus.

57. Quel utilitaire permet de slectionner les colonnes dun fichier ? A B C D col. join. cut. tail.

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

Prparation lexamen 101 pour la certification LPIC-1

58. Vous lancez les commandes suivantes en tant quutilisateur non privilgi : $ nice -n 10 leprogramme1. $ nice -n -1 leprogramme2. $ nice -n 16 leprogramme3. A B C leprogramme1. leprogramme2. leprogramme3. Lequel aura la priorit la plus leve ?

59. Vous voulez connatre le nombre de fichiers contenus dans le rpertoire /bin, vous entrez la commande ________. 60. La commande top vous permet de (plusieurs rponses) A B C D changer la priorit dun processus. envoyer un signal un processus. afficher le dbut dun fichier. aucune de ces rponses nest valable.

Rponses examen LPI 101


1. 2. 3. 4. 5. 6. 7. 8. 9. D lsusb C A A, C B B, D B, C SETUID ou 04000

10. B 11. A 12. B


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

Annexe 1. Exemple dexamen de certification

13. B 14. C, D (D un peu limite : pas de changement de date si on nenregistre pas) 15. B 16. A 17. B 18. B 19. D (A est aussi valable avec locate si updatedb nest pas lanc en nobody, mais ce nest effectivement pas valable avec slocate) 20. history 21. A 22. B, C 23. A 24. B (mais a dpend des services) 25. A 26. A 27. A, B 28. A,C 29. A 30. C 31. C 32. A 33. B (ne montre que les systmes de fichiers standard, sinon utiliser mount sans argument) 34. C 35. A, B 36. B 37. D 38. D 39. C

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

Prparation lexamen 101 pour la certification LPIC-1

40. A ( condition que le fichier contienne au moins 10 lignes !!! donc plutt C) 41. B 42. C 43. B, C, D 44. B 45. B 46. swap 47. C 48. A, B 49. A 50. A, B 51. B 52. A 53. nice 54. C 55. C (correct uniquement sil n'y a pas de fichiers cachs dans le sousdossier truc) 56. A (B aussi valable si on fournit un nom dutilisateur en option) 57. C 58. A 59. ls /bin | wc -l 60. A, B

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

Table des figures et tableaux


Figure 1. Exemple de partitionnement .........................................................................43 Tableau 1. Le systme de fichiers /sys.........................................................................13 Tableau 2. Niveaux dexcution standard....................................................................19 Tableau 3. Dsignation des priphriques IDE ...........................................................42 Tableau 4. Commandes de cration de systmes de fichiers .....................................45 Tableau 5. Expression des droits sur les fichiers en notation octale ...........................50 Tableau 6. Signaux pour les processus.......................................................................73

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

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

Index des mots-cls


` ;
`, 68

{ } /

{, 68

;, 68

}, 68

? . '

?, 68

., 68

', 68

" [ ]

/boot/grub/grub.conf, 28 /etc/apt/sources.list, 31 /etc/fstab, 52 /etc/ld/so.conf, 38 /etc/lilo.conf, 28 /etc/profile, 70 /etc/shells, 57 /etc/updatedb.conf, 53 /etc/yum.conf, 34 /etc/yum.repos.d/, 34 /proc, 10 /sys, 10

", 68 ", 68

& <

&&, 68 &>, 68

[, 68 [[, 68

<, 66 <<, 66

], 68 ]], 68
Ouvrage sous contrat Creative Commons BY-NC-SA p. 95

Prparation lexamen 101 pour la certification LPIC-1

> |

>, 66 >>, 66

Choix du type d'installation, 27 chown, 51 CPU, 9 csh, 57 cut, 61

|, 66 ||, 68

~ $

~/.bash_history, 57 ~/.profile, 70

debugfs, 45 dev, 43 df, 46 DMA (canaux), 10 dpkg, 31 dpkg-reconfigure, 31 du, 46 dumpe2fs, 45

$, 68 $!, 70 $?, 70 $$, 70

AGP, 10 apropos, 53 apt-cache, 31 apt-get, 31 aptitude, 31

e2fsck, 45 echo, 57, 66 edquota, 52 env, 70 etc, 43 exec, 66 expand, 61 export, 70 ext2, 45 ext3, 45

bash, 57 bin, 43 BIOS, 9 boot, 43 bus, 9

fdisk, 41 find, 53 fmt, 61 fsck, 45

cat, 61 chattr, 49 chgrp, 51 chmod, 49

grep, 61 grub-install, 28

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

Index des mots-cls

H I

head, 61 home, 43

nice, 72 nl, 61 nohup, 72

init, 19 initdefault, 19 inittab, 19 IRQ, 10 ISA, 10

O P

od, 61

join, 61

K L

paste, 61 PCI, 10 pr, 61 proc, 43 ps, 72 pstree, 72

kill, 72 killall, 72 ksh, 57

Q R

quota, 52 quotacheck, 52 quotaoff, 52 quotaon, 52

LD_LIBRARY_PATH, 38 ldconfig, 38 ldd, 38 lib, 43 LILO, 19, 28 local, 43 locate, 53 lspci, 10 lsusb, 10

makewhatis, 53 man, 57 MBR, 41 mmoire, 9 mkfs, 45 mount, 46

RAM, 9 regexp, 61 reiserfs, 45 renice, 72 repquota, 52 respawn, 19 ROM, 9 root, 43 rpm, 34 rpm2cpio, 34 runlevels, 19

sed, 61 set, 70

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

Prparation lexamen 101 pour la certification LPIC-1

sgid, 49 sh, 57 slocate, 53 sort, 61 split, 61 sticky bit, 49 suid, 49 sysinit, 19

updatedb, 53 usr, 43 usrquota, 52

var, 43 vfat, 45 vi, 64

tac, 61 tail, 61 tcsh, 57 tee, 66 telinit, 19 tmp, 43 top, 72 tr, 61 tune2fs, 45

wait, 19 wc, 61 whatis, 53 whereis, 53 which, 53

xargs, 66 xfs, 45

udev, 10 umask, 49 umount, 46 unexpand, 61 uniq, 61 unset, 70

yum, 34 yumdownloader, 34

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

Les auteurs
Zied Bouziri (Tunisie) : enseignant depuis 2003 au dpartement Informatique de lInstitut suprieur des tudes technologiques de Charguia (ISET, Tunis), option rseaux informatiques. 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. Niry H. Andriambelo (Madagascar) : membre fondatrice de lAssociation malagasy des utilisateurs de logiciels libres et formatrice de formateurs GNU/Linux, Niry Andriambelo est ingnieur informatique diplm de lUniversit dAntananarivo et, depuis 2004, coordinatrice pour les systmes et rseaux universitaires francophones dans locan Indien. Andrei Boyanov (Bulgarie) : directeur dActive Solutions et membre de la commission technique et dveloppement de lInstitut professionnel Linux. Andrei Boyanov est ingnieur en informatique issu de lUniversit technique de Sofia et formateur des personnels dencadrement de lenseignement suprieur dans le domaine des systmes et des rseaux Linux. Nicolas Larrousse (France) : concepteur de programmes Transfer dans les systmes et rseaux sous Linux ainsi que de formations la certification LPI. Nicolas Larrousse est ingnieur informatique. Il enseigne les systmes dinformation lUniversit de Versailles et exerce, depuis 1992, au Centre national de la recherche scientifique (CNRS), Paris. Vronique Pierre (France) : consultante indpendante en dition scientifique multimdia.

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

Vous aimerez peut-être aussi