Filesystem Hierarchy Standard

Un article de Wikipédia, l'encyclopédie libre.

Filesystem Hierarchy Standard (« norme de la hiérarchie des systèmes de fichiers », abrégé en FHS) définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation Linux et de la plupart des systèmes Unix.

[modifier] Présentation générale

La standardisation d'une hiérarchie de système de fichiers a commencé en août 1993. Le FSSTND (Filesystem Standard) est un standard sur la hiérarchie de système de fichiers spécifique à Linux; la première version date du 14 février 1994. Les versions suivantes datent du 9 octobre 1994 et 28 mars 1995.

En 1996, la définition de ce standard a été généralisée aux différents Unix et à leurs dérivés (voir (en) Unix-like), en accord avec les membres de la communauté de développeurs BSD (Berkeley). Ce standard a été renommé en Filesystem Hierarchy Standard.

Le FSH est maintenu par le Free Standards Group (voir (en) Free Standards Group) dont les membres sont Hewlett-Packard, Red Hat, IBM, Dell...etc). La vaste majorité des distributions linux ne respectent pas à la lettre le standard, même celle développée par des membres du Free Standards Group (exemple : répertoire /srv/). De plus, d'autres versions d'Unix ont une approche complètement différente :

  • GoboLinux.
  • Mac OS X utilise des noms plus explicites, tels que /Library/, /Applications/, et /Users/

[modifier] Arborescence des répertoires

Répertoire Description Exemple d'implémentation de la norme
/bin/ Commandes de base pour tous les utilisateurs (par exemple : cat, ls, cp)
/boot/ Chargeur d'amorçage exemple de fichiers
  • initrd (image mémoire du ramdisk utilisé par le processus init)
  • noyaux,
  • Exemple d'implémentation : Si grub est le chargeur d'amorçage, il y aura le fichier de configuration correspondant menu.lst (ou grub.conf)
/dev/ Fichiers correspondant (directement ou non) avec un périphérique Exemple d'implémentation
  • Les fichiers de périphériques :
    • Périphériques physiques
      • IDE (Exemple pour linux : /dev/hda1, /dev/hda2, /dev/hdb2)
      • SCSI ; sous linux, cela inclut l'USB et le S-ATA ; exemple : /dev/sda1, /dev/sda2, /dev/sdb2
      • Les terminaux :
        • /dev/tty, tty0 à tty59
        • /dev/console Console initiale
      • Carte réseau (sous linux, cela correspond aux interfaces réseau eth0, eth1...etc.
      • Cartes son
      • Périphérique à bande
      • Périphérique série : par exemple modem
      • Disquette 3 pouces et demi : sous linux, /dev/fd0
  • Liens symboliques
    • Cas typique sous linux : /dev/cdrom est un lien symbolique vers le fichier de périphérique correspondant (par exemple : /dev/hdb1)
/etc/ Les fichiers de configuration
/etc/opt/
Fichiers de configuration pour les applications installées dans /opt
/etc/X11/
Ce répertoire contient les fichiers de configuration pour X11.

NB : Le client et le serveur X11 peuvent être sur deux ordinateurs différents. Le serveur peut ne pas avoir de carte graphique.

  • Pour les ordinateurs utilisant XFree86, le principal fichier de configuration est XF86Config-4 ou XF86Config selon la distribution
  • Pour les ordinateurs utilisant Xorg, le principal fichier de configuration est xorg.conf
/etc/sgml/
Fichier de configuration pour SGML. Sans objet le plus souvent
/etc/xml/
Fichier de configuration pour XML.
/home/ Répertoires des utilisateurs (exemple : /home/dupont)
/lib/ Bibliothèques logicielles nécessaires pour les exécutables de /bin/ et /sbin/
/mnt/ Point de montage pour les fs (systèmes de fichiers) temporaires
/media/ Point de montage pour les media amovibles, tels que CD-ROM (apparu dans FHS-2.3) Parmi les media amovibles, il y a aussi les clés USB
/opt/ Logiciels optionnels Logiciels non inclus dans la distribution
/proc/ Système de fichiers virtuel documentant le noyau et les différents processus
/root/ Répertoire de l'Utilisateur root
/sbin/ Exécutables pour les administrateurs
/tmp/ Fichiers temporaires (voir aussi /var/tmp)
/srv/ Données offertes par le système (offertes = served), comme du contenu http/ftp.
/usr/ Contient certains dossiers semblables à ceux présents à la racine mais qui ne sont pas nécessaires au fonctionnement minimal du système (usr comme unix system resources)
/usr/bin/
Binaires de l'utilisateur
/usr/include/
/usr/lib/
Bibliothèques partagées
/usr/sbin/
Binaires pour l'administrateur
/usr/share/
La documentation :
  • répertoire man pour les man (sous linux : document au format roff compressé)
  • répertoire doc : documentation au format HTML ou autre
/usr/src/
Les sources du noyau
/usr/X11R6/
X Window System, X11 version 6.
/usr/local/
Hiérarchie tertiaire pour les données locales, spécifiques à l'ordinateur
/var/ Fichiers variables, tels que
/var/lock/
Fichiers de verrouillage, permettant de connaître quelles ressources sont en cours d'utilisation
/var/log/
Les journaux : exemple sur linux : syslog, XFree86.0.log, kern.log, mysql, gdm/:0.log
/var/mail/
Boîte aux lettres utilisateurs
/var/run/
/var/spool/
/var/spool/mail/
/var/tmp/
Fichiers temporaires. Préféré à /tmp lorsqu'on est au niveau d'init multiutilisateur

[modifier] Références externes