Skip to main content

Welcome to a Grasp lesson

Create a free account to keep studying and create your own study path.

Lesson 12

Structure des Répertoires Linux (FHS)

Recommended resources

Bonjour !

Dans la leçon précédente, nous avons vu comment utiliser find et grep pour rechercher des fichiers et du texte. Nous avions terminé sur une question clé : pourquoi les fichiers de log se trouvent-ils dans /var/log et les fichiers de configuration dans /etc ? Existe-t-il une logique derrière cette organisation ?

La réponse est oui, et c'est l'objectif de notre leçon d'aujourd'hui. Nous allons découvrir le Filesystem Hierarchy Standard (FHS), ou la structure standard des répertoires Linux. Le FHS est un peu comme le plan d'urbanisme d'une ville : il définit où chaque type de fichier doit résider. Pour un futur administrateur système, connaître ce plan n'est pas une option, c'est une nécessité. Cela vous permettra de naviguer avec aisance, de diagnostiquer des problèmes rapidement et de comprendre le fonctionnement interne de n'importe quel système Linux, car cette structure est quasiment universelle.

1. L'arborescence du système de fichiers

Contrairement à Windows qui utilise des lettres pour chaque disque (C:, D:), Linux organise tout dans une seule structure arborescente qui part d'un point unique : la racine, symbolisée par un slash (/).

Un concept fondamental à intégrer est que sous Linux, tout est un fichier. Les documents texte, les programmes, les répertoires, et même vos périphériques matériels (disque dur, clavier, etc.) sont représentés comme des fichiers quelque part dans cette arborescence.

Pour vous donner une vue d'ensemble, voici une illustration de cette structure :

Structure du système de fichiers Linux (FHS)
Cette image illustre la structure arborescente du système de fichiers Linux. La racine `/` est au sommet, et tous les autres répertoires comme `/etc`, `/home`, `/var` et `/usr` en découlent.

Pour bien comprendre cette idée d'arborescence et la distinction entre les chemins d'accès absolus (partant de la racine /) et relatifs (partant de votre position actuelle), je vous propose de visionner le début de la vidéo suivante.

Tout Public : Explications sur l'arborescence Linux

Cette première partie de la vidéo "Explications sur l'arborescence Linux" de la chaîne Adrien Linuxtricks pose les bases de la structure en arbre, de la racine et des types de chemins.

Regardez la vidéo du début jusqu'à 03:30. Concentrez-vous sur la métaphore de l'arbre et la différence entre un chemin absolu et un chemin relatif.


2. Visite guidée des principaux répertoires

Maintenant que nous avons la vue d'ensemble, explorons les "quartiers" de notre ville Linux. Chaque répertoire a un rôle bien défini par le FHS. Connaître ces rôles vous évitera de chercher des fichiers au hasard et vous donnera des réflexes d'administrateur.

La suite de la même vidéo est un excellent guide qui détaille la fonction de chaque répertoire important.

Tout Public : Explications sur l'arborescence Linux

Cette partie de la vidéo est le cœur de notre leçon. Elle passe en revue chaque répertoire majeur du FHS et explique son utilité avec des exemples concrets.

Regardez la vidéo de 03:30 à 21:28. Il n'est pas nécessaire de tout mémoriser d'un coup, mais essayez de bien saisir le rôle des répertoires les plus importants que je résume ci-dessous. Vous pouvez mettre en pause pour bien assimiler chaque section.

Pendant que vous regardez, voici un résumé des répertoires les plus cruciaux pour un administrateur système. Essayez de faire le lien entre leur fonction et ce que vous avez déjà appris.

Les commandes et programmes

  • /bin (Binaires) : Contient les commandes essentielles utilisables par tous les utilisateurs (ls, cp, mv, etc.).
  • /sbin (Binaires Système) : Contient les commandes essentielles pour l'administration du système (fdisk, reboot, ip). Le "s" signifie "système" ou "super-utilisateur".
  • /usr/bin : Contient la majorité des programmes et commandes installés sur le système pour les utilisateurs (ex: gimp, libreoffice).
  • /usr/sbin : Contient les programmes d'administration non essentiels au démarrage du système.

Configuration et démarrage

  • /etc (Et Cetera) : C'est le centre de contrôle de votre système. Il contient tous les fichiers de configuration du système et des applications. C'est ici que se trouve sshd_config que vous avez inspecté avec grep.
  • /boot : Contient les fichiers indispensables au démarrage de Linux, y compris le noyau lui-même (souvent nommé vmlinuz).

Données variables et temporaires

  • /var (Variable) : Contient des fichiers dont la taille est amenée à changer, comme les logs (/var/log), les e-mails, les caches, etc. C'est la réponse à la question de la leçon précédente !
  • /tmp (Temporaire) : Pour les fichiers temporaires. Le contenu de ce répertoire est généralement supprimé à chaque redémarrage.

Données des utilisateurs

  • /home : Contient les répertoires personnels de chaque utilisateur (sauf root). Par exemple, /home/votre_nom_utilisateur.
  • /root : Le répertoire personnel de l'administrateur suprême, l'utilisateur root. Il est séparé de /home pour des raisons de sécurité et de stabilité.

Périphériques et informations système

  • /dev (Devices) : Contient des fichiers spéciaux qui représentent les périphériques matériels (disque dur /dev/sda, webcam /dev/video0, etc.).
  • /proc (Processus) : Un répertoire "virtuel" qui n'existe pas sur le disque. Il contient des informations en temps réel sur le noyau et les processus en cours d'exécution.
  • /sys (Système) : Un autre répertoire virtuel qui expose des informations sur les périphériques et le système.

Points de montage

  • /mnt (Mount) : Un emplacement générique pour monter manuellement et temporairement des systèmes de fichiers (ex: un partage réseau).
  • /media : Là où les périphériques amovibles (clés USB, disques externes) sont généralement montés automatiquement.

Pour une référence textuelle que vous pourrez consulter plus tard, cet article récapitule très bien le rôle de chaque répertoire.

L’arborescence des principaux répertoires système

L'article "Le Système de fichiers Linux" de Stéphane Robert offre un excellent résumé écrit de la structure FHS. Il sera un aide-mémoire parfait pour vous.

Lisez la section intitulée "L’arborescence des principaux répertoires système". Comparez cette liste à ce que vous avez vu dans la vidéo. Cette lecture vous aidera à consolider vos connaissances.


3. Contexte historique : /bin vs /usr/bin

Vous avez peut-être remarqué une redondance apparente (/bin et /usr/bin, /sbin et /usr/sbin). Cela vient de l'histoire d'Unix, où l'espace disque était très limité. Le répertoire /usr était souvent sur une partition séparée et n'était pas disponible au tout début du démarrage. /bin contenait donc les commandes vitales pour démarrer et réparer le système.

Aujourd'hui, cette distinction s'estompe. La plupart des distributions modernes fusionnent ces répertoires à l'aide de liens symboliques.

Tout Public : Explications sur l'arborescence Linux

La fin de la vidéo d'Adrien Linuxtricks explique très bien ce contexte historique et la pratique moderne.

Regardez la vidéo de 21:28 à la fin (23:21). Cela vous expliquera pourquoi, sur un système récent, si vous listez le contenu de /, vous pourriez voir que /bin pointe vers /usr/bin.

Comprendre cela vous évitera des confusions lorsque vous naviguerez sur différents systèmes Linux.


4. Exercice pratique : Exploration du système

La meilleure façon d'apprendre est de pratiquer. Ouvrez le terminal de votre machine virtuelle Ubuntu Server et partez en exploration. Utilisez les commandes que vous connaissez déjà (ls -l, cd, pwd, less).

  1. Explorez les configurations :

    • Allez dans le répertoire /etc : cd /etc
    • Listez son contenu : ls -l
    • Le fichier fstab définit les disques qui sont montés au démarrage. Affichez son contenu : less fstab (utilisez q pour quitter).
  2. Inspectez les logs :

    • Allez dans le répertoire des logs : cd /var/log
    • Listez les fichiers de logs et leur taille : ls -lh
    • Le fichier syslog contient de nombreux messages système. Regardez les dernières lignes : tail syslog
  3. Découvrez les informations du processeur :

    • Le fichier /proc/cpuinfo contient des informations sur le processeur de votre machine virtuelle. Affichez-les : cat /proc/cpuinfo
    • Notez que même si vous faites ls -l /proc/cpuinfo, la taille du fichier est de 0. C'est la preuve que c'est un fichier virtuel généré à la volée !
  4. Visualisez l'arborescence :

    • Il existe une commande très pratique nommée tree pour visualiser l'arborescence. Elle n'est pas toujours installée par défaut. Installez-la : sudo apt update && sudo apt install tree
    • Une fois installée, affichez l'arborescence du premier niveau de la racine : tree -L 1 /
    • Comparez le résultat avec l'image que vous avez vue au début de la leçon.

Conclusion

Félicitations ! Vous possédez maintenant la carte de n'importe quel système Linux. Savoir que les configurations sont dans /etc, les logs dans /var/log, et les commandes dans /bin ou /usr/bin est un savoir fondamental qui vous fera gagner un temps précieux.

Points clés à retenir :

  • Le système de fichiers Linux est une arborescence unique partant de la racine (/).
  • Le Filesystem Hierarchy Standard (FHS) définit le rôle de chaque répertoire.
  • /etc : Fichiers de configuration.
  • /var : Données variables (surtout /var/log).
  • /home : Dossiers personnels des utilisateurs.
  • /bin, /sbin, /usr/bin : Emplacements des commandes (binaires).
  • /dev, /proc, /sys : Répertoires virtuels fournissant une interface avec le noyau.

Maintenant que vous avez une carte du système et que vous savez vous y orienter, il est temps de commencer à gérer l'un de ses aspects les plus critiques : les habitants.

Dans la prochaine leçon, nous aborderons la gestion des utilisateurs et des groupes. Vous apprendrez à créer, modifier et supprimer des comptes utilisateurs, une des tâches les plus courantes et importantes d'un administrateur système.