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 ext3 /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 ext2FS (le système de fichiers de GNU/Linux) ou ext3FS (une version améliorée de ext2FS munie de capacités de journalisation), VFAT (pour toutes les partitions DOS/Windows® : FAT 12, 16 ou 32) et ISO9660 (système de fichiers des CD-ROMs). Si vous ne spécifiez aucun type, mount essaiera et trouvera quel système de fichier est hébergé par cette partition en lisant le superblock. Il échoue rarement.

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 copiés, nous pouvons démonter notre partition. Utilisez la commande umount. Sa syntaxe est simple :

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

Donc, pour démonter notre nouvelle partition, nous pouvons taper :

$ umount /mnt

ou bien :

$ umount /dev/hdb1
[Tip]Astuce

Il peut arriver qu'un périphérique (tel que CD-ROM) soit occupé. Si cela arrive, la plupart des utilisateurs tenterait de régler ce problème en redémarrant l'ordinateur. Par exemple si umount /dev/hdc échoue, vous pourriez essayer la commande "paresseuse" umount. Sa syntaxe est assez simple :

umount -l <point_de_montage|périphérique>

Cette commande déconnecte le périphérique et ferme toutes les connexions à ce périphérique, du moins lorsque c'est possible. Habituellement, vous pouvez éjecter un disque en utilisant la commande eject <point_de_montage|périphérique>. Donc... si la commande eject ne fait rien et que vous ne voulez pas redémarrer votre ordinateur, utiliser le "démontage paresseux".

Cette partition étant appelée à « devenir » notre répertoire /usr, nous devons le dire au système. Pour cela, nous devons éditer le fichier /etc/fstab. Il 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 :

/dev/hda1   /           ext2    defaults        1 1
/dev/hda5   /home       ext2    defaults        1 2
/dev/hda6   swap        swap    defaults        0 0
none        /mnt/cdrom  supermount dev=/dev/scd0,fs=udf:iso9660,ro,--,
iocharset=iso8859-15 0 0
none        /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,sync,
umask=0,iocharset=iso8859-1,codepage=850 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 dans Chapitre 10, Le système de fichiers /proc. Un autre système de fichier particulier (que nous ne détaillerons pas) est /dev/pts.

Revenons à nos moutons. Vous avez bougé toute la hiérarchie /usr sur /dev/hdb1 et donc vous voudriez que cette partition soit montée en tant que /usr/ 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. 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 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 ce faire, il vous faut tout d'abord mettre la machine en mode « single user » en lançant la commande telinit 1. Ensuite :

Et voilà ! Revenez maintenant en mode multiutilisateurs (telinit 3 ou telinit 5), et si vous n'avez plus de tâche d'administration à accomplir sur votre machine, il est temps de mettre fin à la session de l'utilisateur privilégié root.