Comment monter et démonter un système de fichiers / une partition sous Linux (exemples de commandes Mount/Umount)
Une fois que vous insérez de nouveaux disques durs dans votre système, vous utiliserez généralement des utilitaires comme fdisk ou parted pour créer des partitions. Une fois que vous avez créé une partition, vous utiliserez la commande mkfs pour créer une partition ext2, ext3 ou ext4.
Une fois que vous avez créé une partition, vous devriez utiliser la commande mount pour monter la partition dans un point de montage (un répertoire), pour commencer à utiliser le système de fichiers.
Ce tutoriel explique tout ce que vous devez savoir sur la commande mount et umount avec 15 exemples pratiques.
La syntaxe générale de la commande mount pour monter un périphérique:
mount -t type device destination_dir
Monter un CD-ROM
Le fichier de périphérique pour CD existerait sous le répertoire /dev. Par exemple, un périphérique CD-ROM sera monté comme indiqué ci-dessous.
# mount -t iso9660 -o ro /dev/cdrom /mnt
Dans l’exemple ci-dessus, l’option « -o ro » indique que le cdrom doit être monté avec un accès en lecture seule. En outre, assurez-vous que le répertoire de destination (dans l’exemple ci-dessus, /mnt) existe avant d’exécuter la commande mount.
Voir tous les montages
Après avoir exécuté mount d’une partition ou d’un système de fichiers, exécutez la commande mount sans aucun argument pour voir tous les montages.
Dans l’exemple ci-dessous, après avoir monté le lecteur USB sur un système, la sortie de mount ressemble à ce qui suit. Comme on le voit ci-dessous, le périphérique USB (c’est-à-dire:/dev/sdb) est monté sur /media/myusb, qui est affiché comme la dernière ligne de la commande mount.
# mount/dev/sda5 on / type ext4 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)none on /sys/fs/fuse/connections type fusectl (rw)none on /sys/kernel/debug type debugfs (rw)none on /sys/kernel/security type securityfs (rw)udev on /dev type devtmpfs (rw,mode=0755)devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)none on /run/shm type tmpfs (rw,nosuid,nodev)/dev/sda6 on /mydata type ext2 (rw)/dev/sda7 on /backup type vfat (rw)gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)/dev/sdb on /media/myusb type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks)
Vous pouvez également utiliser la commande df pour visualiser tous les points de montage.
# dfFilesystem 1K-blocks Used Available Use% Mounted on/dev/sda5 195069136 128345036 56958520 70% /udev 2008336 4 2008332 1% /devtmpfs 806244 928 805316 1% /runnone 5120 0 5120 0% /run/locknone 2015604 228 2015376 1% /run/shm/dev/sda6 17729076 176200 16657596 2% /mydata/dev/sda7 11707200 573312 11133888 5% /backup/dev/sdb 3910656 2807160 1103496 72% /media/myusb
Monter tous les systèmes de fichiers mentionnés dans /etc/fstab
Les systèmes de fichiers listés dans /etc/fstab se montent pendant le processus de démarrage. Après le démarrage, l’administrateur système peut démonter certaines des partitions pour diverses raisons. Si vous voulez que tous les systèmes de fichiers soient montés comme spécifié dans /etc/fstab, utilisez l’option -a avec mount comme indiqué ci-dessous :
Exemple d’entrées du fichier /etc/fstab :
# cat /etc/fstab#proc /proc proc nodev,noexec,nosuid 0 0# / was on /dev/sda5 during installation/dev/sda5 / ext4 errors=remount-ro 0 1# /mydata was on /dev/sda6 during installation/dev/sda6 /mydata ext2 defaults 0 2# /backup was on /dev/sda7 during installation/dev/sda7 /backup vfat defaults 0 3
Exécuter la commande mount avec l’option -a pour monter toutes les entrées de /etc/fstab.
# mount -a# mount/dev/sda5 on / type ext4 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)none on /sys/fs/fuse/connections type fusectl (rw)none on /sys/kernel/debug type debugfs (rw)none on /sys/kernel/security type securityfs (rw)udev on /dev type devtmpfs (rw,mode=0755)devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)none on /run/shm type tmpfs (rw,nosuid,nodev)/dev/sda6 on /mydata type ext2 (rw)/dev/sda7 on /backup type vfat (rw)gvfs-fuse-daemon on /home/bala/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=bala)
La même option -a peut être utilisée avec umount pour démonter tous les systèmes de fichiers mentionnés dans /etc/mtab
# umount -aumount: /run/shm: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))umount: /run: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))umount: /dev: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))umount: /: device is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
Certains systèmes de fichiers ne sont pas démontés car ils sont occupés ou en cours d’utilisation. Notez que les contenus des fichiers /etc/mtab et /proc/mounts seraient similaires.
Monter uniquement un système de fichiers spécifique à partir de /etc/fstab
Lorsque vous passez uniquement le nom du répertoire à monter, il recherche les entrées du point de montage, s’il n’est pas trouvé, alors la recherche continue d’un périphérique dans /etc/fstab et se fait monter.
# mount | grep /mydata# cat /etc/fstab | grep mydata##########/mydata was on /dev/sda6 during installation########## /dev/sda6 /mydata ext2 defaults 0 2
Comme vu ci-dessus, le répertoire /mydata n’est pas un point de montage, mais il est présent dans /etc/fstab.
# mount /mydata# mount | grep /mydata/dev/sda6 on /mydata type ext2 (rw)
Si vous exécutez à nouveau le même, vous obtiendrez le message d’erreur suivant :
# mount /mydatamount: /dev/sda6 already mounted or /mydata busymount: according to mtab, /dev/sda6 is already mounted on /mydata
Ici vous pouvez également passer le nom du périphérique au lieu du nom du répertoire (à récupérer dans le fichier /etc/fstab).
# mount /dev/sda6
Notez que les contenus des fichiers /etc/mtab et /proc/mounts seraient similaires.
Voir toutes les partitions montées de type spécifique
Il est possible de ne lister que le type spécifique de système de fichiers monté en utilisant l’option -l avec -t comme indiqué ci-dessous :
# mount -l -t ext2/dev/sda6 on /mydata type ext2 (rw)# mount -l -t ext4/dev/sda5 on / type ext4 (rw,errors=remount-ro)
Comme vu ci-dessus, /dev/sda6 est la seule partition ext2 et /dev/sda5 est la seule partition ext4 en conséquence.
Monter une disquette
Le fichier de périphérique pour la disquette existerait sous le répertoire /dev. Par exemple, une disquette sera montée comme indiqué ci-dessous.
# mount /dev/fd0 /mnt# cd /mnt
Après le montage réussi, vous seriez en mesure d’accéder au contenu de la disquette. Une fois que vous en avez terminé, utilisez umount avant de retirer physiquement la disquette du système.
# umount /mnt
Lier les points de montage à un nouveau répertoire
Le point de montage peut être lié à un nouveau répertoire. Ainsi, vous seriez en mesure d’accéder au contenu d’un système de fichiers via plus d’un point de montage en même temps.
Utiliser l’option -B avec olddir et newdir à lier comme suit,
# mount -B /mydata /mnt
Maintenant le bind est fait et vous pourriez le vérifier comme suit,
# mount | grep /mydata/dev/sda6 on /mydata type ext2 (rw)/mydata on /mnt type none (rw,bind)
Comme vu ci-dessus le bind est fait correctement. Ainsi, lorsque vous effectuez des modifications dans le système de fichiers à un endroit, vous pouvez voir ces reflets de celui-ci dans un autre point de montage comme indiqué ci-dessous:
# cd /mydata# lstest# mkdir dir1# mkdir dir2# lstest dir1 dir2# cd /mnt# lstest dir1 dir2
Accéder au contenu depuis un nouveau point de montage
Le montage vous permet d’accéder au contenu d’un point de montage depuis un nouveau point de montage. Ce n’est rien d’autre que de déplacer une arborescence montée vers un autre endroit.
Dans l’exemple ci-dessous, on accèdera au point de montage /mydata à partir de /mnt en utilisant l’option -M comme indiqué ci-dessous :
# mount -M /mydata /mnt/
Une fois que c’est fait, vous ne pouvez pas utiliser l’ancien point de montage car il a été déplacé vers un nouveau point de montage et cela peut être vérifié comme indiqué ci-dessous :
# mount | grep /mydata# mount | grep /mnt/dev/sda6 on /mnt type ext2 (rw)
Montage sans écriture d’entrée dans /etc/mtab
Lors du montage en lecture seule de /etc/, les entrées du fichier /etc/mtab ne peuvent pas être modifiées par la commande mount. Cependant, le montage peut être effectué sans écriture dans /etc/mtab en utilisant l’option -n comme suit,
# mount -n /dev/sda6 /mydata
Vous ne pouvez pas voir d’entrée pour ce /mydata dans la sortie de la commande mount et aussi bien du fichier /etc/mtab comme suit :
# mount | grep /mydata# cat /etc/mtab | grep /mydata
Accéder au contenu d’un répertoire monté /mydata:
# cd /mydata# lsdir1 dir2 test
Monter un système de fichiers avec un accès en lecture ou en lecture/écriture
Pour monter une partition en lecture seule, utilisez l’option -r qui est synonyme de -o ro.
# mount /dev/sda6 /mydata -r# mount | grep /mydata/dev/sda6 on /mydata type ext4 (ro)
Le système de fichiers ext3 et ext4 vous permettrait toujours d’effectuer une opération d’écriture lorsque le système de fichiers est sale. Donc, vous devrez peut-être utiliser « ro,noload » pour empêcher ce genre d’opération d’écriture.
# mount /dev/sda6 /mydata -t ext4 -o ro -o noload# mount | grep /mydata/dev/sda6 on /mydata type ext4 (ro,noload)
Pour monter une partition avec un accès en lecture/écriture, utilisez l’option -w qui est la même que « -o rw » (c’est-à-dire : par défaut).
Remonter le système de fichiers monté
Pour monter le système de fichiers déjà monté, utilisez l’option remount et elle est normalement utilisée pour remonter le système de fichiers avec un accès en lecture/écriture lorsque celui-ci était précédemment monté avec un accès en lecture.
Le point de montage /mydata va être remonté avec un accès en lecture/écriture à partir d’un accès en lecture comme indiqué ci-dessous :
# mount | grep /mydata/dev/sda6 on /mydata type ext4 (ro,noload)# mount -o remount,rw /mydata# mount | grep /mydata/dev/sda6 on /mydata type ext4 (rw)
Monter une image iso dans un répertoire
L’image iso peut être montée comme indiqué ci-dessous :
# mount -t iso9660 -o loop pdf_collections.iso /mnt# cd /mnt# lsperl/ php/ mysql/
Démonter plus d’un point de montage
Umount vous permet de démonter plus d’un point de montage en une seule exécution de umount de commande comme suit :
# umount /mydata /backup# mount | grep /mydata# mount | grep /backup
Démontage paresseux d’un système de fichiers
C’est une option spéciale de umount, dans le cas où vous voulez démonter une partition après que les opérations sur le disque soient faites. Vous pouvez émettre la commande umount -l avec cette partition et le démontage sera effectué après que les opérations sur le disque soient terminées.
Par exemple, considérons un scénario dans lequel une tâche (c’est-à-dire : script ou toute autre commande) effectue une opération de copie sur un disque et en même temps vous êtes autorisé à émettre un démontage avec -l, de sorte que le démontage serait effectué une fois la copie terminée (c’est-à-dire : l’opération sur le disque).
# umount /mydata -l
Démontage forcé d’un système de fichiers
Mount offre la possibilité de démonter de force un système de fichiers avec l’option -f lorsque le périphérique est occupé comme indiqué ci-dessous :
# umount -f /mnt
Si cela ne fonctionne pas pour vous, alors vous pouvez opter pour le démontage paresseux.
En attendant, vous pouvez également jeter un œil à la sortie de la commande ps qui quel processus utilise actuellement le point de montage comme indiqué ci-dessous :
# ps ajx | grep /mydata 2540 3037 3037 2468 pts/2 3037 D+ 0 0:00 cp -r /home/geekstuff/ProjectData/ /mydata
Vous pouvez également exécuter la commande fuser pour savoir quel processus détient le répertoire pour les opérations.
# fuser -cu /mydata/mydata: 3087(root)
Elle vous donne l’id du processus avec le nom d’utilisateur (rien que le propriétaire du processus). Si vous savez quel est ce processus, vous pouvez vouloir arrêter ce processus et ensuite réessayer l’umount.