Comme expliqué au Chapitre 10, 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 fichiers (par exemple swap, ext3, vfat, ntfs, nfs, iso9660 et udf pour les cd et dvd), 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 # partition de DD /dev/hda2 none swap sw 0 0 # partition de DD /dev/hda5 /home ext3 defaults 0 2 # partition de DD proc /proc proc defaults 0 0 # SF virtuel /dev/fd0 /media/floppy0 auto user,noauto 0 0 # disquette /dev/sda1 /media/clef0 vfat user,noauto 0 0 # clef USB /dev/hdc /media/cdrom0 udf,iso9660 ro,user,noauto 0 0 # CD ou DVD
fstab
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 le cd présent dans le lecteur :
#
mount /media/cdrom0
#
mount /dev/hdc
Comme nous avons précisé l'option user pour le
lecteur de cd 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 fichiers avec l'une des deux commandes suivantes :
#
umount /media/cdrom0
#
umount /dev/hdc
Important | |
---|---|
Pour démonter un système de fichier, il faut qu'il ne soit plus utilisé ni parcouru par aucun utilisateur ni aucun processus. Sinon, la commande umount renverra le message d'erreur suivant :
Pour voir qui est responsable de cette occupation, utilisez la commande fuser qui liste les fichiers ouverts ainsi que les noms des processus, et les utilisateurs qui les ont lancés :
|
Le système de fichiers de type fat (fat 16 ou fat 32) est utilisé par Windows 95/98/ME et parfois par Windows 2000/XP. Le pilote 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 maître de la première nappe). 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,user 0 0
Le système de fichiers de type ntfs est souvent utilisé par Windows 2000, XP et Vista. Pour pouvoir lire et écrire sur ces systèmes, il faut d'abord installer un pilote particulier, ntfs-3g.
Note | |
---|---|
Le noyau Linux comporte déjà un pilote pour le système de fichiers ntfs, mais celui-ci ne permet pas de créer de nouveaux fichiers. ntfs-3g, qui est un pilote en espace utilisateur, c'est-à-dire exécuté en dehors du noyau, permet un accès complet en lecture et en écriture. |
#
aptitude 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/win2
Ensuite, éditez en root le fichier /etc/fstab
et
rajoutez la ligne suivante :
/dev/sda5 /media/win2 ntfs-3g defaults,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 systèmes de fichiers 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,user,uid=root,gid=win,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 de stockage de masse usb), 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 :
afichez la liste des partitions disponibles avec la commande
cat /proc/partitions, puis introduisez votre clef, et,
après quelques secondes, affichez à nouveau le contenu de
/proc/partitions
, dans lequel votre clef à dû
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,user,uid=win,gid=win,umask=113,dmask=002 0 0
Vous pouvez alors monter votre clé usb :
%
mount /media/clef0
Attention | |
---|---|
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 :
|