3. 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, puisque le système n'y avait pas accès précédemment pour y écrire des fichiers. 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, nous souhaitons monter temporairement notre partition sur /mnt/nouveau 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/nouveau

L'option -t sert à spécifier quel type de système de fichiers la partition est censée héberger. Les systèmes de fichiers que vous rencontrerez le plus souvent sont 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), NTFS (pour les versions de Windows® récentes) et ISO9660 (système de fichiers des CD-ROMs). Si vous ne spécifiez aucun type, mount essaiera et trouvera quel système de fichiers est hébergé par cette partition en lisant le superblock.

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/nouveau && 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
[Astuce]Astuce

Il peut arriver qu'un périphérique (tel que CD-ROM) soit occupé. Le cas échéant, 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, utilisez le "démontage paresseux".

Cette partition étant appelée à « devenir » notre répertoire /usr, nous devons l'indiquer 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/hda2 / ext3 defaults 1 1
/dev/hdd /mnt/cdrom auto umask=0,iocharset=utf8,sync,nosuid,ro,nodev,users 0 0
/dev/fd0 /mnt/floppy auto umask=0,iocharset=utf8,sync 0 0
/dev/hda1 /mnt/windows ntfs umask=0,nls=utf8,ro 0 0
none /proc proc defaults 0 0
/dev/hda3 swap swap defaults 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.

Veuillez noter que votre système peut ajouter ou enlever automatiquement des entrées de ce fichier. C'est la commande fstab-sync qui s'en charge : elle reçoit des messages concernant des événements particuliers de la part du système de couche d'abstraction matérielle (Hardware Abstraction Layer ou HAL) et transforme le fichier /etc/fstab en conséquence. Consultez la page de manuel fstab-sync(8) pour plus de détails.

Revenons à nos moutons. Nous avons déplacé toute la hiérarchie /usr sur /dev/hdb1 et nous voudrions que cette partition soit montée en tant que /usr/ au démarrage. Dans ce cas, ajoutez l'entrée suivante dans le fichier /etc/fstab :

/dev/hdb1 /usr ext3 defaults 1 2

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

[Note]Note

Si votre partition n'est pas de type ext3FS, vous devrez indiquer de quel type il s'agit. ext2 et reiserfs sont assez courants. Veuillez remarquer que le dernier champ a pour valeur ext2 et reiserfs2. Ceci signifie qu'elle sera vérifiée après toutes les entrées ayant une valeur de 1 et tout système de fichier à priorité équivalente mais inscrit avant dans /etc/fstab. Seule la partition racine (/) devrait avoir une valeur de 1.

Il existe deux options particulières : noauto et users. 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 users indique que n'importe quel utilisateur peut monter et démonter le système de fichiers. Ces deux options sont logiquement utilisées pour les lecteurs CD-ROM et 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).

Et voilà ! Revenez maintenant en mode multi-utilisateurs (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.