Red Hat Enterprise Linux 4: Guide de référence | ||
---|---|---|
Précédent | Chapitre 3. Structure d'un système de fichiers | Suivant |
Red Hat Enterprise Linux utilise la structure de système de fichiers FHS (de l'anglais Filesystem Hierarchy Standard), un document de collaboration définissant les noms, les emplacements et les permissions de nombreux types de fichiers et répertoires.
Le document FHS actuel est la référence faisant autorité pour tout système de fichiers compatible avec le standard FHS, mais le standard comprend de nombreuses zones indéfinies ou extensibles. Cette section donne un aperçu de la norme et une description des éléments du système de fichiers qui ne sont pas couverts par celle-ci.
La conformité avec la norme a de nombreuses implications, mais les deux aspects les plus importants sont la compatibilité avec d'autres systèmes également conformes et la possibilité de monter une partition /usr/ en lecture-seule car elle contient des fichiers exécutables courants et n'a pas pour vocation d'être modifiée par les utilisateurs. Étant donné que le répertoire /usr/ peut être monté en lecture-seule, le montage peut être effectué depuis le CD-ROM ou depuis un autre ordinateur par le biais d'un montage NFS en lecture-seule.
Les répertoires et les fichiers mentionnés ici représentent un petit sous-ensemble de ceux qui sont spécifiés par le document FHS. Consultez le document FHS le plus récent pour obtenir des renseignements complets.
La norme complète est disponible en ligne à l'adresse suivante : http://www.pathname.com/fhs/.
Le répertoire /boot/ contient des fichiers statiques requis pour démarrer le système, comme le noyau Linux. Ces fichiers sont essentiels pour que le système démarre correctement.
![]() | Avertissement |
---|---|
Ne supprimez le répertoire /boot/ sous aucun prétexte. En effet, sa suppression empêcherait votre système de démarrer. |
Le répertoire /dev/ contient des entrées de système de fichiers représentant des périphériques connectés au système. Ces fichiers sont essentiels au bon fonctionnement du système.
Le répertoire /etc/ est réservé aux fichiers de configuration locaux sur votre ordinateur. Aucun fichier binaire ne devrait être stocké dans /etc/. Tous les fichiers binaires qui se trouvaient auparavant dans /etc/ devraient être maintenant stockés dans /sbin/ ou dans /bin/.
Les répertoires /X11/ et /skel/ doivent être des sous-répertoires du répertoire /etc/ :
/etc |- X11/ |- skel/ |
Le répertoire /etc/X11/ est destiné aux fichiers de configuration du système X Window, tels que xorg.conf. Le répertoire /etc/skel/ est pour les fichiers utilisateur "squelette" qui sont utilisés pour remplir un répertoire personnel lors de la création d'un nouvel utilisateur.
Le répertoire /lib/ ne devrait contenir que les bibliothèques nécessaires à l'exécution de fichiers binaires dans /bin/ et /sbin/. Ces images de bibliothèques partagées sont particulièrement importantes pour le démarrage du système et l'exécution de commandes dans le système de fichiers racine.
Le répertoire /media/ contient des sous-répertoires utilisés comme points de montage pour des supports amovibles, tels que les disquettes 3,5 pouces, les CD-ROM et les disques Zip.
Le répertoire /mnt/ est réservé aux systèmes de fichiers montés de façon temporaire, tels que les montages NFS de systèmes de fichiers. Pour tout support amovible, utilisez le répertoire /media/.
![]() | Remarque |
---|---|
Ce répertoire ne doit pas être utilisé par des programmes d'installation. |
Le répertoire /opt/ fournit du stockage pour des paquetages logiciels d'applications statiques de grande taille.
Un paquetage qui place des fichiers dans le répertoire /opt/ crée un répertoire portant le même nom que le paquetage. Celui-ci contient les fichiers qui autrement seraient éparpillés dans tout le système de fichiers, offrant ainsi à l'administrateur système un moyen facile de déterminer le rôle de chaque fichier d'un paquetage donné.
Par exemple, si sample était le nom d'un paquetage logiciel situé dans le répertoire /opt/, tous ses fichiers pourraient être placés dans des répertoires à l'intérieur de /opt/sample/, tels que /opt/sample/bin/ pour les fichiers binaires et /opt/sample/man/ pour les pages de manuel.
Les paquetages de grande taille qui contiennent de nombreux sous-paquetages différents exécutant chacun une tâche spécifique, se trouvent également dans le répertoire /opt/, leur donnant ainsi une façon standard de s'organiser. Pour reprendre notre exemple, le paquetage sample pourrait contenir différents outils allant chacun dans un sous-répertoire qui lui est propre, comme /opt/sample/tool1/ et /opt/sample/tool2/, qui à son tour peut avoir ses propres répertoires /bin/, /man/ et autres répertoires semblables.
Le répertoire /proc/ contient des fichiers spéciaux qui extraient des informations à partir du noyau ou envoient des informations au noyau.
Étant donné l'immense variété de données disponibles dans /proc/ et les nombreuses manières selon lesquelles ce répertoire peut être utilisé pour communiquer avec le noyau, un chapitre entier a été consacré à ce sujet. Pour obtenir de plus amples informations, consultez le Chapitre 5.
Le répertoire /sbin/ est conçu pour les fichiers exécutables qui sont utilisés par le super-utilisateur. Les fichiers exécutables dans /sbin/ ne sont utilisés que pour démarrer et exécuter des opérations de remise en état du système. FHS indique ce qui suit :
"/sbin/ contient généralement des fichiers essentiels pour le démarrage, la restauration et/ou la réparation du système, en plus des fichiers binaires figurant dans /bin/. Tous les programmes exécutés après que /usr/ soit monté (lorsqu'il n'y a pas de problème) sont généralement placés dans /usr/sbin/. Les programmes d'administration système installés localement doivent être placés dans le répertoire /usr/local/sbin/."
Au minimum, les programmes suivants doivent être présents dans /sbin/ :
arp, clock,halt, init, fsck.*, grub, ifconfig, mingetty, mkfs.*, mkswap, reboot, route, shutdown, swapoff, swapon |
Le répertoire /srv/ contient des données spécifiques au site qui sont fournie par votre système exécutant Red Hat Enterprise Linux. Ce répertoire donne aux utilisateurs l'emplacement de fichiers de données pour un service spécifique, tel que FTP, WWW ou CVS. Des données ne se rapportant qu'à un utilisateur spécifique devraient aller dans le répertoire /home/.
![]() | Remarque |
---|---|
Veuillez prendre note du fait que des fichiers actuellement placés dans /var/ pourraient être déplacés vers /srv/ dans de futures versions. |
Le répertoire /sys/ utilise le nouveau système de fichiers virtuel sysfs spécifique au noyau 2.6. Avec la prise en charge améliorée pour des périphériques matériels enfichables à chaud dans le noyau 2.6, le répertoire /sys/ contient des informations semblables à celles contenues dans /proc/, mais affiche une vue hiérarchisée des informations spécifiques aux périphériques pour ce qui est des périphériques enfichables à chaud.
Pour voir comment certains périphériques USB et FireWire sont montés, reportez-vous aux pages de manuel de /sbin/hotplug et /sbin/udev.
Le répertoire /usr/ est destiné aux fichiers pouvant être partagés parmi plusieurs machines. Le répertoire /usr/, monté en lecture-seule, réside généralement sur sa propre partition. Au minimum, les répertoires suivants devraient être des sous-répertoires de/usr/ :
/usr |- bin/ |- etc/ |- games/ |- include/ |- kerberos/ |- lib/ |- libexec/ |- local/ |- sbin/ |- share/ |- src/ |- tmp -> ../var/tmp/ |- X11R6/ |
Sous le répertoire /usr/, le sous-répertoire bin/ contient des fichiers exécutables, etc/ contient des fichiers de configuration pour l'ensemble du système, games/ est pour les jeux, include/ contient des fichiers d'en-tête C, kerberos/ contient des fichiers binaires et d'autres éléments en relation avec Kerberos et finalement, lib/ contient des fichiers objet et des bibliothèques qui ne sont pas conçu pour être utilisés directement par les utilisateurs ou les scripts shell. Le répertoire libexec/ contient de petits programmes d'aide appelés par d'autres programmes, sbin/ est pour les fichiers binaires d'administration système (ceux qui n'appartiennent pas au répertoire /sbin/), share/ contient des fichiers qui ne sont pas spécifiques à une architecture particulière, src/ est pour le code source et X11R6/ est pour le système X Window (XFree86 sur Red Hat Enterprise Linux).
"La hiérarchie /usr/local/ est destinée à être utilisée par l'administrateur système lors de l'installation locale de logiciels. Elle doit être protégée contre tout écrasement lors de la mise à jour des logiciels du système. Elle peut être utilisée pour des programmes et des données partageables entre un groupe d'ordinateurs, mais ne figurant pas dans /usr/."
Le répertoire /usr/local/ est semblable, de par sa structure, au répertoire /usr/. Il contient les sous-répertoires suivants, qui sont semblables, de par leur fonction, à ceux qui se trouvent dans le répertoire /usr/ :
/usr/local |- bin/ |- etc/ |- games/ |- include/ |- lib/ |- libexec/ |- sbin/ |- share/ |- src/ |
Dans Red Hat Enterprise Linux, l'utilisation prévue pour /usr/local/ est légèrement différente de celle qui est spécifiée par le document FHS. Selon ce dernier, /usr/local/ devrait se trouver là où sont stockés des logiciels devant rester à l'écart des mises à niveaux logicielles du système. Étant donné que les mises à niveau logicielles s'effectuent en toute sécurité à l'aide du gestionnaire de RPM (Red Hat Package Manager), il n'est pas nécessaire de protéger des fichiers en les plaçant dans /usr/local/. À la place, le répertoire /usr/local/ est utilisé pour des logiciels locaux de votre ordinateur.
Par exemple, si le répertoire /usr/ est monté en tant que partage NFS en lecture-seule à partir d'un hôte distant, il est toujours possible d'installer un paquetage ou programme sous le répertoire /usr/local/.
FHS exigeant que Linux monte /usr/ en lecture-seule, tous les programmes qui écrivent des fichiers journaux ou ont besoin des répertoires spool/ ou lock/ devraient les écrire dans le répertoire /var/. FHS stipule que /var/ est pour :
...les fichiers de données variables. Parmi ces derniers figurent les répertoires et fichiers spool, les données administratives et de journalisation, de même que les fichiers transitoires et temporaires.
Les répertoires suivants peuvent être des sous-répertoires de /var/ :
/var |- account/ |- arpwatch/ |- cache/ |- crash/ |- db/ |- empty/ |- ftp/ |- gdm/ |- kerberos/ |- lib/ |- local/ |- lock/ |- log/ |- mail -> spool/mail/ |- mailman/ |- named/ |- nis/ |- opt/ |- preserve/ |- run/ +- spool/ |- at/ |- clientmqueue/ |- cron/ |- cups/ |- exim/ |- lpd/ |- mail/ |- mailman/ |- mqueue/ |- news/ |- postfix/ |- repackage/ |- rwho/ |- samba/ |- squid/ |- squirrelmail/ |- up2date/ |- uucp |- uucppublic/ |- vbox/ |- tmp/ |- tux/ |- www/ |- yp/ |
Les fichiers journaux du système, tels que messages/ et lastlog/ vont dans le répertoire /var/log/. Le répertoire /var/lib/rpm/ contient les bases de données système du RPM. Les fichiers de verrouillage (lock) vont dans le répertoire /var/lock/, généralement dans des répertoires spécifiques aux programmes qui utilisent ce type de fichiers. Le répertoire /var/spool/ a des sous-répertoires pour les programmes dans lesquels des fichiers de données sont stockés.
Précédent | Sommaire | Suivant |
Structure d'un système de fichiers | Niveau supérieur | Emplacement des fichiers spéciaux sous Red Hat Enterprise Linux |