Show 020.html syntax highlighted
<HTML><HEAD><TITLE>Linux-Mandrake: Guide de l'utilisateur et Manuel de référence</TITLE>
<LINK REV=MADE HREF="mailto:info@mandrakesoft.com"></HEAD>
<BODY BGCOLOR="#ffffff"><center><font size="+5"><STRONG><table border="0"><tr><td><STRONG>Linux-Mandrake</STRONG>:</td></tr><tr><td>Guide de l'utilisateur</td></tr><tr><td>et Manuel de référence</td></tr></table></STRONG></font>
<p><font size="+2"><STRONG><table border="0"><tr><td><STRONG>MandrakeSoft</STRONG></td></tr></table></STRONG></font>
<p><STRONG><table border="0"><tr><td> </td></tr><tr><td> </td></tr><tr><td>Janvier 2000</td></tr><tr><td><CODE>http://www.linux-mandrake.com</CODE></td></tr><tr><td></td></tr></table></STRONG></center>
<hr><a href="021.html">Suivant : Compilation et
installation de nouveaux noyaux</a><br><a href="019.html">Précédent : Les fichiers de démarrage: init « <STRONG>System V</STRONG> »</a><br><a href="../">Retour</a><br><hr><a href="000.html#toc"><font size="-1">(Retour à la table des matières)</font></a>
<H1><font size="+1"><a name="227">Chapitre 10 : Systèmes de fichiers et points de montage</a></font></H1><hr><p>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 à <STRONG>Linux-Mandrake</STRONG> 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: <CODE>/usr</CODE>. Mais en premier lieu,
un peu de théorie.
<H1><a name="228">Principes</a></H1>
<p>Comme nous l'avons déjà mentionné dans le <EM>Guide d'installation</EM>,
chaque disque dur est divisé en plusieurs partitions, et chacune de ces
partitions contient un système de fichiers. Tandis que <STRONG>Windows</STRONG>
associe une lettre à chacun de ces systèmes de fichiers (enfin,
seulement à ceux qu'il reconnaît), <STRONG>Linux</STRONG> possède une arborescence
des fichiers unique, et chacun des systèmes de fichiers est
<STRONG>monté</STRONG> à un endroit de l'arborescence.
<p>De même que <STRONG>Windows</STRONG> a besoin d'un « lecteur C: »,
<STRONG>Linux</STRONG> a besoin de pouvoir monter la racine de son arborescence
(<CODE>/</CODE>) quelque part, en l'occurrence sur une partition qui contient
le <STRONG>système de fichiers racine</STRONG>. Une fois la racine montée, on
peut monter d'autres systèmes de fichiers dans l'arborescence, sur
différents <EM>points de montage</EM> dans l'arborescence. N'importe
quel répertoire en-dessous de la racine peut faire office de point de
montage.
<p>Cela autorise une grande souplesse dans la configuration. Dans le cas
d'un serveur <EM>web</EM>, par exemple, il est courant de consacrer une
partition entière au répertoire hébergeant les données du serveur
<EM>web</EM>. Le répertoire qui les contient est en règle générale
<CODE>/home/httpd</CODE>, 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.
<p><center><img src="images/beforemount.gif" alt="Un système de fichiers pas encore monté" width="341" height="191"></center>
<center>Figure 50.1 Un système de fichiers pas encore monté</center>
<p><center><img src="images/aftermount.gif" alt="Le système de fichiers est maintenant monté" width="263" height="197"></center>
<center>Figure 17.2 Le système de fichiers est maintenant monté</center>
<p>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<a name="bodynote24" href="026.html#note24">[24]</a>, 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.
<p>Il faut savoir deux choses sur les points de montage:
<ul><li>le répertoire faisant office de point de montage doit exister,
<li>ce même répertoire <EM>peut ne pas être vide</EM>: si un
répertoire choisi comme point de montage contient déjà des fichiers et
sous-répertoires, ceux-ci seront tout simplement « cachés » par
le système de fichiers nouvellement monté, mais ils ne seront pas
effacés.</ul>
<H1><a name="229">Partitionner un disque dur et formater une partition</a></H1>
<p>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 <CODE>root</CODE>.
<p>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 <EM>IDE</EM> primaire, ce sera donc
<CODE>/dev/hdb</CODE><a name="bodynote25" href="026.html#note25">[25]</a>.
<H1><a name="230">Les commandes <CODE>mount</CODE> et <CODE>umount</CODE></a></H1>
<p>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 <CODE>mount</CODE>, et
sa syntaxe est la suivante:
<p><font size="-3"><PRE>
mount [options] <-t type> [-o options de montage] <périphérique>
<point de montage>
</PRE></font>
<p>En l'occurrence, on souhaite monter notre partition sur <CODE>/mnt</CODE> (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:
<p><CODE>$ mount -t ext2 /dev/hdb1 /mnt</CODE>
<p>L'option <CODE>-t</CODE> 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 <CODE>ext2</CODE> (le système
de fichiers de <STRONG>Linux</STRONG>), <CODE>vfat</CODE> (pour toutes les partitions
<STRONG>DOS</STRONG>/<STRONG>Windows</STRONG>: <EM>FAT</EM> 12, 16 ou 32) et <CODE>iso9660</CODE>
(système de fichiers des <EM>CD-ROM</EM>).
<p>L'option <CODE>-o</CODE> 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 <CODE>mount(8)</CODE> pour plus de
détails.
<p>Maintenant que vous avez monté votre nouvelle partition, il s'agit de
recopier tout le répertoire <CODE>/usr</CODE> dedans:
<p><CODE>$ (cd /usr && tar cf - .) | (cd /mnt && tar xpvf -)</CODE>
<p>Maintenant que les fichiers sont recopiés, on peut démonter notre
partition. Pour cela, la commande est <CODE>umount</CODE>. Sa syntaxe est
simple:
<p><CODE>umount <point de montage|périphérique></CODE>
<p>Donc, pour démonter notre nouvelle partition, on peut taper:
<p><CODE>$ umount /mnt</CODE>
<p>ou bien:
<p><CODE>$ umount /dev/hdb1</CODE>
<p>Cette partition étant appelée à « devenir » notre répertoire
<CODE>/usr</CODE>, il nous faut le dire au système. Pour cela, il nous faut
remplir:
<H1><a name="231">Le fichier <CODE>/etc/fstab</CODE></a></H1>
<p>Le fichier <CODE>/etc/fstab</CODE> 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
<CODE>/etc/fstab</CODE>:
<p><font size="-4"><PRE>
/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
</PRE></font>
<p>Une ligne contient, dans l'ordre:
<ul><li>le périphérique hébergeant le système de fichiers,
<li>le point de montage,
<li>le type du système de fichiers,
<li>les options de montage,
<li>le <STRONG>drapeau</STRONG> de sauvegarde par l'utilitaire <CODE>dump</CODE>,
<li>l'ordre de la vérification par <CODE>fsck</CODE>
(<EM>FileSystem ChecK</EM>,
« vérification des systèmes de fichiers »).</ul>
<p>Comme de juste, il y a toujours une entrée pour la racine. Les
partitions de <EM>swap</EM> 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é <CODE>swap</CODE>. Nous
reviendrons plus en détail sur <CODE>/proc</CODE>.
<p>Revenons à nos moutons. Vous avez bougé toute la hiérarchie <CODE>/usr</CODE>
sur <CODE>/dev/hdb1</CODE> 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:
<p><CODE>/dev/hdb1 /usr ext2 defaults 1 2</CODE>
<p>Ainsi à chaque démarrage la partition sera montée. Elle sera également
vérifiée si besoin est.
<p>Il existe deux options particulières: <CODE>noauto</CODE> et
<CODE>user</CODE>. L'option <CODE>noauto</CODE> indique que le système de
fichiers ne doit pas être monté au démarrage mais doit être monté
explicitement. L'option <CODE>user</CODE> 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 <EM>CD-ROM</EM> et le lecteur de disquettes. Il existe d'autres
options, et <CODE>/etc/fstab</CODE> dispose même de sa propre page de manuel:
<CODE>fstab(5)</CODE>.
<p>Enfin, l'un des avantages (et non des moindres) de ce fichier est qu'il
simplifie la syntaxe de la commande <CODE>mount</CODE>. 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:
<p><CODE>$ mount /mnt/floppy</CODE>
<p>ou bien:
<p><CODE>$ mount /dev/fd0</CODE>
<p>Terminons-en avec notre exemple de déplacement de partitions: nous avons
recopié la hiérarchie <CODE>/usr</CODE> et rempli <CODE>/etc/fstab</CODE> pour que
la nouvelle partition soit montée au démarrage. Mais pour l'instant les
anciens fichiers de <CODE>/usr</CODE> 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:
<ul><li>effacer tous les fichiers du répertoire <CODE>/usr</CODE>
(l'« ancien », donc, puisque le « nouveau » n'est pas
monté pour l'instant): <CODE>rm -Rf /usr/*</CODE>;
<li>monter le « nouveau » <CODE>/usr</CODE>: <CODE>mount /usr</CODE></ul>
<p>et vous en avez terminé.
<hr><a href="021.html">Suivant : Compilation et
installation de nouveaux noyaux</a><br><a href="019.html">Précédent : Les fichiers de démarrage: init « <STRONG>System V</STRONG> »</a><br><a href="../">Retour</a><br><hr>Copyright © 2000 <a href="http://www.mandrakesoft.com/">MandrakeSoft</a></BODY></HTML>
See more files for this project here