--mount-procを使用して共有を解放すると、新しいmnt名前空間が作成されます。

--mount-procを使用して共有を解放すると、新しいmnt名前空間が作成されます。

--mount-procコマンドで使用したときに実行される操作については少し混乱しています。unshare

これを使用すると、unshare -fp --mount-proc bash新しいPID名前空間と新しいMNT名前空間が作成されることを確認しました。

新しいMNTネームスペースにあることを考慮して、ループデバイスの1つをアンマウントしようとしましたが、これが親MNTに反映されていないことを確認しました(親df -hネームスペースで実行したときにマウントがまだ表示されます)。

もう一歩進んで、新しいMNTネームスペースに新しいルートを作成し、pivot_root元のルートを削除しました。予想通り、新しい名前空間には別のルートがあります。親ネームスペースにはまだ元のルートディレクトリがあります。

-m私の質問:コマンドのオプションを使用せずに新しいMNT名前空間を作成できunshare、新しいプロセスの隔離されたルートディレクトリも作成できる場合、MNT名前空間の他の目的は何ですか?

専門家のアドバイスをいただきありがとうございます。

編集:新しい名前空間でルートを変更すると、親名前空間のルートも変更されるという元の投稿を修正しました。これを再現できません。しかし、その--mount-procオプションのみを使用し、そのオプションを使用せずに-m新しいMNT名前空間を作成する方法に関する質問はunshareまだ残っています。

答え1

man unshare--mount-proc言及の説明

これはまた、新しいマウントネームスペースを作成することを意味します。/procそうしないと、マウントによってシステム上の既存のプログラムが混乱する可能性があります。

だからそれは実際に、そしてあなたが見るすべての結果を--mount-proc意味します。-mこれは変わらず、新しい専用マウントネームスペースです。

-m新しいマウントネームスペースをnoで使用できるため、オプション自体はまだ便利です/proc

関連情報