La hierachie des répertoires sous Linux

Dans un système Linux, comme dans tout système d'exploitation qui se respecte, les fichiers sont organisés selon une arborescence bien déterminée. Dans cette optique, chaque répertoire possède une utilité bien définie, ceci facilite grandement la gestion du système. Voyons ensemble la hiérarchie d'un système Linux typique.

Nous pouvons classer sommairement les répertoires en trois catégories :

LES REPERTOIRES A LA RACINE

/ représente la racine du système de fichiers. Ce répertoire est souvent appelé répertoire racine ou root. C'est le point de départ de toute l'arborescence.

/bin contient les programmes nécessaires pour démarrer le système en mode mono-utilisateur

/boot contient les fichiers utiles pour le chargeur (ou boot loader). Ce répertoire ne contient que les fichiers nécessaires au boot.

/dev contient des fichiers spéciaux (device files) qui sont des points d'entrée vers des périphériques physiques. Exemple : le premier port série correspond au fichier /dev/cua0.

/etc contient les fichiers de configuration dont les divers programmes se servent pour avoir des informations sur la configuration du système.

/etc/X11 idem, mais spécifique au système Xwindow

/home contient les données propres à chaque utilisateur. La structure interne du répertoire /home est laissé au bon vouloir de l'administrateur système. Dans la plupart des cas, vous êtes le seul à utiliser la machine et ce répertoire ne nécessite quasiment aucune modification.

/lib contient les bibliothèques (shared libraries) nécessaires aux programmes de démarrage (principalement des programmes placés dans /bin et /sbin)

/mnt contient des répertoires utilisés comme points de montage pour les périphériques en mode block. Habituellement, on y trouve cdrom et floppy, respectivement utilisés pour le lecteur de CDROM et le lecteur de disquettes. Une mauvaise habitude consiste à créer un répertoire /cdrom à la racine, mais il est plutôt conseillé de créer un lien symbolique entre /mnt/cdrom et /cdrom par ln -s /mnt/cdrom /cdrom.

/proc contient des informations sur l'état du système et les différents processus en fonction (Voir article sur /proc du précédent numéro).

/sbin contient les programmes nécessaires au fonctionnement du système. Les commandes placées dans /sbin (et dan /bin) ne sont en général pas exécutées par les utilisateurs.

/tmp contient tous les fichiers temporaires générés par le système ou les processus en cours.

/usr contient une arborescence complète pour les données que les utilisateurs peuvent se partager. En principe, le répertoire /usr est le point de montage d'une partition ou d'un disque autre que celui utilisé pour le répertoire racine. Il est monté en lecture seule au démarrage et peut être partagé entre plusieurs machines.

/var contient des fichiers qui sont susceptibles de changer fréquemment, comme les journaux de l'activité du système (logs), les files d'attentes pour les impressions ou encore les crontabs des utilisateurs.

 

LES REPERTOIRE DANS /usr

/usr/X11R6 est dédié au système Xwindow. Un lien symbolique est habituellement créé vers /usr/X11 à partir de ce répertoire (parfois également X386)

/usr/X11R6/bin contient les exécutables pour le système Xwindow.

/usr/X11R6/lib contient les bibliothèques nécessaires aux programmes résidants dans /usr/X11R6/bin

/usr/X11R6/lib/X11 contient les librairies utiles au démarrage du serveur Xwindow

/usr/X11R6/include/X11 sert à stocker les fichiers d'entêtes pour le développement des applications X11

/usr/bin est le répertoire général pour les programmes utilisables sur le système.

/usr/bin/X11 liens symboliques (et historiques) vers /usr/X11R6/bin

/usr/dict contient habituellement des fichiers dictionnaires utilisés par les vérificateurs orthographiques (spell checkers)

/usr/etc regroupe les fichiers de configuration qui peuvent être partagés entre plusieurs machines. En fait, la totalité de ces fichiers devraient être des liens symboliques vers /etc.

/usr/include contient les fichiers entêtes (.h) pour le compilateur C. Des sous-répertoires permettent de les classer par catégorie (net, sys, ncurses, etc...). Certains sous-répertoires sont des liens symboliques vers les fichiers entêtes du noyau (comme par exemple scsi, asm, linux, etc...). Le répertoire /usr/include/asm n'est un lien que sur les systèmes autres que Debian ou libc6 (glibc2).

/usr/lib contient les bibliothèques utilisées par les programmes des utilisateurs. Les grosses applications possèdent habituellement leur propre sous-répertoire ici. Dans /usr/lib figurent également divers programmes qui ne sont jamais lancés directement par les utilisateurs.

/usr/lib/X11 est un lien symbolique vers /usr/X11R6/lib/X11

/usr/local contient une arborescence utilisée pour stocker, les programmes (/usr/local/bin), les bibliothèques (/usr/local/lib), les documentations (/usr/local/doc), etc... qui est spécifique à la machine ou au site. Dans certaines distributions, (comme RedHat) le répertoire /usr/local/bin n'est pas spécifié dans la variable PATH (idem pour /usr/local/lib dans ld.so.conf).

/usr/man contient les pages de manuel (man pages).

/usr/src est un emplacement contenant les sources des diverses applications installées sur le système.

/usr/src/linux contient l'arborescence réservée aux sources du noyau.

 

LES REPERTOIRES DANS /var

/var/lock contient les "fichiers de verrouillage". Par convention, le nom des fichiers est toujours LCK.<périphérique> où <périphérique> est un nom de... périphérique.

/var/log est utilisé pour stocker les divers journaux du système. Ces fichiers journaux sont très utiles pour diagnostiquer un problème comme une connexion ppp défectueuse.

/var/preserve contient les sauvegardes d'édition de l'utilitaire vi.

/var/spool contient les files d'attentes pour les impressions et les fichiers.

/var/spool/cron contient les entrées crontab pour l'automatisation des tâches.

/var/spool/lpd contient les fichiers en attente pour l'impression

/var/spool/mail contient les boîtes à lettres (mailbox) et les messages (mails) des utilisateurs.

/var/spool/smail contient les fichiers en attente pour la distribution des messages (programme smail).

Il existe encore d'autres répertoires qui dépendent de la distribution que vous utilisez. Référez-vous à la page de manuel hier (section 7) pour plus d'informations.


© Copyright 2000 Diamond Editions/Linux magazine France. - Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1or any later version published by the Free Software Foundation; A copy of the license is included in the section entitled "GNU Free Documentation License".