La hiérarchie du système de fichiers

Un article de Wiki de la communauté Mandriva.

Jump to: navigation, search


Lorsque l'on fait ses débuts dans le monde de Linux, il est parfois difficile de comprendre comment s'organise la hiérarchie du système de fichiers de Linux (ou FHS, soit Filesystem Hierarchy Standard), c'est-à-dire l'organisation de l'arborescence des répertoires. Nous allons donc vous aider à vous y retrouver.


Sommaire

[modifier] Comprendre la hiérarchie du système de fichiers de Mandriva Linux pour apprendre à se repérer

La première chose à dire, c'est que l'arborescence d'un système UNIX comme Linux, est centralisée. Mais qu'entendons-nous par centralisée ? Contrairement à un système Windows, où les partitions correspondent à des lettres de lecteurs, et où chaque lecteur possède ses répertoires, sous Linux, tout répertoire ou sous-répertoire est contenu dans la racine (root en anglais) de l'arborescence. Cette racine est notée "/". La première barre oblique (slash) des répertoires /usr/local/bin, /home/user, /root, /dev, /usr/share/doc/… correspond donc à l'idée que ces répertoires sont attachés à la racine "/". Pour ce qui est des partitions et des disques amovibles, ils sont montés (mount en anglais) dans un répertoire qui est rattaché à la racine de l'arborescence. Par exemple, une partition (hdb1...) pourra être montée sur le répertoire /usr. Ainsi, /usr/hdb1/ correspondra au contenu de la partition. Le répertoire /usr peut aussi contenir un répertoire dans lequel une autre partition (hdb2...) est montée. On peut donc avoir une partition montée sur /usr/hdb1 et une autre sur /usr/local/hdb2. De même, les périphériques amovibles sont montés dans des répertoires (classiquement /mnt/cdrom pour un lecteur de CD-ROM).


[modifier] Où se trouvent les applications ?

On entend par application, tout fichier pouvant être exécuté. Ainsi, une application peut être un simple programme en ligne de commande comme grep, un script perl ou encore une application graphique comme Firefox. Typiquement, les applications se trouvent dans les répertoires /bin, /sbin, /usr/bin, /usr/sbin.

Pourquoi autant de répertoires différents (sachant que l'on peut en avoir couramment d'autres) ? Pour une question de sécurité et d'organisation. Ainsi on trouvera essentiellement dans le répertoire /bin, des applications en ligne utiles pour l'exécution des scripts shell comme les scripts de démarrage (scripts qui gèrent le lancement des différents éléments de votre ordinateur lorsque vous démarrez votre Linux), ou encore pour la maintenance d'un système.

  • /sbin quant à lui, regroupe les applications de base en ligne de commande permettant de configurer le système, comme la commande mount pour monter une partition, fdisk pour créer, supprimer ou formater une partition, ifconfig qui permet de configurer le réseau. En général, seul l'utilisateur root peut exécuter les applications dans /sbin ("s" comme "super" faisant référence au "super utilisateur" : root).

Les utilisateurs avancés qui installent par eux-mêmes des applications (qu'elles soient précompilées ou compilées par leur soin) les placent parfois dans le répertoire /opt (dont certains vont jusqu'à faire une partition autonome).

[modifier] Où se trouvent les fichiers de données ?

Chaque application vient avec son lot de fichiers de données. Par exemple, un logiciel comme GCompris (logiciel éducatif) contient des images, des sons, et des fichiers textes qui lui sont propres et dont gcompris a besoin pour son bon fonctionnement. Ces fichiers de données sont placés dans /usr/share/nom de l'application. On peut aussi les trouver dans /usr/local/share ou /opt/share si l'application est installée dans /usr/local/bin ou /opt/bin. Ainsi, les fonds d'écran installés par le rpm wallpapers sont placés dans /usr/share/wallpapers.


[modifier] Où se trouvent les fichiers de configuration ?

Les fichiers de configuration diffèrent des fichiers de données par le fait qu'ils peuvent être modifiés par les utilisateurs. De manière générale, les fichiers de configuration sont placés dans /etc (editing text config) pour les applications système ou serveur et dans le répertoire utilisateur pour les applications classiques. Ainsi les fichiers de configuration d'un serveur Apache (application serveur) se trouvent dans /etc/httpd/ et les fichiers de configuration de KDE se trouvent dans ~/.kde où ~ représente le dossier personnel.

Vous trouverez notamment dans ce répertoire :

  • le répertoire /etc/X11 qui contient les fichiers de configuration du serveur graphique X.
  • les répertoires /etc/rc*.d qui contiennent les scripts de démarrage, mais aussi bien d'autres répertoires qui relèvent d'une étude plus approfondie.
  • les fichiers de configuration du réseau, comme /etc/hostname qui recueille le nom de votre machine.
  • le fichier etc/hosts, qui définit la correspondance entre les adresses IP de votre machine et leur nom d'hôtes, avec les fichiers /etc/hosts.allow et /etc/hosts.deny qui, respectivement permettent et interdisent l'accès du système à certaines machines selon l'adresse IP que vous avez spécifiée.
  • le fichier de configuration du chargeur de démarrage Lilo (lilo.conf).
  • le fichier permettant d'exécuter des tâches périodiques (le logiciel Cron ou Anacron) dans le répertoire /etc/anacrontab.
  • le fichier /etc/passwd qui contient les mots de passe, comptes utilisateurs, etc. fichier vital, donc.
  • le fichier /etc/modules.conf qui regroupe les différents paramètres de chargement des modules du noyau.
  • les fichiers /etc/fstab et /etc/mtab qui se chargent de regrouper les divers systèmes de fichiers que le noyau Linux est susceptible de gérer pour pouvoir les monter (les partitions Windows, les divers périphériques, etc.). Des explications sur ces fichiers de configurations sont disponibles ici : fstab et mtab.

[modifier] Où se trouvent les bibliothèques (library en anglais) ?

La plupart des programmes possèdent des fonctionnalités identiques, comme par exemple ouvrir un fichier. Cela veut dire que la majorité des programmes capables d'ouvrir un fichier ont une partie qui est commune : la partie permettant d'ouvrir un fichier. Pour éviter cette redondance, on fait souvent appel à une bibliothèque. Au lieu qu'un exécutable ne contienne toutes les fonctionnalités de l'application, on va découper le programme et mettre ce qui peut être commun (ou réutilisé) dans une bibliothèque. Au lancement de l'exécutable, on fera donc appel aux fonctionnalités présentes dans les bibliothèques appelées par le programme. Ainsi, une même bibliothèque peut être utilisée par plusieurs programmes (c'est le but recherché). Les avantages sont un gain de place, et la possibilité de corriger un bogue présent dans un ensemble de logiciels si ce bogue appartient à une bibliothèque. L'inconvénient est que si une bibliothèque est supprimée par mégarde, l'ensemble des logiciels qui y faisaient appel ne pourront plus fonctionner. Les bibliothèques se trouvent en général dans /lib, /usr/lib, /usr/local/lib, /opt/lib.

[modifier] Le répertoire /boot

Comme son nom l'indique, il contient les fichiers de démarrage du système, le fameux « noyau linux ». On y trouve aussi les fichiers du chargeur de démarrage Grub (le fichier de config de Grub est : /boot/grub/menu.lst). Il est utile que ce répertoire soit sur une partition distincte (une petite partition de 50 Mo est très largement suffisante) si vous souhaitez par la suite installer plusieurs distributions Linux en même temps. Ce partitionnement n'est pas réalisé lors de l'installation initiale si vous optez pour « partitionnement automatique ».

[modifier] Le répertoire /dev

Sous Linux, tous les périphériques sont représentés par un fichier et sont placés dans le répertoire /dev. Une souris pourra être représentée par /dev/mouse, une carte son par /dev/snd...


[modifier] Le répertoire /home

Ce répertoire correspond dans une certaine mesure au répertoire Documents and Settings des systèmes Windows.

Le répertoire /home contient votre répertoire personnel. Si votre nom d'utilisateur est toto, votre répertoire personnel sera : /home/toto. Le répertoire personnel de l'utilisateur glin sera : /home/glin, etc.

Au moment de l'installation du système, il est souhaitable d'installer le répertoire /home sur une partition distincte de celle qui abrite le répertoire général du système /. C'est d'ailleurs ce qui vous est proposé par défaut : vous n'aurez qu'à vous donner la peine d'accepter (si vous voulez plus de détails là-dessus, consultez la page Partitionner). Résultat, si vous crashez votre Mandriva et que vous devez la réinstaller, pas de frayeur comme sous Windows !! Avec Mandriva, installez, réinstallez sans perdre une miette de vos données personnelles, comptes de messageries, courriels et mots de passe de votre courrielleur préféré ! Ouf, vous êtes sous Mandriva Linux !

[modifier] Le répertoire /root

C'est simplement le home mais pour le superutilisateur qu'est root, comme ce n'est pas un utilisateur comme les autres, son répertoire est placé directement dans la racine.

[modifier] Le répertoire /tmp

Ce répertoire contient les fichiers temporaires de votre système. C'est l'équivalent du temp windowsien.

Ad (via La Vignette)
Looking for a job?