Se le preguntó sobre el servidor predeterminado, pero no recibió suficiente atención, así que se volvió a publicar aquí, con la esperanza de que algunas personas aquí sepan la respuesta.
Hay otra pregunta discutiendo sobre el montaje de los montajes de rbind, pero la solución tiene un efecto no deseado. Considere el siguiente diseño de directorio:
.
├── A_dir
│ └── mount_b
├── B_dir
│ └── mount_c
└── C_dir
Ahora me ato C_dir
a B_dir/mount_c
y rbind B_dir
a A_dir/mount_b
:
[hidden]$ sudo mount --bind C_dir B_dir/mount_c
[hidden]$ sudo mount --rbind B_dir A_dir/mount_b
[hidden]$ mount | grep _dir | wc -l
3
Ahora umount A_dir/mount_b
fallará, lo cual no es sorprendente. De acuerdo con las respuestas en todas partes en la web, umount A_dir/mount_b/mount_c
primero tenemos que hacerlo umount A_dir/mount_b
. Sin embargo, umount A_dir/mount_b/mount_c
también se desmontará B_dir/mount_c
, lo que no se desea:
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
Ahora mi pregunta es, ¿cómo puedo desmontar A_dir/mount_b
pero dejando B_dir
afectado, es decir, todavía hay un aprieto B_dir/mount_c
a C_dir
?
EDITAR: este problema no parece aparecer en Ubuntu. Más específicamente, funciona bien en mi Ubuntu 14.04 pero no funciona en Fedora 23 y CentOS 7. ¿Por qué existe la diferencia y cuál es el trabajo para Fedora y CentOS?
EDITAR: algo más de información sobre el problema real que estoy tratando de resolver. Traté de crear un sandbox y solía --rbind
montar el /dev
y /proc
al sandbox. Al destruir la caja de arena, parece que no puedo destruirla limpiamente porque desmontar <sandbox-root>/dev/pts
en FC23 y CentOS7 se desmontará /dev/pts
, después de lo cual mis conexiones de shell y SSH se bloquean y tengo que reiniciar la máquina. Es por eso que pregunto si hay una manera de desmontar los montajes --rbind sin afectar los submontes.
fuente
Respuestas:
Encontré la solución yo mismo. Simplemente necesito usar
--make-rslave
para hacer cualquier cambio enA_dir/mount_b
no propagar de nuevo aB_dir
:Consulte la sección de la página de manual de mount Las operaciones de subárbol compartidas .
fuente
mount --rbind src target --make-rslave
en una llamada; algunos sistemas solían no permitirme esto.