Structure de dossiers Linux

De Justine's wiki
Aller à la navigation Aller à la recherche

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.