Linux-Mandrake: |
Guide de l'utilisateur |
et Manuel de référence |
MandrakeSoft
Janvier 2000 http://www.linux-mandrake.com
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.
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.
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:
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].
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:
/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:
dump
,
fsck
(FileSystem ChecK,
« vérification des systèmes de fichiers »).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:
/usr
(l'« ancien », donc, puisque le « nouveau » n'est pas
monté pour l'instant): rm -Rf /usr/*
;
/usr
: mount /usr
et vous en avez terminé.