Mucha gente sigue diciendo que Linux no guarda información sobre los montajes de enlace, por lo que no hay forma de obtener una lista de ellos y sus fuentes. Aquí hay unos ejemplos:
de uno de los comentarios aquí :
IIRC esta información no se guarda en ningún lado: después
mount --bind, las dos copias son equivalentes, no hay una que sea más "original" que la otra. Después de todo, no podría haber original si ya hubiera desmontado/mnt.de una respuesta en este sitio :
Entonces, la única forma de recordar qué monturas eran monturas de unión es el registro de los comandos de montura que quedan
/etc/mtab. Una operación de montaje de enlace se indica mediante la opción de montaje de enlace (que hace que se ignore el tipo de sistema de archivos). Pero mount no tiene la opción de enumerar solo los sistemas de archivos montados con un conjunto particular de conjuntos de opciones.de un informe de error de Debian :
Esto es intencional Ambos puntos de montaje son totalmente iguales en todos los sentidos, por lo que el núcleo no mantiene ningún indicador para diferenciarlos.
Sin embargo, lo anterior no tiene sentido. La herramienta findmntpuede enumerar las rutas de origen de los montajes de enlace (en forma de device[source-path]; También estoy tratando de hacer que solo enumere la ruta de origen y no el dispositivo). Si el kernel de Linux va a mantener un montaje de enlace, entonces esa información tiene que almacenarse en algún lugar , de lo contrario no podría saber que /homeestá vinculada /users. Entonces, ¿dónde están estos datos? ¿Está almacenado en alguna región oscura en la RAM? ¿ findmntMira en /procalgún lado?
/proc/self/mountinforelativamente recientemente fue reestructurado. Estaba en mi máquina RHEL6 antes, que no tenía la información de la ruta, pero mi máquina RHEL7 sí y, como se menciona en su enlace, Wheezy también.
/dev/Ase monta en /By lo hace mount --bind /B /C, los núcleos más antiguos solo recuerdan /B → /dev/Ay /C → /dev/A, no recuerdan ninguna relación entre /By /C. Por lo tanto, desmontar /Bnaturalmente no tiene ningún efecto /C. Los núcleos más nuevos recuerdan que /Cfue un montaje de enlace /B, pero de una manera que no impide /Ccontinuar trabajando si no /Bestá montado, no sé exactamente cómo.
findmntestá ejecutando y qué opciones le está dando? El mío no lo imprime así y mirando el código fuente que parece estar usando,_PATH_PROC_MOUNTINFOque parece/proc/self/mountinfono tener esta información tampoco.