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
$ umount /dev/hdb1
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=0022,user,iocharset=utf8,noauto,ro,exec,users 0 0 /dev/fd0 /mnt/floppy supermount dev=/dev/fd0,fs=ext2:vfat,--,umask=0022,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 5, 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.
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
$ 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. Ceci arrêtera tous les services et empêchera les utilisateurs de se connecter sur la machine.
Ensuite, il nous faut effacer tous les fichiers du
répertoire /usr
(l'« ancien », donc, puisque le
« nouveau » n'est pas monté pour
l'instant) : rm -Rf /usr/*;
Enfin, il ne nous reste
plus qu'à monter le
« nouveau » /usr
:
mount /usr/
Et voilà !
Revenez maintenant en mode multiutilisateurs (telinit
3 pour le mode texte standard ou telinit
5 pour le mode graphique), 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
.