Chapitre 7. Utiliser des média de stockage

1. /etc/fstab
2. Monter ses partitions Windows
3. Monter sa clé usb

Comme expliqué au Chapitre 9, 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.

1. /etc/fstab

Le fichier de configuration /etc/fstab contient les informations statiques sur le montage des systèmes de fichiers que vous utilisez régulièrement.

La syntaxe du fichier

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 :

  1. l'emplacement physique du système de fichiers : /dev/partition pour une partition physique,

  2. le point de montage (le répertoire doit déjà exister, sinon il faut le créer au préalable avec la commande mkdir),

  3. 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 ;

  4. 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.

  5. 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),

  6. 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

Monter et démonter une partition citée dans 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] 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 :

                    
umount : /media/cdrom0 : périphérique occupé

                  

Pour voir qui est responsable de cette occupation, utilisez la commande lsof qui liste les fichiers ouverts ainsi que les noms des processus, et les utilisateur qui les ont lancés :

# aptitude install lsof
% lsof +D /media/cdrom0

2. Monter ses partitions Windows

Préparer le montage d'une partition fat

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

Préparer le montage d'une partition ntfs

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] 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

Monter les partitions

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.

Modifier les droits sur les partitions Windows

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

3. Monter sa clé usb

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] 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 :

% umount /media/clef0