Vous êtes sur la page 1sur 99

Collection Savoirs francophones

Srie Technologies de linformation

Prparation lexamen 101


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

e
Zied Bouziri (2 dition)
re
Niry H. Andriambelo, Andrei Boyanov, Nicolas Larrousse (1 dition)
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.lpi-
francophonie.org.
Le contrat Creative Commons BY-NC-SA sous lequel il est mis disposition
vous donne un certain nombre de droits, mais vous impose galement de
respecter un certain nombre de conditions.

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

Les conditions respecter


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

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


Table des matires

Pour citer cet ouvrage ....................................................................................2


Accs et utilisation..........................................................................................3
Les droits.............................................................................................................3
Les conditions respecter ..................................................................................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

B. Introduction la gestion des priphriques .............................................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

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
a) DPKG............................................................................................................31
b) apt-get...........................................................................................................32
c) aptitude .........................................................................................................33

D. Le gestionnaire de paquetage RPM et YUM ...........................................33


a) RPM (Red Hat Package Manager) ...............................................................34
b) YUM (Yellow dog Updater Modified).............................................................36

E. Gestion des bibliothques........................................................................38


F. Exercices.................................................................................................. 38
Chapitre 4. Systme de fichiers ....................................................41
A. Disques durs et partitionnement ..............................................................41
a) Les partitions.................................................................................................41
b) Organisation des partitions sous Linux .........................................................42

B. Arborescence des fichiers sous Linux .....................................................43


a) Les rpertoires de base ................................................................................44
b) Les autres rpertoires ...................................................................................44

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
a) Montage et dmontage manuel ....................................................................46
b) Montage et dmontage automatique ............................................................47
c) Contrle de systme de fichiers....................................................................48

F. Les droits sur les fichiers et les rpertoires..............................................49

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


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
a) Les interprteurs de commandes .................................................................58
b) Les commandes relatives aux rpertoires et aux fichiers .............................59
c) Les pages de manuel....................................................................................60

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

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 Se familiariser avec les notions de base de larchitecture
matrielle des ordinateurs.
Points Les ordinateurs de type PC ont des lments
importants fonctionnellement semblables bien quils soient de modles
diffrents ou fabriqus par des constructeurs diffrents.
Mots cls 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.
Points Dans les noyaux 2.6 et grce la combinaison des
importants systmes de fichiers virtuels /proc et /sys, il est possible
dobtenir un instantan du systme et de toutes ses
priphriques.
Mots cls ISA, PCI, AGP, IRQ, DMA (canaux), /proc, /sys, lspci,
lsusb, udev

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 entres-
sorties 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 i8042


2: 0 XT-PIC cascade
8: 1 IO-APIC-edge rtc
12: 9331 IO-APIC-edge i8042
14: 6609 IO-APIC-edge ide0
15: 3287 IO-APIC-edge ide1
16: 0 IO-APIC-level uhci_hcd
17: 767 IO-APIC-level yenta, eth0, Intel 82801DB-ICH4
18: 2 IO-APIC-level uhci_hcd, ohci1394
19: 0 IO-APIC-level uhci_hcd
23: 0 IO-APIC-level ehci_hcd
NMI: 0
LOC: 220418
ERR: 0
MIS: 0
[maitre@maestro maitre]$

/proc/dma

[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


Sous- Description
rpertoire
/sys/bus peupl de liens symboliques, reprsentant la manire dont
chaque priphrique appartient aux diffrents bus
/sys/class montre les priphriques regroups en classes, comme les
priphriques rseau par exemple
/sys/block 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.
Les types de priphriques pouvant tre connects sont les suivants :
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 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 Device 003: ID 03f0:2b17 Hewlett-Packard LaserJet 1020
Bus 008 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd
Bus 008 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 002: ID 1058:0704 Western Digital Technologies,
Inc.
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root 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 ?
mess.
dmesg.
bootmsg.
lsmsg.

2. 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.
Points importants 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.
Mots cls runlevels, init, telinit, inittab, initdefault, sysinit, respawn,
wait, LILO

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
Description
dexcution
Runlevel 0 shut down arrte la machine

Runlevel 1 single user mode mode de maintenance (un seul utilisateur


peut se connecter au systme)
Runlevel 2 multi user sans dmarrer tous les services rseau
Runlevel 3 multi user
Runlevel 4
Runlevel 5 multi user avec interface graphique (Display manager)
Runlevel 6 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.
Analysons une partie du contenu dun fichier inittab :

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

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 multi-
utilisateurs , 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. Quel est le chemin daccs complet au fichier contenant la
configuration du niveau de dmarrage par dfaut ?

2. Quelle commande affiche le niveau de dmarrage prcdent et


celui en cours ?

3. Quelle action du fichier /etc/inittab est utilise pour dfinir le niveau


dexcution par dfaut ?
runlevel
default
defaultinit
initdefault

4. 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.
2) Il faut ensuite redmarrer Linux pour tester la nouvelle
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. Au dmarrage de la machine passer Linux loption init s.
2. Si linvite de LILO napparat pas appuyer sur la touche <Ctrl>
durant le dmarrage.

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.
Points Il existe plusieurs types dinstallation du systme
importants dexploitation Linux selon lutilisation prvue du poste. Les
bons choix effectus lors de linstallation facilitent la
maintenance et la gestion dun poste de travail.
Mots cls Choix du type dinstallation.

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 eux-
mmes se trouvent sur une autre machine du rseau : le serveur ;
2. 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 ;
3. Choix des paquetages installer ;
4. Configuration de linterface graphique : choix des cartes graphiques,
des gestionnaires de fentres et paramtrage de laffichage.
Linstallation de la souris seffectue galement cette tape ;

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


Prparation lexamen 101 pour la certification LPIC-1

5. Configuration du rseau local : installation des cartes rseaux.


Configuration rseau du poste ;
6. Choix du fuseau horaire ;
7. Configuration de limprimante ;
8. Dfinition du mot de passe du super-utilisateur (root) : la cration
ventuelle des premiers utilisateurs peut tre effectue lors de cette
tape ;
9. Cration de la disquette de dmarrage ;
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.
Points Les deux principaux chargeurs de dmarrage sont LILO et
importants GRUB qui permettent de charger un des systmes
dexploitation installs sur la machine.
Mots cls LILO, /etc/lilo.conf, /boot/grub/grub.conf, grub-install

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. Section globale (global) :
default : nom de limage charger automatiquement (la premire
entre est identifie par 0),
timeout : dlai dattente de linvite en secondes ;
2. 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 .
Voici un exemple de fichier de configuration /boot/grub/grub.conf :

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


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... .
Points Le systme de gestion de paquetage Debian offre deux
importants 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.
Mots cls /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-
cache, aptitude

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 non-
free
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 non-
free

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- : installe nom-
paquetage1 et dsinstalle nom-paquetage2 ;
apt-get remove nom-paquetage1 nom-paquetage2+ : dsinstalle nom-
paquetage1 et installe nom-paquetage2 ;
apt-get --reinstall nom-paquetage1 : rinstalle le paquetage nom-
paquetage1 ;

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 nom-
paquetage ;
apt-get -b source nom-paquetage : tlcharge le paquetage source nom-
paquetage 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

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.
Mots cls 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 nom-
version-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.
Options utiliser avec l'option -q (ou --query) :
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


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.
Les options spciales :
--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.
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/i686-
linux/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.0-


2.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.
La commande list peut prendre plusieurs arguments :
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.
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 Savoir grer les librairies dynamiques.
Points Les bibliothques, partages ou non, tiennent une place
importants importante dans le bon fonctionnement du systme Linux.
Ce sont des lments de programmes contenant des
fonctions utilises par d'autres programmes.
Mots cls /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 dans la variable d'environnement
LD_LIBRARY_PATH ;
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

install-grub
grub-install
grub-setup
9. 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 foo-


1.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.
Mots cls MBR, fdisk

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


Primaire Secondaire
Matre a C
Esclave b 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 Connatre l'organisation de l'arborescence standard des
fichiers sous Linux.
Mots cls 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 qui sert installer les logiciels
supplmentaires ;
/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

Matriser la cration d'un systme de fichiers sur une


partition.
Mots cls 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 Commande de cration
ext2 mke2fs ou mkfs.ext2
ext3 mke2fs -j ou mkfs.ext3
reiserfs Mkreiserfs
Xfs mkfs.xfs
vfat 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 Matriser la remise en tat d'un systme de fichiers
endommag.
Mots cls 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 Savoir monter et dmonter un systme de fichiers sous
Linux.
Mots cls 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=/ / ext3 defaults 0 1
/dev/hda5 /home ext3 defaults 0 2
none /proc proc defaults 0 0
/dev/cdrom /media/cdrom iso9660 ro,noauto,owner 0 0
/dev/hda3 /usr ext3 defaults 0 2
/dev/hda6 /var ext3 defaults 0 2
/dev/hda2 swap swap defaults 0 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.
Mots cls chmod, umask, chattr, suid, sgid, sticky bit, chattr

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).
Ainsi que trois types de droits :
r : lecture (read) ;
w : criture (write) ;
x : excution ;
- : aucun droit.
Exemples :
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


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 Notation octale
--- 0
--x 1
-w- 2
-wx 3
r-- 4
r-x 5
rw- 6
rwx 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 tre capable de modifier le propritaire et le groupe dun
fichier ou dun rpertoire.
Mots cls 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.
Mots cls quota, /etc/fstab, usrquota, quotacheck, edquota, quotaon,
quotaoff, repquota

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.
Mots cls find, locate, slocate, whereis, which, whatis, updatedb,
makewhatis, apropos, /etc/updatedb.conf

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 ?
hda
sdc.
hdc1.
hdd.

2. L'arborescence ________ contient les donnes des utilisateurs.

3. 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

fdisk.
mkfs.
fsck.

4. 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. La commande ______ permet de vrifier les quotas d'un utilisateur.

8. 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.
Points Les commandes Unix ont une syntaxe gnrale commune.
importants La matrise de cette syntaxe permet de dtecter trs vite
les ventuelles anomalies ou erreurs sur une commande.
Mots cls ~/.bash_history, /etc/shells, bash, csh, ksh, man, pwd, sh,
tcsh
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.
Points Les filtres Unix font partie intgrante de son
importants fonctionnement. Cest grce eux que lon peut fabriquer
des commandes trs labores en personnalisant leur
rsultat.
Mots cls cat, cut, expand, fmt, head, join, nl, od, paste, pr, sed, sort,
split, tac, tail, tr, unexpand, uniq, wc, grep, regexp

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 tre capable deffectuer des manipulations simples du
contenu dun fichier avec lditeur vi .
Points Lditeur vi est prsent depuis les toutes premires
importants 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.
Mots cls Vi

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.
Pour ajouter ou supprimer du texte :
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 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.
Points Les tubes Unix permettent de combiner des commandes
importants en les utilisant comme des briques indpendamment
de leur provenance (shell script, programme ). Cest
lune des grandes forces dUnix.
Mots cls tee, xargs, |, >, >>, <, <<, echo, exec

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.
Points Il est ncessaire de bien identifier ces caractres
importants particuliers pour viter des effets tranges lors de
lutilisation des commandes.
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 elle-
mme :

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 Comprendre les variables d'environnement.
Connatre les commandes relatives aux variables.
Points Les variables Unix, en particulier celles dites
importants denvironnement, modifient le comportement des
commandes. Il est important de les connatre et dtre
capable de modifier leur contenu.
Mots cls 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.
Dans le cadre dune commande lance partir d'un fichier script :
$# : 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.
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 Comprendre la notion fondamentale de processus sous
Unix.
Savoir grer les processus.
Points Tout programme lanc sous Unix est associ un
importants 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 6) SIGABRT 7) SIGBUS 8) SIGFPE


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

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. En bash, pour afficher la liste des dernires commandes entres,
vous utilisez la commande ________.

2. 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

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

3. 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 pouvez-
vous 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 ?
A hda.
B sdc.
C hdc1.
D hdd.

2. La commande ________ permet de lister les priphriques USB


prsents sur la machine.

3. Comment peut-on afficher le contenu d'un fichier en sens inverse ?


A cat r.
B tail.

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


Prparation lexamen 101 pour la certification LPIC-1

C tac.
D sort r.

4. Le choix du priphrique de dmarrage de votre machine se fait


A dans le BIOS.
B avec une option du chargeur de dmarrage (boot loader).
C automatiquement.

5. Quels droits sont positionns par la commande chmod 1777


un_repertoire sur un rpertoire (plusieurs rponses) ?
A Elle permet tous les utilisateurs d'accder au rpertoire.
B 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 fonctionne comme find mais avec des options diffrentes.
B est plus efficace que find car elle utilise un index.
C 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 666.
B 022.
C 123.
D 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 mess.
B dmesg.
C bootmsg.
D lsmsg.

11. Quelle commande allez-vous utiliser afin dafficher toutes les


variables ?
A set.
B varlist.
C vshow var.
D ps.

12. La commande killall permet de


A tuer tous les processus d'un utilisateur.
B tuer un processus sans connatre son PID.
C envoyer tous les signaux standard un processus.

13. La commande paste permet de


A coller un fichier la suite d'un autre.
B joindre deux fichiers cte cte simplement sans critres.
C laisser un processus en mmoire.

14. Pour changer la date de modification d'un fichier vous pouvez


utiliser la commande (plusieurs rponses)
A date.
B timestamp.
C touch.
D 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 /etc/inittab.
B /etc/fstab.
C /etc/mtab.

16. En bash, la commande set


A affiche toutes les variables.
B affecte une valeur une variable.
C 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 lancez la commande shutdown -n 2.
D aucune des rponses n'est valable.

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

19. Pour rechercher un fichier texte d'un utilisateur sur votre disque,
vous utilisez
A locate.
B whereis.
C who.
D 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 Attendre la fin de la commande pour continuer.
B Attendre une entre au clavier.
C Attendre quelques minutes.

22. Comment obtenir de l'information sur une commande et effectuer


une recherche par mots-clefs ?
A whoami.
B whatis.
C apropos.
D which.

23. La priorit d'un processus peut tre diminue


A par son propritaire tout moment.
B par tous les utilisateurs.
C 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 Utiliser cp avec l'option a.
B Utiliser cp avec l'option d.
C 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 mon_programme > lefichier 2>&1.
B mon_programme > lefichier.
C mon_programme 1> /dev/null 2> lefichier.

27. Comment peut-on installer le paquetage RPM leprogramme-


1.2.3.4.i386.rpm ? (plusieurs rponses)
A rpm -Uvh leprogramme-1.2.3.4.i386.rpm.
B rpm -i leprogramme-1.2.3.4.i386.rpm.
C rpm -u leprogramme-1.2.3.4.i386.rpm.
D rpm -e leprogramme-1.2.3.4.i386.rpm.

28. Quels rpertoires doivent appartenir au systme de fichier root


(plusieurs rponses) ?
A /etc
B /home
C /lib
D /usr
E /root

29. Quels droits devrait avoir le fichier /usr/bin/passwd ?


A 4511.
B 6400.
C 4222.

30. Comment peut-on afficher les lignes 10 20 d'un fichier de 30


lignes ?
A head -n 10-20 lefichier.
B tail -n 10-20 lefichier.
C head n 20 lefichier | tail.
D 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 cat lefichier | nl | sort -r.
B cat lefichier | tac l.
C cat lefichier | nl | tac.

32. Quelle commande montre l'occupation d'un rpertoire '/usr/XXX' ?


A du -s /usr/XXX.
B df -h /usr/XXX.
C ls -iR /usr/XXX.

33. Quelle commande permet de voir toutes les partitions montes ?


A mount a.
B df.
C show mount.
D du m.

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

35. Quelle commande permet de transformer un i en I dans un


fichier (plusieurs rponses) ?
A sed.
B vi.
C paste.
D 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 Coucou, a va ????
B Ma_Var, a va ????
C erreur de syntaxe.

37. Quelle commande permet dafficher les dernires lignes dun


fichier avec un rafrachissement permanent ?
A cat -f.
B tail -n 1.
C tac -l.
D tail -f.

38. La commande kill 9 1664


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

39. La commande ls -l /etc/ | grep 'd'


A affiche tous les rpertoires du rpertoire /etc/.
B 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 affiche toujours 10.
B affiche 5.
C 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 par ==> et


<== .
C elle produit une erreur de syntaxe.

42. Pour formater une partition, vous utilisez


A disk druid.
B fdisk.
C mkfs.
D fsck.

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

44. Quelle variable contient les chemins daccs aux librairies du


systme ?
A PATH.
B LD_LIBRARY_PATH.
C LIBPATH.
D USRLIB.

45. Quelle commande est lance au dmarrage du systme sur toutes


les partitions contenues dans /etc/fstab ?
A mkfs.
B fsck.
C chksum.
D 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 search.
B find.
C whereis.
D apropos.

48. Quelles commandes permettent de tester un systme de fichiers


format en ext3 (plusieurs rponses) ?
A fsck.ext3.
B fsck -t ext3.
C tune2fs -j.
D e3fsck.

49. La commande ln -s permet


A de crer un lien symbolique.
B de mettre jour les librairies du systme.
C de faire une sauvegarde dun fichier.

50. Quelle commande VI faut-il entrer afin denregistrer un fichier et


quitter lditeur vi ?
A :x
B : wq
C : re
D : we

51. quoi sert la commande updatedb ?


A reconstruire la liste des librairies du systme.
B mettre jour lindex pour la commande locate.
C 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 configurer les chemins des librairies du systme.
C 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 dpkg s gdm
B dpkg -l gdm
C dpkg L gdm
D dpkg q gdm

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

56. La commande pstree permet


A dafficher larborescence des processus par famille .
B dafficher uniquement les processus dun utilisateur.
C dafficher loccupation du processeur par les processus.

57. Quel utilitaire permet de slectionner les colonnes dun fichier ?


A col.
B join.
C cut.
D 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.
Lequel aura la priorit la plus leve ?
A leprogramme1.
B leprogramme2.
C leprogramme3.

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 changer la priorit dun processus.
B envoyer un signal un processus.
C afficher le dbut dun fichier.
D aucune de ces rponses nest valable.

Rponses examen LPI 101


1. D
2. lsusb
3. C
4. A
5. A, C
6. B
7. B, D
8. B, C
9. 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 sous-
dossier 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 /boot/grub/grub.conf, 28
/etc/apt/sources.list, 31
/etc/fstab, 52
. /etc/ld/so.conf, 38
., 68 /etc/lilo.conf, 28
/etc/profile, 70
/etc/shells, 57
' /etc/updatedb.conf, 53
/etc/yum.conf, 34
', 68 /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

> Choix du type d'installation, 27


chown, 51
>, 66 CPU, 9
>>, 66 csh, 57
cut, 61
|
D
|, 66
||, 68 debugfs, 45
dev, 43
df, 46
~ DMA (canaux), 10
dpkg, 31
~/.bash_history, 57
dpkg-reconfigure, 31
~/.profile, 70
du, 46
dumpe2fs, 45
$
$, 68 E
$!, 70
e2fsck, 45
$?, 70
echo, 57, 66
$$, 70
edquota, 52
env, 70
A etc, 43
exec, 66
AGP, 10 expand, 61
apropos, 53 export, 70
apt-cache, 31 ext2, 45
apt-get, 31 ext3, 45
aptitude, 31
F
B
fdisk, 41
bash, 57 find, 53
bin, 43 fmt, 61
BIOS, 9 fsck, 45
boot, 43
bus, 9
G
C grep, 61
grub-install, 28
cat, 61
chattr, 49
chgrp, 51
chmod, 49

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


Index des mots-cls

H N
head, 61 nice, 72
home, 43 nl, 61
nohup, 72
I
O
init, 19
initdefault, 19 od, 61
inittab, 19
IRQ, 10
ISA, 10
P
paste, 61
J PCI, 10
pr, 61
join, 61 proc, 43
ps, 72
pstree, 72
K
kill, 72 Q
killall, 72
ksh, 57 quota, 52
quotacheck, 52
quotaoff, 52
L quotaon, 52
LD_LIBRARY_PATH, 38
ldconfig, 38 R
ldd, 38
lib, 43 RAM, 9
LILO, 19, 28 regexp, 61
local, 43 reiserfs, 45
locate, 53 renice, 72
lspci, 10 repquota, 52
lsusb, 10 respawn, 19
ROM, 9
root, 43
M rpm, 34
makewhatis, 53 rpm2cpio, 34
man, 57 runlevels, 19
MBR, 41
mmoire, 9 S
mkfs, 45
mount, 46 sed, 61
set, 70

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


Prparation lexamen 101 pour la certification LPIC-1

sgid, 49 updatedb, 53
sh, 57 usr, 43
slocate, 53 usrquota, 52
sort, 61
split, 61
sticky bit, 49
V
suid, 49 var, 43
sysinit, 19 vfat, 45
vi, 64
T
tac, 61
W
tail, 61 wait, 19
tcsh, 57 wc, 61
tee, 66 whatis, 53
telinit, 19 whereis, 53
tmp, 43 which, 53
top, 72
tr, 61
tune2fs, 45 X
xargs, 66
U xfs, 45
udev, 10
umask, 49 Y
umount, 46
unexpand, 61 yum, 34
uniq, 61 yumdownloader, 34
unset, 70

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