Structure de dossiers Linux
https://www.howtogeek.com/117435/htg-explains-the-linux-directory-structure-explained/
Le système GNU/Linux a une arborescence de dossiers qui lui est propre. La plupart de ces dossiers varient peu d'une distribution à une autre, aussi il est intéressant d'en avoir une référence.
/
Il s'agit du dossier racine, qui contient tous les autres.
/bin
Contient les binaires essentiels lorsque le système est monté en mode single-user. /bin contient en général les programmes liés directement liés à l'OS comme bash, alors que les binaires utilisateur sont dans /usr/bin. /sbin est similaire et contient les binaires nécessaires à l'administration du système. Il existe une différence d'un OS à l'autre sur les emplacements de binaires, et certains OS comme Debian utilisent des liens symboliques d'un dossier vers l'autre dans un but d'harmonisation.
/boot
Contient les fichiers nécessaires au boot, comme GRUB (même si la config du bootloader, qu'il s'agisse de gruyb ou d'un autre, est dans /etc).
/dev
Ce dossier contient les devices en tant que fichiers (ce genre de fichiers spéciaux est appellé nodes). Donc les disques durs, lecteurs de DVD, etc... Mais aussi les pseudo-devices, qui sont des appareils virtuels qui ne correspondent pas vraiment à du hardware. On en a quelques uns d'importants :
- /dev/null, qui envoie dans le néant tout ce qu'on lui donne, tout en disant que l'écriture est réussie.
- /dev/random, qui donne de l'aléatoire.
/etc
Contient les fichiers de configuration au niveau système.
/home
Contient les dossiers personnels. Ces dossier servent à stocker les configurations propres à chaque utilisateur, ainsi qu'à leur fournir un espace de travail.
/lib
Contient les librairies partagées essentielles, utilisées par les binaires de /bin ou /sbin. /usr/bin peut aussi aller chercher ses libs dans /usr/lib.
/lost+found
Si le système plante, un check du FS aura lieur au prochain boot. L'OS mettra dans lost+found les fichiers corrompus, pour qu'on puisse essayer de récupérer des données.
/media
Contient des sous-dossiers où monter les médias amovibles.
/mnt
Contient les points de montage temporaires.
/opt
Contient les packages optionnels. Il est généralement utilisé par des softs propriétaires qui n'obéissent pas à la structure standard (comme une base Oracle, par exemple).
/proc
Comme /dev, il contient des fichiers spéciaux : ici, des fichiers qui représentent les proecessus.
/root
Il s'agit du dossier home de root.
/run
Récent, ce dossier donne aux applications un endroit où stocker leurs fichiers transitoires comme des sockets et des process IDs. Ces fichiers ne peuvent pas aller dans /tmp parce que celui-ci est régulièrement vidé.
/sbin
Similaire à /bin, contient des binaires essentiels généralement utiles à root pour l'administration du système.
/selinux
Contient les fichiers spéciaux utilisés par selinux, si l'OS l'utilise. Similaire à /proc.
/srv
Contient les "données utilisées pour les services fournis par le système". On pourrait y mettre des sites web pour Apache, par exemple.
/tmp
Contient des fichiers temporaires à vie courte, utilisés par les applications. Vidé au reboot et à intervalle régulier par des utilitaires comme tmpwatch.
/usr
Contient les applications et fichiers utilisés par les utilisateurs plutôt que par le système. Par exemple, les applications non essentielles sont dans /usr/bin et pas dans /bin; les outils d'administrations non essentiels sont dans /usr/sbin. Leur librairies sont dans /usr/lib. Il contient aussi d'autre dossiers : les fichiers indépendants de l'architecture peuvent être dans /usr/share. /usr/local est l'endroit où les applications compilées localement vont par défaut (afin qu'elles ne cassent pas le reste de l'OS).
/var
Fichiers de données variables. Il s'agit de la contrepartie inscriptible de /usr; contient les logs, par exemple.