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 |
$ umount /dev/hdb1 |
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 |
$ 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.