Perguntado sobre serverfault mas não recebi atenção suficiente, então repostamos aqui, com a esperança de que algumas pessoas aqui saibam a resposta.
Há outra pergunta discutindo sobre o desmontagem de montagens de rbind, mas a solução tem efeito indesejado. Considere o seguinte layout de diretório:
.
├── A_dir
│ └── mount_b
├── B_dir
│ └── mount_c
└── C_dir
Agora vinculo C_dir
a B_dir/mount_c
e 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
Agora umount A_dir/mount_b
falhará, o que não é surpresa. De acordo com as respostas em toda a web, precisamos umount A_dir/mount_b/mount_c
primeiro, em seguida, umount A_dir/mount_b
. No entanto, umount A_dir/mount_b/mount_c
também desmontará B_dir/mount_c
, o que não é desejado:
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
Agora, minha pergunta é: como desmontar A_dir/mount_b
, mas deixar B_dir
não afetado, ou seja, ainda há uma ligação B_dir/mount_c
to C_dir
?
EDIT: este problema não parece aparecer no Ubuntu. Mais especificamente, funciona bem no meu Ubuntu 14.04, mas não funciona no Fedora 23 e no CentOS 7. Por que existe a diferença e qual é a solução para o Fedora e o CentOS?
EDIT: mais algumas informações sobre o problema real que estou tentando resolver. Eu tentei criar um sandbox e usei --rbind
para montar o /dev
e /proc
no sandbox. Ao destruir o sandbox, parece que não posso destruí-lo corretamente porque a desmontagem de <sandbox-root>/dev/pts
no FC23 e no CentOS7 desmontará /dev/pts
, após o que minhas conexões shell e SSH travarão e eu tenho que reinicializar a máquina. É por isso que estou perguntando se existe uma maneira de desmontar as montagens --rbind sem afetar as submontagens.