This is an old revision of the document!


Norme de la hiérarchie des systèmes de fichiers

La norme la hiérarchie des systèmes de fichiers (FHS : Filesystem Hierarchy Standard) définit les principaux répertoires et leur contenu dans les systèmes d'exploitation GNU/Linux et autres systèmes informatiques de type Unix.

Vue d'ensemble

Le processus de développement d'une hiérarchie standard des systèmes de fichiers a commencé en août 1993 par un effort de restructuration de la structure des fichiers et des répertoires de GNU/Linux. Le standard de système de fichier (FSSTND : Filesystem Standard), une norme de hiérarchie de systèmes de fichiers spécifique au système d'exploitation GNU/Linux, a été publié le 14 février 1994. Les révisions ultérieures ont été publiées le 9 octobre 1994 et le 28 mars 1995.

Au début de 1996, l'objectif de développer une version plus complète de la FSSTND pour traiter non seulement GNU/Linux, mais aussi d'autres systèmes de type Unix, a été adopté avec l'aide des membres de la communauté de développement BSD. En conséquence, un effort concerté a été fait pour se concentrer sur les questions qui étaient générales aux systèmes de type Unix. En reconnaissance de cet élargissement du champ d'application, le nom de la norme a été changé en “Filesystem Hierarchy Standard” ou FHS en abrégé.

Le FHS est géré par le groupe de standards libres (FSG : Free Standards Group), une organisation à but non lucratif composée des principaux fournisseurs de logiciels et de matériel informatique, tels que HP, IBM et Dell. Cependant, la grande majorité des distributions GNU/Linux, y compris celles développées par les membres du FSG, ne suivent pas cette proposition de norme. En particulier, les chemins spécifiquement créés par les éditeurs du FHS, tels que /media/ et /srv/, ne voient pas d'usage répandu. Certains systèmes Unix et GNU/Linux rompent avec le FHS en faveur d'une approche différente, comme Gobo GNU/Linux.

Structure des répertoires

Tous les fichiers et répertoires apparaissent sous le répertoire racine “/”, même s'ils sont stockés sur des périphériques physiques différents.

Une description de la hiérarchie spécifiée dans le FHS :

/bin –> Binaires de commande utilisateur essentiels. /boot –> Fichiers statiques du chargeur d’amorçage /dev –> Fichiers de périphérique /etc –> Configuration du système spécifique à l'hôte /etc/local –> Configuration du système spécifique à l'hôte pour les binaires locaux /etc/opt –> Configuration du système spécifique à l'hôte pour les paquets de programmes complémentaires /home –> Répertoires des utilisateurs /lib –> Bibliothèques partagées essentielles /lib/modules –> Modules de noyau chargeables (paquet de noyau monolithique uniquement) /lib32 –> Bibliothèques partagées essentielles pour les binaires 32 bits (paquets multilib uniquement) /media –> Point de montage pour les supports amovibles /mnt –> Point de montage pour un système de fichiers monté temporairement / Point de montage pour le montage d'un système de fichiers temporaire /opt → Paquets de logiciels complémentaires /proc –> Système de fichiers virtuel d'informations sur les noyaux et les processus (monté avec procfs) /root –> Répertoire personnel pour l'utilisateur root /run –> Données variables sur le temps d'exécution / Données pertinentes pour les processus en cours /sbin –> Binaires de commande des systèmes essentiels /srv –> Données relatives aux services fournis par ce système /sys –> Noyau et système de fichiers virtuels d'informations système (noyau Linux* uniquement ; monté avec sysfs) /tmp –> Fichiers temporaires (montés avec tmpfs) /usr –> Hiérarchie secondaire /usr/bin –> La plupart des binaires de commande utilisateur /usr/games –> Binaires de jeux et éducation /usr/include –> Répertoire des fichiers d'inclusion standard / fichiers d'en-tête inclus par les langages de programmation /usr/lib –> Bibliothèques partagées /usr/lib/games –> Bibliothèques partagées pour les binaires de jeux /usr/lib32 –> Bibliothèques partagées pour les binaires 32 bits (paquets Multilib uniquement) /usr/lib32/games –> Bibliothèques partagées pour les binaires de jeux 32 bits (paquets Multilib uniquement) /usr/libexec –> Binaires gérés par d'autres programmes /usr/local –> Hiérarchie locale (pour l'installation personnelle uniquement) /usr/local/bin –> Binaires d'utilisateurs locaux /usr/local/games –> Binaires de Jeux et d'éducations locaux /usr/local/include –> Répertoire local pour les fichiers d'inclusion standard / Fichiers d'en-tête locaux inclus par les langages de programmation /usr/local/lib –> Bibliothèques locales partagées /usr/local/lib/games –> Bibliothèques locales partagées pour les binaires de jeux /usr/local/lib32 –> Bibliothèques locales partagées pour les binaires 32 bits (paquets Multilib uniquement) /usr/local/lib32/games –> Bibliothèques locales partagées pour les binaires de jeux 32 bits (paquets Multilib uniquement) /usr/local/libexec –> Binaires locaux gérés par d'autres programmes /usr/local/sbin –> Binaires du système local /usr/local/share –> Données indépendantes de l'architecture locale /usr/local/share/doc –> Documentation diverse locale (dossiers de documentation uniquement) /usr/local/share/games –> Fichiers de données statiques locaux pour les binaires de jeux /usr/local/share/info –> Répertoire primaire local pour le système GNU Info (paquet texinfo uniquement) /usr/local/share/man –> Manuels locaux en ligne / Pages de manuels locaux /usr/local/share/misc –> Données locales diverses indépendantes de l'architecture /usr/local/src –> Code source local (paquets de code source uniquement) /usr/sbin –> Binaires de commande de systèmes non vitaux /usr/share –> Données indépendantes de l'architecture /usr/share/doc –> Documentation diverse (dossiers de documentation uniquement) /usr/share/games –> Fichiers de données statiques pour les binaires de jeux /usr/share/info –> Répertoire principal du système GNU Info (paquet texinfo uniquement) /usr/share/man –> Manuels en ligne / Pages de manuel /usr/share/misc –> Données diverses indépendantes de l'architecture /usr/src –> Code source (paquets de code source uniquement) /var –> Données variables /var/cache –> Application cache data7 /var/crash –> Plantage du noyau (noyaux Linux* non pris en charge) /var/games –> Données variables pour les jeux /var/lib –> Informations variables sur l'état /var/lib/misc –> Données diverses sur l'état /var/local –> Données variables pour les binaires locaux /var/lock –> Verrouiller les fichiers /var/log –> Fichiers journaux /var/mail –> Fichiers de la boîte mail des utilisateurs /var/opt –> Données variables pour les progiciels d'application complémentaires /var/spool –> Données de spool d'application /var/tmp –> Fichiers temporaires conservés entre les redémarrages du système

Remerciements

Cet article du wiki est basé sur le [b]Wiki Debian[/b]. Nous avons peut-être supprimé les bits non-FSDG de ce wiki.