Vous êtes sur la page 1sur 24

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

Prsentation gnrale du
systme Gnu/Linux

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION


SECTEUR NTIC

ROYAUME DU MAROC

Office de la Formation Professionnelle et de la Promotion du Travail

DIRECTION RECHERCHE ET INGENIERIE DE FORMATION


SECTEUR NTIC

Prsentation gnrale du systme Gnu/Linux

Sommaire

1. Architecture du systme..........................................................................3
1.1. Principe de modularit.......................................................................3
1.2. Les diffrentes couches logicielles sous Linux........................................5
1.3. Rsum de l'architecture de Linux.......................................................7
2. Fonctionnalits des systmes de fichiers....................................................8
2.1. Le systme de fichiers virtuel.............................................................8
2.2. Liens symboliques et liens physiques.................................................10
2.3. Autres fonctionnalits......................................................................12
3. Structure du systme de fichiers.............................................................13

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

1 - 24

Prsentation gnrale dun systme Gnu/Linux

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

2 - 24

Prsentation gnrale dun systme Gnu/Linux

Si vous tes parvenu jusqu'ici, vous disposez d'un systme Gnu/Linux fonctionnel.
Flicitations ! Un monde nouveau s'ouvre vous, et vous allez pouvoir explorer
toutes les fonctionnalits de ce nouveau systme.
Toutefois, dcouvrir un nouveau systme d'exploitation peut s'avrer moins facile
qu'on ne le pense. En effet, chaque systme a ses spcificits, et la manire de
raliser une tche n'est pas forcment celle laquelle on peut s'attendre. Ce
chapitre a donc pour but de vous prsenter les notions gnrales sur lesquelles le
systme se base, afin de vous mettre le pied l'trier et de vous donner un cadre
auquel vous pourrez vous raccrocher.
Si vous avez dj utilis un systme Unix, vous n'aurez sans doute pas de difficult
vous adapter, et la plupart des notions qui seront prsentes dans ce chapitre ne
vous seront donc pas trangres. De mme, si Linux est le premier systme
d'exploitation que vous utilisez, vous pourrez apprendre les procdures sans trop
de difficults. En revanche, si vous tes d'abord un utilisateur de Microsoft
Windows, la transition sera sans doute difficile dans un premier temps. Les
habitudes ayant la vie dure, vous devrez en effet commencer par vous dbarasser
d'une bonne partie d'elles avant de pouvoir utiliser correctement Linux.
Nous allons prsenter l'architecture gnrale du systme dans un premier temps.
La notion d'utilisateur et les principes de base de scurit des systmes Unix seront
ensuite abords. Enfin, les notions relatives la gestion des fichiers sous Linux,
ainsi que les principaux systmes de fichiers disponibles et leurs fonctionnalits
seront vues. Ce chapitre se terminera par une prsentation de l'arborescence
standard du systme de fichiers de Linux, qui vous sera sans doute trs utile pour
savoir le rle de chacun des rpertoires systmes de Linux et l'emplacement des
diffrents composants du systme.

1. Architecture du systme
1.1. Principe de modularit
Comme tout logiciel d'une certaine taille, un systme d'exploitation est d'une
grande complexit. Tous les systmes d'exploitation rcents sont en effets
constitus d'un grand ensemble de composants qui interagissent entre eux et qui
doivent fonctionner de concert afin d'assurer la bonne marche du systme et
rpondre aux besoins de l'utilisateur.
Cette complexit implique un grand nombre d'erreurs, d'anomalies et de
dysfonctionnements possibles, ainsi qu'une grande difficult en comprendre
l'origine. En effet, pour qu'un systme informatique fonctionne correctement, il faut
tout prvoir pour donner une action approprie tous les vnements possibles, et
trouver la cause d'un problme est d'autant plus difficile qu'il y a de composants
qui interviennent dans la fonction dfaillante. Cela n'est pas humainement

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

3 - 24

Prsentation gnrale dun systme Gnu/Linux

ralisable quand le systme devient trop complexe si l'on n'est pas organis et
qu'on ne connat pas les grandes lignes de l'architecture du systme.
Pour rsoudre ce problme, il est courant de subdiviser les systmes complexes en
composants indpendants, dont le mauvais fonctionnement potentiel ne peut
perturber que partiellement les autres parties du systme. Par ailleurs, ces
composants sont regroups en couches logicielles successives, les couches
suprieures s'appuyant sur les services des couches infrieures. Ainsi, des points
de synchronisation partir desquels le systme peut reprendre un fonctionnement
normal aprs une dfaillance peuvent tre dfinis. Ces points de synchronisation
permettent donc d'assurer la viabilit du systme, ou du moins des couches
infrieures, mme en cas d'erreur inopine d'un composant dans une couche de
plus haut niveau.
Il va de soi que, lorsqu'un composant se plante, ceux qui l'utilisent risquent de se
retrouver dans un tat d'erreur assez difficile grer. Cela peut souvent provoquer
leur propre perte. Par consquent, plus un composant est utilis, plus il doit tre
fiable. Autrement dit, les composants des couches infrieures doivent
ncessairement tre beaucoup plus fiables que ceux des couches de plus haut
niveau, car ils sont utiliss par tout le reste du systme.
Pour quelques systmes, le dcoupage fonctionnel est trop grossier, voire
inexistant. Il arrive galement que les interactions entre les composants soient trop
importantes et impliquent une dpendance entre eux qui annihile le bnfice de
leur isolation. Dans ces systmes, une dfaillance d'un composant peut donc
entraner un dysfonctionnement global svre, et en pratique peut ncessiter
jusqu' un redmarrage de l'ordinateur. Les systmes monolithiques et les
systmes dont les composants sont trop interdpendants sont donc sujets de
nombreux redmarrage, parfois mme pour des raisons mineures (modification de
la configuration du systme, ajout d'un logiciel, ou mme simple erreur d'un
logiciel).
Il est d'usage de considrer que Linux est un systme monolithique. En effet, toute
la gestion du matriel, ainsi que la gestion de certaines fonctionnalits de haut
niveau, est prise en charge au niveau du noyau ( kernel en anglais). On pourrait
donc craindre une faible fiabilit de ce systme d'exploitation. Toutefois, cette
vision des choses n'est pas tout fait juste car, comme on l'a dj dit, le noyau
n'est qu'une partie du systme d'exploitation, et en ralit un systme Linux est
effectivement constitu de diffrentes couches fonctionnelles. De plus, le noyau
reste d'une taille raisonable. Pour l'essentiel, il est constitu que d'une base
relativement petite et trs bien teste, laquelle beaucoup de pilotes de
priphriques ont t ajouts. La complexit du noyau reste donc limite, car les
pilotes de priphriques ne sont bien entendus pas tous utiliss en mme temps
sur une mme machine.
Par ailleurs, le noyau Linux est d'une trs, trs grande fiabilit, et il n'est pas rare
de voir un systme Linux fonctionner plusieurs mois ou annes sur des serveurs.
Cette grande fiabilit provient du modle de dveloppement de Linux, qui est
ouvert tout le monde (chacun peut rcuprer, lire, modifier, et complter ou

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

4 - 24

Prsentation gnrale dun systme Gnu/Linux

corriger le noyau condition de savoir bien programmer). Ainsi, partir d'une taille
critique en terme de nombre d'utilisateurs, taille que Linux a atteinte, il existe
suffisamment de dveloppeurs pour dtecter et corriger les erreurs. En pratique,
ds qu'une erreur est dtecte, elle est souvent corrige dans les jours qui suivent
si la fonctionnalit concerne est effectivement utilise, ce qui assure au final une
trs grande qualit.

1.2. Les diffrentes couches logicielles sous Linux


Ainsi, un systme Linux est constitu, outre du noyau, d'un certain nombre
d'autres couches logicielles, qui s'appuient les unes sur les autres. Nous allons donc
prsenter brivement ces couches ici.
Le noyau se trouve bien videmment la base de toutes les autres couches,
puisqu'il gre quasiment tout le matriel (mmoire, disques, systmes de fichiers,
rseau, clavier, etc.). Mais comme il n'est pas exploitable tel quel (par exemple, il
n'est pas capable d'offrir une interface utilisateur permettant de lui donner les
commandes que l'ordinateur doit excuter) il faut au moins une interface
utilisateur.
Cette interface utilisateur, c'est ce qu'on appelle le shell (ce qui signifie grosso
modo environnement utilisateur ). Le shell est capable de lire des commandes
saisies au clavier, de les excuter et d'afficher leurs rsultats l'cran. En gnral,
les programmes capables de raliser ces oprations sont appels des interprteurs
de commandes. Mais le shell est bien plus que cela, car il peut tre programm, et
il peut grer les processus (en arrter un, en lancer un autre, etc.). Bien entendu,
il existe plusieurs shells, mais le plus utilis sous Linux est le shell bash, qui est
dvelopp par la Free Software Foundation et distribu sous licence GPL.
En fait, les commandes que le shell peut excuter sont en nombre trs rduit. La
plupart des commandes sont donc tout simplement prises en charge par d'autres
programmes. Ces programmes, que l'on peut utiliser directement dans le shell,
sont ce que l'on appelle des programmes en ligne de commande , parce qu'ils
sont propres tre utiliss dans les lignes de commandes que l'on saisit au clavier
dans le shell. Ces programmes sont, encore une fois, dvelopps soit par la Free
Software Foundation, soit par des bnvoles, toujours sous la licence GPL. Toutes
ces commandes sont des commandes compatibles Unix
Bien entendu, ces commandes sont absolument essentielles pour pouvoir utiliser le
systme, mais elles sont assez rbarbatives et peu d'utilisateurs acceptent de s'en
contenter. C'est pour cela qu'une couche graphique a t dveloppe, pour
introduire une interface graphique plus conviviale : XWindow. Encore une fois,
cette couche logicielle est constitue de plusieurs composants, dont la base est le
serveur X. Le serveur X est un programme capable de fournir les services
graphiques (d'o le nom de serveur) aux autres applications. Plusieurs
implmentations concurrentes existent. L'une d'elles est particulirement utilise
sous Linux, puisqu'elle est libre : X.org. vrai dire, un serveur X ne fait pas grand
chose d'autre que de raliser des affichages sous les ordres d'autres programmes.

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

5 - 24

Prsentation gnrale dun systme Gnu/Linux

D'autres composants permettent donc d'obtenir des fonctionnalits de plus haut


niveau.
Le gestionnaire de fentres ( Window Manager en anglais) est un de ces
composants. Il se place juste au-dessus du serveur X et prend en charge, comme
son nom l'indique, la gestion des fentres des applications graphiques sous X. C'est
le gestionnaire de fentres qui prend en charge la gestion des dcorations des
fentres de premier niveau (c'est--dire des fentres principales des programmes).
Par exemple, il s'occupe d'afficher les bords, la barre de titre, les boutons de
rduction et de restauration, etc. des fentres. C'est galement lui qui s'occupe du
positionnement des fentres, et qui donc permet l'utilisateur de dplacer et de
rduire les fentres des applications graphiques. L'utilisateur est libre d'utiliser le
gestionnaire de fentres qu'il dsire, selon ses propres gots et ses dsirs, la
diffrence est souvent une pure question de style.
Il existe galement des environnements graphiques complets qui, en plus de
fournir un gestionnaire de fentres, fournissent la plupart des outils classiques que
l'on est en droit d'attendre d'un systme graphique moderne. Ainsi, ces
environnements comprennent des diteurs, des outils de configuration, des
navigateurs Internet, des logiciels multimdia... En plus de ces applications, ils
fournissent un cadre standard pour les applications graphiques qui savent
communiquer avec eux. Ce cadre permet d'amliorer l'intgration des diverses
applications entre elles, et c'est la raison pour laquelle on appelle souvent ces
environnements des gestionnaires de bureau. KDE et Gnome sont des exemples de
tels environnements de travail.
Enfin, au-dessus de toutes ces couches logicielles, on trouve les applications X, qui
sont aussi diverses que varies (traitement de texte, tableurs, logiciels de
dessin...). Quelques-unes de ces applications sont simplement des front-end
d'applications en ligne de commande, c'est--dire des interfaces graphiques pour
des programmes non graphiques. Ce concept permet d'avoir un composant unique
ralisant une action, utilisable en ligne de commande et donc scriptable, et une ou
plusieurs interfaces graphiques pour ce composant. De plus, ce modle permet de
sparer clairement l'interface graphique du traitement qu'elle permet de raliser. La
stabilit en est d'autant plus accrue.
Bon nombre d'applications pour XWindow sont libres, ou utilisables librement des
fins non commerciales (dans ce cas, on a le droit de les utiliser tant que ce n'est
pas pour raliser un travail qu'on revendra). On peut donc considrer qu'il est
actuellement possible, avec Linux, d'avoir un environnement logiciel complet, fiable
et performant... pour un prix de revient minime.
Note : Il n'est pas vident d'tablir un parallle entre l'architecture d'un systme
comme Linux avec celle de MS Windows. Cependant, on peut considrer que le
noyau Linux correspond aux modules KERNEL de Windows et de tous les services
de type pilote de priphrique, que le shell correspond l'interprteur de
commandes CMD.EXE, que les programmes en ligne de commande correspondent
aux programmes en mode console classiques (xcopy, fdisk, format...), que le
serveur X correspond au couple (pilote de carte graphique, GDI), que le

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

6 - 24

Prsentation gnrale dun systme Gnu/Linux

gestionnaire de fentres correspond au module USER, et que le gestionnaire de


bureau correspond l'explorateur, Internet Explorer, aux fonctionnalits OLE
permettant la communication entre applications, et aux programmes fournis avec
Windows lui-mme.
La diffrence essentielle vient du fait que le shell est peine programmable sous
Windows, que le pilote de carte graphique, la GDI et le module USER sont tous
intgrs dans le systme au lieu d'en tre spars (ce qui multiplie les chances de
crash du systme complet), et que la plupart des applications Windows ne peuvent
fonctionner que dans l'environnement graphique. Elles sont donc entranes par le
systme lorsque les modules graphiques de Windows plantent (je n'ai d'ailleurs
jamais vu un processus DOS survivre un crash de l'interface graphique de
Windows).
1.3. Rsum de l'architecture de Linux
En rsum, un systme GNU/Linux est structur de la manire suivante :

le noyau Linux ;
les programmes en ligne de commande et le shell ;

le serveur XWindow ;

le gestionnaire de fentres et le gestionnaire de bureau ;

les applications XWindow.

La figure suivante vous prsente comment ces diffrentes couches logicielles


s'agencent les unes par rapport aux autres.
Figure 1-1. Architecture des systmes GNU/Linux

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

7 - 24

Prsentation gnrale dun systme Gnu/Linux

Cette architecture est, comme on peut le voir, trs avantageuse :

les systmes Unix, donc Linux, sont trs structurs, donc plus simples
utiliser, configurer, maintenir et dvelopper ;
ils sont trs stables, car les composants de haut niveau n'interfrent pas sur
les composants de bas niveau ;

ils sont faciles personnaliser, puisque l'utilisateur a le choix des outils


chaque niveau ;

Linux a de plus la particularit d'tre parfaitement modifiable, puisque si l'on


sait programmer, on peut personnaliser les composants du systme ou en
rajouter tous les niveaux ;

et il n'est pas propritaire, c'est--dire que l'on n'est pas dpendant d'un
diteur de logiciel pour rsoudre un problme donn.
En bref, c'est la voie de la vrit.

2. Fonctionnalits des systmes de fichiers


Les systmes de fichiers Unix sont des systmes de fichiers extrmement volus,
qui fournissent la fois d'excellentes performances, une grande scurit, et des
fonctionnalits puissantes. Peu d'utilisateurs savent exactement quels sont les
services qu'ils peuvent fournir en gnral, et beaucoup croient que les systmes de
fichiers savent juste stocker des donnes dans des fichiers organiss dans une
hirarchie de rpertoires. Mais nous allons voir qu'ils permettent de faire beaucoup
mieux que cela !

2.1. Le systme de fichiers virtuel


Pour commencer, il faut prciser que Linux ne travaille pas directement avec les
systmes de fichiers physiques. En effet, il interpose systmatiquement un systme
de fichiers intermdiaire, nomm Virtual File System ( VFS en abrg), qui
permet aux applications d'accder diffrents systmes de fichiers de manire
indpendante de leur nature et de leur structure interne. Le systme de fichiers
virtuel ne fait pas grand chose en soi : il se contente de transfrer les requtes des
applications vers les systmes de fichiers rels. Il fournit donc une interface bien
dfinie pour les applications, que celles-ci doivent utiliser. Les systmes de fichiers
rels, quant eux, doivent simplement fournir les services dont le systme de
fichiers virtuel a besoin. Tous les systmes de fichiers rels ne disposent toutefois
pas forcment de toutes les fonctionnalits demandes par le systme de fichiers
virtuel. Dans ce cas de configuration, la requte de l'application dsirant effectuer
l'opration manquante chouera tout simplement.
Comme on peut le constater, cette architecture est modulaire. Et comme on l'a vu
pour l'architecture du systme en gnral, cela apporte beaucoup de bnfices. Les

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

8 - 24

Prsentation gnrale dun systme Gnu/Linux

plus vidents sont indiqus ci-dessous :

Linux est capable de grer plusieurs systmes de fichiers rels. La seule


condition est qu'ils doivent tous fournir les services de base exigs par le
systme de fichiers virtuel ;
les applications peuvent utiliser plusieurs de ces systmes de fichiers rels
de manire uniforme, puisqu'elles n'utilisent que le systme de fichiers
virtuel. Cela simplifie leur programmation, et permet d'viter autant de
bogues potentiels ;
chaque systme de fichiers rel tant indpendant des autres, il ne perturbe
pas leur fonctionnement. En particulier, un systme de fichiers corrompu ne
corrompt pas les autres.

Figure 2.1 Le systme de fichiers virtuel

Avec cette architecture, un grand nombre de systmes de fichiers ont t


dvelopps pour Linux. Parmi ces systmes de fichiers, on retrouve les plus
connus, savoir :

le systme de fichiers EXT2, qui est le systme de fichiers natif de Linux ;


le systme de fichiers EXT3, qui est une volution du systme de fichiers
EXT2 capable de prendre en charge galement les mcanismes de
journalisation (voir la note ci-dessous pour savoir ce qu'est la journalisation
d'un systme de fichiers) ainsi que les blocs dffectueux sur le support
physique ;

le systme de fichiers ReiserFS, qui supprime la notion de bloc disque et qui


est galement journalis ;

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

9 - 24

Prsentation gnrale dun systme Gnu/Linux

les systmes de fichiers FAT, FAT32 et FAT32X (utiliss par les systmes DOS
et Windows, ainsi que par les clefs USB et les cartes mmoire) ;

le systme de fichiers NTFS (utilis par Windows NT, Windows 2000 et XP),
en lecture et partiellement en criture (seul l'crasement des donnes
existantes dans un fichier, sans redimensionnement, est autoris l'heure
actuelle) ;

le systme de fichiers ISO9660, qui est utilis par tous les CD-ROM. Les
extensions permettant de grer les noms longs sont galement gres. Ces
extensions comprennent en particulier le systme de fichiers Joliet
(extensions de Microsoft pour Windows 95) et Rock Ridge (extensions
utilises par tous les systmes Unix) ;

le systme de fichiers NFS (utilis pour distribuer sur un rseau un systme


de fichiers).

Note : La journalisation consiste crire sur le disque toutes les oprations en


cours chaque instant. Ainsi, lorsqu'un redmarrage intempestif se produit, le
systme peut ramener rapidement la structure de donnes du systme de fichiers
dans un tat cohrent. La journalisation accrot donc encore la fiabilit du
systme de fichiers.
Linux gre galement d'autres systmes de fichiers natifs ou utiliss par d'autres
systmes d'exploitation (Unix ou non). Il permet mme d'intgrer des pseudo
systmes de fichiers gnrs par le noyau. Ces systmes de fichiers sont
compltement fictifs : leur structure et leurs fichiers sont gnrs dynamiquement
par le noyau lorsqu'une application y accde. Ils sont principalement utiliss pour
fournir aux applications des informations que le noyau met leur disposition, pour
raliser des systmes de fichiers en mmoire, et pour grer l'ensemble des fichiers
spciaux de priphriques installs sur l'ordinateur.
Les systmes de fichiers natifs de Linux sont de loin les systmes de fichiers les
plus fonctionnels, les plus fiables et les plus courants. Le choix du systme de
fichiers dpend donc gnralement de l'usage que l'on en fera, certains systmes
de fichiers tant plus appropris pour certains types d'utilisation. Si l'on recherche
essentiellement la stabilit, je recommande le systme de fichiers EXT3, car c'est
pour l'instant le seul systme de fichiers capable de prendre en compte les blocs
dfectueux sur le support physique.
Quoi qu'il en soit, on ne pourra installer Linux que sur un systme de fichiers de
type Unix. Ces systmes de fichiers sont tous plus fonctionnels et plus performants
que les systmes de fichiers FAT. Leurs principales fonctionnalits sont les
suivantes :

les accs aux fichiers sont rapides, mme plus rapides que les systmes de
fichiers bass sur la FAT sous Windows, qui pourtant ne grent pas les droits
des utilisateurs ni les autres fonctionnalits avances des systmes de
fichiers Unix ;

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

10 - 24

Prsentation gnrale dun systme Gnu/Linux

la fragmentation des fichiers est quasiment inexistante. En fait, la


fragmentation des fichiers est si faible qu'on peut l'ignorer en pratique. Cela
provient des algorithmes utiliss par ces systmes de fichiers pour allouer
les blocs du disque dur lors de l'criture dans un fichier : ils cherchent tout
simplement donner systmatiquement les blocs les plus proches. Pour
donner un ordre de grandeur, aprs installation, suppression, manipulation
d'un grand nombre d'applications et de petits fichiers sur une partition EXT2
de 800 Mo, le tout ralis par plusieurs processus fonctionnant en mme
temps, la fragmentation reste infrieure 1% sur 57571 fichiers (sur un
total de 249856 fichiers que le systme de fichiers pourrait contenir) ;

quant la fiabilit, elle est gre grce un stockage redondant des


principales structures de donnes internes. Ainsi, si une erreur apparat dans
le systme de fichiers, les parties dfectueuses peuvent tre reconstitues
partir des informations sauvegardes. Cette rparation est ralise
automatiquement chaque redmarrage de la machine si ncessaire.

2.2. Liens symboliques et liens physiques


Une fonctionnalit intressante fournie par les systmes de fichiers Unix est la
possibilit de raliser des liens sur des fichiers ou des rpertoires.
Un lien est une rfrence un fichier ou un rpertoire existant, qui peut tre
manipul exactement comme sa cible. Il existe deux sortes de liens : les liens
physiques, qui sont rellement une rfrence sur les donnes du fichier au niveau
de la structure mme du systme de fichiers, et les liens symboliques, qui ne sont
rien d'autre qu'un fichier additionnel contenant les informations ncessaires pour
retrouver la cible.
Les liens physiques prsentent les inconvnients de ne pas pouvoir rfrencer des
rpertoires, et de ne pouvoir rfrencer que des objets du mme systme de
fichiers que celui dans lequel ils sont crs. La limitation sur les rpertoires permet
d'viter de construire des cycles dans la structure du systme de fichiers. Quant
la limitation la frontire des systmes de fichiers, elle est obligatoire puisque les
liens physiques sont grs directement au niveau de la structure du systme de
fichiers. En revanche, ils prsentent des avantages certains :

le dplacement des cibles ne les perturbe pas si celles-ci restent dans le


mme systme de fichiers, parce que dans ce cas les donnes ne sont pas
dplaces sur le disque ;

la suppression de la cible ne dtruit pas le lien physique. Tous les liens


physiques sur un fichier partagent la mme structure de donnes du
systme de fichiers, et celle-ci n'est rellement dtruite qu' la destruction
du dernier lien physique.

En fait, toute entre de rpertoire est un lien physique sur le contenu du fichier. Le
fait d'avoir plusieurs liens physiques sur les mmes donnes correspond disposer
de plusieurs entres de rpertoire donnant accs aux mmes donnes dans le

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

11 - 24

Prsentation gnrale dun systme Gnu/Linux

systme de fichiers. Il serait possible de crer des liens physiques dans un systme
de fichiers FAT, mais ils seraient interprts comme des rfrences croises par les
outils de vrification de disque. Le systme de fichiers FAT de Linux interdit donc la
cration des liens physiques, tout comme le font DOS et Windows.
Les liens symboliques, quant eux, permettent de rfrencer des fichiers ou des
rpertoires se trouvant dans d'autres systmes de fichiers que le leur. C'est pour
cette raison qu'ils sont trs couramment utiliss (en fait, les liens physiques ne
sont quasiment pas utiliss, parce qu'il est trs courant de faire un lien sur un
rpertoire, ce que seuls les liens symboliques savent faire). En revanche, ils sont
extrmement dpendants de leur cible : si elle est supprime ou dplace, tous les
liens symboliques qui s'y rfrent deviennent invalides.
La rfrence sur le fichier ou le rpertoire cible contenue dans les liens symboliques
peut tre soit relative l'emplacement de leur cible, soit absolue dans le systme
de fichiers. Chacune de ces mthodes a ses avantages et ses inconvnients : les
liens symboliques qui contiennent des rfrences relatives ne sont pas briss lors
d'un dplacement de la cible, pourvu qu'ils soient dplacs galement et restent
la mme position relative par rapport celle-ci dans la hirarchie du systme de
fichiers. En revanche, ils sont briss s'ils sont dplacs et que la cible ne l'est pas.
Les liens symboliques utilisant des rfrences absolues sont systmatiquement
briss lorsque la cible est dplace, mais ils restent valides lorsqu'ils sont euxmmes dplacs. Comme en gnral c'est le comportement que l'on recherche, les
liens symboliques sont toujours crs avec des rfrences absolues, mais vous tes
libre de faire autrement si vous en ressentez le besoin. Sachez cependant que
dplacer une source de donnes n'est jamais une bonne ide. Le tableau suivant
rcapitule les avantages et les inconvnients des diffrents types de liens :

Tableau 2-2. Caractristiques des liens physiques et symboliques


Fonctionnalit

Liens
physiques

Liens symboliques
Rfrence
relative

Rfrence
absolue

Oui

Avec
cible

Oui

Suivent la cible

Oui

Si dplacs
avec elle

Non

Grent
suppression
la cible

Oui

Non

Non

Non

Oui

Oui

Peuvent
dplacs

tre

la
de

Peuvent
rfrencer des
cibles sur un
autre
systme
de fichiers

OFPPT @

la

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

12 - 24

Prsentation gnrale dun systme Gnu/Linux

Fonctionnalit

Peuvent
rfrencer
rpertoires

des

Liens
physiques

Non

Liens symboliques
Rfrence
relative

Rfrence
absolue

Oui

Oui

2.3. Autres fonctionnalits


Les systmes de fichiers de Linux fournissent galement des fonctionnalits qui
peuvent tre intressantes, mais que l'on utilise gnralement moins souvent.
La premire de ces fonctionnalits est les quotas. Ceux-ci permettent de dfinir la
proportion d'espace disque que chaque utilisateur peut consommer dans le
systme de fichiers. Ainsi, il est possible de restreindre les utilisateurs et d'viter
qu'un seul d'entre eux ne consomme l'ensemble des ressources disque. En
pratique, cette fonctionnalit n'est pas d'une grande utilit pour un particulier, qui
souvent est le seul utilisateur de sa machine.
Note : Sachez toutefois que les systmes de fichiers rservent gnralement une
petite partie (environ 5%) de l'espace disque pour l'administrateur du systme,
afin de s'assurer que celui-ci pourra toujours effectuer les oprations de
maintenance en cas de saturation du systme de fichiers. Cet espace libre est
galement utilis pour les mcanismes de dfragmentation automatique des
systmes de fichiers.
Les systmes de fichiers permettent galement d'enregistrer des informations
complmentaires sur les fichiers, afin par exemple de pouvoir les marquer pour un
traitement spcifique. Ces informations complmentaires sont stocks sous la
formes d'attributs , pouvant contenir virtuellement n'importe quel type
d'information. Certains systmes de fichiers utilisent cette fonctionnalit pour
implmenter les mcanismes de scurit bass sur les ACLs.
Enfin, les systmes de fichiers Unix sont galement capables de prendre en charge
ce que l'on appelle les fichiers trous ( sparse files en anglais). Ces fichiers
sont des fichiers contenant des donnes spares par de grands espaces vides. On
peut donc dire qu'ils sont presque vides . Pour ces fichiers, il est vident qu'il
est inutile de stocker les espaces vides sur le disque. Les systmes de fichiers
mmorisent donc tout simplement qu'ils contiennent des trous, et ils ne stockent
que les donnes relles et la position des trous avec leurs tailles. Cela constitue
une conomie de place non ngligeable. Les applications classiques des fichiers
presque vides sont les bases de donnes, qui utilisent souvent des fichiers
structurs contenant relativement peu de donnes effectives, et les images disque
pour installer des systmes d'exploitation dans des machines virtuelles.

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

13 - 24

Prsentation gnrale dun systme Gnu/Linux

3. Structure du systme de fichiers


Nous allons prsent nous intresser l'organisation du systme de fichiers de
Linux. Ce systme de fichiers contient un certain nombre de rpertoires et de
fichiers standards, qui ont chacun une fonction bien dfinie. Cette structure
standard permet de grer tous les systmes Linux de manire homogne : les
programmes savent o trouver ce dont ils ont besoin. Ils sont donc portables d'un
systme un autre, et les utilisateurs ne sont pas dpayss lorsqu'ils changent de
machine (en fait, cette structure est peu prs la mme pour tous les systmes
Unix, ce qui donne encore plus de poids l'argument prcdent).
Cette organisation standard du systme de fichiers a t conue de telle manire
que les donnes et les programmes sont placs chacun leur place, et qu'ils
puissent tre facilement intgrs dans un rseau. L'intgration dans un rseau
sous-entend que les fichiers des programmes peuvent tre partags par les
diffrentes machines de ce rseau, ce qui permet d'conomiser beaucoup de place.
De plus, il est possible d'accder la plupart des ressources du systme grce
une interface uniforme. En particulier, il est possible d'accder tous les
priphriques installs sur l'ordinateur par l'intermdiaire de fichiers spciaux, et
on peut rcuprer des informations sur le systme mises disposition par le noyau
simplement en lisant des fichiers gnrs par un pseudo systme de fichiers. Le
tableau suivant dcrit les principaux lments de l'arborescence du systme de
fichiers de Linux.

Tableau 3-1. Hirarchie standard du systme de fichiers


Rpertoire

Signification

/
Rpertoire racine. Point de dpart de toute la hirarchie
du systme de fichiers. Le systme de fichiers
contenant ce rpertoire est mont automatiquement
par le noyau pendant l'amorage du systme. Ce
systme de fichiers est appel systme de fichiers

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

14 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
racine ( root en anglais).

/boot/

/boot/vmlinuz

Rpertoire contenant le noyau de Linux et ses


informations de symboles. Ce rpertoire est parfois le
point de montage d'un systme de fichiers de trs
petite taille, ddi au noyau. Dans ce cas, il est
recommand que le systme de fichiers correspondant
soit mont en lecture seule. On notera que sur certains
systmes, le noyau reste plac dans le rpertoire
racine. Cette technique n'est pas recommande, car on
ne peut pas monter en lecture seule la partition racine
en utilisation normale du systme.
Noyau compress de Linux. Les noyaux compresss se
dcompressent automatiquement lors de l'amorage du
systme. Sur certains systmes, le noyau est encore
plac dans le rpertoire racine du systme de fichiers.

Fichier systme contenant la liste des symboles du


noyau. Ce fichier est utilis par certains programmes
donnant des renseignements sur le systme. En
particulier, il est utilis par le programme top
/boot/System.map
(programme qui indique la liste des principaux
processus actifs) afin de donner le nom de la fonction
du noyau dans lequel un processus se trouve bloqu
lorsqu'il est en attente de la fin d'une opration que le
noyau doit excuter pour lui.
/dev/
Rpertoire contenant tous les fichiers spciaux
permettant d'accder aux priphriques. Comme on l'a
vu, la plupart des priphriques sont accessibles au
travers de fichiers spciaux, grce auxquels l'envoi et la
rception des donnes vers les priphriques peuvent
tre raliss de manire uniforme. Il existe donc un tel
fichier pour chaque priphrique. Tous ces fichiers
spciaux sont tous placs dans le rpertoire /dev/. Il
arrive que les distributions installent dans ce rpertoire
les fichiers spciaux de la plupart des priphriques
existants sur le march, mme ceux qui ne sont pas
physiquement prsents dans la machine. Dans ce cas,
les
oprations
sur les
fichiers
spciaux
des
priphriques non installs seront tout simplement
refuses par le noyau. Toutefois, en gnral, le
rpertoire /dev/ est de plus en plus souvent un systme
de fichiers virtuel, gr directement par le noyau. Dans

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

15 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
ce cas, le rpertoire /dev/ ne contient que les fichiers
spciaux des priphriques pour lesquels le noyau
dispose
d'un
gestionnaire
intgr
ou
charg
dynamiquement. Quoi qu'il en soit, quelle que soit la
technique
utilise,
ce
rpertoire
doit
tre
imprativement plac dans le systme de fichiers
racine.

/sbin/

/bin/

/lib/

/lib64/

Rpertoire
contenant les commandes systmes
ncessaires

l'amorage
et
rserves

l'administrateur. Ce rpertoire doit tre imprativement


plac dans le systme de fichiers racine. En gnral,
seul l'administrateur utilise ces commandes.
Rpertoire
contenant les commandes systmes
gnrales ncessaires l'amorage. Ce rpertoire doit
tre imprativement plac dans le systme de fichiers
racine. Tous les utilisateurs peuvent utiliser les
commandes de ce rpertoire.
Rpertoire contenant les bibliothques partages
( DLL en anglais, pour Dynamic Link Library )
utilises par les commandes du systme des rpertoires
/bin/ et /sbin/. Ce rpertoire doit tre imprativement
plac dans le systme de fichiers racine.
Sur les systmes 64 bits bass sur une architecture
x86_64 (processeurs AMD Athlon64 ou ultrieurs, ou
processeurs Intel avec jeu d'instruction EMT64),
rpertoire quivalent au rpertoire /lib/ pour les
bibliothques 64 bits natives. Ces machines tant
capables d'excuter des programmes 32 bits en plus
des programmes natifs 64 bits, il est ncessaire de
fournir deux jeux de bibliothques pour les deux modes
de fonctionnement. Normalement, le rpertoire /lib/
devrait tre utilis pour les bibliothques natives, mais
il est d'usage de continuer y placer les bibliothques
32 bits pour des raisons de compatibilit ascendante,
les programmes 32 bits cherchant naturellement leurs
bibiliothques dans ce rpertoire.

/lib/modules/
Ce rpertoire contient les modules additionnels du
noyau. Les modules sont des composants logiciels du
noyau, mais qui ne sont pas chargs immdiatement
pendant la phase d'amorage du systme. Ils peuvent

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

16 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
en
revanche
tre
chargs
et
dchargs
dynamiquement,
lorsque
le
systme
est
en
fonctionnement. Il est fortement recommand que ce
rpertoire soit plac dans le systme de fichiers racine.

/etc/

/etc/X11/

/etc/rc.d/

/etc/opt/

/tmp/

Rpertoire contenant tous les fichiers de configuration


du systme. Ce rpertoire doit tre imprativement
plac dans le systme de fichiers racine.
Rpertoire contenant les fichiers de configuration de
l'environnement graphique XWindow. Dans certaines
distributions, ces fichiers sont placs directement dans
le rpertoire /etc/, mais ce n'est pas une technique
recommandable.
Rpertoire contenant les scripts de dmarrage du
systme. Ces scripts sont excuts lorsque le systme
dmarre ou s'arrte, ainsi que lorsqu'il change de mode
de fonctionnement. Il est galement possible de les
excuter pour dmarrer ou arrter un service
particulier. Dans certaines distributions, ces fichiers
sont placs dans le rpertoire /sbin/init.d/.
Rpertoire contenant les fichiers de configuration des
applications.
Rpertoire permettant de stocker des donnes
temporaires. En gnral, /tmp/ ne contient que des
donnes trs phmres. Il est prfrable d'utiliser le
rpertoire /var/tmp/. En effet, le rpertoire /tmp/ ne
dispose pas ncessairement de beaucoup de place
disponible.

/usr/

Rpertoire
contenant
les
fichiers
du
partageables en rseau et en lecture seule.

/usr/bin/

Rpertoire contenant la plupart des commandes des


utilisateurs.

/usr/sbin/

OFPPT @

systme

Rpertoire contenant les commandes systmes non


ncessaires l'amorage. Ces commandes ne sont
normalement
utilises
que
par
l'administrateur
systme.

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

17 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
Rpertoire contenant les bibliothques partages de
tous les programmes de /usr/bin/ et /usr/sbin/ et les
bibliothques
statiques
pour
la
cration
de
programmes.

/usr/lib/

Sur les systmes 64 bits bass sur une architecture


x86_64 (processeurs AMD Athlon64 ou ultrieurs, ou
processeurs Intel avec jeu d'instruction EMT64),
rpertoire quivalent au rpertoire /usr/lib/ pour les
bibliothques 64 bits natives. La raison pour laquelle les
bibliothques 64 bits natives de ces systmes n'est pas
place dans le rpertoire /usr/lib/ est la mme que pour
les bibliothques du rpertoire /lib64/.

/usr/lib64/

Rpertoire contenant les fichiers d'en-ttes du systme


pour le compilateur C/C++. Les fichiers de ce rpertoire
sont utiliss pour raliser des programmes dans les
langages de programmation C et C++.

/usr/include/

Rpertoire contenant X11R6 et ses applications. Ce


rpertoire contient des sous-rpertoires bin/, lib/ et
include/, o se trouvent les excutables de XWindow,
les bibliothques et les fichiers d'en-ttes pour crer
des programmes pour XWindow en C et C++.

/usr/X11R6/

Rpertoire contenant les fichiers sources du noyau et


des applications de la distribution. Normalement, ce
rpertoire ne doit contenir que le code source des
applications dpendantes de la distribution que vous
utilisez.

/usr/src/

/usr/src/linux/

Sources du noyau de Linux. Il est vivement


recommand de conserver les sources du noyau de
Linux sur son disque, afin de pouvoir changer la
configuration du systme tout moment.

/usr/local/
Rpertoire contenant les programmes d'extension du
systme indpendants de la distribution. Ce n'est
toutefois
pas
le
rpertoire
d'installation
des
applications, que l'on installera en gnral dans le
rpertoire /opt/. local ne signifie pas ici que les
programmes qui se trouvent dans ce rpertoire ne
peuvent pas tre partags sur le rseau, mais plutt
que ce sont des extensions du systme qu'on ne trouve
donc que localement sur un site donn. Ce sont donc

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

18 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
les extensions qui ne font pas partie de la distribution
de Linux utilise, et qui doivent tre conserves lors
des mises jour ultrieures de cette distribution. Ce
rpertoire contient les sous-rpertoires bin/, lib/,
include/ et src/, qui ont la mme signification que les
rpertoires du mme nom de /usr/, ceci prs qu'ils ne
concernent que les extensions locales du systme, donc
indpendantes de la distribution.

/var/

/var/tmp/

/var/opt/

/var/log/

/var/spool/

/var/locks/

/var/cache/

OFPPT @

Rpertoire contenant toutes les donnes variables du


systme. Ce rpertoire contient les donnes variables
qui ne pouvaient pas tre places dans le rpertoire
/usr/, puisque celui-ci est normalement accessible en
lecture seule.
Rpertoire contenant les fichiers temporaires. Il est
prfrable d'utiliser ce rpertoire plutt que le
rpertoire /tmp/.
Rpertoire contenant
applications.

les

donnes

variables

des

Rpertoire contenant les traces de tous les messages


systme. C'est dans ce rpertoire que l'on peut
consulter les messages d'erreurs du systme et des
applications.
Rpertoire contenant les donnes en attente de
traitement. Les travaux d'impression en cours, les mails
et les fax en attente d'mission, les travaux
programms en attente d'excution sont tous stocks
dans ce rpertoire.
Rpertoire contenant les verrous sur les ressources
systme. Certaines ressources ne peuvent tre utilises
que par une seule application (par exemple, un
modem). Les applications qui utilisent de telles
ressources le signalent en crant un fichier de verrou
dans ce rpertoire.
Rpertoire contenant les donnes de rsultats
intermdiaires des applications. Les applications qui
doivent stocker des rsultats intermdiaires doivent les
placer dans ce rpertoire.
Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

19 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

/opt/

/home/

/root/

/media/

Signification
Rpertoire contenant les applications. C'est dans ce
rpertoire que les applications qui ne font pas
rellement partie du systme doivent tre installes.
Les applications graphiques devraient tre installes
dans ce rpertoire. C'est en particulier le cas des
gestionnaires de bureau. Les seules applications
graphiques considres comme faisant partie du
systme sont les applications de X11, qui sont donc
stockes dans /usr/X11R6/. Il est recommand que ce
rpertoire soit plac sur un systme de fichiers en
lecture seule, et que les applications utilisent le
rpertoire /var/opt/ pour travailler.
Rpertoire contenant les rpertoires personnels des
utilisateurs. Il est bon de placer ce rpertoire dans un
systme de fichiers indpendant de ceux utiliss par le
systme. Cela permet de faire des sauvegardes plus
facilement, et de faire les mises jour du systme de
manire sre, sans craindre de perdre les donnes des
utilisateurs.
Rpertoire contenant le rpertoire personnel de
l'administrateur. Il est donc recommand que le
rpertoire personnel de l'administrateur soit plac en
dehors de /home/ pour viter qu'un problme sur le
systme de fichiers des utilisateurs ne l'empche de
travailler. Toutefois, il est important que l'administrateur
puisse travailler mme si les rpertoires /root/ et
/home/root/ ne sont pas prsents. Dans ce cas, son
rpertoire personnel sera le rpertoire racine.
Rpertoire rserv au montage des systmes de fichiers
sur priphriques amovibles (CD-ROM, disquettes,
etc.). Ce rpertoire peut contenir plusieurs sousrpertoires pour chaque priphrique amovible, afin de
permettre d'en monter plusieurs simultanment. Notez
qu'il est assez courant de disposer de liens symboliques
dans la racine rfrenant les principaux systmes de
fichiers, afin d'en simplifier l'accs. Par exemple, il est
courant d'avoir un rpertoire /floppy/ rfrenant le
lecteur de disquette et un rpertoire /cdrom/
rfrenant le lecteur de CD-ROM.

/mnt/
Rpertoire rserv l'administrateur pour le montage
temporaire des systmes de fichiers lors de leur

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

20 - 24

Prsentation gnrale dun systme Gnu/Linux

Rpertoire

Signification
maintenance (disques d'installation, disques durs
externes qui ne doivent pas tre manipulales par les
utilisateurs, etc.). Ce rpertoire peut contenir plusieurs
sous-rpertoires pour chaque priphrique hbergeant
les systmes de fichiers en question, afin de permettre
d'en monter plusieurs simultanment. Notez que ce
rpertoire contenait historiquement les mmes entres
que le rpertoire /media/, qui a t introduit
rcemment afin de sparer les oprations de montage
ralises dans un but purement administratif des
oprations de montage ralises dans un contexte
d'utilisation normale des systmes de fichiers sur
priphriques amovibles.

/lost+found/

/proc/

/sys/

Rpertoire contenant les donnes rcupres lors de la


rparation d'un systme de fichiers endommag. Ces
donnes sont crites par les utilitaires de vrification et
de rparation des systmes de fichiers lorsqu'ils
trouvent des informations qui ne peuvent tre
rattaches aucun fichier existant, ainsi, il est possible
de rcuprer ces informations si elles ne sont pas dans
un tat de dtrioration trop avanc.
Rpertoire contenant le pseudo systme de fichiers du
noyau. Ce pseudo systme de fichiers contient des
fichiers permettant d'accder aux informations sur le
matriel, la configuration du noyau et sur les processus
en cours d'excution.
Rpertoire contenant le pseudo systme de fichiers des
gestionnaires de priphriques. Ce pseudo systme de
fichiers contient des fichiers permettant d'obtenir des
informations sur l'ensemble des objets du noyau, en en
particulier sur l'ensemble des priphriques de
l'ordinateur. Ce systme de fichiers est appel
recevoir une bonne partie des informations exposes
par le systme de fichiers /proc/, dont le rle se
restreindra sans doute fournir des informations plus
gnrales sur le systme.

Note : Les informations donnes ici peuvent ne pas tre correctes pour votre
distribution. En effet, certaines distributions utilisent une structure lgrement
diffrente. Les informations donnes ici sont conformes la norme de hirarchie de
systmes de fichiers version 2.3 ( FHS en anglais). Vous pouvez consulter ce
document pour une description exhaustive du systme de fichiers de Linux.

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

21 - 24

Prsentation gnrale dun systme Gnu/Linux

Vous avez pu constater que les rpertoires bin/, lib/, include/ et src/ apparaissent
rgulirement dans la hirarchie du systme de fichiers. Cela est normal : les
rpertoires sont classs par catgorie d'applications et par importance. Les
rpertoires bin/ contiennent en gnral les programmes, et les rpertoires lib/ les
bibliothques partages par ces binaires. Cependant, les rpertoires lib/ peuvent
aussi contenir des bibliothques statiques, qui sont utilises lors de la cration de
programmes. En gnral, tous les systmes Unix fournissent en standard un
compilateur pour gnrer ces programmes. Dans le cas de Linux, ce compilateur
est gcc (pour GNU C Compiler ). La cration d'un programme ncessite que
l'on dispose des fichiers sources, qui contiennent le programme crit dans un
langage de programmation, des fichiers d'en-ttes, qui contiennent les dclarations
de toutes les fonctions utilisables, et des fichiers de bibliothques statiques,
contenant ces fonctions. Ces diffrents fichiers sont stocks respectivement dans
les rpertoires src/, include/ et lib/.

OFPPT @

Document

Millsime

Page

Prsentation gnrale dun


systme314071319.doc

mars 16

22 - 24

Vous aimerez peut-être aussi