Đã hỏi về serverfault nhưng không nhận được đủ sự chú ý, vì vậy đã đăng lại ở đây, với hy vọng một số người ở đây biết câu trả lời.
Có một câu hỏi khác thảo luận về việc gắn kết rbind gắn kết, nhưng giải pháp có hiệu quả không mong muốn. Hãy xem xét cách bố trí thư mục sau:
.
├── A_dir
│ └── mount_b
├── B_dir
│ └── mount_c
└── C_dir
Bây giờ tôi ràng buộc C_dir
để B_dir/mount_c
và 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
Bây giờ umount A_dir/mount_b
sẽ thất bại, điều này không đáng ngạc nhiên. Theo các câu trả lời ở khắp mọi nơi trên web, umount A_dir/mount_b/mount_c
trước tiên chúng ta cần phải có umount A_dir/mount_b
. Tuy nhiên, umount A_dir/mount_b/mount_c
cũng sẽ ngắt kết nối B_dir/mount_c
, điều không mong muốn:
[hidden]$ sudo umount A_dir/mount_b/mount_c
[hidden]$ mount | grep _dir | wc -l
1
Bây giờ câu hỏi của tôi là, làm thế nào để unmount A_dir/mount_b
nhưng lại B_dir
không bị ảnh hưởng, tức là vẫn còn một ràng buộc B_dir/mount_c
để C_dir
?
EDIT: vấn đề này dường như không xuất hiện trong Ubuntu. Cụ thể hơn, nó hoạt động tốt trên Ubuntu 14.04 của tôi nhưng không hoạt động trên Fedora 23 và CentOS 7. Tại sao có sự khác biệt và những gì đang diễn ra xung quanh Fedora và CentOS?
EDIT: một số thông tin thêm về vấn đề thực tế mà tôi đang cố gắng giải quyết. Tôi đã cố gắng tạo ra một hộp cát và được sử dụng --rbind
để gắn /dev
và /proc
vào hộp cát. Khi phá hủy hộp cát, có vẻ như tôi không thể phá hủy nó một cách sạch sẽ vì việc ngắt kết nối <sandbox-root>/dev/pts
trong FC23 và CentOS7 sẽ ngắt kết nối /dev/pts
, sau đó các kết nối vỏ và SSH của tôi bị treo và tôi phải khởi động lại máy. Đó là lý do tại sao tôi hỏi liệu có cách nào để tháo gỡ các gắn kết --rbind mà không ảnh hưởng đến các mục phụ.