Linux

/etc/mtab 的歷史是什麼?它更新了什麼?

  • September 14, 2022

我用新的實用程序和共享庫更新了舊的 linux 引導盤。它仍然有一個空/etc/mtab的開始,在舊磁碟上/etc/mtab更新,在新磁碟上/etc/mtab保持為零。我現在看到我們連結/etc/mtab/proc/mounts但問題仍然存在:

  1. 更新了什麼/etc/mtab以使其保持最新狀態?
  2. 從什麼時候/etc/mtab變成/proc/mounts
  3. 我們如何跟上 linux 中發生的所有根本變化?

謝謝。

/etc/mtab正常文件的系統上,更新/etc/mtabmountandumount命令的工作。此外,/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 周刊新聞)上,但那是非常高的流量,並且包括對提議的即將發生的更改的討論。

引用自:https://unix.stackexchange.com/questions/717314