Linux

/proc/self/mountinfo per-mount-options vs per-super-options

  • February 11, 2016

我正在嘗試檢查已安裝分區 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因為程序看到的“掛載視圖”是基於每個命名空間的,並且程序可能位於不同的命名空間中。對於絕大多數案例,這個例外確實不應該適用(你會知道你是否使用了掛載命名空間)。

引用自:https://serverfault.com/questions/581178