Architecture du système de fichier sous Linux : petit récapitulatif

Depuis que j’utilise Linux, il y a toujours un vide sidéral dans mes connaissances sur ce système d’exploitation. Autant je suis de plus en plus utilisateur de la ligne de commande (douloureux au début, mais jouissif par la suite 😀 ), autant je ne comprend toujours pas parfaitement comment est organisée l’architecture du système de fichiers sous Linux.

Même si plusieurs explications sont disponibles sur le web, je vais me faire un petit récapitulatif personnel ci-dessous :

  • / : Le répertoire racine du système de fichiers. Tout le système, tous les fichiers sont situés en dessous (hiérarchiquement) de cette racine.
  • /bin : Ce répertoire contient un certain nombre de commandes essentielles pour tous les utilisateurs n’ayant pas forcément les droits de super-utilisateur (les commandes cat, chmod, etc), mais également les shells (comme bash par exemple).
  • /boot : Ce dossier contient tout le nécessaire pour le processus de démarrage. Sans ce répertoire, l’ordinateur ne peut pas démarrer.
  • /dev : Ce dossier contient tous les périphériques branchés sur l’ordinateur : dans périphérique, on entends les lecteurs, les dispositifs branchés en USB, les disques durs, bref : tout ce qui est « branché » à la carte mère. Les disques durs vont être nommé par hda, hdb, hdc. Les périphériques USB externes par  sda, sdb, sdc. le répertoire /dev contient également énormément de fichiers qui peuvent être associés à ces périphériques.
  • /etc : Ce dossier est le lieu où sont rangés à peu près tous les fichiers de configurations, tels que ceux de X, d’Apache, de Samba, du système d’initialisation. Le répertoire contient également les fichiers de sources de dépôts pour les logiciels de gestions de paquets comme APT ou YUM. Enfin, le sous-répertoire /etc/init.d (ou sur Red Hat, le dossier /etc/rc.d/init.d) contient tous les scripts d’initialisation pour des services tels que la mise en réseau, samba, apache, cron, hal, etc.
  • /home : Le plus simple. C’est en gros là que toutes les données relatives à chaque utilisateur se trouvent (par exemple ses fichiers personnels, mais également les fichiers de configuration des logiciels qu’il utilise). Bien sûr, chaque utilisateur est « rangé » dans un répertoire à son login.
  • /lib : Ce dossier abrite tous les modules du noyau nécessaires pour le démarrage du système de bibliothèques nécéssaires aux commandes se trouvant dans /bin et /sbin.
  • /lost+found : Ce répertoire va permettre à votre système de stocker des informations de récupération, ainsi, si votre système se bloque ou est arrêté de manière incorrecte, aucune perte de données ne sera constatée. Au cours d’une récupération qui aura lieu au démarrage suivant, l’application fsck tentera d’y récupérer les fichiers corrompus qu’elle y trouvera.
  • /media et /mnt : Ces dossiers servent de répertoire pour entreposer les périphériques externes sont montés.
  • /opt : Il s’agit là d’un répertoire qui peut être utilisé pour installer des applications qui ne sont pas installées par défaut (de la distribution).
  • /proc et /root : Heu… je n’ai toujours pas très bien compris à quoi ils servaient, ces deux là.
  • /sbin :  C’est dans ce répertoire que toutes les opérations de maintenance et les fichiers exécutables sont stockés.
  • /usr : C’est l’un des plus grands répertoires de votre système car il contient tous les exécutables ainsi que les bibliothèques, les documentations et les fichiers d’en-tête de ces exécutables, liés aux utilisateurs.

Les deux répertoires ci dessus sont différents, dans la mesure où /sbin est orienté commandes système et administration critique du système alors que /usr contient les tâches non-critiques telles que la gestion des utilisateurs, administration de réseaux, etc

  • /var : Ce répertoire contient toutes les données variables telles que les fichiers de log.
  • /tmp : Ce répertoire contient les fichiers temporaires qui sont stockés en cas que de besoin. Beaucoup de fichiers qui s’y trouvent sont verrouillés car créés par des applications qui en ont besoin. Heureusement, le système se débrouille tout seul pour supprimer  tous les fichiers dont il n’a plus la nécessité.

Alors bon, je ne doute pas que cette liste est imparfaite (si vous souhaitez la modifiez, ou y apporter des précisions, sachez qu’elles sont les bienvenues), mais je renvoie ceux que le sujet intéresse à l’article correspondant de Framasoft.

Une réflexion sur « Architecture du système de fichier sous Linux : petit récapitulatif »

  1. /root = /home pour l’utilisateur « root » 🙂
    /proc = /dev pour les processus lancé en gros
    Genre tu lances un « daemon » (un soft qui reste résident en mémoire comme MySQL) ben normalement tu le voit dans le répertoire « proc » et ça permet heu plein de trucs que je ne connais pas mais bon genre manipulation car à ce moment là, ce sont des « fichiers »
    Oui, c’est compliqué 🙂

    RépondreRépondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.