Un système de fichiers résidant sur un périphérique SATA/PATA ou SCSI doit être monté manuellement pour y accéder. La commande mount permet à l’utilisateur root de monter manuellement un système de fichiers. Le premier argument de la commande mount spécifie le système de fichiers à monter. Le deuxième argument indique le répertoire cible dans lequel le système de fichiers est rendu disponible après son montage. Le répertoire cible est appelé point de montage.
La syntaxe générale pour monter un système de fichiers avec mount est :
# mount device mount_point_directory
En utilisant mount, vous pouvez remplacer les paramètres par défaut dans /etc/fstab. Par exemple, la saisie de ce qui suit monte la partition /dev/sdd1 dans le répertoire /data:
# mount /dev/sdd1 /data
Vous ne spécifiez généralement pas le type de système de fichiers car il est reconnu automatiquement (à l’aide de nombres magiques dans le superbloc, ou simplement en essayant différents types de systèmes de fichiers ; voir man mount pour plus de détails).
Voici quelques-unes des options que vous pouvez utiliser lors du montage d’un système de fichiers avec la commande mount ou en les saisissant dans /etc/fstab.
- remount. Cette option fait en sorte que les systèmes de fichiers qui sont déjà montés le soient à nouveau. Lorsque vous apportez une modification aux options dans /etc/fstab, vous pouvez utiliser remount pour intégrer les changements.
- rw, ro. Ces options indiquent si un système de fichiers doit être accessible en écriture (rw) ou seulement en lecture (ro).
- sync, async. Ces options définissent une entrée et une sortie synchrones (sync) ou asynchrones (async) dans un système de fichiers. Le paramètre par défaut est async.
- atime, noatime. Ces options définissent si le temps d’accès d’un fichier est mis à jour dans l’inode (atime) ou non (noatime). L’option noatime devrait améliorer les performances.
- Nodev, dev. L’option nodev empêche les fichiers de périphériques d’être interprétés comme tels dans le système de fichiers.
- noexec, exec. Vous pouvez interdire l’exécution de programmes sur un système de fichiers avec l’option noexec.
- nosuid, suid. L’option nosuid garantit que les bits suid et sgid du système de fichiers sont ignorés.
Certaines options n’ont de sens que dans le fichier /etc/fstab. Ces options incluent les suivantes :
- auto, noauto. Les systèmes de fichiers définis avec l’option noauto dans le fichier /etc/fstab ne sont pas montés automatiquement lorsque le système est démarré.
- utilisateur, nouser. Cette option permet aux utilisateurs de monter le système de fichiers. Normalement, c’est un privilège de l’utilisateur root.
- défauts. Cette option entraîne l’utilisation des options par défaut rw, suid, dev, exec, auto, nouser et async.
Les options noauto et user sont généralement combinées pour les supports amovibles tels que les lecteurs de disquettes ou de CD-ROM.
Démonter un système de fichiers
Une fois qu’un système de fichiers est monté, vous pouvez utiliser la commande umount (sans « n ») pour démonter le système de fichiers. Vous pouvez démonter le système de fichiers en utilisant umount avec le périphérique ou le point de montage.
Par exemple, pour démonter un système de fichiers (dev/sdd1) monté sur /data, vous pouvez saisir l’une des commandes suivantes :
# umount /data
ou
umount /dev/sdd1
Pour démonter le système de fichiers, aucune application ou utilisateur ne peut utiliser le système de fichiers. S’il est utilisé, Linux voit le système de fichiers comme étant « occupé » et refusera de démonter le système de fichiers et produira l’erreur ci-dessous.
# umount /dataumount: /data: target is busy. (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1))
Le démontage n’est pas possible si le point de montage est accédé par un processus. Pour que l’umount réussisse, le processus doit cesser d’accéder au point de montage.
La commande lsof liste tous les fichiers ouverts et les processus qui y accèdent dans le répertoire fourni. Elle est utile pour identifier les processus qui empêchent actuellement le système de fichiers de réussir un umount.
# lsof /dataCOMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEbash 1160 root cwd DIR 253,1 180 4194369 /rootrsyslogd 566 root cwd DIR 253,1 224 64 /...
Vous pouvez également utiliser la commande fuser pour obtenir les ID des processus actuellement en cours d’exécution sur le point mpunt que vous souhaitez umount.
# fuser -cu /data
Vous pouvez également tuer tous les processus sur le point de montage en utilisant la commande fuser.
# fuser -ck /data
Une fois les processus identifiés, une action peut être entreprise, comme attendre que le processus se termine ou envoyer un signal SIGTERM ou SIGKILL au processus. Dans ce cas, il suffit d’umonter le point de montage.
# umount /data
Forcer Umount les systèmes de fichiers
Il peut y avoir des moments où le système (noyau) voit le système de fichiers comme occupé, peu importe ce que vous essayez de faire. Dans ces cas, vous pouvez entrer umount -f pour forcer le système de fichiers à démonter. Cependant, nous recommandons de n’utiliser ceci qu’en dernier recours, car il y a probablement une raison pour laquelle le noyau pense que le système de fichiers est toujours monté.
# umount -f /mount_point
Voir les systèmes de fichiers actuellement montés
Vous pouvez voir les systèmes de fichiers actuellement montés en entrant la commande mount. Des informations similaires à celles qui suivent apparaissent :
# mountsysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=487424k,nr_inodes=121856,mode=755)/dev/vda1 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)...
Vous pouvez également afficher ces informations dans le fichier /proc/mounts.
.