--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
。