Namespace
Unshare with –mount-proc 創建一個新的 mnt 命名空間
我對
--mount-proc
與unshare
命令一起使用時的作用有點困惑。當我使用 時
unshare -fp --mount-proc bash
,我注意到它會產生一個新的 PID 命名空間和一個新的 MNT 命名空間。鑑於我在一個新的 MNT 命名空間中,我嘗試解除安裝其中一個循環設備,並註意到這沒有反映在父 MNT 中(當我
df -h
在父命名空間中執行時,掛載仍然顯示)。現在,我領先一步,在新的 MNT 命名空間中使用 創建了一個新的根目錄
pivot_root
,並解除安裝了原來的根目錄。正如預期的那樣,新的命名空間現在有一個不同的根。父命名空間仍然具有原始根目錄。
-m
我的問題:如果我可以在不使用命令中的選項的情況下實現創建新的MNT命名空間unshare
,並且還可以實現為新程序創建隔離的根目錄,那麼MNT命名空間有什麼不同的用途?我將不勝感激專家的任何指導。
編輯:我修改了我的原始文章,其中說更改新命名空間中的根也會更改父命名空間中的根。我不再能夠重現這一點。但是我關於能夠僅使用
--mount-proc
選項而不使用-m
with來創建新的 MNT 命名空間的問題unshare
仍然存在。
man unshare
的--mount-proc
提及描述它還意味著創建一個新的掛載命名空間,因為
/proc
否則掛載會弄亂系統上的現有程序。因此,實際上
--mount-proc
意味著-m
,以及您所看到的所有後果。這沒什麼不同,它是一個新的私有掛載命名空間。該
-m
選項本身仍然有用,因為沒有/proc
.