
在我的 /etc/fstab 檔案中,我有一個交換條目,如下所示:
/root/swap swap swap sw 0 0
我有其他機器,而且我在網路上看到有時他們會設定預設或 xfs 或其他選項。然後,我有點困惑“sw”的含義和用途,以及哪個是放置在那裡的最佳選擇以及原因。
答案1
第四個欄位
fs_mntops
描述與檔案系統關聯的安裝選項。它的格式為逗號分隔的選項清單。它至少包含掛載類型(見fs_type
下文)以及適合檔案系統類型的任何其他選項。 [...]如果
fs_type
是“rw”、“rq”或“ro”,則在該欄位中給予名稱的檔案系統fs_file
通常以讀寫或唯讀方式安裝在指定的特殊檔案上。 如果 是“sw”,則在系統重新啟動程序結束時fs_type
透過命令將特殊檔案用作交換空間。swapon(8)
所以基本上,sw
用於告訴swapon
(或swapctl
在我的系統上)這是用作交換空間的有效候選者,它將作為系統啟動例程的一部分添加。
此選項導致
swapctl
讀取/etc/fstab
文件中的設備和具有“sw”類型的文件,並將所有這些條目添加為交換設備。如果未配置交換設備,swapctl
將退出並顯示錯誤代碼。
那是在 OpenBSD 上。上烏班圖Linux我有權訪問的系統,但sw
出於某種原因,兩個手冊都沒有提到作為交換的安裝選項。
答案2
至少對於 Linux 來說,從網路上看,這似乎是「貨物崇拜」的一個例子。我看到的證據表明這個選項實際上沒有必要或沒有意義,但你需要在那裡放一些東西,因為fstab
文件語法需要它。您可以輕鬆找到人們使用defaults
and 甚至只是pri=1
或其他任何內容的示例,而忽略了defaults
and sw
。
swapon
需要查看掛載選項來檢查它是否是交換是沒有意義的,因為swapon
已經可以透過查看檔案系統類型來看到它是交換。當然有一些用於修改行為的交換掛載選項,如 所述man swapon
,但sw
不是其中之一。所以證據表明它是一個佔位符,並且foobar
和占位符一樣好
當然,如果不查看原始程式碼,我無法完全確定這一點。
相關的 Debian 錯誤報告抱怨了這個確切的問題: mount: swapon(8) 缺乏對 sw 和預設選項的解釋