Linux-Mandrake:
Guide de l'utilisateur
et Manuel de référence

MandrakeSoft

 
 
Janvier 2000
http://www.linux-mandrake.com


Suivant : Compilation et installation de nouveaux noyaux
Précédent : Les fichiers de démarrage: init « System V »
Retour

(Retour à la table des matières)

Chapitre 10 : Systèmes de fichiers et points de montage


Le mieux pour comprendre « comment ça marche » est de prendre un cas pratique, ce que nous allons faire ici. Supposons que vous veniez juste d'acheter un disque dur flambant neuf, encore vierge de toute partition. Votre partition consacrée à Linux-Mandrake est pleine à ras bord, et plutôt que de tout refaire à partir de zéro, vous décidez de déplacer toute une partie de l'arborescence sur votre nouveau disque dur. Votre nouveau disque dur étant très gros, vous décidez d'y déplacer votre répertoire le plus encombrant: /usr. Mais en premier lieu, un peu de théorie.

Principes

Comme nous l'avons déjà mentionné dans le Guide d'installation, chaque disque dur est divisé en plusieurs partitions, et chacune de ces partitions contient un système de fichiers. Tandis que Windows associe une lettre à chacun de ces systèmes de fichiers (enfin, seulement à ceux qu'il reconnaît), Linux possède une arborescence des fichiers unique, et chacun des systèmes de fichiers est monté à un endroit de l'arborescence.

De même que Windows a besoin d'un « lecteur C: », Linux a besoin de pouvoir monter la racine de son arborescence (/) quelque part, en l'occurrence sur une partition qui contient le système de fichiers racine. Une fois la racine montée, on peut monter d'autres systèmes de fichiers dans l'arborescence, sur différents points de montage dans l'arborescence. N'importe quel répertoire en-dessous de la racine peut faire office de point de montage.

Cela autorise une grande souplesse dans la configuration. Dans le cas d'un serveur web, par exemple, il est courant de consacrer une partition entière au répertoire hébergeant les données du serveur web. Le répertoire qui les contient est en règle générale /home/httpd, qui fera donc office de point de montage pour la partition. Vous pouvez voir dans les figures 50.1 et 17.2 la situation du système avant et après le montage du système de fichiers.

Un système de fichiers pas encore monté
Figure 50.1 Un système de fichiers pas encore monté

Le système de fichiers est maintenant monté
Figure 17.2 Le système de fichiers est maintenant monté

Comme vous pouvez l'imaginer, cela présente de nombreux avantages: l'arborescence sera toujours la même, qu'elle s'étende sur un seul système de fichiers ou plusieurs dizaines[24], et il est toujours possible de déplacer physiquement une partie encombrante de l'arborescence sur une autre partition quand la place vient à manquer, ce que nous allons faire ici.

Il faut savoir deux choses sur les points de montage:

Partitionner un disque dur et formater une partition

Des principes évoqués ci-dessus et pour ce qui nous intéresse dans cette section, il faut retenir deux choses: un disque dur fonctionnel est divisé en partitions et chacune de ces partitions héberge un système de fichiers. Or, pour l'instant, votre disque dur tout neuf ne possède ni l'un ni l'autre, c'est donc par là qu'il faut commencer, avec en premier lieu le partitionnement. Pour cela, vous devez être root.

Tout d'abord, il faut savoir quel est le « nom » de votre disque dur, c'est-à-dire quel fichier le matérialise. Supposons que vous l'ayez mis en tant qu'esclave sur votre interface IDE primaire, ce sera donc /dev/hdb[25].

Les commandes mount et umount

Maintenant que le système de fichiers est créé, on peut monter la partition. Elle sera vide dans un premier temps, bien sûr. La commande pour monter des systèmes de fichiers est la commande mount, et sa syntaxe est la suivante:

mount [options] <-t type> [-o options de montage] <périphérique>
  <point de montage>

En l'occurrence, on souhaite monter notre partition sur /mnt (ou tout autre point de montage que vous aurez choisi --- n'oubliez pas qu'il doit exister); la commande pour monter notre partition nouvellement créée est la suivante:

$ mount -t ext2 /dev/hdb1 /mnt

L'option -t sert à spécifier quel type de système de fichiers la partition est censée héberger. Parmi les systèmes de fichiers que vous rencontrerez le plus souvent, vous trouverez ext2 (le système de fichiers de Linux), vfat (pour toutes les partitions DOS/Windows: FAT 12, 16 ou 32) et iso9660 (système de fichiers des CD-ROM).

L'option -o sert à spécifier une ou plusieurs options de montage. Ces options dépendent du système de fichiers utilisé. Reportez-vous à la page de manuel de mount(8) pour plus de détails.

Maintenant que vous avez monté votre nouvelle partition, il s'agit de recopier tout le répertoire /usr dedans:

$ (cd /usr && tar cf - .) | (cd /mnt && tar xpvf -)

Maintenant que les fichiers sont recopiés, on peut démonter notre partition. Pour cela, la commande est umount. Sa syntaxe est simple:

umount <point de montage|périphérique>

Donc, pour démonter notre nouvelle partition, on peut taper:

$ umount /mnt

ou bien:

$ umount /dev/hdb1

Cette partition étant appelée à « devenir » notre répertoire /usr, il nous faut le dire au système. Pour cela, il nous faut remplir:

Le fichier /etc/fstab

Le fichier /etc/fstab permet d'automatiser le montage de certains systèmes de fichiers, en particulier au démarrage du système. Il contient une série de lignes décrivant les systèmes de fichiers, leur point de montage et d'autres options. Voici un exemple de fichier /etc/fstab:

/dev/hda1   /           ext2    defaults        1 1
/dev/hda5   /home       ext2    defaults        1 2
/dev/hda6   swap        swap    defaults        0 0
/dev/fd0    /mnt/floppy auto    sync,user,noauto,nosuid,nodev,unhide 0 0
/dev/cdrom  /mnt/cdrom  auto    user,noauto,nosuid,exec,nodev,ro 0 0
none        /proc       proc    defaults        0 0
none        /dev/pts    devpts  mode=0622       0 0

Une ligne contient, dans l'ordre:

Comme de juste, il y a toujours une entrée pour la racine. Les partitions de swap sont particulières puisqu'elles ne sont pas visibles dans l'arborescence, et le champ « point de montage » pour ces partitions contient le mot-clé swap. Nous reviendrons plus en détail sur /proc.

Revenons à nos moutons. Vous avez bougé toute la hiérarchie /usr sur /dev/hdb1 et donc vous voudriez que cette partition soit montée au démarrage. Dans ce cas il vous faudra ajouter une entrée dans le fichier:

/dev/hdb1 /usr ext2 defaults 1 2

Ainsi à chaque démarrage la partition sera montée. Elle sera également vérifiée si besoin est.

Il existe deux options particulières: noauto et user. L'option noauto indique que le système de fichiers ne doit pas être monté au démarrage mais doit être monté explicitement. L'option user indique que n'importe quel utilisateur peut monter et démonter le système de fichiers. Comme vous pouvez le constater, ces deux options sont logiquement utilisées pour le lecteur CD-ROM et le lecteur de disquettes. Il existe d'autres options, et /etc/fstab dispose même de sa propre page de manuel: fstab(5).

Enfin, l'un des avantages (et non des moindres) de ce fichier est qu'il simplifie la syntaxe de la commande mount. Pour monter un système de fichiers qui y est référencé, on peut au choix référencer le point de montage ou le périphérique. Ainsi, pour monter une disquette, on peut taper:

$ mount /mnt/floppy

ou bien:

$ mount /dev/fd0

Terminons-en avec notre exemple de déplacement de partitions: nous avons recopié la hiérarchie /usr et rempli /etc/fstab pour que la nouvelle partition soit montée au démarrage. Mais pour l'instant les anciens fichiers de /usr sont toujours là! Il faut donc les effacer pour libérer de la place (ce qui, après tout, était notre objectif premier). Pour cela, donc, il vous faut:

et vous en avez terminé.


Suivant : Compilation et installation de nouveaux noyaux
Précédent : Les fichiers de démarrage: init « System V »
Retour

Copyright © 2000 MandrakeSoft