FHS

FHS : File System Hierarchy Standard

FHS définit l'arborescence et le contenu des principaux répertoires des systèmes de fichiers des systèmes d'exploitation GNU/Linux et de la plupart des systèmes Unix. La version actuel est la 3.0 et à été publié le 3 Juin 2015.

Le but de FHS est d'apporté une grande simplicité et une cohérence dans l'organisation des fichiers et répertoires sur le système.

Avant FHS

  • Nombreuse variante
    • Incohérence
    • Absence de standard
    • 1994 : Sorti de FSSTND
      • Tout les programme doivent être dasn /bin ou /usr/bin
        • Scripting
      • Pas d'exécutable dans /etc
      • Pas de fichier modifiable dans /usr
        • montage ro (read only)

Naissance du FHS

Le FHS est publié en 1996 par le Free Standard Group. La vesion actuelle est 3.0 sortie en Juin 2015. FHS est basé sur FSSTND et n'est pas uniquement que pour Linux. Il existe plusieurs grande catégorie de fichier dans FHS.

Partagabilité

Sharable :

Les fichier sharable sont l'ensemble des fichier pouvant être partagé entre ordinateur c-a-d qui ne contienne aucune spécificité lié au système dont il "dépende"

Unsharable :

Ensemble des fichiers spécifique au système et donc que le'on ne peut pas partager entre ordinateur.

Statique ou variable

Statique :

correspond aux fichiers modifiable unique par intervention de l'admin.

Variable :

Correspond au fichiers modifiable par les utilisateurs ( scripts, config serveur, etc...)

Classification des fichiers dans FHS :

Les programmes :

Répertoire Description Classification
/bin Où se trouve l'ensemble des exécuttable de tous les utilisateurs Statique et Shareable
/sbin Ensemble des commande correspondant au compte root Static et Shareable
/lib Contient les différentes librairie des programmes Statique et Shareable
/usr/ ontient tous les fichiers non necessaire au fonctionnement minimal du système. Contient une arborescence similaire à "/" Peut être monter en read-only Static et Shareable
/boot Contient tous les fichiers liés à un démarrage initial Statique et Unshareable
/usr/local Contient tous les binaires correspondant à une installation local (compilé manuellement). Permet d'avoir un espace protéger des mise à jours automatique Statique et Shareable
/opt Similaire à /usr/local et est destiné à des programme qui ne sont pas indispensable au système et installer par des paquets près à l'emploi et non livré avec le système d'exploitation Statique et Shareable
/etc Contient l'ensemble des fichiers de configuration Statique et Unshareable
/srv Censé contenir tout les contenu hébergés (site web etc...) Variable Shareable

Donées utilisateurs :

Répertoire Description Classification
/home Contient toutes les données correspondantes à des utilisateurs spécifique Variable et Shareable
/root Contient les données correspondant à l'utilisateur root

Variable :

Répertoire Description Classification
/var Contient uniquement des données de type variable (log, www etc...)
/tmp Répertoire dédier au fichiers temporaire du système

Montage :

Répertoire Description Classification
/mnt Permet de monté les système de fichiers temporaire
/media Permet de monter les médias amovible

FS virtuel :

Répertoire Description Classification
/dev Fichiers correspondant à des devices
/proc Système de fichiers virtuel documentant l'état du noyau et des processus

Créer un "faux" disk dur

dd if=/dev/zero of=/dev/loop0 bs=1024 count=1024
  • losetup -a
  • losetup -f

    • /dev/loop0

      losetup /dev/loop0 /home/debian/loop0
      losetup -a
      fdisk /dev/loop0