Chapitre 10. Le système de fichiers

1. Périphérique, partition, système de fichiers
2. L'arborescence
3. Les périphériques
4. Intégration d'un système de fichiers (montage)

Avant d'aborder l'étape de partitionnement, il faut assimiler quelques notions sur la gestion des systèmes de fichiers sous Unix.

1. Périphérique, partition, système de fichiers

1.1. Périphériques et partitions

Un ordinateur travaille en utilisant des données présentes sur des périphériques : il peut s'agir des disques durs, de disquettes, de clefs usb ou encore de disques optiques.

Le cas des disques durs et des clefs usb est particulier. En effet, ces périphériques sont rarement utilisés directement, mais sont plutôt découpés en partitions, qui apparaissent comme plusieurs périphériques plus petits. Dans le cas où un disque dur est utilisé comme un périphérique unique, il est en réalité « découpé » en une unique partition qui occupe la totalité de l'espace disponible, à l'exception d'une zone située au début du disque, qui constitue la table de partitions.

En définitive, les périphériques habituellement utilisés se présentent au système d'exploitation sous la forme d'une succession de blocs de données numérotés. Cette organisation basique ne définit aucune notion de fichier ou de répertoire, et permet seulement de stocker des données les unes à la suite des autres.

1.2. Système de fichiers

Les données sont normalement présentées à l'utilisateur et aux programmes selon une organisation structurée, sous la forme de répertoires et de fichiers. Pour pouvoir stocker ces données structurées sur un périphérique, il faut utiliser un format qui les représente sous la forme d'une succession de blocs de données : c'est ce qu'on appelle un système de fichiers.

Les systèmes de fichiers les plus courants sont la fat (disquettes et clefs usb), ntfs (Windows), Ext2, Ext3 et Ext4 (Linux), iso 9660 (cd) et udf (dvd).

2. L'arborescence

Contrairement au système de fichiers Windows, il n'existe pas de lecteurs A:, C:, etc.

L'entrée du système de fichiers se situe à la racine, notée /.

Ensuite, il existe un certain nombre de répertoires présents par défaut. Le Tableau 10.1 explique les fonctions des plus importants d'entre eux (pour plus de détails, vous pourrez regarder le manuel man hier une fois votre installation effectuée).

[Note] Note

Pour certaines installations, il peut être intéressant de dédier un médium (partition de disque dur) à certains répertoires, en les séparant ainsi du médium principal de stockage de votre système. La troisième colonne identifie les répertoires pour lesquels une telle disposition peut présenter un intérêt : n'en déduisez pas que vous devez ainsi externaliser tous ces répertoires !

Tableau 10.1. L'arborescence d'un système Linux

Répertoire description intérêt d'un système de fichiers dédié
/ Répertoire "racine", point d'entrée du système de fichiers oui (obligatoire)
/boot Répertoire contenant le noyau Linux et l'amorceur non (sauf cas très particuliers)
/bin Répertoire contenant les exécutables de base, comme par exemple cp, mv, ls, etc. non
/dev Répertoire contenant des fichiers spéciaux nommés devices qui permettent le lien avec les périphériques de la machine oui (automatiquement mis en place)
/etc Répertoire contenant les fichiers de configuration du système oui (délicat)
/home Répertoire contenant les fichiers personnels des utilisateurs (un sous-répertoire par utilisateur) oui
/lib Répertoire contenant les librairies et les modules du noyau (/lib/modules) non
/media Répertoire contenant les « points de montage » des médias usuels : cd, dvd, disquette, clef usb non
/root Répertoire personnel de l'administrateur non
/sbin Répertoire contenant les exécutables destinés à l'administration du système non
/tmp Répertoire contenant des fichiers temporaires utilisés par certains programmes oui
/usr Répertoire contenant les exécutables des programmes (/usr/bin et /usr/sbin), la documentation (/usr/doc), et les programmes pour le serveur graphique (/usr/X11R6). non (en général)
/var Répertoire contenant les fichiers qui servent à la maintenance du système (les fichiers de journaux notamment dans /var/log) oui

3. Les périphériques

3.1. L'accès aux périphériques

Une des originalités des systèmes Unix est leur manière d'accéder aux périphériques. Chaque périphérique du système (souris, disque dur, lecteur de cd, carte son, etc.) est représenté par un fichier spécial (Tableau 10.2). Écrire dans un tel fichier va envoyer des commandes au périphérique. Lire un tel fichier permet d'en recevoir des données. C'est une méthode très simple qui a fait ses preuves !

Tableau 10.2. Exemples de périphériques

Fichier périphérique
/dev/input/mouse0 souris
/dev/fd0 lecteur de disquettes
/dev/hda lecteur maître de la première nappe ide
/dev/hdb lecteur asservi de la première nappe ide
/dev/hdc lecteur maître de la seconde nappe ide
/dev/hdd lecteur asservi de la seconde nappe ide
/dev/sda premier disque dur sata, scsi ou usb
/dev/sdb second disque dur sata, scsi ou usb
/dev/ttyS0 premier port série ou infrarouge
/dev/ttyS1 second port série ou infrarouge
/dev/parport0 port parallèle
/dev/lp0 imprimante parallèle
/dev/usb/lp0 imprimante usb

3.2. Les partitions

Pour connaître la position de vos disques durs ide ou sata et de vos lecteurs de cd (primary master, primary slave, secondary master ou secondary slave), le plus simple est de regarder dans le bios.

Vous pouvez aussi le savoir à partir des branchements des nappes ide et des cavaliers sur les disques durs ou les lecteurs de cd : primary correspond à la première nappe ide, et secondary à la seconde ; sur chaque nappe, on peut brancher au plus deux périphériques, un master et un slave (cela se règle avec un cavalier sur le périphérique).

Sur un disque dur ide ou sata, les partitions sont numérotées de la façon suivante :

Tableau 10.3. La numérotation des partitions

Type ordre numéros
primaires apparition sur le disque de 1 à 4
lecteurs logiques apparition dans la partition étendue de 5 à 20

Exemples :

  • Si vous avez 4 partitions primaires, elles sont numérotées dans l'ordre hda1/sda1 (hda1 pour un disque ide / sda1 pour un disque sata), hda2/sda2, hda3/sda3 et hda4/sda4.

  • Si vous avez dans l'ordre : 2 partitions primaires, 1 partition étendue avec 3 lecteurs logiques dedans, et 1 dernière partition primaire à la fin, ça donne :

    • Les deux premières partitions primaires sont hda1/sda1 et hda2/sda2,

    • La partition étendue est hda3/sda3,

    • Les lecteurs logiques de la partition étendue sont, dans l'ordre, hda5/sda5, hda6/sda6 et hda7/sda7,

    • La dernière partition primaire est hda4/sda4.

3.3. Les périphériques spéciaux

Il existe un certain nombre de périphériques « spéciaux » qui ne correspondent à aucun matériel, mais qui servent quand même !

Tableau 10.4. Exemple de périphériques spéciaux

Fichier description
/dev/null on peut envoyer une infinité de données à ce périphérique, qui les ignorera...
/dev/zero on peut lire une infinité de zéros depuis ce périphérique
/dev/random on peut lire des nombres aléatoires depuis ce périphérique

4. Intégration d'un système de fichiers (montage)

Considérons deux partitions (Figure 10.1). Sur ces partitions sont écrits deux systèmes de fichiers : ce sont des formats de stockage d'une arborescence de fichiers et de répertoires. La première partition contient une arborescence racine, et la seconde des répertoires personnels d'utilisateurs.

Figure 10.1. Avant intégration

Avant intégration

Nous allons pouvoir intégrer le second système de fichiers dans le répertoire /home du premier à l'aide de la commande mount : on parle de monter le second système de fichiers dans le point de montage /home.

Par exemple, si le deuxième système de fichiers est /dev/hda2, il suffira de taper :

# mount /dev/hda2 /home

pour obtenir la configuration présentée sur la Figure 10.2.

Figure 10.2. Après intégration

Après intégration