Comprendre l’arborescence des dossiers du système Linux

Comme beaucoup, je suis un grand passionné de Linux et curieux de l’univers des systèmes d’exploitation en général. J’ai d’ailleurs toute la collection à la maison avec différentes distributions Linux, du macOS et bien sur du Windows même si je l’utilise de moins en moins. Aujourd’hui, nous allons plonger au cœur du système de fichiers Linux qui peut être complexe pour les débutants qui découvrent ce monde formidable et notamment très utilisé dans le monde des serveurs.

Si vous êtes un amateur de technologie, un administrateur système en herbe ou simplement quelqu’un qui cherche à comprendre les rouages de Linux, vous êtes au bon endroit. Dans cet article, nous allons explorer les différents dossiers essentiels du système de fichiers Linux, du répertoire de démarrage /boot aux données variables de /var, en passant par les bibliothèques partagées de /lib. Préparez-vous pour un voyage informatique passionnant où nous démystifierons ces répertoires clés et découvrirons leur rôle vital dans le fonctionnement de votre système Linux. Sans plus tarder, plongeons dans les méandres du système de fichiers Linux pour en révéler tous les secrets !

L’arborescence classique d’un système de fichiers Linux

Dans la plupart des distributions Linux, l’arborescence des différents dossiers à partir de la racine / devrait normalement ressembler à quelque chose comme ça :

  • 📁 /
    • ∟ 📄boot
    • ∟ 📁bin
      • ∟ 📄ls
      • ∟ 📄mkdir
    • ∟ 📁dev
      • ∟ 📄sda
    • ∟ 📁etc
      • ∟ 📄hostname
      • ∟ 📄passwd
      • ∟ 📄nginx.conf
    • ∟ 📁home
      • ∟ 📁user1
        • ∟ 📄.bashrc
      • ∟ 📁user2
        • ∟ 📄notes.txt
        • ∟ 📄.bashrc
    • ∟ 📁lib
      • ∟ 📄libcrypto.so
      • ∟ 📄libssl.so
    • ∟ 📁mnt
    • ∟ 📁opt
      • ∟ 📁app1
        • ∟ 📄app1_executable
      • ∟ 📁app2
        • ∟ 📄app2_executable
    • ∟ 📁proc
    • ∟ 📁root
    • ∟ 📁sbin
      • ∟ 📄init
      • ∟ 📄shutdown
    • ∟ 📁srv
    • ∟ 📁sys
    • ∟ 📁tmp
    • ∟ 📁usr
      • ∟ 📁bin
        • ∟ 📄gcc
        • ∟ 📄python
      • ∟ 📁include
      • ∟ 📁lib
        • ∟ 📄libncurses.so
      • ∟ 📁local
        • ∟ 📁bin
          • ∟ 📄custom_app
        • ∟ 📁lib
          • ∟ 📄libcustom_lib.so
      • ∟ 📁share
    • ∟ 📁var
      • ∟ 📁log
        • ∟ 📄syslog
        • ∟ 📄nginx.log
      • ∟ 📁www
        • ∟ 📁html
          • ∟ 📄index.html

Le rôle de chaque dossier dans Linux

  • /boot : le répertoire /boot est le point de départ du système de fichiers Linux. Il contient des fichiers essentiels pour le processus de démarrage du système. C’est ici que résident les noyaux du système d’exploitation, les fichiers de configuration du gestionnaire de démarrage et d’autres éléments cruciaux pour que votre système démarre correctement.
  • /bin : le répertoire abrite les binaires système de base. Vous y trouverez des utilitaires en ligne de commande essentiels tels que ls, mkdir, et cp. Ces outils sont indispensables pour effectuer des tâches courantes, comme la navigation dans les répertoires, la création de nouveaux répertoires, et la copie de fichiers.
  • /dev : ce répertoire contient des fichiers de périphériques qui représentent les composants matériels connectés au système, qu’il s’agisse de disques durs tels que sda et sdb, ou de pseudo périphériques comme null. Ces fichiers permettent aux programmes d’interagir avec le matériel.
  • /etc : si vous avez déjà configuré votre système Linux, vous avez probablement rencontré le répertoire /etc. Il contient tous les fichiers de configuration du système et des applications installées. Parmi les exemples notables, citons fstab (tableau des systèmes de fichiers), hostname (le nom de votre système), passwd (les informations de compte utilisateur), sudoers (la configuration de sudo), et nginx.conf (la configuration du serveur web Nginx).
  • /home : ce dossier est l’endroit où résident les répertoires personnels des utilisateurs. Chaque utilisateur, comme user1, user2, ou user3, a son propre espace pour stocker ses fichiers, documents et préférences personnelles.
  • /lib : il contient les bibliothèques partagées, semblables aux fichiers DLL de Windows. Ces bibliothèques, telles que libcrypto.so et libssl.so, sont utilisées par les programmes pour accéder à des fonctionnalités spécifiques.
  • /mnt : il est souvent utilisé comme point de montage temporaire pour les systèmes de fichiers temporaires ou externes. Il vous permet d’accéder aux données stockées sur des supports amovibles tels que des clés USB ou des disques durs externes.
  • /opt : si vous souhaitez installer des logiciels supplémentaires qui ne font pas partie du système de base, /opt est l’endroit idéal. Chaque application peut avoir son propre sous-répertoire, comme app1 et app2, pour garder les choses bien organisées.
  • /proc : ce répertoire /proc est une sorte de fenêtre virtuelle donnant un aperçu des processus en cours d’exécution et de l’état du système. Vous y trouverez des fichiers spéciaux contenant des informations essentielles. Il y a peu de chances que vous alliez volontairement faire des choses dedans.
  • /root : c’est la maison du superutilisateur, également connu sous le nom de l’administrateur système. C’est l’endroit où résident les fichiers personnels et les configurations du superutilisateur.
  • /sbin : contient des binaires système essentiels pour l’administration du système, tels que init (le premier processus) et shutdown (pour éteindre le système en toute sécurité).
  • /srv : bien que moins couramment utilisé que certains autres répertoires du système de fichiers Linux, a un rôle important et spécifique : il est destiné à stocker les données de service. Plus précisément, le répertoire /srv est conçu pour contenir les fichiers et les répertoires qui servent de sources de données pour les services réseau fournis par le système.
  • /sys : ce répertoire /sys est une autre fenêtre virtuelle, mais celle-ci vous donne des informations sur le noyau et les périphériques.
  • /tmp : les fichiers temporaires sont stockés dans /tmp. Ils sont généralement effacés au démarrage du système pour libérer de l’espace.
  • /usr : contient des programmes et des données utilisateur. Il se décompose en plusieurs sous-répertoires tels que /usr/bin (binaires de commande utilisateur), /usr/include (fichiers d’en-tête pour les bibliothèques C/C++), /usr/lib (bibliothèques pour la programmation et les logiciels) et /usr/local (logiciels installés manuellement par l’administrateur système).
  • /var : contient des données variables qui changent fréquemment. Cela inclut les journaux système, les fichiers de journalisation tels que syslog, les fichiers journaux du serveur web nginx.log, et bien d’autres données qui évoluent avec le temps.

Il s’agit bien entendu de normes et certains logiciels peuvent ne pas respecter le rôle de chacun de ces dossiers et aller ranger leur configuration ailleurs que ce qui est communément admis. De même certains utilisateurs peuvent aussi par exemple volontairement aller mettre leurs fichiers personnels ailleurs que dans leur /home. Ce n’est pas ce qui est conseillé, mais c’est tout à fait possible !

Le système de fichiers Linux est un écosystème complexe composé de nombreux répertoires, chacun ayant un rôle crucial à jouer. Comprendre la structure de ces répertoires vous permet de mieux gérer votre système et d’interagir efficacement avec ses composants. Alors, la prochaine fois que vous explorerez votre système Linux, gardez à l’esprit cette carte des répertoires, car elle vous servira de guide fiable pour naviguer à travers les couches essentielles du système d’exploitation.

Que vous ayez besoin de configurer des paramètres système dans le répertoire /etc, d’accéder aux fichiers essentiels du démarrage dans /boot, ou de stocker des données de service dans /srv, une compréhension claire de la structure du système de fichiers Linux vous aidera à maintenir votre système en bon état de fonctionnement et à tirer le meilleur parti de ses fonctionnalités. N’hésitez pas à explorer davantage ces répertoires et à découvrir les nombreuses possibilités qu’ils offrent pour personnaliser et optimiser votre expérience Linux.

Laisser un commentaire