web-dev-qa-db-ja.com

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

最後のumountの後、dev、dev/pts、dev/shm、dev/mqueue、dev/hugepagesはまだstage3の下にマウントされていました。

2つの質問があります。

  1. なぜそれらはstage3にマウントされたのですか?
  2. どうすればそれらをアンマウントできますか?すべてのマウントポイントはビジーです。

OS:UbuntuXenial。カーネル:4.13.4ですが、4.10などのカーネルでも同じ問題が発生します。

1
Magicloud
  1. なぜそれらはstage3にマウントされたのですか?

    stage3gentooにバインドマウントし、stage3伝播フラグがsharedに設定されているため(これを次のように確認してください:findmnt -o PROPAGATION stage3

  2. どうすればそれらをアンマウントできますか?すべてのマウントポイントはビジーです。

    マウントされたツリーにchrootを生成しました。 chrootコマンドの実行中にツリーをアンマウントする場合は、マウント名前空間をchroot専用にします。

    unshare --mount --fork chroot gentoo
    
1
xhienne