mount

La commande mount permet de monter un système de fichier. Cette commande permet de monter un système de fichier en précisant l'ensemble des options (périphérique et point de montage) ou en interagissant avec le fichier fstab.

Monter un système de fichier?

Le système de fichier est organisé comme un arbre débutant à la racine ("/") et dont les branches s'étendent jusqu'aux fichiers. Chaque dossier est un nœud de l'arbre tandis que les fichiers en sont les feuilles.

Pour accéder à un système de fichier (une partition, un cdrom, une clé USB, etc), il faut le connecter à l'arbre. Connecter un système de fichier s'appelle monter un système de fichier et se fait avec la commande mount. À l'inverse, la déconnexion se dit démonter un système de fichier et est réalisé à l'aide de la commande umount.

Il peut sembler étrange de devoir utiliser une commande pour acceder à un périphérique car cette action est souvent géré automatiquement. Néanmoins, la commande mount reste utile pour des cas particuliers (par exemple le montage d'un partition NFS) et pour le dépannage.

Utilisation de base

Afficher les systèmes de fichiers montés

Lorsque la commande mount est utilisée sans options, elle affiche l'ensemble des système de fichiers montés, ainsi que leurs points de montage:

$ mount
/dev/sda5 on / type jfs (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
/sys on /sys type sysfs (rw,noexec,nosuid,nodev)
udev on /dev type tmpfs (rw,mode=0755)
/dev/mapper/sda7 on /home type jfs (rw)

Ces données viennent du fichier /etc/mtab qui est modifié par mount lors du montage et du démontage des systèmes de fichiers.

Les données de montages sont aussi fournies par le noyau dans le pseudo système de fichier /proc. Le fichier /proc/mounts contient la liste des systèmes de fichiers montés.

Monter un disque

Pour monter un système de fichier avec mount, il suffit généralement de préciser le descripteur de périphérique de partition, suivit du chemin vers le dossier où la partition doit être monté.

Voici par exemple le montage d'un disque dur externe (présent sur le descripteur /dev/sdb1) dans le dossier /media/usb_disk:

# mount /dev/sdb1 /media/usb_disk/

Le contenu du disque dur est a présent accessible via le chemin /media/usb_disk. Si ce dossier contenait déjà des fichiers ou dossiers, ceux-ci sont "masqué" par le montage, il ne seront plus accessible avant le démontage du périphérique.

Le dossier dans lequel le disque est monté doit exister, sinon mount retournera une erreur:

# mount /dev/sdb1 /media/no_folder
mount: le point de montage /media/no_folder n'existe pas

Spécifier le type de système de fichier

Dans l'exemple précédent, il n'est nul part précisé le type de système de fichier sous lequel la partition est formatée (ext3fs, XFS, JFS, etc). Lorsque aucun type n'est précisé, mount tente de déterminer le type de la partition à l'aide de différentes heuristiques.

Même si ce mécanisme de découverte du système de fichier fonctionne parfaitement la plupart du temps, il ne s'agit pas d'un façon sûr de monter une partition. En effet, si le type trouvé ne correspond pas au type réel, l'accès en écriture sur le disque pourrait endommager les données de façon irréversible.

Préciser le type de fichier est une façon sûre de monter une partition. Néanmoins, préciser un type erroné entrainera aussi la corruption des données.

L'option -t permet de préciser le type d'un système de fichier. Cette option permet de s'assurer que le montage sera fait avec le bon type, néanmoins, il est préférable d'utiliser cette commande avec précaution pour éviter de perdre des données.

Voici un exemple du montage d'une partition dans le répertoire /home. La partition qui est monté est formaté à l'aide du système de fichier JFS:

# mount -t jfs /dev/sda7 /home

Monter une image ISO

Il est possible de monter une image ISO dans le système de fichier. Pour se faire, il suffit de préciser l'option loop pour monter un descripteur de fichier de boucle, et l'option -t pour préciser le type de fichier (ISO-9660 pour les CD et DVD).

Par exemple, voici la commande utilisé pour monter l'image du mini-cd d'installation de Debian dans le dossier /media/iso:

# mount -o loop -t iso9660 debian-40r1-amd64-businesscard.iso /media/iso
$ ls
autorun.bat  doc          md5sum.txt   README.mirrors.html
autorun.inf  install      pics         README.mirrors.txt
debian       install.amd  pool         README.txt
dists        isolinux     README.html  tools

Utilisation avec fstab

La commande mount utilise le fichier de configuration /etc/fstab. Ce fichier donne des informations statiques sur les systèmes de fichiers.

Voici un exemple de fichier /etc/fstab:

$ cat /etc/fstab
# /etc/fstab: static file system information.
#
#                
proc            /proc           proc    defaults        0       0
UUID=fb1aae00-78fd-4ffe-91c7-42cb587be8bf / jfs defaults,errors=remount-ro 0 1
UUID=8a209e26-953d-11da-9432-0f1297d194f4 /home jfs defaults 0 2
UUID=78ba498c-fc79-4944-b6c7-c3fe950c855c none swap sw 0 0
/dev/cdrom        /media/cdrom0   udf,iso9660 user,noauto     0       0i

Monter un système de fichier présent dans fstab

Lorsque qu'un système de fichier est présent dans fstab, n'est plus nécessaire de préciser toutes les options pour le monter.

Par exemple, il est possible de préciser à mount le point de montage:

# mount /media/cdrom0

Ou le descripteur de fichier:

# mount /dev/cdrom

Les deux commande précédente utilisent le fichier fstab affiché plus haut pour déterminer l'emplacement de montage, et le type du système de fichier.

La ligne complète de commande sans utiliser fstab serait la suivante:

# mount -t iso9660 /dev/cdrom /media/cdrom0

Monter l'ensemble des systèmes de fichier de fstab

Une option s'avère être très pratique pour le dépannage: -a. Celle-ci montera l'ensemble des partitions listés dans /etc/fstab à condition qu'elles n'aient pas l'option "noauto".

Cette option est habituellement utilisé par le système au démarrage du système. Néanmoins, en cas de dépannage des disques, ceux-ci doivent être démonté du système de fichier principal. Il suffit ensuite d'utiliser "mount -a" pour rattacher l'ensemble des systèmes de fichier et pouvoir démarrer correctement.

Les paramètres importants

-a
Monte l'ensemble des systèmes de fichiers de fstab, à l'exception de ceux ayant l'option "noauto"
-t fstype
Permet de donner le type du système de fichier à monter.
-o options
Donne la liste des options à appliquer au montage. Les options sont séparé par des virgules, sans espaces entre les virgules et les options.
-r
Monte le système de fichier en lecture seule. Équivalent de -o ro.
-w
Monte le système de fichier en lecture-écriture. Équivalent de -o rw.

Page de manuel

La page de manuel de mount fournit l'ensemble des paramètres utilisable avec la commande. Un point important est que la page de manuel fournit aussi l'ensemble des options disponible pour chaque système de fichier. Ces options par système de fichier ne sont pas disponible sur la page de manuel de fstab, il faut donc se rappeler que c'est la page de manuel de mount qu'il faut regarder.