J'utilise généralement mount
pour vérifier quels systèmes de fichiers sont montés. Je sais également qu'il existe un lien entre mount
et /etc/mtab
mais je ne suis pas sûr des détails. Après avoir lu Comment vérifier si/proc/est monté Je suis plus confus.
Ma question est: comment obtenir la liste la plus précise des systèmes de fichiers montés? Dois-je simplement utiliser mount
, ou lire le contenu de /etc/mtab
, ou le contenu de /proc/mounts
? Qu'est-ce qui donnerait le résultat le plus fiable?
La liste définitive des systèmes de fichiers montés se trouve dans /proc/mounts
.
Si vous avez une forme quelconque de conteneurs sur votre système, /proc/mounts
répertorie uniquement les systèmes de fichiers qui se trouvent dans votre conteneur actuel. Par exemple, dans un chroot , /proc/mounts
répertorie uniquement les systèmes de fichiers dont le point de montage se trouve dans le chroot. ( Il existe des moyens d'échapper au chroot, esprit. )
Il y a aussi une liste de systèmes de fichiers montés dans /etc/mtab
. Cette liste est maintenue par les commandes mount
et umount
. Cela signifie que si vous n'utilisez pas ces commandes (ce qui est assez rare), votre action (monter ou démonter) ne sera pas enregistrée. En pratique, c'est surtout dans un chroot que vous trouverez /etc/mtab
fichiers qui diffèrent énormément de l'état du système. De plus, les montages effectués dans le chroot seront reflétés dans le /etc/mtab
mais pas dans l'ensemble /etc/mtab
. Actions effectuées pendant que /etc/mtab
est sur un système de fichiers en lecture seule n'y est pas non plus enregistré.
La raison pour laquelle vous voudriez parfois consulter /etc/mtab
de préférence ou en plus de /proc/mounts
est que parce qu'il a accès à la ligne de commande de montage, il est parfois capable de présenter des informations d'une manière plus facile à comprendre; par exemple, vous voyez les options de montage demandées (alors que /proc/mounts
répertorie également les paramètres par défaut mount
et du noyau), et les montages de liaison apparaissent comme tels dans /etc/mtab
.
à partir de v. 2.18 (juillet 2010)util-linux
inclut un outil qui vous permet d'afficher une liste des systèmes de fichiers actuellement montés:
findmnt
Vous pouvez passer de l'arborescence par défaut à la vue de liste avec -l
, définissez les colonnes de sortie avec -o
(similaire à lsblk
), filtre les résultats en fonction du type de système de fichiers avec -t
etc...
findmnt -lo source, cible, fstype, étiquette, options, utilisé -t ext4
SOURCE TARGET FSTYPE LABEL OPTIONS USED
/dev/sda1 / ext4 Arch rw,noatime,discard,data=ordered 17.6G
/dev/sdb2 /media/DATA ext4 DATA rw,noatime,discard,data=ordered 44M
Pour plus de détails, lisez la page man
(et findmnt --help
pour obtenir la liste des colonnes disponibles)
Peut-être parce que cela fait 5 ans que cette question n'a pas reçu de réponse, les choses ont changé. Le cat /proc/mounts
crée beaucoup d'informations dont vous ne vous souciez pas. Aujourd'hui, à mon humble avis, je trouve que c'est la solution ultime.
df -h --output=source,target
lorsque vous lisez les pages de manuel, vous pouvez faire toutes sortes d'options, mais c'est ce que vous voulez. Par exemple, pour nettoyer encore plus les résultats, vous pouvez exclure les types de fichiers "tmpfs" avec cette commande:
df -hx tmpfs --output=source,target
df
fonctionne au niveau du système de fichiers et non au niveau du fichier.
Les commandes ci-dessus incluront également des montages réseau.
Pour voir un peu plus d'informations, utilisez ceci:
df -hT
NOTE Avec des connexions réseau montées lentement, cela peut prendre plusieurs minutes!
Si vous n'avez pas ou ne vous souciez pas des connexions réseau montées (et que vous avez des autorisations root), c'est encore mieux:
Sudo lsblk -f
La plupart du temps, mount
est la méthode la plus pratique. Pour une liste complète et exacte des systèmes de fichiers actuellement montés, vous devriez lire le contenu de /proc/mounts
(par exemple, avec cat /proc/mounts
).
Par exemple, si le montage /
readwrite a échoué et il a ensuite été monté en lecture seule comme solution de rechange, /etc/mtab
(à partir duquel la commande mount
lit pour vous dire ce qui est monté et écrit - si c'est possible - quand il change ce qui est monté) ne sera pas mis à jour pour refléter que /
(qui contient /etc/mtab
) est actuellement monté en lecture seule. Dans cette situation, l'exécution de mount
vous indiquera généralement (incorrectement) que /
a été monté en lecture-écriture.
Dans des conditions normales (c'est-à-dire lorsque le système de fichiers qui le contient peut être écrit), /etc/mtab
contient une liste des systèmes de fichiers actuellement montés. À ne pas confondre avec /etc/fstab
, qui contient une liste de systèmes de fichiers censés être montés automatiquement au démarrage du système.
Bien sûr, si le /proc
le système de fichiers virtuel n'est pas lui-même monté, vous ne pouvez donc pas lire les fichiers virtuels qu'il contient, ce qui comprendrait /proc/mounts
. C'est très rarement le cas. Dans cette situation, mount
est probablement votre meilleure option pour voir ce qui est monté.