在我的 /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 和默认选项的解释