Vous êtes sur la page 1sur 50

Collection Savoirs francophones

Srie Technologies de linformation





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

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








Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 2

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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 3

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


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
Table des matires
Ouvrage sous contrat Creative Commons BY-NC-SA p. 5
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 6
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
Table des matires
Ouvrage sous contrat Creative Commons BY-NC-SA p. 7
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. 9
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
importants
Les ordinateurs de type PC ont des lments
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 ).
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 10
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
importants
Dans les noyaux 2.6 et grce la combinaison des
systmes de fichiers virtuels /proc et /sys, il est possible
dobtenir un instantan du systme et de toutes ses
priphriques.
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.
Chapitre 1. Architecture matrielle et gestion des priphriques
Ouvrage sous contrat Creative Commons BY-NC-SA p. 11
! 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 12
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.
Chapitre 1. Architecture matrielle et gestion des priphriques
Ouvrage sous contrat Creative Commons BY-NC-SA p. 13
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-
rpertoire
Description
/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 dmesget lspci.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 14
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 -bqui 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"
Chapitre 1. Architecture matrielle et gestion des priphriques
Ouvrage sous contrat Creative Commons BY-NC-SA p. 15
..
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 16
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"
Chapitre 1. Architecture matrielle et gestion des priphriques
Ouvrage sous contrat Creative Commons BY-NC-SA p. 17
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. 19
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, initet 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 20
Niveau
dexcution
Description
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
initde choisir un autre niveau de dmarrage.
Pour passer un autre niveau (par exemple le niveau 2) nous allons utiliser
la commande initavec 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 :
Chapitre 2. Le dmarrage de Linux
Ouvrage sous contrat Creative Commons BY-NC-SA p. 21
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

Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 22
# 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.
Chapitre 2. Le dmarrage de Linux
Ouvrage sous contrat Creative Commons BY-NC-SA p. 23
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 24
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 initexcute 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.
Chapitre 2. Le dmarrage de Linux
Ouvrage sous contrat Creative Commons BY-NC-SA p. 25
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 26
2. Ne pas oublier de lancer la commande init q pour informer le
processus initdes 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. 27
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
importants
Il existe plusieurs types dinstallation du systme
dexploitation Linux selon lutilisation prvue du poste. Les
bons choix effectus lors de linstallation facilitent la
maintenance et la gestion dun poste de travail.
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, sfdiskou cfdiskselon 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 ;
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 28
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
importants
Les deux principaux chargeurs de dmarrage sont LILO et
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
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 29
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 ;
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 30
! 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
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 31
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
importants
Le systme de gestion de paquetage Debian offre deux
outils de bases pour linstallation et la suppressions des
paquetage Debian : DPKT(Debian package tool) et APT
(Advanced package tool).
Lextension des fichiers paquetage Debian est .deb.
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
dpkgsont :
! -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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 32
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 aptsont :
! 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-
paquetage1et dsinstalle nom-paquetage2;
! apt-get remove nom-paquetage1 nom-paquetage2+: dsinstalle nom-
paquetage1et installe nom-paquetage2;
! apt-get --reinstall nom-paquetage1: rinstalle le paquetage nom-
paquetage1;
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 33
! 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-paquetagequi 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 34
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 ;
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 35
! --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 showrcde 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 36
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-directoriespour 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 yumsont :
! yum install paquetage(s): installe la dernire version d'un paquetage
ou dun groupe de paquetages en s'assurant que toutes les
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 37
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,
yums'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 listpeut 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 38
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
importants
Les bibliothques, partages ou non, tiennent une place
importante dans le bon fonctionnement du systme Linux.
Ce sont des lments de programmes contenant des
fonctions utilises par d'autres programmes.
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 ldconfigqui
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
Chapitre 3. Installation et gestion de paquetages
Ouvrage sous contrat Creative Commons BY-NC-SA p. 39
! 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 40



Ouvrage sous contrat Creative Commons BY-NC-SA p. 41
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 42
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 ;
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 43
! 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 44
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.
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 45
" 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 tune2fspour 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 46
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 e2fsckest 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.
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 47
La commande mountaccepte 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 umountpermet 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 48
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 mountpour 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, fsckne 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 amonte 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 -kde l'afficher en kilo-octets :
du -ks /usr/local
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 49
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 *
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 50
! 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 ret wseulement.
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) :
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 51
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 /tmpou
/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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 52
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.userou 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.
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 53
repquota partition
La commande quotaoffarrte 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, whatiset 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 54
b) locate et slocate
La commande locatecherche 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
Chapitre 4. Systme de fichiers
Ouvrage sous contrat Creative Commons BY-NC-SA p. 55
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 56
! 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 findmais avec des options diffrentes.
! est plus efficace que findcar elle utilise un index.
! permet de changer la langue par dfaut de Linux.


Ouvrage sous contrat Creative Commons BY-NC-SA p. 57
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
importants
Les commandes Unix ont une syntaxe gnrale commune.
La matrise de cette syntaxe permet de dtecter trs vite
les ventuelles anomalies ou erreurs sur une commande.
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 58
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 ;
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 59
! /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 -lpermet un affichage long (type de fichier, droit, proprit, date
de modification, taille du fichier, etc.),
! l'option -iaffiche 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 60
! rm: pour supprimer un fichier, syntaxe :
rm chemin
! loption -rpermet 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 manaffiche ces pages de manuel, syntaxe :
man commande
man ls
La commande history affiche les commandes prcdemment lances par
l'utilisateur courant :
history
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 61
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
importants
Les filtres Unix font partie intgrante de son
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 62
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
CHAINEpeut 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 ;
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 63
! 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. Ndfinit 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 -npour effectuer un tri numrique,
! option -rpour 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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 64
! 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, tailaffiche 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
importants
Lditeur vi est prsent depuis les toutes premires
versions dUnix. Malgr une ergonomie parfois trange, il
reste trs utilis par les administrateurs, essentiellement
pour des raisons pratiques : par exemple, il fonctionne
avec nimporte quel terminal.
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 ;
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 65
! 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 66
D. Tubes et les redirections
Objectifs " Comprendre le fonctionnement des tubes.
" Comprendre le fonctionnement des redirections.
" Connatre les commandes teeet xargs.
Points
importants
Les tubes Unix permettent de combiner des commandes
en les utilisant comme des briques indpendamment
de leur provenance (shell script, programme ). Cest
lune des grandes forces dUnix.
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 :
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 67
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 catrencontre 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 68
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_fichiercomme 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
importants
Il est ncessaire de bien identifier ces caractres
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 :
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 69
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).
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 70
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
importants
Les variables Unix, en particulier celles dites
denvironnement, modifient le comportement des
commandes. Il est important de les connatre et dtre
capable de modifier leur contenu.
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$
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 71
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 unsetpermet 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
importants
Tout programme lanc sous Unix est associ un
processus. tre capable de les identifier et les grer est
indispensable.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 72
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 initqui 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 :
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 73
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 74
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 lou 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 ...]]
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 75
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 76
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 nohuppour 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>
Chapitre 5. GNU et les commandes Unix
Ouvrage sous contrat Creative Commons BY-NC-SA p. 77
! <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. 79
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 80
! 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_repertoiresur 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 findmais avec des options diffrentes.
! B est plus efficace que findcar 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 umaskest (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.
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 81
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 killallpermet 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 pastepermet 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 82
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 initdefaultdu 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.
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 83
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 cpavec l'option a.
! B Utiliser cpavec l'option d.
! C Utiliser cpavec l'option v.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 84
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.
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 85
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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 86
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.
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 87
! 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 88
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 -spermet
! 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.
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 89
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 pstreepermet
! 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.
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 90
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 topvous 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
Annexe 1. Exemple dexamen de certification
Ouvrage sous contrat Creative Commons BY-NC-SA p. 91
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
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 92
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. 93
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. 94






Ouvrage sous contrat Creative Commons BY-NC-SA p. 95
Index des mots-cls

`
`, 68
;
;, 68
?
?, 68
.
., 68
'
', 68
"
", 68
", 68
[
[, 68
[[, 68
]
], 68
]], 68
{
{, 68
}
}, 68
/
/boot/grub/grub.conf, 28
/etc/apt/sources.list, 31
/etc/fstab, 52
/etc/ld/so.conf, 38
/etc/lilo.conf, 28
/etc/profile, 70
/etc/shells, 57
/etc/updatedb.conf, 53
/etc/yum.conf, 34
/etc/yum.repos.d/, 34
/proc, 10
/sys, 10
&
&&, 68
&>, 68
<
<, 66
<<, 66
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 96
>
>, 66
>>, 66
|
|, 66
||, 68
~
~/.bash_history, 57
~/.profile, 70
$
$, 68
$!, 70
$?, 70
$$, 70
A
AGP, 10
apropos, 53
apt-cache, 31
apt-get, 31
aptitude, 31
B
bash, 57
bin, 43
BIOS, 9
boot, 43
bus, 9
C
cat, 61
chattr, 49
chgrp, 51
chmod, 49
Choix du type d'installation, 27
chown, 51
CPU, 9
csh, 57
cut, 61
D
debugfs, 45
dev, 43
df, 46
DMA (canaux), 10
dpkg, 31
dpkg-reconfigure, 31
du, 46
dumpe2fs, 45
E
e2fsck, 45
echo, 57, 66
edquota, 52
env, 70
etc, 43
exec, 66
expand, 61
export, 70
ext2, 45
ext3, 45
F
fdisk, 41
find, 53
fmt, 61
fsck, 45
G
grep, 61
grub-install, 28
Index des mots-cls
Ouvrage sous contrat Creative Commons BY-NC-SA p. 97
H
head, 61
home, 43
I
init, 19
initdefault, 19
inittab, 19
IRQ, 10
ISA, 10
J
join, 61
K
kill, 72
killall, 72
ksh, 57
L
LD_LIBRARY_PATH, 38
ldconfig, 38
ldd, 38
lib, 43
LILO, 19, 28
local, 43
locate, 53
lspci, 10
lsusb, 10
M
makewhatis, 53
man, 57
MBR, 41
mmoire, 9
mkfs, 45
mount, 46
N
nice, 72
nl, 61
nohup, 72
O
od, 61
P
paste, 61
PCI, 10
pr, 61
proc, 43
ps, 72
pstree, 72
Q
quota, 52
quotacheck, 52
quotaoff, 52
quotaon, 52
R
RAM, 9
regexp, 61
reiserfs, 45
renice, 72
repquota, 52
respawn, 19
ROM, 9
root, 43
rpm, 34
rpm2cpio, 34
runlevels, 19
S
sed, 61
set, 70
Prparation lexamen 101 pour la certification LPIC-1
Ouvrage sous contrat Creative Commons BY-NC-SA p. 98
sgid, 49
sh, 57
slocate, 53
sort, 61
split, 61
sticky bit, 49
suid, 49
sysinit, 19
T
tac, 61
tail, 61
tcsh, 57
tee, 66
telinit, 19
tmp, 43
top, 72
tr, 61
tune2fs, 45
U
udev, 10
umask, 49
umount, 46
unexpand, 61
uniq, 61
unset, 70
updatedb, 53
usr, 43
usrquota, 52
V
var, 43
vfat, 45
vi, 64
W
wait, 19
wc, 61
whatis, 53
whereis, 53
which, 53
X
xargs, 66
xfs, 45
Y
yum, 34
yumdownloader, 34


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

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.

Vous aimerez peut-être aussi