“ sw”在“挂载选项”列的fstab交换条目中的含义


10

在我的/ etc / fstab文件中,我的交换项如下:

/root/swap swap swap sw 0 0

我有其他机器,并且在网上也看到过,有时它们会放置default或xfs或其他选项。然后,我对“ sw”的含义和用途以及在其中放置的最佳选择以及原因感到有些困惑。


您在这里使用什么Unix?在BSD和Linux之间,这似乎有所不同。
Faheem Mitha

我正在使用Centos 7
VaTo

Answers:


10

我系统上fstab手册中

第四个字段fs_mntops描述与文件系统关联的安装选项。它的格式为逗号分隔的选项列表。它至少包含安装类型(请参见fs_type下文)以及适合于文件系统类型的任何其他选项。[...]

如果fs_type为“ rw”,“ rq”或“ ro”,则在该fs_file字段中给出名称的文件系统通常以读写或只读方式安装在指定的特殊文件上。 如果 fs_type为“ sw”,则swapon(8)在系统重新引导过程结束时,通过命令可使特殊文件作为交换空间可用。

因此,基本上,它sw是用来告诉swapon(或swapctl在我的系统上)这是用作交换空间的有效候选对象,它将被添加为系统启动例程的一部分。

手册描述swapctl -A

此选项导致swapctl读取/etc/fstab设备和“ sw”类型文件的文件,并将所有这些条目添加为交换设备。如果未配置任何交换设备,swapctl将退出并显示错误代码。

那是在OpenBSD上。在我可以访问的Ubuntu Linux系统上,sw由于某种原因,这两本手册都没有提到作为交换的安装选项。


1
从Linux上的可用文档中,可能有以下两种情况之一(a)该sw选项不执行任何操作,而只是一个占位符(b)告诉swapon您激活交换空间。但是我不知道为什么要这样做,因为该空间已经由文件系统类型指定为swap。无论如何,鉴于swLinux在Linux上的广泛使用,这可能代表了文档中的空白,应该予以报告。
法赫姆·米莎

@FaheemMitha sw可以更改为xx以显式禁用交换分区。因此,这并非完全没有用。同样,这是来自fstabOpenBSD 的手册。
库萨兰达

1
我只是在谈论Linux。BSD可能会做不同的事情。或者,Linux和BSD可能执行相同的操作,但是缺少Linux文档。我想必须要看一下源代码。
法赫姆·米莎

1
我不明白的意思If fs_type is “sw”。第四列不是fs_type,它是安装选项。
法赫姆·米莎

1
@FaheemMitha是的,第四个字段是安装选项(fs_mntops)。这些选项包含的fs_type安装类型。类型为读写(rwrq(quota)),只读(ro)或交换(sw)(或xx禁用)。
库萨兰达

4

至少对于Linux而言,至少从网上的角度来看,这似乎是“货物养殖”的一个例子。我看到的证据表明该选项实际上不是必需的或有意义的,但是您需要在此放置一些内容,因为fstab文件语法需要它。您可以轻松地找到使用defaults和甚至使用或仅使用pri=1其他人的示例,而忽略defaultssw

而且swapon不需要查看安装选项来检查它是否已交换是没有意义的,因为swapon已经可以通过查看文件系统类型来查看其交换。如中所述,肯定有用于交换的挂载选项可以修改行为man swapon,但sw不是其中之一。因此,有证据表明它是一个占位符,并且和占位符foobar一样好

如果不看源代码,我无法完全确定这一点。

相关的Debian错误报告抱怨此确切问题: mount:swapon(8)缺少对sw和defaults选项的解释

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.