¿Cómo verifico si un montaje de enlace en Linux es privado o compartido?

8

El comando mount nos permite hacer un montaje de enlace compartido, esclavo, compartido + esclavo, privado o no enlazable, sin embargo, no pude calcular para un punto de montaje dado qué tipo de subárbol está enraizado en el montaje de enlace (compartido, esclavo, privado, compartido + esclavo o no vinculable). ¿Cómo puedo saber si un montaje de enlace es esclavo o privado?

anaken78
fuente

Respuestas:

8

La respuesta también está en la mount(8)página del manual:

Use findmnt -o TARGET, PROPAGATION para ver las banderas de propagación actuales.

Un ejemplo:

$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   shared

$ sudo mount -o bind /opt /mnt
$ sudo mount --make-slave /opt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private,slave

$ sudo umount /mnt
$ findmnt -o TARGET,PROPAGATION /opt
TARGET PROPAGATION
/opt   private

Consulte la findmntpágina del manual para ver otras opciones.

Como referencia, estos ejemplos están utilizando:

$ findmnt --version
findmnt from util-linux 2.27.1
Dawud
fuente
¿Qué versión findmntestás usando? Estoy usando findmntUbuntu 14.04 y eso no parece tener la opción "PROPAGACIÓN".
anaken78
7

Alternativamente a la respuesta de dawud , puede preguntar directamente al núcleo de esta manera:

# cat /proc/1/mountinfo
14 19 0:14 / /sys rw,nosuid,nodev,noexec,relatime shared:7 - sysfs sysfs rw
15 19 0:3 / /proc rw,nosuid,nodev,noexec,relatime shared:12 - proc proc rw
[...]

Puede ver desde el séptimo campo que mi /syssistema de archivos está compartido (al igual que /proc).

Además, es y en el grupo de pares 7 (los montajes en el mismo grupo de pares propagan eventos entre sí).

El número /proc/1/mountinfoes el PID de un proceso, porque los procesos pueden estar en diferentes espacios de nombres de montaje y "ver" resultados diferentes. Es posible que desee utilizar otro PID, es decir, si está trabajando con contenedores. De lo contrario, 1es simple y directo.

Los montajes compartidos están disponibles desde la versión 2.6.15 del kernel de Linux.

Totor
fuente
-3

Son 2 vistas de los mismos datos, las modificaciones en una reflejan en la otra

mount --bind / source / destrination

/unix/198590/what-is-a-bind-mount

los enlaces de montaje son solo una forma de ordenar una vista del sistema de archivos según sus preferencias

Sum1sAdmin
fuente
1
Esto no responde la pregunta. La pregunta pregunta cómo encontrar el modo de un montaje de enlace determinado (compartido, esclavo, privado, etc.) para no definir qué es un montaje de enlace.
Ossifrage cósmico
el enlace proporcionado explica, no es ninguno de los anteriores
Sum1sAdmin
1
@ Rob-d, ¿qué quieres decir con "no es nada de lo anterior"? Como Cosmic Ossifrage señaló mi pregunta, ¿qué pasa con el tipo de montura, no cómo usar la montura de unión?
anaken78
Es cualquier tipo que se ligan a partir de montaje, utilice otro modo bindfs -r etc.
Sum1sAdmin