J'utilise habituellement mount
pour vérifier quels systèmes de fichiers sont montés. Je sais aussi qu'il y a 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 la suivante: comment obtenir la liste la plus précise des systèmes de fichiers montés? Devrais-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?
linux
filesystems
mount
Xanpeng
la source
la source
Réponses:
La liste définitive des systèmes de fichiers montés est dans
/proc/mounts
.Si vous avez une forme quelconque de conteneur sur votre système,
/proc/mounts
ne répertorie que les systèmes de fichiers contenus dans votre conteneur actuel. Par exemple, dans un chroot ,/proc/mounts
répertorie uniquement les systèmes de fichiers dont le point de montage est dans le chroot. ( Il existe des moyens d'échapper au chroot, l'esprit. )Il y a aussi une liste des systèmes de fichiers montés dans
/etc/mtab
. Cette liste est maintenue par les commandesmount
etumount
. Cela signifie que si vous n'utilisez pas ces commandes (ce qui est assez rare), votre action (montage ou démontage) ne sera pas enregistrée. En pratique, c'est principalement dans un chroot que vous trouverez des/etc/mtab
fichiers très différents de l'état du système. De plus, les montages effectués dans le chroot seront reflétés dans le chroot,/etc/mtab
mais pas dans le corps principal/etc/mtab
. Les actions exécutées/etc/mtab
sur un système de fichiers en lecture seule ne sont pas non plus enregistrées.La raison pour laquelle vous souhaitez parfois consulter
/etc/mtab
de préférence ou en complément/proc/mounts
est que, du fait qu’elle a accès à la ligne de commande de montage, elle est parfois capable de présenter des informations d’une manière plus facile à comprendre; Par exemple, vous voyez les options de montage comme demandé (alors que la/proc/mounts
liste contient également lesmount
valeurs par défaut du noyau et du noyau), et les montages de liaison apparaissent tels quels dans/etc/mtab
.la source
mount
maintenir/etc/mtab
si on ne peut pas compter sur lui? Ne serait-il pas préférable demount
présenter les informations à la/proc/mounts
place?/etc/mtab
peut enregistrer des informations non suivies par le noyau, telles que les options demandées à l'origine, et des montages de liaison apparaissant comme tels au lieu d'apparaître comme des entrées dupliquées pour les périphériques. Néanmoins, de nombreuses distributions commencent à créer/etc/mtab
un lien symbolique vers/proc/mounts
./etc/mtab
un lien symbolique vers/proc/mounts
. C'est bon à entendre - ajouter cette information à la réponse la rendrait encore meilleure. Pensez-vous que le suivi des options demandées par le noyau serait faisable et bénéfique?findmnt
qui est la méthode recommandée depuis 2010 et probablement la seule méthode sûre dans un proche avenir lorsque les espaces de noms de montage seront communs.À partir de la version 2.18 (juillet 2010),
util-linux
un outil vous permet d'afficher une liste des systèmes de fichiers actuellement montés:Vous pouvez passer de l'arborescence par défaut à la vue liste
-l
, définir des colonnes de sortie avec-o
(similaire àlsblk
), filtrer les résultats en fonction du type de système de fichiers avec-t
etc ...Pour plus de détails, lisez la
man
page (etfindmnt --help
pour obtenir la liste des colonnes disponibles)la source
Peut-être parce que cela fait 5 ans que cette question a reçu une réponse, les choses ont changé. Le
cat /proc/mounts
crée beaucoup d'informations que vous ne se soucient pas. Aujourd'hui, à mon humble avis, je trouve que c'est la solution ultime.Lorsque vous lisez les pages de manuel, vous pouvez faire toutes sortes d’options, mais c’est ce que vous faites. Par exemple, pour nettoyer davantage les résultats, vous pouvez exclure les types de fichiers de "tmpfs" avec cette commande:
df
fonctionne au niveau du système de fichiers et non au niveau du fichier.Les commandes ci-dessus incluent également les montages réseau.
Pour voir un peu plus d'informations, utilisez ceci:
REMARQUE Avec des connexions réseau montées lentement, cela peut prendre plusieurs minutes!
Si vous ne possédez pas ou ne vous souciez pas des connexions réseau montées (et que vous avez des autorisations root), c'est encore mieux:
la source
--output
quelque chose comme Ubuntu 12 qui n'accepte pas ces options, jetez un œil à lafindmnt
réponse de don_crissti ci-dessous.findmnt
semble avoir besoin de capacités plus élevées (testé avec root; la racine a toutes les capacités) pour afficher les étiquettes.La plupart du temps,
mount
c'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, aveccat /proc/mounts
).Par exemple, si le montage en
/
lecture-écriture échouait et qu'il était alors monté en lecture seule comme solution de secours/etc/mtab
(que lamount
commande lit pour vous dire ce qui est monté, et écrit - s'il le peut - quand il modifie 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écutionmount
vous indiquerait généralement (de manière incorrecte) que le/
script a été monté en lecture / écriture.Dans des conditions normales (lorsque le système de fichiers qui le contient peut être écrit),
/etc/mtab
contient la liste des systèmes de fichiers actuellement montés. Ceci ne doit pas être confondu avec/etc/fstab
, qui contient une liste de systèmes de fichiers qui sont supposés être montés automatiquement au démarrage du système.Bien sûr, si le
/proc
système de fichiers virtuel n'est pas monté, vous ne pouvez en lire aucun fichier virtuel, ce qui inclurait/proc/mounts
. C'est très rarement le cas. Dans cette situation,mount
est probablement votre meilleure option pour voir ce qui est monté.la source