Unix

HFS 理論:除了根文件系統之外,系統還有什麼?

  • March 14, 2015

我正在研究 HFS linux 標准文件,我無法超越這個概念。

我沒有得到的概念可以通過以下引用來證明:

根文件系統的內容必須足以引導、恢復、恢復和/或修復系統。

首先,也許我誤解了“根文件系統”是什麼。聽起來像是特定的“/”目錄和所有子目錄。

但接下來的陳述似乎與原點相衝突:

“用於平衡這些有利於在根文件系統上放置許多東西的考慮因素的主要關注點是保持根文件盡可能小。出於幾個原因,希望保持根文件系統小……它偶爾會從非常小的介質上安裝。”

如果你掛載“/”,你就掛載了整個系統,不是嗎?(也許文件的意思是我們把不同的目錄放在不同分區的“/”中,即把/bin、/sbin放在“根分區”,而把“/usr、/home、/media、/mnt”放在其他地方。那麼為什麼“/usr、/home、/media、/mnt”包含在根文件系統中而不是獨立系統中?

這又回到了最初的問題:**除了根文件系統之外,系統還有什麼?**如果它只是進入子目錄,那麼將數據“不在根文件系統中”有什麼用?

這裡的問題是“文件系統”這個詞。在 POSIX/Unix/Linux 世界中,它用於表示幾種不同的事物。

  1. “文件系統”有時是整個文件系統,根植於/作業系統核心並呈現給應用軟體。有了這個含義,例如,人們談論具有“單一文件系統樹”的 POSIX 作業系統。
  2. “文件系統”有時是一個(或多個)DASD 的一個(或多個)切片——一個或多個連續磁碟扇區的集合,被格式化為具有給定格式的單個——由某些磁碟分區劃分方案。有了這個意思,人們談論,說,“格式化我的*/usr文件系統*”。
  3. “文件系統”有時是文件和目錄的抽象可連接樹,由文件系統驅動程序(即 VFS 層)呈現給系統的其餘部分。有了這個意思,人們談論,說,“將proc 文件系統掛載/proc”。

您的“根文件系統”的意思是#2。這就是通常所說的*系統卷*:安裝在您的 DASD 的(幾乎總是單個)片上,/並且所有其他磁碟捲和其他文件系統(意思是 #3)輪流安裝在其頂部。(在適用的情況下,引導卷是一個單獨的捲:一個單獨的、單一的 DASD 片,其中包含機器韌體引導的作業系統引導載入程序程式碼,至少在 Linux/BSD 世界中,它通常安裝在根體積,在/boot,在需要時。)作業系統救援和緊急維護模式通常不會安裝除根卷之外的任何其他卷,因此,如前所述,此類維護所需的一切都需要在根卷上。

類似地,通過將正常操作中寫入的所有內容(日誌文件、使用者數據文件、經常更改的非維護配置文件)推送到另一個卷上,配置一個系統,以便對特定卷幾乎沒有寫入活動,遠離通常只讀的東西——比如係統實用程序二進製文件、庫、靜態配置文件——意味著在硬體故障和臟關機事件中卷損壞的可能性較低。這對於根卷來說是一個特別好的主意,即使在維護/救援模式下,損壞也可能會阻止系統啟動。

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