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
Note
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/shm
df
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 exécuter 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/shm
Note
/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. |
- Un périphérique mappé
- Un volume logique dans un groupe de volumes. Par exemple,
/dev/mapper/VolGroup00-LogVol02
. - Un périphérique statique
- Un volume de stockage traditionnel. Par exemple,
/dev/sdbX
, où sdb est un nom de périphérique de stockage et où X est le numéro de la partition./dev/sdbX
peut également être/dev/disk/by-id/WWID
, ou/dev/disk/by-uuid/UUID
, (voir Section 24.7, « Dénomination persistante » pour obtenir plus d'informations sur ces options).
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 /usr/bin/
ou /usr/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 /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.6. 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.7. Répertoire /proc/
/proc/
contient des fichiers spéciaux qui extraient des informations du noyau ou y envoient 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.8. 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/
.
2.1.1.9. Répertoire /sys/
/sys/
utilise le nouveau système de fichiers virtuel spécifique au noyau, sysfs
. Grâce à la meilleure prise en charge de l'enfichage à chaud de périphériques matériels dans le noyau, le répertoire /sys/
contient des informations similaires à celles qui sont 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.10. 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. Au minimum, le répertoire /usr/
doit contenir 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.À partir de Red Hat Enterprise Linux 7.0, le répertoire
/lib/
a été mergé avec/usr/lib
. Il doit également contenir les bibliothèques nécessaires à l'exécution des binaires dans/usr/bin/
et/usr/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. /usr/libexec
- Ce répertoire contient les programmes d'assistance de petite taille appelés par d'autres programmes.
/usr/sbin
- À partir de Red Hat Enterprise Linux 7.0,
/sbin
a été déplacé dans/usr/sbin
. Cela signifie qu'il contient tous les binaires d'administration système, y compris ceux qui sont essentiels pour démarrer, restaurer, recouvrer ou réparer le système. Les binaires de/usr/sbin/
ont besoin de privilèges root pour être utilisés. /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/tmp
lié à/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/
doit ê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.11. Répertoire /var/
/usr/
en lecture seule, tout programme qui écrit des fichiers journaux ou nécessite les répertoires spool/
ou lock/
doit 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/
:
/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/mail
lié à/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/
Important
/var/run/media/user
contient des sous-répertoires utilisés comme points de montage pour des supports amovibles, tels que les supports de stockage USB, les DVD, les CD-ROM, et les disques Zip. Notez qu'auparavant, le répertoire /media/
était utilisé pour cela.
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 incluent :
/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/