Product SiteDocumentation Site

B.2. Organisation de l'arborescence des fichiers

B.2.1. La racine

L'arborescence d'un système Debian est organisée selon la norme FHS (Filesystem Hierarchy Standard). Elle codifie de manière précise l'usage de chaque répertoire. Étudions la subdivision principale :
  • /bin/ : programmes de base ;
  • /boot/ : noyau Linux et autres fichiers nécessaires à son démarrage ;
  • /dev/ : fichiers de périphériques ;
  • /etc/ : fichiers de configuration ;
  • /home/ : fichiers personnels des utilisateurs ;
  • /lib/ : bibliothèques de base ;
  • /media/* : points de montage pour des périphériques amovibles (CD-Rom, clé USB, etc.) ;
  • /mnt/ : point de montage temporaire ;
  • /opt/ : applications additionnelles fournies par des tierces parties ;
  • /root/ : fichiers personnels de l'administrateur (utilisateur root) ;
  • /run/: données d'exécution volatiles qui ne persistent pas entre les redémarrages (ceci n'est pas encore inclus dans la norme FHS);
  • /sbin/ : programmes système ;
  • /srv/ : données pour les services hébergés par ce système ;
  • /tmp/ : fichiers temporaires, ce répertoire étant souvent vidé au démarrage ;
  • /usr/ : applications supplémentaires ; ce répertoire se subdivise à nouveau en bin, sbin, lib selon la même logique. En outre, /usr/share/ contient des données indépendantes de l'architecture. /usr/local/ permet à l'administrateur d'installer manuellement certaines applications sans perturber le reste du système qui est géré par le système de paquetage (dpkg).
  • /var/ : données variables des démons. Ceci inclut les fichiers de traces, les files d'attente, les caches, etc.
  • /proc/ et /sys/ ne sont pas standardisés et sont spécifiques au noyau Linux. Ils servent à exporter des données du noyau vers l'espace utilisateur (voir Section B.3.4, « L'espace utilisateur » et Section B.5, « L'espace utilisateur » pour des explications sur le sujet).

B.2.2. Le répertoire personnel de l'utilisateur

Le contenu des répertoires utilisateurs n'est pas standardisé. Cependant, il y a tout de même quelques conventions à connaître. Avant tout, il faut savoir que l'on désigne fréquemment le répertoire personnel par un tilde (« ~ ») car les interpréteurs de commandes le remplaceront automatiquement par le bon répertoire /home/utilisateur/.
Traditionnellement, les fichiers de configuration des applications sont directement dans le répertoire de l'utilisateur, mais leurs noms débutent par un point (ex : ~/.muttrc pour le lecteur de courrier mutt). Signalons que les fichiers débutant par un point sont cachés par défaut : il faut passer l'option -a à ls pour les voir et les gestionnaires de fichiers graphiques ont chacun leur propre mécanisme d'activation de l'affichage des fichiers cachés.
Parfois, les logiciels emploient un répertoire complet (comme ~/.ssh/) lorsqu'ils ont plusieurs fichiers de configuration à stocker. Signalons au passage que certaines applications (les navigateurs web comme Iceweasel par exemple) utilisent ces répertoires comme cache pour des données téléchargées. C'est pourquoi certains de ces répertoires peuvent être assez volumineux.
Ces fichiers de configuration (en anglais, on parle de dotfiles) ont longtemps proliféré au point de surcharger le répertoire de l'utilisateur où ils sont directement stockés. Heureusement, un effort collectif, mené sous la bannière du projet FreeDesktop.org, a créé une nouvelle norme connue sous le nom de XDG Base Directory Specification pour standardiser l'organisation de ces fichiers et répertoires. Cette norme précise que les fichiers de configuration devraient être stockés sous ~/.config, les fichiers de cache sous ~/.cache et les données des applications sous ~/.local (ou des sous-répertoires de ceux-ci). Cette norme commence à être reconnue et plusieurs applications (notamment graphiques) ont commencé à la respecter.
Les bureaux graphiques affichent généralement le contenu du répertoire ~/Bureau/ (ou ~/Desktop/ pour un système configuré en anglais) sur le bureau (c'est l'écran qui reste une fois toutes les applications fermées ou minimisées).
Enfin, il arrive que le système de messagerie dépose les courriers électroniques entrants dans ~/Mail/.