元のマウントに影響を与えずにrbindマウントを削除します。

元のマウントに影響を与えずにrbindマウントを削除します。

質問者:サーバー障害しかし、十分な関心を引かなかったので、ここにいる一部の人々が答えを知ってほしいと思ってここに伝えます。

またあります質問rbindマウントの取り外しについて議論しましたが、このソリューションは望ましくない影響を与えました。次のディレクトリレイアウトを検討してください。

.
├── A_dir
│   └── mount_b
├── B_dir
│   └── mount_c
└── C_dir

次に、次にC_dirバインドB_dir/mount_cしてrbindします。B_dirA_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では発生しないようです。具体的には、Ubuntu 14.04ではうまく機能しますが、Fedora 23とCentOS 7では機能しません。なぜ違いがありますか? FedoraとCentOSのためのソリューションは何ですか?

編集:解決しようとしている実際の問題に関する追加情報。サンドボックスを作成し、サンドボックスに--rbindマウント/devするために使用しました。サンドボックスを取り外すと、FC23とCentOS7では、unmount unmountsの後にシェルとSSHの接続が中断され、コンピュータを再起動する必要がある/procため、サンドボックスを完全に削除できないようです。そのため、サブインストールに影響を与えずに--rbindインストールを削除する方法があるかどうか尋ねました。<sandbox-root>/dev/pts/dev/pts

答え1

私は解決策を自分で見つけました。再度伝播せずに--make-rslave変更を適用するために使用する必要があります。A_dir/mount_bB_dir

sudo mount --make-rslave A_dir/mount_b
sudo umount -R A_dir/mount_b

バラよりマンページセクション共有サブツリーの操作

関連情報