Comme expliqué au chapitre Le système de fichiers, vos fichiers sont écrits dans des systèmes de fichiers, eux-mêmes stockés sur des périphériques de stockage : disquette, clef USB, CD, partition de disque dur... Pour utiliser un support de stockage, on le monte dans l'arborescence.
Le fichier de configuration /etc/fstab
contient les informations statiques sur le montage des systèmes de
fichiers que vous utilisez régulièrement.
Les règles de syntaxe du fichier sont les suivantes : une ligne par système de fichier, chaque ligne devant contenir dans l'ordre les informations suivantes séparées par au moins un espace :
l'emplacement physique du système de fichiers : /dev/partition pour une partition physique,
le point de montage (le répertoire doit déjà exister, sinon il faut le créer au préalable avec la commande mkdir),
le (ou les) type de système de fichier (par exemple swap, ext3, vfat, ntfs, nfs, iso9660 et udf pour les CD-ROM et DVD-ROM), auto pour autodétecter le type ;
les options de montage, séparées par des virgules :
ro pour monter le système de fichiers en lecture seule,
rw pour monter le système de fichiers en lecture-écriture,
noauto pour que le système de fichiers ne soit pas monté au démarrage (option contraire : auto),
user pour qu'un simple utilisateur puisse monter et démonter le système de fichiers et pas seulement le root (option contraire : nouser),
exec pour permettre l'exécution de binaires (option contraire : noexec),
uid, gid et umask pour définir des permissions pour l'ensemble du système de fichiers (pour les systèmes déficients comme FAT ou NTFS),
defaults pour les options par défaut (notamment rw, exec, auto et nouser),
et enfin sw pour les systèmes de swap.
la valeur 1 si le système de fichier doit être sauvegardé ou la valeur 0 sinon (mettez 0 si vous n'avez pas de système de sauvegarde),
la priorité pour la vérification des systèmes de fichiers par fsck au démarrage quand cela est nécessaire : la partition racine doit avoir la plus grande priorité (valeur 1), les autres doivent avoir une priorité inférieure (valeur 2). Les systèmes de fichiers qui ne doivent pas être vérifiés auront la valeur 0.
Donc pour un système classique, le fichier contient par exemple :
/dev/hda1 / ext3 defaults 0 1 /dev/hda2 none swap sw 0 0 /dev/hda5 /home ext3 defaults 0 2 proc /proc proc defaults 0 0 /dev/fd0 /media/floppy0 auto user,noauto 0 0 /dev/sda1 /media/clef0 vfat user,noauto 0 0 /dev/cdrom /media/cdrom0 udf,iso9660 ro,user,noauto 0 0
Un des avantages d'utiliser le fichier /etc/fstab
est que le montage et le démontage des systèmes de fichiers cités
dans ce fichier de configuration sont très simples. Il suffit
d'utiliser la commande mount pour monter
et umount pour démonter, suivie du périphérique
ou du répertoire de montage.
Ainsi, les deux commandes suivantes sont équivalentes, et permettent de monter la disquette :
#
mount /media/floppy0
#
mount /dev/fd0
Comme nous avons précisé l'option user pour le
lecteur de disquette dans fstab
, les deux commandes
précédentes peuvent être exécutées en tant que simple utilisateur. Dans
ce cas, seul l'utilisateur en question et le root pourront démonter le
système de fichier avec l'une des deux commandes suivantes :
#
umount /media/floppy0
#
umount /dev/fd0
Pour démonter un système de fichier, il faut qu'aucun des utilisateurs du système et aucun processus ne soit en train d'ouvrir un des fichiers du système de fichier à démonter et qu'aucun utilisateur ne se trouve dans un des répertoires du système de fichiers à démonter. Sinon, la commande umount renverra le message d'erreur suivant :
umount : /media/floppy0 : périphérique occupé
Pour voir qui est responsable de cette occupation, utilise la commande lsof qui liste les fichiers ouverts :
%
lsof | grep floppy
Le système de fichier de type FAT (FAT 16 ou FAT 32) est utilisé par Windows 95/98/ME et parfois par Windows 2000/XP. Le driver Linux pour ce type de système de fichiers permet d'y avoir accès en lecture et en écriture.
Supposons que votre partition Windows de type FAT soit
/dev/hda1
(première partition primaire sur le
disque dur IDE Primary Master). Nous allons la monter dans le répertoire
/media/win1
qu'il faut créer au préalable :
#
mkdir /media/win1
Ensuite, éditez en root le fichier /etc/fstab
et
rajoutez la ligne suivante :
/dev/hda1 /media/win1 vfat defaults,rw,user 0 0
Le système de fichier de type NTFS est souvent utilisé par Windows
2000 et XP. Pour pouvoir lire et écrire sur ces systèmes, il faut d'abord
installer un pilote particulier, NTFS-3g. Celui-ci n'est pas disponible dans les sources
de Debian Etch, en revanche, il est possible de l'installer depuis les dépôts des
rétroportages. Pour cela, en tant que root,
ajoutez ces deux lignes au fichier /etc/apt/sources.list
:
deb http://www.backports.org/debian etch-backports main contrib non-free deb http://www.backports.org/debian sarge-backports main contrib non-free
Ensuite, vous pouvez mettre à jours la liste des paquets, puis installer NTFS-3g :
#
apt-get update
#
apt-get install ntfs-3g
Supposons que votre partition Windows de type NTFS soit /dev/sda5 (premier lecteur logique sur le premier disque dur SATA). Nous allons la monter dans le répertoire /media/win2 qu'il faut créer au préalable :
#
mkdir /media/win1
Ensuite, éditez en root le fichier /etc/fstab
et
rajoutez la ligne suivante :
/dev/hda1 /media/win1 ntfs-3g defaults,rw,user 0 0
Vous avez rajouté les entrées nécessaires dans le fichier
/etc/fstab
: vos partitions Windows seront donc
dorénavant montées automatiquement dès le démarrage. Mais pour éviter
de redémarrer, vous allez simplement demander au système de monter les
partitions citées dans fstab et non déjà montées avec la commande
suivante :
#
mount -a
Si aucun message d'erreur n'apparaît, vous devez maintenant pouvoir voir le contenu de votre ou vos partition(s) Windows dans l'arborescence de votre système.
Par défaut, les partitions Windows montées appartiennent à root, et
dans le cas des partitions NTFS, elles ne sont pas lisibles par les
autres utilisateurs. Pour modifier les droits d'accès appliquées aux
partitions Windows, vous pouvez rajouter des options dans la ligne qui leur
correspond dans le fichier /etc/fstab
.
Par exemple, si vous voulez que sur la partition Windows /dev/hda1 formatée en FAT, les fichiers et les répertoires :
appartiennent à root, dont l'ID est 0,
appartiennent à un groupe win, que vous avez créé avec la commande addgroup, et dont l'ID est 1003,
aient des droits rw-rw-r-- pour les fichiers réguliers, et rwxrwxr-x pour les répertoires,
alors la ligne correspondant à la partition dans
fstab
devient la suivante :
/dev/hda1 /media/win1 vfat defaults,rw,user,uid=0,gid=1003,umask=113,dmask=002 0 0
Pour que les changements soient pris en compte, la commande mount -a ne suffit pas. Il faut démonter et remonter la partition :
%
umount /media/win1
%
mount /media/win1
Si vous avez une clé USB (ou n'importe quel périphérique compatible avec la norme "USB mass storage"), commencez par créer le répertoire dans lequel vous monterez la clé :
#
mkdir /media/clef0
Identifiez le nom de périphérique correspondant à votre clef USB : listez le contenu de /dev/sd*, puis introduisez votre clef, et, après quelques secondes, listez à nouveau /dev/sd*, dans lequel votre clef à du apparaître (chez moi, elle s'appelle /dev/sda1, mais si vous avez des disques SATA, ce nom peut être décalé de quelques lettres).
Enfin, si votre clé USB est formatée en FAT et que vous voulez
que les fichiers une fois montés appartiennent à root et au groupe
win (cf. plus haut), rajoutez la ligne suivante à la fin du fichier
/etc/fstab
:
/dev/sda1 /media/clef0 vfat defaults,rw,user,uid=0,gid=1003,umask=113,dmask=002 0 0
Vous pouvez alors monter votre clé USB :
%
mount /media/clef0
N'oubliez pas de démonter votre clé USB avant de la débrancher, sous peine de corrompre les données qui y sont stockées :
%
umount /media/clef0