Une fois que vous avez inséré de nouveaux disques durs dans votre système, vous utiliserez généralement des utilitaires tels que 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 devez 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 les commandes mount et umount avec 15 exemples pratiques.
La syntaxe générale de la commande mount pour monter un appareil :
mount -t type device destination_dir
1. Monter un CD-ROM
Le fichier de périphérique pour le 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. Assurez-vous également que le répertoire de destination (dans l'exemple ci-dessus, /mnt) existe avant d'exécuter la commande de montage.
2. Afficher toutes les montures
Après avoir exécuté le montage d'une partition ou d'un système de fichiers, exécutez la commande mount sans aucun argument pour afficher tous les montages.
Dans l'exemple ci-dessous, après avoir monté la clé USB sur un système, la sortie de mount ressemble à ce qui suit. Comme indiqué ci-dessous, le périphérique USB (c'est-à-dire/dev/sdb) est monté sur /media/myusb, qui s'affiche en dernière ligne dans la commande de montage.
# 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 afficher tous les points de montage.
# df Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda5 195069136 128345036 56958520 70% / udev 2008336 4 2008332 1% /dev tmpfs 806244 928 805316 1% /run none 5120 0 5120 0% /run/lock none 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
3. Montez tous les systèmes de fichiers mentionnés dans /etc/fstab
Les systèmes de fichiers répertoriés dans /etc/fstab sont montés lors du 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 :
Exemples d'entrées de 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écutez la commande mount avec l'option -a pour monter toutes les entrées /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 -a umount: /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 le contenu des fichiers /etc/mtab et /proc/mounts serait similaire.
4. Montez uniquement un système de fichiers spécifique à partir de /etc/fstab
Lorsque vous transmettez uniquement le nom du répertoire à monter, il recherche les entrées de point de montage, s'il n'est pas trouvé, puis recherche en continu un périphérique dans /etc/fstab et est monté.
# 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 la même chose, vous obtiendrez le message d'erreur suivant :
# mount /mydata mount: /dev/sda6 already mounted or /mydata busy mount: 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 le contenu des fichiers /etc/mtab et /proc/mounts serait similaire.
5. Afficher toutes les partitions montées d'un type spécifique
Il est possible de lister uniquement le type spécifique de système de fichiers monté à l'aide de 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.
6. Monter une disquette
Le fichier de périphérique pour disquette existerait sous le répertoire /dev. Par exemple, une disquette sera montée comme indiqué ci-dessous.
# mount /dev/fd0 /mnt # cd /mnt
Une fois le montage réussi, vous pourrez accéder au contenu de la disquette. Une fois que vous avez terminé, utilisez umount avant de retirer physiquement la disquette du système.
# umount /mnt
7. Lier les points de montage à un nouveau répertoire
Le point de montage peut être lié à un nouveau répertoire. Ainsi, vous pourrez accéder au contenu d'un système de fichiers via plusieurs points de montage en même temps.
Utilisez l'option -B avec olddir et newdir à lier comme suit,
# mount -B /mydata /mnt
Maintenant, la liaison est terminée et vous pouvez la 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, la liaison est correctement effectuée. Ainsi, lorsque vous modifiez le système de fichiers à un endroit, vous pouvez en voir le reflet dans un autre point de montage, comme indiqué ci-dessous :
# cd /mydata # ls test # mkdir dir1 # mkdir dir2 # ls test dir1 dir2 # cd /mnt # ls test dir1 dir2
8. Accéder au contenu à partir du nouveau point de montage
Mount vous permet d'accéder au contenu d'un point de montage à partir d'un nouveau point de montage. Ce n'est rien d'autre que déplacer un arbre monté vers un autre endroit.
Dans l'exemple ci-dessous, le point de montage /mydata sera accessible depuis /mnt en utilisant l'option -M comme indiqué ci-dessous :
# mount -M /mydata /mnt/
Une fois cela fait, vous ne pouvez pas utiliser l'ancien point de montage car il est 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)
9. Monter sans écrire 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 écrire dans /etc/mtab en utilisant l'option -n comme suit,
# mount -n /dev/sda6 /mydata
Vous ne pouvez voir aucune entrée pour ce /mydata dans la sortie de la commande de montage ni dans le 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 # ls dir1 dir2 test
10. Monter le 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)
Les systèmes de fichiers ext3 et ext4 vous permettraient toujours d'effectuer une opération d'écriture lorsque le système de fichiers est sale. Ainsi, vous devrez peut-être utiliser "ro, noload" pour empêcher ce type 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 identique à "-o rw" (c'est-à-dire :par défaut).
11. Remontez le système de fichiers monté
Afin de monter le système de fichiers déjà monté, utilisez l'option de remontage et elle est normalement utilisée pour remonter le système de fichiers avec un accès en lecture/écriture lorsqu'il é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)
12. 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 # ls perl/ php/ mysql/
13. Démonter plusieurs points de montage
Umount vous permet de démonter plus de points de montage en une seule exécution de la commande umount comme suit :
# umount /mydata /backup # mount | grep /mydata # mount | grep /backup
14. Démontage paresseux d'un système de fichiers
Il s'agit d'une option spéciale dans umount, au cas où vous souhaiteriez démonter une partition une fois les opérations sur le disque terminées. Vous pouvez émettre la commande umount -l avec cette partition et le démontage sera effectué une fois les opérations sur le disque terminées.
Par exemple, considérez un scénario dans lequel une tâche (c'est-à-dire un 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 soit effectué une fois que le la copie est terminée (c'est-à-dire l'opération de disque).
# umount /mydata -l
15. Démonter de force un système de fichiers
umount 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, vous pouvez opter pour un démontage paresseux.
En attendant, vous pouvez également consulter la sortie de la commande ps indiquant 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)
Il vous donne l'identifiant du processus avec le nom d'utilisateur (rien d'autre que le propriétaire du processus). Si vous savez ce qu'est ce processus, vous voudrez peut-être l'arrêter, puis réessayer de démonter.