Next: Le système de fichiers
Up: Parcours de l'arborescence des
Previous: Parcours de l'arborescence des
  Table des matières
  Index
Ce chapitre part du système de fichiers standard Linux, FSSTND, version 1.2
(voir la bibliographie, [Qui95]), qui tente d'établir un standard
décrivant comment une arborescence de répertoires doit être organisée dans
un système Linux. Un tel standard a l'avantage de faciliter l'écriture ou le
portage de programmes pour Linux et l'administration des machines Linux
puisque, à tout composant, correspondra un emplacement précis sur toutes les
machines. Il n'y a aucune autorité derrière le standard pour obliger
quiconque à s'y conformer, mais il a reçu l'approbation de beaucoup, pour ne
pas dire de toutes, des distributions Linux. Ce ne serait pas une bonne idée
de rompre avec le standard FSSTND sans de bonnes raisons. Le FSSTND tente de
suivre la tradition UNIX et les courants actuels, rendant ainsi les systèmes
Linux familiers à ceux qui ont quelque expérience des autres systèmes Unix,
et réciproquement.
Ce chapitre n'est pas aussi détaillé que le FSSTND. Un administrateur
système devrait aussi lire le FSSTND pour une complète compréhension.
Nous n'exposerons pas ici toutes les fonctions de chaque
fichier. L'intention n'est pas de tout décrire, mais de parcourir
l'arborescence du point de vue du système de fichiers. Des informations
supplémentaires sont disponibles ailleurs dans ce document ou dans le manuel
en ligne.
L'arborescence complète des répertoires est destinée à être découpée en
parties, chacune sur son propre disque ou sa propre partition afin de
s'accommoder des limitations de tailles des disques et faciliter les
sauvegardes et autres travaux d'administration système. Les parties
principales sont les systèmes de fichiers racine, /usr, /var, et
/home (voir figure 2.1). Chacun a sa propre raison
d'être. L'arborescence a été conçue pour bien fonctionner dans un réseau de
machines Linux qui peuvent partager des parties de systèmes de fichiers sur
un dispositif en lecture seule (par exemple, un CD-ROM), ou sur le réseau
avec NFS.
Figure:
Parties d'une arborescence de répertoires Unix.
Les lignes en pointillé indiquent les limites des
partitions.
|
|
Les rôles des différentes parties de l'arborescence sont décrites
ci-dessous.
- Le système de fichiers racine est
spécifique à chaque machine (il est généralement sur un disque physique
local bien que cela puisse aussi bien être un disque virtuel ou réseau) et
contient les fichiers nécessaires pour démarrer le système, et pour l'amener
dans un état tel que les autres systèmes de fichiers puissent être
montés. Le contenu du système de fichiers racine sera donc suffisant pour un
fonctionnement en mode simple utilisateur. Il contiendra aussi les outils
pour réparer un système et pour récupérer, à partir de sauvegardes, les
fichiers perdus.
- Le système de fichiers /usr contient toutes les commandes,
bibliothèques, pages du manuel en ligne, et les autres fichiers invariants
utilisés en fonctionnement normal. Il ne devrait pas y avoir de fichiers
spécifiques à une machine donnée dans /usr et ils ne devraient pas non
plus être modifiés en utilisation normale. Ceci permet aux fichiers d'être
partagés sur le réseau, ce qui peut s'avérer intéressant en termes de coûts
puisque cela économise l'espace disque (il peut y avoir des centaines de
méga-octets dans /usr), et rend l'administration plus facile (seul le
/usr maître a besoin d'être changé lors de la mise à jour d'une
application, et non pas chaque machine). Même si le système de fichiers est
sur un disque local, il peut être monté en lecture seulement, afin de
diminuer le risque de dommages lors d'un crash du système.
- Le système de fichiers /var contient les fichiers
fréquemment modifiés, comme les répertoires de spool (pour le courrier, les
news, les imprimantes, etc.), les fichiers de trace, les pages formatées du
manuel, et les fichiers temporaires. Autrefois, tout ce qui est dans
/var était sous /usr, mais cela interdisait de monter /usr en
lecture seulement.
- Le système de fichiers /home contient les répertoires personnels
des utilisateurs, i.e. toutes les données réelles du système. Séparer les
répertoires personnels dans une arborescence ou un système de fichiers
particulier facilite les sauvegardes ; souvent, les autres parties n'ont
pas besoin d'être sauvegardées, en tous cas pas aussi souvent (elles
changent peu). Un gros /home peut devoir être découpé en plusieurs
systèmes de fichiers, ce qui nécessite un niveau de noms supplémentaire
sous /home, par exemple /home/etudiants et /home/equipe.
Bien que, ci dessus, les différentes parties aient été appelées systèmes de
fichiers, il n'est pas obligatoire qu'elles soient en réalité sur des
systèmes de fichiers séparés. Elles peuvent aisément cohabiter dans un seul
système de fichiers si le système est petit, en mode simple utilisateur et
que l'on veut simplifier les choses. L'arborescence peut aussi être divisée
en systèmes de fichiers de façons différentes, selon la taille des disques,
et des espaces alloués pour les différents besoins. Ce qui est important,
surtout, c'est que tous les noms standards fonctionnent ; même si
/var et /usr sont en réalité sur la même partition, les noms
/usr/lib/libc.a et /var/adm/messages doivent correspondre à des
fichiers, par exemple en déplaçant le contenu de /var dans
/usr/var, et en faisant un lien symbolique /var vers
/usr/var.
La structure du système de fichiers Unix groupe les fichiers selon les
objectifs qu'ils desservent, ainsi, toutes les commandes sont sous le même
répertoire, tous les fichiers de données sous un autre, la documentation
dans un troisième, etc. Une autre possibilité serait de regrouper les
fichiers en fonction du programme auquel ils appartiennent, i.e., tous les
fichiers Emacs se trouveraient dans un même répertoire, tous les fichiers
TEX dans un autre, etc. Le problème avec cette dernière approche est
qu'elle rend difficile le partage des fichiers (le répertoire du programme
contient à la fois des fichiers statiques et partageables et des fichiers
dynamiques et non-partageables). De plus, cette approche rend difficile la
localisation des fichiers (par exemple, les pages du manuel sont alors dans
un grand nombre d'endroits, ce qui transforme la recherche de ces pages par
les programmes d'affichage du manuel en véritable cauchemar).
Next: Le système de fichiers
Up: Parcours de l'arborescence des
Previous: Parcours de l'arborescence des
  Table des matières
  Index
root
1999-03-03