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/: volatile runtime data that does not persist across reboots;
  • /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).
Note that many modern distributions, Debian included, are shipping /bin, /sbin and /lib as symlinks to the corresponding directories below /usr so that all programs and libraries are available in a single tree. It makes it easier to protect the integrity of the system files, and to share those system files among multiple containers, etc.

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.
Some programs also use multiple configuration files organized in one directory (for instance, ~/.ssh/). Some applications (such as Firefox) also use their directory to store a cache of downloaded data. This means that those directories can end up using a lot of disk space.
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.
Graphical desktops usually display the contents of the ~/Desktop/ directory (or whatever the appropriate translation is for systems not configured in English) on the desktop (i.e. what is visible on screen once all applications are closed or iconized).
Enfin, il arrive que le système de messagerie dépose les courriers électroniques entrants dans ~/Mail/.