Hiérarchie du système de fichiers
100%

Le Système de Fichiers · Leçon 1

Hiérarchie du système de fichiers

Découvrez le rôle prévu des principaux répertoires Linux et les différences possibles dans les organisations fusionnées modernes.

Linux présente les systèmes de fichiers montés sous la forme d'une seule arborescence enracinée dans /. Le Filesystem Hierarchy Standard, ou FHS, attribue un rôle conventionnel à de nombreux répertoires, mais les distributions, conteneurs, systèmes immuables et règles locales peuvent différer. Examinez toujours la machine réelle avant de vous fier à un chemin.

$ ls -ld /*

Racine et chemins système essentiels

  • / est la racine de l'arborescence visible.
  • /etc contient la configuration système propre à la machine. Il peut aussi renfermer des scripts exécutables d'assistance ou de démarrage : il serait donc inexact d'affirmer qu'il ne contient jamais de contenu exécutable.
  • /boot contient les fichiers liés au démarrage, notamment les données du chargeur d'amorçage et, sur de nombreux systèmes, les noyaux et images du système de fichiers RAM initial.
  • /bin et /sbin contiennent traditionnellement les commandes essentielles destinées aux utilisateurs et à l'administration système.
  • /lib et ses variantes propres à une architecture contiennent traditionnellement les bibliothèques partagées et composants de chargement essentiels.

De nombreuses distributions actuelles utilisent une organisation /usr fusionnée, dans laquelle /bin, /sbin et /lib sont des liens symboliques vers les répertoires correspondants sous /usr. Servez-vous de la découverte des commandes et des informations des paquets plutôt que de supposer qu'un chemin est un répertoire physique ou un lien.

Quel répertoire contient conventionnellement la configuration système propre à la machine ?

Logiciels de la distribution et logiciels locaux

  • /usr contient la principale hiérarchie partageable et largement en lecture seule du système d'exploitation et des applications, notamment les commandes, bibliothèques et données indépendantes de l'architecture.
  • /usr/local est réservé aux logiciels et données installés par l'administrateur local en dehors de la gestion normale de /usr par la distribution.
  • /opt peut accueillir des paquets applicatifs complémentaires dans des sous-arborescences autonomes.

Malgré son nom, /usr n'est normalement pas l'emplacement des fichiers personnels des utilisateurs. Les gestionnaires de paquets possèdent souvent une grande partie de cette arborescence ; copier des fichiers compilés localement dans /usr/bin peut donc entrer en conflit avec les paquets gérés.

Quel préfixe est conventionnellement réservé aux logiciels installés localement hors du contenu de /usr géré par la distribution ?

Données des utilisateurs et des services

  • /home contient conventionnellement les répertoires personnels des utilisateurs autres que root, même si un service d'annuaire ou une règle locale peut les placer ailleurs.
  • /root est le répertoire personnel conventionnel du compte root.
  • /srv est destiné aux données propres au site que sert ce système.

Le chemin d'un répertoire personnel provient des informations du compte, et non de la simple concaténation de /home et d'un nom d'utilisateur. Utilisez getent passwd UTILISATEUR ou le répertoire personnel résolu par le shell plutôt que de coder cette hypothèse en dur.

Quel est le répertoire personnel conventionnel du compte root ?

Données variables, temporaires et d'exécution

  • /var contient des données variables telles que journaux, caches, files d'attente et état applicatif. Les journaux système se trouvent souvent sous /var/log, bien que certains systèmes reposent surtout sur une interface de journalisation.
  • /run contient l'état d'exécution volatil du démarrage en cours, comme les sockets, l'état des services et les fichiers PID. Il est normalement recréé au démarrage.
  • /tmp accueille les fichiers temporaires et est généralement accessible en écriture à tous les utilisateurs avec la protection du sticky bit.
  • /var/tmp est destiné aux fichiers temporaires qui doivent survivre plus longtemps que ceux de /tmp.

La politique de nettoyage de /tmp varie : ne supposez ni que les fichiers persistent jusqu'au redémarrage, ni qu'ils sont toujours supprimés à ce moment-là. Les applications doivent créer leurs fichiers temporaires de façon sûre, sans noms prévisibles.

Quel chemin stocke conventionnellement les fichiers journaux du système ?

Périphériques, interfaces du noyau et points de montage

  • /dev contient les nœuds de périphériques et les liens d'exécution associés.
  • /proc expose des interfaces des processus et du noyau au moyen de procfs.
  • /sys expose les objets, périphériques, pilotes et attributs du noyau au moyen de sysfs.
  • /media sert souvent au montage automatique des supports amovibles.
  • /mnt est un emplacement conventionnel pour les montages temporaires effectués par l'administrateur.

Il s'agit de conventions, pas d'autorisations. Monter un autre système de fichiers sur un répertoire non vide masque temporairement le contenu antérieur de ce répertoire jusqu'au démontage.

Quel chemin expose normalement le modèle de périphériques du noyau au moyen de sysfs ?

Leçon terminée

Vous avez terminé Hiérarchie du système de fichiers

Vous savez maintenant associer les principaux chemins Linux à leur rôle prévu tout en tenant compte des variations réelles entre systèmes.

  • Partir de l'arborescence unifiée enracinée dans /.

  • Distinguer configuration, logiciels gérés, logiciels locaux et données variables.

  • Séparer les répertoires personnels et données de services de l'état d'exécution.

  • Reconnaître /dev, /proc et /sys comme des interfaces d'exécution particulières.

  • Examiner les liens symboliques, montages, données des comptes et règles de la distribution avant de supposer une organisation.

Conservez votre progression

Créez un compte gratuit pour enregistrer cette leçon et continuer sur n'importe quel appareil.

Créer un compte gratuit
Leçon Suivante
Retour à Le Système de Fichiers