Si vous ne connaissez rien sur les systèmes de fichier, vous devriez consulter d'abord l'article Theorie Sur Les Systemes De Fichier
Il existe plusieurs manière de monter des systèmes de fichier sous Linux :
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.
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.
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 :
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.
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.
# <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
mount -a permet de monter automatiquement tous les systèmes de fichiers ayant l'option auto.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!
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!
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 :
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
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>
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
# mount -t vfat /dev/hda2 /mnt/partition_vfat
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
# 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.
# mount -t smbfs //192.168.1.1/partage /mnt/partage_samba -o username=guest
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
Voir les articles Fuse, Ivman et Auto Mount
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
Voir l'article sur Ssh Fs
Voir l'article sur Curl Ftp Fs
Voir l'article sur Smb For Fuse
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