rbindとrslaveを使用してマウントポイントをアンマウントするには?

rbindとrslaveを使用してマウントポイントをアンマウントするには?

以下でchrootシステムを試してみてください。

mount -B stage3 gentoo
mount -t sysfs none gentoo/sys
mount -t proc none gentoo/proc
mount -R /dev gentoo/dev
mount --make-rslave gentoo/dev
unshare --fork chroot gentoo
umount -R gentoo

最後のマウント解除後も、dev、dev/pts、dev/shm、dev/mqueue、および dev/hugepages はまだ stage3 の下にマウントされます。

2つの質問があります。

  1. なぜstage3にインストールされますか?
  2. どのように削除できますか?すべてのマウントポイントが使用中です。

オペレーティングシステム:Ubuntu Xenial。カーネル:4.13.4、しかし4.10のようなカーネルでも同じ問題があります。

答え1

  1. なぜインストールされていますかstage3

    バインドマウントstage3中で、伝播フラグが次のように設定されているgentooため(次のコマンドを使用してこれを確認してください。)stage3sharedfindmnt -o PROPAGATION stage3

  2. どのように削除できますか?すべてのマウントポイントが使用中です。

    インストールされたばかりchrootのツリーから1つを作成しました。コマンドの実行中にツリーをアンマウントするには、chrootマウントネームスペースをprivateにしますchroot

     unshare --mount --fork chroot gentoo
    

関連情報