La structure des répertoires Linux, expliquée
La structure des répertoires Linux est essentielle pour comprendre le fonctionnement de ce puissant système d’exploitation, largement utilisé sur les serveurs et les ordinateurs personnels.
Sous Linux, tout commence par le répertoire racine, symbolisé par une barre oblique (/), qui sert de point de départ à partir duquel tous les autres répertoires se ramifient.
Au sein de cette hiérarchie, on retrouvera des répertoires incontournables tels que /bin, qui contient les exécutables de base du système, et /etc, où sont stockés les fichiers de configuration critiques.
L'annuaire /maison Il est particulièrement important pour les utilisateurs car il héberge leurs fichiers et paramètres personnels.
Un autre répertoire clé est /var, qui enregistre les fichiers variables tels que les journaux système et les files d'attente d'impression.
Comprendre comment ces répertoires sont organisés facilite non seulement la navigation et la gestion du système, mais est également crucial pour la sécurité et l'efficacité de la gestion des serveurs Linux.
Cette structure hiérarchique et logique optimise non seulement le fonctionnement du système, mais permet également une évolutivité et une personnalisation faciles, fonctionnalités qui font de Linux un choix populaire parmi les développeurs et les administrateurs système en Argentine et dans le monde.
Si vous venez de Windows, la structure du système de fichiers Linux peut sembler particulièrement étrange.
Le lecteur C:\ et les lettres de lecteur ont disparu, remplacés par / et des répertoires à consonance énigmatique, dont la plupart ont des noms à trois lettres.
La norme de hiérarchie du système de fichiers (FHS) définit la structure des systèmes de fichiers sous Linux et d'autres systèmes d'exploitation similaires à UNIX. Cependant, les systèmes de fichiers Linux contiennent également certains répertoires qui ne sont pas encore définis par la norme.
/ – Le répertoire racine
Tout sur votre système Linux se trouve dans le répertoire /, appelé répertoire racine. Vous pensez peut-être que le répertoire / est similaire au répertoire C:\ sous Windows, mais ce n'est pas strictement vrai, car Linux n'a pas de lettres de lecteur. Alors qu'une autre partition se trouverait dans D:\ sous Windows, cette autre partition apparaîtrait dans un autre dossier sous / sous Linux.
/bin – Binaires utilisateur essentiels
Le répertoire /bin contient les binaires utilisateur essentiels (programmes) qui doivent être présents lorsque le système est monté en mode mono-utilisateur. Des applications comme Firefox, si elles ne sont pas installées en tant que Snaps, sont stockées dans /usr/bin, tandis que les programmes et utilitaires système importants, tels que le shell bash, se trouvent dans /bin. Le répertoire /usr peut être stocké sur une autre partition. Placer ces fichiers dans le répertoire /bin garantit que le système disposera de ces utilitaires importants même si aucun autre système de fichiers n'est monté. Le répertoire /sbin est similaire : il contient les binaires essentiels à l'administration du système.
/boot – Fichiers de démarrage statiques
Le répertoire /boot contient les fichiers nécessaires au démarrage du système. Par exemple, les fichiers du chargeur de démarrage GRUB et leurs noyaux Linux sont stockés ici. Cependant, les fichiers de configuration du chargeur de démarrage ne se trouvent pas ici ; ils sont dans /etc avec les autres fichiers de configuration.
/cdrom – Point de montage historique pour CD-ROM
Le répertoire /cdrom ne fait pas partie du standard FHS, mais vous le trouverez toujours sur Ubuntu et d'autres systèmes d'exploitation. Il s'agit d'un emplacement temporaire pour les CD-ROM insérés dans le système. Cependant, l'emplacement standard des médias temporaires se trouve dans le répertoire /media.
/dev – Fichiers de périphérique
Linux expose les périphériques sous forme de fichiers et le répertoire /dev contient une série de fichiers spéciaux qui représentent les périphériques. Ce ne sont pas de vrais fichiers tels que nous les connaissons, mais ils apparaissent comme des fichiers. Par exemple, /dev/sda représente le premier disque SATA du système. Si vous souhaitez le partitionner, vous pouvez démarrer un éditeur de partition et lui dire de modifier /dev/sda.
Ce répertoire contient également des pseudo-périphériques, qui sont des périphériques virtuels qui ne correspondent pas réellement au matériel. Par exemple, /dev/random produit des nombres aléatoires. /dev/null est un périphérique spécial qui ne produit aucune sortie et supprime automatiquement toutes les entrées ; lorsque vous redirigez la sortie d’une commande vers /dev/null, vous la supprimez.
/etc – Fichiers de configuration
Le répertoire /etc contient des fichiers de configuration, qui peuvent généralement être modifiés manuellement dans un éditeur de texte. Notez que le répertoire /etc/ contient des fichiers de configuration à l'échelle du système. Les fichiers de configuration spécifiques à l'utilisateur se trouvent dans le répertoire personnel de chaque utilisateur.
/home – Dossiers de départ
Le répertoire /home contient un dossier personnel pour chaque utilisateur. Par exemple, si votre nom d'utilisateur est bob, vous disposez d'un dossier personnel situé dans /home/bob. Ce dossier personnel contient les fichiers de données de l'utilisateur et les fichiers de configuration spécifiques à l'utilisateur. Chaque utilisateur n'a qu'un accès en écriture à son propre dossier personnel et doit obtenir des autorisations élevées (devenir root) pour modifier d'autres fichiers sur le système.
/lib – Bibliothèques partagées essentielles
Le répertoire /lib contient les bibliothèques qui ont besoin des binaires essentiels dans les dossiers /bin et /sbin. Les bibliothèques qui ont besoin des binaires dans le dossier /usr/bin se trouvent dans /usr/lib. Vous verrez également un dossier homologue /lib64 sur les systèmes 64 bits.
/lost+found – Fichiers récupérés
Chaque système de fichiers Linux possède un répertoire perdu + trouvé. Si le système de fichiers tombe en panne, une vérification du système de fichiers sera effectuée au prochain démarrage. Tous les fichiers corrompus trouvés seront placés dans le répertoire perdu + trouvé, afin que vous puissiez essayer de récupérer autant de données que possible.
Le répertoire /media contient des sous-répertoires dans lesquels sont montés les périphériques multimédias amovibles insérés dans l'ordinateur. Par exemple, lorsque vous insérez un CD dans votre système Linux, un répertoire sera automatiquement créé dans le répertoire /media. Vous pouvez accéder au contenu du CD dans ce répertoire.
/mnt – Points de montage temporaires
Historiquement parlant, le répertoire /mnt est l'endroit où les administrateurs système montaient les systèmes de fichiers temporaires tout en les utilisant. Par exemple, si vous montez une partition Windows pour effectuer certaines opérations de récupération de fichiers, vous pouvez la monter sur /mnt/windows. Cependant, vous pouvez monter d'autres systèmes de fichiers n'importe où sur le système.
/opt – Forfaits optionnels
Le répertoire /opt contient des sous-répertoires pour les packages logiciels facultatifs. Il est couramment utilisé par des logiciels propriétaires qui n'obéissent pas à la hiérarchie standard du système de fichiers. Par exemple, un programme propriétaire peut transférer ses fichiers dans /opt/application lorsque vous l'installez.
/proc – Fichiers de processus et de noyau
Le répertoire /proc est similaire au répertoire /dev dans le sens où il ne contient pas de fichiers standard. Contient des fichiers spéciaux qui représentent des informations sur le système et les processus.
/root – Répertoire racine
Le répertoire /root est le répertoire personnel de l'utilisateur root. Au lieu d’être situé dans /home/root, il se trouve dans /root. Ceci est différent de /, qui est le répertoire racine du système.
/run – Fichiers d’état de l’application
Le répertoire /run offre aux applications un emplacement standard pour stocker les fichiers transitoires dont elles ont besoin, tels que les sockets et les ID de processus. Ces fichiers ne peuvent pas être stockés dans /tmp car ils pourraient être supprimés.
/sbin – Fichiers binaires d'administration système
Le répertoire /sbin est similaire au répertoire /bin. Il contient des binaires essentiels qui sont généralement destinés à être exécutés par l'utilisateur root pour l'administration du système.
/snap – Stockage des paquets Snap
Un autre répertoire qui ne fait pas partie de FHS mais qu'il est courant de voir de nos jours est /snap. Contient les packages Snap installés et d'autres fichiers associés à Snap. Ubuntu utilise désormais Snaps par défaut, mais si vous utilisez une autre distribution qui ne le fait pas, vous ne verrez pas ce répertoire.
/srv – Données de service
Le répertoire /srv contient les « données des services fournis par le système ». Si vous utilisiez le serveur HTTP Apache pour gérer un site Web, vous stockeriez probablement les fichiers de votre site Web dans un répertoire du répertoire /srv.
/tmp – Fichiers temporaires
Les applications stockent les fichiers temporaires dans le répertoire /tmp. Ces fichiers sont généralement supprimés à chaque redémarrage du système et peuvent être supprimés à tout moment à l'aide d'utilitaires tels que systemd-tmpfiles.
/usr – Binaires utilisateur et données en lecture seule
Le répertoire /usr contient les applications et les fichiers utilisés par les utilisateurs, par opposition aux applications et fichiers utilisés par le système. Par exemple, les applications non essentielles se trouvent dans le répertoire /usr/bin au lieu du répertoire /bin, et les fichiers binaires d'administration système non essentiels se trouvent dans le répertoire /usr/sbin au lieu du répertoire /sbin. Les bibliothèques de chacun se trouvent dans le répertoire /usr/lib. Le répertoire /usr contient également d'autres répertoires. Par exemple, les fichiers indépendants de l'architecture, tels que les graphiques, se trouvent dans /usr/share.
Le répertoire /usr/local est l'endroit où les applications compilées localement sont installées par défaut. Cela les empêche de gâcher le reste du système.
/var – Fichiers de données variables
Le répertoire /var est l'équivalent accessible en écriture du répertoire /usr, qui doit être en lecture seule en fonctionnement normal. Les fichiers journaux et tout ce qui serait normalement écrit dans /usr pendant le fonctionnement normal sont écrits dans le répertoire /var. Par exemple, vous trouverez les fichiers journaux dans /var/log.
Pour des informations techniques plus détaillées sur la hiérarchie du système de fichiers Linux, consultez le Documentation standard sur la hiérarchie des systèmes de fichiers.