Chapitre 2. Structure et maintenance des systèmes de fichiers
- Fichiers partageables vs fichiers non-partageables
- Fichiers variables vs fichiers statiques
2.1. Vue d'ensemble du standard de hiérarchie des systèmes de fichiers (FHS, ou « Filesystem Hierarchy Standard »)
- La compatibilité avec d'autres systèmes conformes à FHS
- La possibilité de monter une partition
/usr/en lecture seule. Ceci est particulièrement important car/usr/contient des fichiers exécutables communs et ne devrait pas être modifié par les utilisateurs. En outre, comme la partition/usr/est montée en lecture seule, elle devrait pouvoir être montée à partir du lecteur CD-ROM ou depuis une autre machine via un montage NFS en lecture seule.
2.1.1. Organisation FHS
2.1.1.1. Collecte des informations sur les systèmes de fichiers
df rapporte l'utilisation de l'espace disque du système. Sa sortie est similaire à la suivante :
Exemple 2.1. Sortie de la commande df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
11675568 6272120 4810348 57% / /dev/sda1
100691 9281 86211 10% /boot
none 322856 0 322856 0% /dev/shmdf affiche la taille de la partition en blocs de 1 kilo-octets, ainsi que la quantité d'espace disque utilisée et disponible en kilo-octets. Pour afficher ces informations en méga-octets et giga-octets, veuillez utiliser la commande df -h. L'argument -h se traduit par l'utilisation d'un format lisible (« human-readable »). La sortie de df -h est similaire à la suivante :
Exemple 2.2. Sortie de la commande df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
12G 6.0G 4.6G 57% / /dev/sda1
99M 9.1M 85M 10% /boot
none 316M 0 316M 0% /dev/shmNote
/dev/shm représente le système de fichiers de la mémoire virtuelle du système.
du affiche la quantité estimée d'espace utilisé par des fichiers dans un répertoire, et l'utilisation d'espace disque de chaque sous-répertoire. La dernière ligne dans la sortie de du affiche la totalité de l'utilisation d'espace disque du répertoire. Pour afficher la totalité de l'utilisation d'espace disque sous un format lisible, veuillez utiliser du -hs. Pour plus d'options, veuillez consulter man du.
gnome-system-monitor. Sélectionnez l'onglet Systèmes de fichiers pour afficher les partitions du système. La figure ci-dessous illustre l'onglet Systèmes de fichiers.

Figure 2.1. Onglet Surveillance système GNOME des systèmes de fichiers
2.1.1.2. Répertoire /boot/
/boot/ contient des fichiers statiques requis pour démarrer le système, par exemple le noyau Linux. Ces fichiers sont essentiels pour que le système puisse démarrer correctement.
Avertissement
/boot/. Le système ne pourra plus être démarré si ce répertoire est supprimé.
2.1.1.3. Répertoire /dev/
/dev/ contient des nœuds de périphériques qui représente les types de périphériques suivants :
- les périphériques attachés au système ;
- les périphériques fournis par le noyau.
udevd crée et supprime les nœuds de périphérique dans /dev/ selon les besoins.
/dev/ et ses sous-répertoires sont définis en tant que caractère (fournissant uniquement un flux en série d'entrées et sortie, par exemple une souris ou un clavier) ou bloc (accessible de manière aléatoire, par exemple un disque dur ou un lecteur de disquettes). Si GNOME ou KDE est installé, certains périphériques de stockage seront automatiquement détectés lorsqu'ils sont connectés (comme les lecteurs USB), ou insérés (comme avec un lecteur CD ou DVD), puis une fenêtre contextuelle affichant le contenu apparaîtra.
Tableau 2.1. Exemples de fichiers communs dans le répertoire /dev
| Fichier | Description |
|---|---|
| /dev/hda | Périphérique maître sur le canal IDE principal. |
| /dev/hdb | Périphérique esclave sur le canal IDE principal. |
| /dev/tty0 | Première console virtuelle. |
| /dev/tty1 | Seconde console virtuelle. |
| /dev/sda | Premier périphérique sur le canal principal SCSI ou SATA. |
| /dev/lp0 | Premier port parallèle. |
| /dev/ttyS0 | Port série. |
2.1.1.4. Répertoire /etc/
/etc/ est réservé aux fichiers de configuration qui sont locaux à l'ordinateur. Il ne doit contenir aucun fichier binaire ; tout fichier binaire devrait être déplacé dans /bin/ ou /sbin/.
/etc/skel/ stocke les fichiers utilisateur « squelette », qui sont utilisés pour remplir un répertoire de base lorsqu'un utilisateur est créé pour la première fois. Les applications stockent aussi leurs fichiers de configuration dans ce répertoire et peuvent les référencer lors de leur exécution. Le fichier /etc/exports contrôle quels systèmes de fichiers sont exportés vers des hôtes distants.
2.1.1.5. Répertoire /lib/
/lib/ doit uniquement contenir les bibliothèques nécessaires à l'exécution des binaires dans /bin/ et /sbin/. Ces images de bibliothèques partagées sont utilisées pour démarrer le système ou exécuter des commandes à l'intérieur du système de fichiers.
2.1.1.6. Répertoire /media/
/media/ contient des sous-répertoires utilisés comme points de montage pour des supports amovibles, tels que les supports de stockage USB, les DVD et les CD-ROM.
2.1.1.7. Répertoire /mnt/
/mnt/ est réservé aux systèmes de fichiers montés de manière temporaire, comme les montages de systèmes de fichiers NFS. Pour tous les supports de stockage amovibles, veuillez utiliser le répertoire /media/. Les supports de stockage amovibles détectés automatiquement seront montés dans le répertoire /media.
Important
/mnt ne doit pas être utilisé par des programmes d'installation.
2.1.1.8. Répertoire /opt/
/opt/ est habituellement réservé aux paquets logiciels et aux paquets de modules complémentaires ne faisant pas partie de l'installation par défaut. Un paquet effectuant une installation sur /opt/ crée un répertoire portant son nom, par exemple /opt/packagename/. Dans la plupart des cas, ce genre de paquets observe une structure prédictible de sous-répertoires. La plupart stockent leurs binaires dans /opt/packagename/bin/ et leurs pages man dans /opt/packagename/man/.
2.1.1.9. Répertoire /proc/
/proc/ contient des fichiers spéciaux qui extraient des informations du noyau ou y envoie des informations. Des exemples de ce genre d'informations incluent la mémoire système, des informations sur le CPU et la configuration du matériel. Pour obtenir des informations supplémentaires sur /proc/, veuillez consulter le Section 2.3, « Système de fichiers virtuel /proc ».
2.1.1.10. Répertoire /sbin/
/sbin/ stocke les binaires essentiels au démarrage, à la restauration, la récupération, ou la réparation du système. Les binaires dans /sbin/ requièrent des privilèges root pour être utilisés. En outre, /sbin/ contient des binaires utilisés par le système avant que le répertoire /usr/ ne soit monté. Tout utilitaire système utilisé après le montage de /usr/ sera habituellement placé dans /usr/sbin/.
/sbin/ :
arpclockhaltinitfsck.*grubifconfigmingettymkfs.*mkswaprebootrouteshutdownswapoffswapon
2.1.1.11. Répertoire /srv/
/srv/ contient des données spécifiques au site servies par un système Red Hat Enterprise Linux. Ce répertoire donne aux utilisateurs l'emplacement des fichiers de données pour un service particulier, tel que FTP, WWW, ou CVS. Les données pertinentes à un utilisateur en particulier doivent être placées dans le répertoire /home/.
Note
/var/www/html pour le contenu servi.
2.1.1.12. Répertoire /sys/
/sys/ utilise le nouveau système de fichiers virtuel spécifique au noyau 2.6, sysfs. Grâce à la meilleure prise en de l'enfichage à chaud de périphériques matériels dans le noyau 2.6, le répertoire /sys/ contient des informations similaires à celles offertes par /proc/, mais affiche une vue hiérarchique des informations des périphériques qui est spécifique aux périphériques enfichables à chaud.
2.1.1.13. Répertoire /usr/
/usr/ est utilisé pour les fichiers pouvant être partagés à travers de multiples machines. Le répertoire /usr/ se trouve souvent sur sa propre partition et est monté en lecture seule. Le répertoire /usr/ contient habituellement les sous-répertoires suivants :
/usr/bin- Ce répertoire est utilisé pour les binaires.
/usr/etc- Ce répertoire est utilisé pour les fichiers de configuration globaux.
/usr/games- Ce répertoire est utilisé pour stocker les jeux.
/usr/include- Ce répertoire est utilisé pour les fichiers en-têtes C.
/usr/kerberos- Ce répertoire est utilisé pour les fichiers et binaires liés à Kerberos.
/usr/lib- Ce répertoire est utilisé pour les fichiers objets et les bibliothèques qui ne sont pas conçus pour être directement utilisés par des scripts shell ou des utilisateurs. Ce répertoire est destiné aux systèmes 32-bit.
/usr/lib64- Ce répertoire est utilisé pour les fichiers objets et les bibliothèques qui ne sont pas conçus pour être directement utilisés par des scripts shell ou des utilisateurs. Ce répertoire est destiné aux systèmes 64-bit.
/usr/libexec- Ce répertoire contient les programmes d'assistance de petite taille appelés par d'autres programmes.
/usr/sbin- Ce répertoire stocke les binaires d'administration système qui n'appartiennent pas à
/sbin/. /usr/share- Ce répertoire stocke les fichiers qui ne sont pas particuliers à l'architecture.
/usr/src- Ce répertoire stocke le code source.
/usr/tmplié à/var/tmp- Ce répertoire stocke les fichiers temporaires.
/usr/ devrait aussi contenir un sous-répertoire /local/. Comme recommandé par la norme FHS, ce sous-répertoire est utilisé par l'administrateur système lors de l'installation locale de logiciels et ne doit pas être écrasé pendant les mises à jour du système. Le répertoire /usr/local possède une structure similaire à /usr/ et contient les sous-répertoires suivants :
/usr/local/bin/usr/local/etc/usr/local/games/usr/local/include/usr/local/lib/usr/local/libexec/usr/local/sbin/usr/local/share/usr/local/src
/usr/local/ diffère légèrement de la norme FHS. La norme FHS déclare que /usr/local/ devrait être utilisé pour stocker des logiciels qui ne doivent pas être affectés par les mises à niveau de logiciels système. Comme le gestionnaire de paquet RPM, « RPM Package Manager », peut effectuer des mises à niveau de logiciels en toute sécurité, il n'est pas nécessaire de protéger les fichiers en les stockant dans /usr/local/.
/usr/local/ pour les logiciels locaux. 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 paquet ou programme sous le répertoire /usr/local/.
2.1.1.14. Répertoire /var/
/usr/ en lecture seule, tout programme qui écrit des fichiers journaux ou nécessite les répertoires spool/ ou lock/ devrait les écrire sur le répertoire /var/. La norme FHS déclare que /var/ est utilisé pour les données variables, ce qui inclut les répertoires et fichier spool, les données de journalisation, et les fichiers transitoires et temporaires.
/var/, selon ce qui installé sur le système :
/var/account//var/arpwatch//var/cache//var/crash//var/db//var/empty//var/ftp//var/gdm//var/kerberos//var/lib//var/local//var/lock//var/log//var/maillié à/var/spool/mail//var/mailman//var/named//var/nis//var/opt//var/preserve//var/run//var/spool//var/tmp//var/tux//var/www//var/yp/
messages et lastlog, sont placés dans le répertoire /var/log/. Le répertoire /var/lib/rpm/ contient des bases de données RPM du système. Les fichiers de verrouillage sont placés dans le répertoire /var/lock/, habituellement dans les répertoires du programme utilisant le fichier. Le répertoire /var/spool/ contient des sous-répertoires qui stockent les fichiers de données de certains programmes. Ces sous-répertoires peuvent inclure :
/var/spool/at//var/spool/clientmqueue//var/spool/cron//var/spool/cups//var/spool/exim//var/spool/lpd//var/spool/mail//var/spool/mailman//var/spool/mqueue//var/spool/news//var/spool/postfix//var/spool/repackage//var/spool/rwho//var/spool/samba//var/spool/squid//var/spool/squirrelmail//var/spool/up2date//var/spool/uucp//var/spool/uucppublic//var/spool/vbox/

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.