Para mostrar la ruta de origen del montaje de enlace para el montaje posterior a v2.25.2

Para mostrar la ruta de origen del montaje de enlace para el montaje posterior a v2.25.2

ACTUALIZACIÓN, estoy reabriendo esta pregunta porque findmntno es la respuesta.

Básicamente, el resumen del OP es que desde la versión 2.25.2, mount ya no muestra su ruta de origen:

$ mkdir -v /export/crash
mkdir: created directory '/export/crash'

$ mount -v --bind /export/crash /var/crash
mount: /export/crash bound on /var/crash.

$ mount | grep crash 
/dev/sdb2 on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)

Antes del montaje v2.25.2, solía informar la fuente del montaje:

$ mount | grep crash 
/export/crash on /var/crash type ext3 (rw,noatime,nodiratime,data=ordered)

Esto es muy inconveniente para mí, ya que

  • Antes podía hacerlo umount mount_source, pero ahora sólo puedo hacerumount mount_target
  • Vinculo el montaje desde cierta fuente como de solo lectura y tengo un script para activar y desactivar RW para esos montajes vinculados. Pero con la nueva montura (v2.25.2+), ya no puedo hacer eso.

Y findmntno es la respuesta a mis problemas anteriores:

$ findmnt | grep crash
└─/var/crash   /dev/sdb2[/crash]   ext3    rw,noatime,nodiratime,data=ordered

Es decir, no muestra que /var/crashprovenga de /export/crashninguno de los dos. (NB, si prueba con un montaje vinculado desde /tmp/crasho similar, lo verá /tmp/crashen la fuente, pero necesito ver la /exportparte, mi punto de montaje).

Por favor ayuda.

== El siguiente es el OP original ==:

La sintaxis para enlazar montaje siempre ha sido

mount --bind olddir newdir

Sin embargo, noté una diferencia en la forma en que mountlos informes se montan entre Ubuntu 14.10 Utopic y Ubuntu 15.04 Vivid, es decir, montar v2.25.1 y montar v2.25.2.

En Ubuntu 14.10 Utopic, los mountinformes del enlace se montan así:

$ mount | grep www
/my/path/to/www on /var/www type none (rw,bind)

$ mount -V   
mount from util-linux 2.25.1 (libmount 2.25.0: selinux, assert, debug)

Sin embargo, en Ubuntu 15.04 Vivid, es así:

$ mount | grep www 
/dev/sda11 on /var/www type ext3 (rw,noatime,nodiratime,data=ordered)

$ mount -V   
mount from util-linux 2.25.2 (libmount 2.25.0: selinux, assert, debug)

Es decir, la ruta de origen del montaje de enlace no aparece en el mountinforme. Para ambos casos, utilizo la sintaxis exacta para enlazar montaje como se indica arriba.

Entonces, ¿cómo puedo hacer mountque se muestre la ruta de origen del montaje enlazado en Ubuntu 15.04 Vivid (mount v2.25.2)?

Respuesta1

Lo que puedes hacer es grep el/proc/self/montajeinfo:

$ less /proc/self/mountinfo | grep /my/mount
221 84 8:3 /bind/source /my/mount rw,relatime shared:32 - ext4 /dev/sda3 rw,data=ordered

Respuesta2

¿Has considerado usar findmnt?

mountalmacena su información en /proc/mounts (o /proc/self/mounts), que está vinculado simbólicamente a /etc/mtab. mountsimplemente capturará este archivo y ya no almacenará información de enlace.

información relacionada