Usualmente uso mountpara verificar qué sistemas de archivos están montados. También sé que hay alguna conexión entre mounty, /etc/mtabpero no estoy seguro de los detalles. Después de leer Cómo verificar si / proc / está montado, me confundo más.
Mi pregunta es: ¿Cómo obtener la lista más precisa de sistemas de archivos montados? ¿Debo usar mounto leer el contenido /etc/mtabo el contenido de /proc/mounts? ¿Qué daría el resultado más confiable?
linux
filesystems
mount
xanpeng
fuente
fuente

Respuestas:
La lista definitiva de sistemas de archivos montados está en
/proc/mounts.Si tiene alguna forma de contenedores en su sistema,
/proc/mountssolo enumere los sistemas de archivos que están en su contenedor actual. Por ejemplo, en un chroot ,/proc/mountsenumera solo los sistemas de archivos cuyo punto de montaje está dentro del chroot. ( Hay formas de escapar del chroot, mente ) .También hay una lista de sistemas de archivos montados en
/etc/mtab. Esta lista es mantenida por los comandosmountyumount. Eso significa que si no usa estos comandos (lo cual es bastante raro), su acción (montar o desmontar) no se grabará. En la práctica, es principalmente en un chroot donde encontrarás/etc/mtabarchivos que difieren enormemente del estado del sistema. Además, los montajes realizados en el chroot se reflejarán en el chroot/etc/mtabpero no en el principal/etc/mtab. Las acciones realizadas mientras/etc/mtabestá en un sistema de archivos de solo lectura tampoco se registran allí.La razón por la que a veces querría consultar
/etc/mtabcon preferencia o además/proc/mountses porque tiene acceso a la línea de comando de montaje, a veces puede presentar información de una manera más fácil de entender; por ejemplo, verá las opciones de montaje según lo solicitado (mientras que también/proc/mountsenumera losmountvalores predeterminados y del núcleo), y los montajes de enlace aparecen como tales en/etc/mtab.fuente
mountmantener/etc/mtabsi no se puede confiar en él? ¿No sería mejor si semountpresentara información de él/proc/mounts?/etc/mtabpuede registrar información que el núcleo no rastrea, como las opciones solicitadas originalmente, y los montajes de enlace que aparecen como tales en lugar de aparecer como entradas duplicadas para dispositivos. Sin embargo, muchas distribuciones se están moviendo hacia hacer/etc/mtabun enlace simbólico a/proc/mounts./etc/mtabun enlace simbólico a/proc/mounts. Es bueno escucharlo: agregar esta información para responder lo haría aún mejor. ¿Crees que el seguimiento de las opciones solicitadas por el núcleo sería factible y beneficioso?findmntque es la forma preferida desde 2010 y probablemente la única forma segura en un futuro próximo cuando los espacios de nombres de montaje sean comunes.A partir de la versión 2.18 (julio de 2010)
util-linuxincluye una herramienta que le permite mostrar una lista de los sistemas de archivos actualmente montados:Puede cambiar de la vista de árbol predeterminada a la vista de lista con
-l, definir columnas de salida con-o(similar alsblk), filtrar los resultados según el tipo de sistema de archivos con-tetc.Para más detalles lea la
manpágina (yfindmnt --helppara obtener la lista de columnas disponibles)fuente
Tal vez porque han pasado 5 años desde que se respondió esta pregunta, las cosas han cambiado. El
cat /proc/mountscrea una gran cantidad de información que no te importa. Hoy, en mi humilde opinión, creo que esta es la solución definitiva.Cuando lees las páginas del manual, hay todo tipo de opciones que puedes hacer, pero esto es lo que tú haces. Por ejemplo, para limpiar aún más los resultados, puede excluir tipos de archivos de "tmpfs" con este comando:
dffunciona en el nivel del sistema de archivos y no en el nivel del archivo.Los comandos anteriores también incluirán montajes de red.
Para ver un poco más de información, use esto:
NOTA ¡ Con conexiones de red de montaje lento, esto puede llevar varios minutos!
Si no tiene o le importan las conexiones de red montadas (y tiene permisos de root), esto es aún mejor:
fuente
--outputalgo como Ubuntu 12 que no acepta esas opciones, mira lafindmntrespuesta de don_crissti a continuación, que sí lo hace.findmntparece necesitar capacidades superiores (probadas con root; root tiene todas las capacidades) para mostrar etiquetas.La mayoría de las veces,
mountes el método más conveniente. Para obtener una lista completa y exacta de los sistemas de archivos actualmente montados, debe leer el contenido de/proc/mounts(por ejemplo, concat /proc/mounts).Por ejemplo, si
/fallaba el montaje de lectura y escritura y luego se montaba solo como respaldo,/etc/mtab(elmountcomando lee para decirle qué está montado y escribe, si puede, cuando cambia lo que está montado) no se actualizará para reflejar que/(que contiene/etc/mtab) está actualmente montado solo lectura. En esta situación, la ejecuciónmountnormalmente le/indicaría (incorrectamente) que se montó readwrite.En condiciones normales (es decir, cuando se puede escribir en el sistema de archivos que lo contiene),
/etc/mtabcontiene una lista de los sistemas de archivos actualmente montados. Esto no debe confundirse con/etc/fstab, que contiene una lista de sistemas de archivos que se supone que se montan automáticamente cuando se inicia el sistema.Por supuesto, si el
/procsistema de archivos virtual no está montado, entonces no puede leer ninguno de los archivos virtuales en él, lo que incluiría/proc/mounts. Esto muy raramente es el caso. En esta situación,mountes probablemente su mejor opción para ver lo que está montado.fuente