Questionado sobre falha no servidor, mas não recebeu atenção suficiente, então postado aqui, com a esperança de que algumas pessoas aqui saibam a resposta.
Há outra pergunta discutindo sobre a montagem de montagens 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 eu ligar C_dir
para B_dir/mount_c
e rbind B_dir
para 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 é surpreendente. De acordo com as respostas em todos os lugares da web, precisamos umount A_dir/mount_b/mount_c
primeiro então umount A_dir/mount_b
. No entanto, umount A_dir/mount_b/mount_c
também desmontará B_dir/mount_c
, o que é indesejado:
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
Agora a minha pergunta é: como faço para desmontar A_dir/mount_b
, mas deixando B_dir
inalterado, ou seja, ainda há um dilema B_dir/mount_c
para C_dir
?
EDIT: este problema não parece aparecer no Ubuntu. Mais especificamente, ele 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 é o problema do Fedora e do CentOS?
Edição: mais algumas informações sobre o problema real que estou tentando resolver. Tentei criar uma caixa de areia e usado --rbind
para montar o /dev
e /proc
a caixa de areia. Ao destruir a caixa de areia, parece que não posso destruí-la de maneira limpa, porque a desmontagem <sandbox-root>/dev/pts
no FC23 e no CentOS7 será desmontada /dev/pts
, após o que minhas conexões shell e SSH travam e eu tenho que reiniciar a máquina. É por isso que estou perguntando se existe uma maneira de desmontar as montagens --rbind sem afetar as submounts.
fonte
Respostas:
Eu mesmo encontrei a solução. Eu só preciso usar
--make-rslave
para fazer alterações emA_dir/mount_b
não propagar de volta paraB_dir
:Consulte a seção da página de manual mount As operações da subárvore compartilhada .
fonte
mount --rbind src target --make-rslave
em uma chamada; alguns sistemas costumavam impedir isso para mim.