/proc/self/mountinfo per-mount-options vs per-super-options
我正在嘗試檢查已安裝分區 rw/ro 的目前狀態。在 Cent6 /proc/self/mountinfo 上有一些有趣的資訊。每個掛載點的輸出中包含的一項是“掛載選項:每個掛載選項”。另一個是“超級選項:每個超級塊選項”。
我想知道這些如何相互比較。我已經閱讀了手冊頁,直到我臉色發青,還閱讀了關於了解 Linux 核心的動物書。我特別想知道的是,如果由於某種原因驅動器突然因為 ro,Linux 檢測到並發出並試圖保護自己,超級選項是否也會更改,或者這些選項會反映原始狀態駕駛?我正在尋找一種絕對的方法來測試驅動器是否根據作業系統進行 rw。Fstab 不起作用,我一直在閱讀不要信任 mount,/proc/mounts 是我一直在使用的,因為 mountinfo 不能用於我的 Cent5 盒子。我知道我可以只觸摸一個文件,但我正在尋找一種作業系統級別的方式,而不是“使用者”級別的方式。我希望我可以比較掛載選項和超級選項,如果它們匹配得很好,
我還需要更多的閱讀技巧,我也閱讀了大量關於 mountinfo 的送出說明,以及 Redhat 的一些關於 /proc/mounts 的錯誤報告,這也是我最初使用 mountinfo 的原因。
謝謝
/proc/self/mountinfo
是檢查您的坐騎的最權威來源。
/proc/mounts
是檢查您的坐騎狀態的已棄用來源。它說避免使用它的原因(在連結的錯誤報告中)是它不會產生在某些情況下可能很重要的額外資訊(無論是共享安裝、私有、不可綁定等,僅適用於使用掛載命名空間),因此在技術上不推薦使用或
/proc/self/mountinfo
.這種區別與較舊的發行版無關。例如 EL5 不完全支持單獨的命名空間,因此 for 的情況
/proc/self/mountinfo
沒有用。如果您真的只對掛載標誌感興趣 /proc/mounts 很好。
請注意,
/proc/mounts
符號連結是/proc/self/mounts
因為程序看到的“掛載視圖”是基於每個命名空間的,並且程序可能位於不同的命名空間中。對於絕大多數案例,這個例外確實不應該適用(你會知道你是否使用了掛載命名空間)。