2. Quelques explications
L'image ci-dessus devrait vous donner un aperçu tr?s simplifié de l'arborescence d'un syst?me Gnu
Linux. Cette arborescence respecte, ? quelques répertoires pr?s, le FHS (Filesystem Hierarchy
Standard) mis en place dans le but d'homogénéiser la structure des syst?mes de fichiers Unix. Ce
document qui détaille le nom et le contenu des répertoires, est disponible ? l'adresse
www.pathname.com.
/ :
C'est ce fameux slash que l'on appelle "racine" (root en Anglais). Pensez aux racines d'un arbre.
Toute la suite est donc liée ? cette racine. Le contenu de la racine doit ?tre adéquat pour
démarrer, restaurer et réparer le syst?me. La racine est automatiquement montée au démarrage du
syst?me, les autres points de montage (si il y'a, /usr, /var par exemple) sont montés ensuite.
L'ensemble des syst?mes de fichiers liés ? la racine peuvent résider de mani?re totalement
transparente sur différents média ; en vrac : une partition séparée, un périphérique amovible, un
syst?me de fichiers sur le réseau etc. On utilise généralement cette méthode pour les répertoires
/usr et /home car on aime bien avoir ces données sur une partition séparée (c'est valable pour moi
en tous les cas). Ces syst?mes de fichiers séparés peuvent ?tre montés automatiquement au démarrage
du syst?me ou bien ? la demande en cours d'utilisation.
/bin :
/bin contient les commandes qui doivent pouvoir ?tre utilisées par l'administrateur syst?me (root)
et par les utilisateurs, mais qui sont requises lorsque qu'aucun autre syst?me de fichier n'est
monté (en mode mono utilisateur par exemple). Ce répertoire devrait aussi contenir des commandes
qui sont utilisées indirectement par des scripts.
/boot :
Vous trouverez dans ce répertoire (ou cette partition séparée dans mon cas) tous les fichiers
necessaires au démarrage du syst?me comme le noyau Linux pour ne citer que lui ; ces fichiers
devraient ?tre en lecture seule pour éviter de les endommager en cas d'incident.
/dev :
Le répertoire /dev contient l'ensemble des fichiers spéciaux et périphériques. C'est ici, entre
autres, que sont représentés les périphériques de votre ordinateur. On trouvera par exemple votre
disque dur ainsi que ses partitions : /dev/hda, /dev/hda1, /dev/hdan..., votre cdrom : /dev/cdrom,
votre lecteur disquette : /dev/fd0. Attention, ces fichiers ne sont que des vecteurs de
communication entre vos périphériques et le syst?me. Ce n'est pas ici que vous pourrez en voir le
contenu, il faut pour ça les "monter" dans un répertoire, /mnt est fait pour ça.
/etc :
La hiérarchie /etc contient des fichiers de configuration pour le syst?me. Un fichier de
configuration est une fichier local utilisé pour contrôler les opérations d'un programme. Il doit
?tre statique et ne peut ?tre un binaire exécutable. Vous trouverez dans /etc de nombreux sous
répertoires contenant eux m?me des fichiers de configuration, prenons pour exemple les sous
répertoires init.d et X11 contenant respectivement les fichiers de configuration des services et
les fichiers de configuration du serveur graphique X Window. C'est aussi dans /etc que vous
trouverez le fameux fichier fstab qui vous permet d'allouer de mani?re dynamique des ressources
stoquées sur des supports amovibles, le fichier hosts qui se charge de traduire les addresses ip en
nom d'hôtes etc.
/home :
On aime bien séparer ce répertoire sur une autre partition que la racine, c'est toujours prudent de
séparer les données personelles du syst?me (surtout en cas de pépin). C'est dans /home que vous
trouverez votre répertoire personnel (/home/lucky pour l'utilisateur lucky par exemple). Séparer ce
répertoire présente plusieurs avantages, vous retrouvez de mani?re totalement transparente
l'ensemble de vos données personelles (pour peu qu'elles soient dans votre répertoire personel !)
si il y'a eu restauration du syst?me, votre configuration est sauvegardée car en effet, les
fichiers de configuration des programmes que vous utilisez sont dans votre répertoire personnel
(cachés car leurs noms commencent par un point). Ces fichiers de configuration ont priorité sur
ceux du syst?me (/etc).
/lib :
Le répertoire /lib contient les librairies partagées requisent pour démarrer le syst?me et exécuter
des commandes dans le syst?me de fichiers racine, les binaires se trouvant dans /bin ou /sbin par
exemple. On trouve également le répertoire modules dans /lib qui contient les modules du noyau.
/mnt :
Comme signalé un peu plus tôt, c'est ici que vous monterez vos périphériques amovibles. Cela peut
tr?s bien aller du cdrom, disquette ? un ssyst?me de fichiers sur un réseau en passant par une
partition d'un disque dur. Chaque point de montage (mnt -> mount) doit avoir un répertoire dédié
(/mnt/cdrom par exemple). Notez que Debian ne monte pas le lecteur de cdrom dans /mnt mais
directement sur la racine : /cdrom. /mnt peut avoir un nom différent selon les distributions, on
notera /media sur Mandriva par exemple.
/proc :
Le répertoire proc contient le "pseudo syst?me de fichiers du noyau". C'est ici que vous trouverez
des fichiers permettant d'acceder ? la configuration du noyau, les processus en cours d'exécution.
Vous trouverez alors un répertoire par processus actif sur le syst?me portant lenom du numéro du
processus (PID). Chacun de ces répertoire contient les fichiers cmdline (contient la ligne de
commande qui a créé le processus), status (contient des informations sur l'état du processus : en
attente, en exécution, propriétaire, exe qui est un lien vers le fichier exécutable utilisé par le
processus. C'est aussi dans le répertoire /proc que vous trouverez des fichiers contenant des
informations matérielles comme le fichier cpuinfo, meminfo etc.
/var :
Contient l'ensemble des données variables. C'est donc ici que l'on trouvera les fichiers contenant
les "PID" des processus du syst?me en cours (/var/run), le cache applicatif (/var/cache), les
boîtes mail (/var/mail), les logs syst?me (/var/log) etc. Sur un serveur, ce répertoire est séparé
sur une autre partition de taille assez consequente (essentielle pour la quantité de log non
négligeable).
/usr :
Le répertoire /usr contient de nombreux sous-répertoires et on y retrouve presque la m?me
organisation que pour la racine, mais le contenu est destiné aux utilisateurs plus qu'au syst?me
lui-m?me. C'est en général ici que l'ensemble des fichiers formant ce qu'on appelle un programme se
trouve. Ses librairies (/usr/lib), ses fichiers de configuration (/usr/etc), ses binaires
exécutables (/usr/bin) etc. Les sources du noyau (si il y'a) se trouvent dans /usr/src. Vous
trouverez également la quasi totalité de la documentation des programmes dans /usr/doc ou bien
/usr/share (répertoire des documentations partagées).
/opt :
/opt contient les applications complémentaires qui n'appartiennent pas ? la distribution installée.
On y trouvera généralement des jeux.
/tmp :
Vous l'aurez sans doute compris, ce répertoire permet de stoquer des données temporaires. Il
dispose généralement de droits d'acc?s particuliers permettant ? chaque utilisateur d'y créer des
fichiers sans pouvoir consulter les fichiers des autres utilisateurs. Je préf?re utiliser le
/dev/shm (Virtual memory file system) pour gérer mes fichiers temporaires.
Cette page est loin d'?tre exhaustive mais elle présente de mani?re rapide les principaux
répertoires que vous auriez pu apercevoir en farfouillant le syst?me. N'oubliez pas de jeter un
coup d'oeil au FHS pour des explications poussées :
www.pathname.com.