Размонтируйте rbind-монтирование, не затрагивая оригинальное монтирование
Существует еще один вопрос, касающийся размонтирования rbind mounts, но решение имеет нежелательный эффект. Рассмотрим следующую схему каталогов:
.
├── 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
?
Благодарю.
1 ответ
Нашел это. https://unix.stackexchange.com/a/276700/29483
Пытаться --make-rprivate
:
mount --make-rprivate A_dir
umount -R A_dir
Примечание: пользователи systemd, которые установили описанное вами поведение в качестве нового значения по умолчанию, рекомендуют, чтобы вы изначально не делали монтирование rbind закрытым. Это нормально делать только перед размонтированием.
Это потому, что когда вы клонируете все крепления, вам, например, может понадобиться извлечь компакт-диск. Если он был смонтирован во время клонирования, включение распространения означает, что вам нужно запустить umount только в одном месте (например, вне rbind-монтирования, как обычно), и тогда вы сможете его извлечь.