Wiki Linux SMH

   

Flux RSS

Montage

Cet article nécessite encore des ajouts/modifications.
N'hésitez pas à apporter votre contribution en complétant cet article.

1 - Présentation

Il existe plusieurs manière de monter des systèmes de fichier sous Linux :

  1. Le fichier /etc/fstab (développé dans cet article).
  2. La commande mount qui permet de gérer les points de montages définis dans le fichier /etc/fstab, mais aussi de monter en ligne de commande des systèmes de fichiers non définis dans le fichier /etc/fstab.
  3. Fuse, qui permet à n'importe quel utilisateur de monter des systèmes de fichiers.
  4. Les anciens auto monteurs.

Dans cet article, nous n'aborderons que les points 1 et 2.
Le point 3 est abordé dans l'article concernant Fuse.
Le point 4 (obsolète) est abordé dans l'article Auto Mount.

Tous les périphériques de stockage internes (disques durs, lecteur de cd/dvd, etc) doivent être définis dans le fichier /etc/fstab.

  Faire un exemple pratique avec disque dur interne (fstab), lecteur cd (ivman) et clé usb (ivman)

Si vous souhaitez qu'un périphérique de stockage amovible (clé usb, disque dur externe, etc) soit monté automatiquement quel que soit son système de fichier, et que l'utilisateur qui le connecte y ait un accès en lecture/écriture, consultez les articles sur Ivman, GnomeVolumeManager.

1.1 - Le disque dur

  déplacer dans une page théorie sur les disques durs ?

Un disque dur permet de stocker des données.
Un disque dur peut être découpé en zones (appelés partitions), de la même manière qu'on peut séparer un tiroir avec une planche.

Il faut savoir que sur un système GNU/Linux, il n y a pas obligatoirement de correspondance entre les répertoires et les partitions comme c'est le cas sous Windows, où a chaque partition est associé un système de fichier commencant par une lettre telle que c:, d:, etc.

Au lieu de cela, sous GNU/Linux, chaque partition ou diquette, cdrom, dvd, etc est associé à un point de montage. Un point de montage est tout simplement un répertoire (vide) dans lequel le système va pointer vers le contenu de la partition concernée.

Le montage de ces partitions peut se faire de deux manières :

  1. Gestion par le fichier de configuration /etc/fstab. Il simplifie et peut rendre automatique (dans le sens ou à chaque démarrage vous ne devez pas monter vos parititions) le montage.
  2. Gestion manuelle en ligne de commande avec la commande mount (méthode plus fastidieuse).

Par contre, si vous n'utilisez pas d'auto-monteur, vous devrez monter manuellement chaque nouveau CD-Rom inséré dans votre ordinateur! Il existe plusieurs méthode pour pallier à celà. Pour celà, voir la page sur l' Auto Mount

Le montage consiste a lier des partitions de périphériques physiques a un point de montage (un répertoire) afin de disposer d'un accès pour atteindre les données présentes sur ces partitions.

Nous allons maintenant détailler uniquement l'utilisation du fichier fstab. De la compréhension de celui-ci découlera la gestion manuelle des points de montage en ligne de commande.

2 - Fichier de configuration /etc/fstab

  CD-ROM/CD ROM/cdrom ??? uniformiser!

2.1 - Description du fichier

Fstab est une abbréviation de l'anglais File System TABle, autrement dit c'est un tableau dans lequel on liste les sytèmes de fichiers.
Chaque ligne décrit un système de fichier dont les colonnes, au nombre de six, séparées par un espace ou une tabulation, correspondent aux différentes options nécessaires au montage.

L'intérêt de ce fichier est qu'au lieu de taper la ligne suivante pour monter une partition :

# mount -t ext2 /dev/hdb3 /mnt/une_partition_ext2

il suffit de taper (le point de montage /mnt/une_partition_ext2 est défini dans le fichier /etc/fstab) :

# mount /mnt/une_partition_ext2

Suivant les options que vous avez spécicifées, la partition pourra être montée au démarrage, montée en lecture seule, etc.

2.1.1 - Exemple complet
  revoir partition de swap
 # <file system> <mount point>   <type>  <options>       <dump>  <pass>

 #### Partitions principales : /proc - swap - /
 proc            /proc           proc    defaults        0       0
 /dev/hda2       /               reiserfs defaults       0       1
 /dev/hda3       none            swap    sw              0       0
 
 #### Périphériques amovibles
 ## CD-Rom IDE
 /dev/hdc        /media/cdrom    iso9660 ro,user,noauto  0       0
 /dev/hdc        /cdrom          iso9660 ro,user,noauto  0       0
 ## Disquette
 /dev/fd0        /media/floppy   auto    rw,user,noauto  0       0
 ## Périphérique USB/IEEE avec émulation scsi (ici un disque dur avec une partition en fat32)
 /dev/sda1       /mnt/rack_1_fat vfat    rw,auto,user    0       0
 ## Autre périphérique USB/IEEE (ici un graveur DVD)
 /dev/sr0        /mnt/dvdrw      iso9660 ro,user,noauto  0       0
 
 #### Autres montages
 ## Partition linux de stockage ext3
 /dev/hda5       /mnt/stock      ext3    rw,auto,user    0       0
 ## Partition du système d'exploitation windows (cas d'un dual boot ici)
 /dev/hda1		 /mnt/win		 vfat	 uid=1000,gid=1000,umask=002,auto,noexec    0       0
 ## Image ISO
 /iso/img.iso    /mnt/iso        iso9660                 0       0
 ## Importation d'un partage NFS en provenance de 192.168.0.1
 192.168.0.1:/home/franck    /nfs/import/franck_home    nfs    ro,hard,intr,noauto    0    0
 ## Binding (permet de monter un dossier)
 /home/esver/ftp/partage   /home/cecile/partage none bind  0       0
2.1.2 - Description des options
  • <file system> : ce champ définit le périphérique a décrire. Par exemple /dev/hda2, fait référence a la seconde partition du premier disque dur IDE. Les fichiers périphériques sont placés dans le dossier /dev.
  • <mount point> : ce champ est le répertoire dans lequel le périphérique va être monté. C'est dans ce répertoire que vous pourrez accéder aux données. En général les points de montages (répertoires) sont créés dans le dossier /mnt.
  • <type> : ce champ est le type du système de fichiers :
    • ext2
    • ext3
    • reiserfs
    • vfat pour la fat32 (MS Windows)
    • ntfs pour le NTFS. Attention : il est très fortement déconseillé d'utiliser du NTFS sous Linux! Les partitions NTFS doivent être montées en lecture seule.
    • iso9660 pour les CD-Rom
    • udf pour les CD-Rom
  • <options> : ce champ liste les options de montage séparées par une virgule. Ces options permettent de définir les droits d'accès, l'automatisation du montage, etc. Certaines des options sont génériques à tous les systèmes de fichiers, d'autres non.
    • rw : partition ou périphérique en lecture/écriture
    • ro : partition ou périphérique en lecture seule (à utiliser systématiquement pour les lecteurs optiques (CD, DVD, etc) et partitions NTFS)
    • noauto : met en évidence le fait que ce périphérique est amovible. Les périphériques configurés avec l'option auto sont montés automatiquement lors du démarrage du système. Les lecteurs de CD/DVD doivent être configurés avec l'option noauto. Par conséquent, pour lire les données sur un cdrom, il vous sera nécessaire de le monter, puis de le démonter une fois que vous aurez fini de l'utiliser. Il est à noter que l'utilisation de la commande mount -a permet de monter automatiquement tous les systèmes de fichiers ayant l'option auto.
    • user permet a tous les utilisateurs ayant les droits suffisants sur ce périphérique de monter ou démonter le lecteur. Ceci est représenté dans certains environnement graphiques (Gnome, KDE) par l'apparition d'une icone sur le bureau.
    • grpid (ext2) : permet d'affecter le gid (numéro d'identification d'un groupe : voir le fichier /etc/group) du point de montage à tous les fichiers créés. Cette option permet dans un environnement multi-utilisateurs d'associer tout un système de fichiers à un groupe unique.
  • <dump> : ce champ est utilisé par dump (utilitaire de sauvegarde) pour décider si le sytème de fichiers doit etre sauvegardé ou non lors de la phase de boot. (0 : pas de sauvegarde, 1 : sauvegarde). Cette fonctionnalité ne s'applique que pour des partitions de type ext2 et ext3. Cette option n'est à utiliser que sur des machines sensibles.
  • <pass> : ce champ définit l'ordre de priorité de vérification des sytèmes de fichiers pendant la phase de boot. Ainsi, le système de fichier root (/) doit etre affecté avec la valeur 1 car il est la base de tout. Pour le reste, vous pouvez affecter une valeur entière a partir de deux, ou 0, afin de ne jamais effectuer de vérification. Le fait d'attribuer la même valeur a plusieurs systèmes de fichiers entraînera leur vérification en parallèle. La commande liée a ce champ est fsck.

2.2 - Le système de fichiers /proc

Ce pseudo système de fichiers permet de déterminer tous les processus en cours sur votre machine ainsi que l'état du systeme. Il reflète en temps réel l'environnement dans lequel vous travaillez et n'a pas d'existence physique comme pour une disquette ou un disque dur. Il réside en memoire virtuelle.

Ne modifiez pas la ligne de ce système de fichiers!

2.3 - La swap

La swap est la mémoire virtuelle de votre système. Il s'agit d'une extension de la mémoire vive (RAM) qui sera utilisée lorsqu'il n'y a plus d'espace disponible en mémoire vive pour l'exécution des applications. Sous Linux, la swap est une partition à part entière. Par conséquent, les temps d'accès sont plus longs. Cependant, son utilité réside dans le fait que les données inutilisées par la RAM sont stockées sur cette partition, libérant de la place pour d'autres ressources, et ces données sont rechargées ensuite lorsqu'elles sont requises.

Ne modifiez pas la ligne de ce système de fichiers!

2.4 - Détail du montage d'une partition Windows (fat32)

On rappelle la ligne concernée dans le fichier /etc/fstab :

/dev/hda1 /mnt/win vfat uid=1000,gid=1000,umask=002,auto,noexec 0 0

Description :

  1. Le périphérique /dev/hda1, c'est a dire la seconde partition du premier disque dur IDE sera accessible dans le répertoire /mnt/win.
  2. C'est une partition de type vfat (fat32).
  3. L'accès aux données présentes se fait de la maniere suivante :
    1. Les droits d'accès sont 777 - umask, soit : 777 – 002 = 775. Ce qui donne ici l'accès en lecture/écriture/exécution à l'utilisateur et au groupe propriétaire du système de fichier, et un accès en lecture et exécution au reste du monde. Plus d'informations sur les droits dans l'article Gestion Des Droits.
    2. Le propriétaire est défini par uid = 1000 (voir le fichier /etc/passwd) et le groupe par gid = 1000 (voir le fichier /etc/group). Plus d'informations sur la gestion des utilisateurs et des groupes dans l'article Gestion Des Utilisateurs
    3. L'option noexec interdit l'exécution de programmes sur ce système de fichier.
  4. Le système de fichiers est monté automatiquement lors du démarrage.

Pour trouver l'uid d'un utilisateur :

$ grep <utilisateur> /etc/passwd |cut -d: -f3

Pour trouver le gid d'un utilisateur :

$ grep <utilisateur> /etc/group |cut -d: -f3

3 - Montages manuels

Le point de montage (/mnt/nom_du_dossier/) doit exister pour que la commande de montage fonctionne.

Détail de la commande mount :

# mount -t ... -o ... <point de montage> <périphérique>
  • '-t <valeur>' permet de définir le type du système de fichiers.
  • '-o <valeur>' permet de définir les options associées au système de fichiers.

L'option -r est équivalente à -o ro : elle permet de monter le système de fichier en lecture seule.

Il suffit donc de s'inspirer des exemples du fichier /etc/fstab.

Pour de plus amples informations n'hésitez pas a jeter un coup d'oeil a la man page de la commande mount :

$ man mount
  monter une partition etx2/3, reiserfs

3.1 - Monter une partition FAT

# mount -t vfat /dev/hda2 /mnt/partition_vfat

3.2 - Monter une partition NTFS

Le support des partitions NTFS sous Linux est expérimental. N'utilisez les partitions NTFS qu'en lecture!

# mount -t ntfs -o ro /dev/hdc3 /mnt/partition_ntfs

Ou

# mount -r -t ntfs /dev/hdc3 /mnt/partition_ntfs

3.3 - Monter une image ISO

# mount -t iso9660 -o loop,ro /mnt/stock/Jeux/ut.iso /cdrom

Ou

# mount -r -t iso9660 -o loop /mnt/stock/Jeux/ut.iso /cdrom

Si votre image ISO est au format UDF :

# mount -t udf -o loop,ro /mnt/hd200/iso_en_udf.iso /cdrom

Ou

# mount -r -t udf -o loop /mnt/hd200/iso_en_udf.iso /cdrom

Il est également possible de monter des images ISO avec Fuse Iso.

3.4 - Monter un partage Samba accessible à tous

# mount -t smbfs //192.168.1.1/partage /mnt/partage_samba -o username=guest

3.5 - Monter une ISO depuis un partage Samba

Il suffit de monter d'abord le partage windows, puis de monter l'image. Exemple :

# mount -t smbfs //192.168.1.1/partage /mnt/partage_samba -o username=guest
# mount -r -t iso9660 -o loop /mnt/partage_samba/image.iso /cdrom

4 - Montage automatiques et autres montages

  expliquer un peu

Voir les articles Fuse, Ivman et Auto Mount

4.1 - Monter une clé USB ou un disque dur externe

Monter une clef usb ou un disque dur externe peut s'avérer un peu exaspérant. En effet, un jour votre périphérique sera affecté à /dev/sda mais un autre jour à /dev/sdb. Alors pour palier à cela, soit vous créer une règle udev qui vous permette de matcher votre périphérique, soit vous utiliser les labels. Les deux méthodes fonctionnent très bien, mais la dernière peut être plus facile à mettre en oeuvre quand on ne connait pas udev.

En supposant que votre partition principale sur votre clef usb est pour label "myUsbKey", il vous suffit simplement d'ajouter à votre fichier /etc/fstab la ligne suivante en y adaptant bien sûr les options à votre système de fichiers.

LABEL=myUsbKey   /mnt/myKey   ext3    rw,user,noauto         0       0

4.2 - Monter un dossier avec Ssh Fs

Voir l'article sur Ssh Fs

4.3 - Monter un dossier Ftp

Voir l'article sur Curl Ftp Fs

4.4 - Monter le voisinage réseau Samba

Voir l'article sur Smb For Fuse

5 - Démontage récalcitrant

Lorsque vous voulez démonter un volume, par exemple :

# umount /mnt/grav/

et que vous obtenez :

# umount: /mnt/grav: device is busy
# umount: /mnt/grav: device is busy

La première solution est de forcer le démontage en root :

# umount -f /mnt/grav

Si ça ne marche toujours pas, faites

# fuser -v /mnt/grav/

Vous obtenez une liste :

              USER PID    ACCESS COMMAND
/mnt/grav/    olg  9909   f.... konqueror
              root montage du noyau /mnt/grav

Là,il suffit de tuer le ou les processus qui bloquent :

# kill -9 9909

Et si fuser ne trouve rien (même en rajoutant le paramètre -m) il se peut que ce soit du à un montage nfs, il faut donc arrêter le serveur nfs le temps du démontage :

# /etc/init.d/nfs-kernel-server stop

Puis évidement après le démontage:

# /etc/init.d/nfs-kernel-server start

Et enfin, on démonte le lecteur concerné :

# umount /mnt/grav

6 - Ressources

 
Vous êtes : 38.107.191.85 Dernière modification : 16/11/08 23:29 Propriétaire : Fritz Modifié par : esver

Commentaires

Afficher les commentaires
Il n'y a aucun commentaire sur cette page