私は現在、Linux で CLONE_NEWNS を理解するための例を探しているので、次の実験を行いました。
シェル1で:
$ mkdir mnt
$ sudo unshare -m /bin/bash
# mount /dev/sda5 mnt/
# ls mnt
lost+found
shell2 のように:
$ ls mnt
lost+found
CLONE_NEWNS はドキュメントが述べたように新しいマウント名前空間を作成するため、shell2 の出力は空である必要があります。
まず、子の名前空間マウントが親に伝播すると思ったので、親にマウントすると、子にもマウントが表示されます!
次に、同じ親から 2 つの別個の子名前空間を作成します。1 つの子にマウントすると、もう 1 つの子にも影響します。
よくわかりません。
ps。shell1 での最初の実験で:
# readlink /proc/$$/ns/mnt
mnt:[4026532353]
シェル2で:
$ readlink /proc/$$/ns/mnt
mnt:[4026531840]
どうやら、それらは異なるマウント名前空間にあります。