
요청 날짜서버 결함하지만 충분한 관심을 받지 못해 여기에 다시 게시했습니다. 여기 있는 일부 사람들이 답을 알고 있기를 바랍니다.
또 있다질문rbind 마운트를 마운트 해제하는 방법에 대해 논의하고 있지만 솔루션이 원치 않는 영향을 미칩니다. 다음 디렉터리 레이아웃을 고려하세요.
.
├── A_dir
│ └── mount_b
├── B_dir
│ └── mount_c
└── C_dir
이제 다음 C_dir
에 바인딩 B_dir/mount_c
하고 rbind합니다 .B_dir
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
이제 umount A_dir/mount_b
실패할 것입니다. 이는 놀라운 일이 아닙니다. 웹상의 모든 답변에 따르면 umount A_dir/mount_b/mount_c
먼저 다음 을 수행해야 합니다 umount A_dir/mount_b
. 그러나 는 원하지 않는 umount A_dir/mount_b/mount_c
마운트 해제도 수행합니다 .B_dir/mount_c
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
A_dir/mount_b
이제 내 질문은 마운트를 해제 하고 영향을 받지 않은 상태로 두는 방법입니다. 즉, 여전히 에 대한 B_dir
바인딩이 있습니까 ?B_dir/mount_c
C_dir
편집: 이 문제는 우분투에서는 나타나지 않는 것 같습니다. 더 구체적으로 말하면 Ubuntu 14.04에서는 제대로 작동하지만 Fedora 23 및 CentOS 7에서는 작동하지 않습니다. 차이점이 있는 이유와 Fedora 및 CentOS에 대한 해결 방법은 무엇입니까?
편집: 내가 해결하려는 실제 문제에 대한 추가 정보입니다. 나는 샌드박스를 생성하려고 시도했고 샌드박스에 및를 --rbind
마운트하는 데 사용했습니다. 샌드박스를 제거할 때 FC23 및 CentOS7에서 마운트 해제하면 마운트가 해제되고 그 후 쉘 및 SSH 연결이 중단되고 시스템을 재부팅해야 하기 때문에 샌드박스를 완전히 제거할 수 없는 것 같습니다 . 그렇기 때문에 하위 마운트에 영향을 주지 않고 --rbind 마운트를 마운트 해제할 수 있는 방법이 있는지 묻는 것입니다./dev
/proc
<sandbox-root>/dev/pts
/dev/pts
답변1
나는 해결책을 스스로 찾았습니다. 다음으로 다시 전파되지 않도록 --make-rslave
변경 사항을 적용하는 데만 사용하면 됩니다 .A_dir/mount_b
B_dir
sudo mount --make-rslave A_dir/mount_b
sudo umount -R A_dir/mount_b
보다산맨 페이지 섹션공유 하위 트리 작업.