Linux
/etc/mtab 的歷史是什麼?它更新了什麼?
我用新的實用程序和共享庫更新了舊的 linux 引導盤。它仍然有一個空
/etc/mtab
的開始,在舊磁碟上/etc/mtab
更新,在新磁碟上/etc/mtab
保持為零。我現在看到我們連結/etc/mtab
到/proc/mounts
但問題仍然存在:
- 更新了什麼
/etc/mtab
以使其保持最新狀態?- 從什麼時候
/etc/mtab
變成/proc/mounts
- 我們如何跟上 linux 中發生的所有根本變化?
謝謝。
在
/etc/mtab
正常文件的系統上,更新/etc/mtab
是mount
andumount
命令的工作。此外,/etc/mtab
一旦根文件系統以讀寫方式掛載,引導腳本就會更新,方法是從引導腳本中提取資訊/proc/mounts
或寫入引導腳本知道的關於它們已經掛載的內容。長期以來,關於
/etc/mtab
應該是正常文件還是指向/proc/mounts
. 使其成為正常文件的缺點是它可能與系統狀態不同步(例如,如果根文件系統在掛載或解除安裝操作期間是只讀的)。它也不適應現代特性,例如掛載命名空間,即使程序看到相同的掛載點,它們也可能不會看到相同的掛載點/etc/mtab
。但是讓它成為一個符號連結/proc/mounts
有一個缺點,即核心過去不會報告人們想要的所有資訊:
- 核心用於隱藏預設掛載選項,但預設值取決於核心版本,因此很難從 中找出確切的掛載選項
/proc/mounts
,/etc/mtab
但可以準確地告訴您傳遞給mount
命令的內容。- 核心用於將綁定掛載報告為原始掛載的副本,而不是綁定掛載。
現代核心通過報告更多資訊,
/etc/mounts
因此不再有理由更喜歡製作/etc/mtab
正常文件。Debian 錯誤 #494001是 Debian 停止
/etc/mtab
作為正常文件維護的時候。該執行緒的亮點(我尚未驗證準確性,但我沒有理由懷疑):
- 執行緒的相關部分主要是初始消息。其餘的主要是與過渡有關的擔憂。
- “對於 linux >= 2.6.26,/proc/mounts 包含 /etc/mtab 中的所有資訊,以及更多資訊”。
- 隨附的更新檔包含要更新的程式碼的最新版本
/etc/mtab
(/etc/init.d/mtab.sh
)。我們如何跟上 linux 中發生的所有根本變化?
祝你好運……每個人都有不同的變化,他們認為這是根本性的。所有這些都必須出現在LWN(Linux 周刊新聞)上,但那是非常高的流量,並且包括對提議的即將發生的更改的討論。