fstab 的“defaults”选项如何工作?推荐使用 relatime 吗?

fstab 的“defaults”选项如何工作?推荐使用 relatime 吗?

我知道 fstabdefaults选项的意思是这样:rw,suid,dev,exec,auto,nouser,async

但是,如果我想添加一个选项,该怎么办?例如relatime,我还应该添加默认值吗?还是无论如何都要应用它们?是否需要添加至少一个选项?

一些例子:

1. UUID=bfb42838-d866-4233-9679-96e7536356df /media/data ext3 defaults 0 2
2. UUID=bfb42838-d866-4233-9679-96e7536356df /media/data ext3 0 2
3. UUID=bfb42838-d866-4233-9679-96e7536356df /media/data ext3 defaults,relatime 0 2
4. UUID=bfb42838-d866-4233-9679-96e7536356df /media/data ext3 relatime 0 2

(2)正确吗(没有选项)?(1)和(2)一样吗?(3)和(4)一样吗?

此外,我读到Ubuntu 社区文档在 Ubuntu 8.04 中,relatime 被用作 Linux 原生文件系统的默认设置。12.04 是否仍然如此?如果是,那么为什么我使用 mount 命令时会看到此信息:

/dev/sda2 on / type ext4 (rw,errors=remount-ro)

如果没有,为什么?现在不建议使用relatime?我只是想将它应用到我的非系统分区,这是一个好主意吗?


编辑:

我找到了另一个命令来列出已挂载的分区及其选项:

cat /proc/mounts

defaults这是使用fstab 中的选项挂载分区的结果:

/dev/sdb2 /media/adat ext3 rw,relatime,errors=continue,barrier=1,data=ordered 0 0

mount这是同一分区的输出:

/dev/sdb2 on /media/adat type ext3 (rw)

如果以非 root 用户身份从 Nautilus 挂载同一个分区,则会出现以下两种结果:

/dev/sdb2 /media/adat ext3 rw,nosuid,nodev,relatime,errors=continue,barrier=1,data=ordered 0 0

/dev/sdb2 on /media/adat type ext3 (rw,nosuid,nodev,uhelper=udisks)

因此,如果我们在 12.04 中挂载分区,则似乎relatime会使用ext。因此不需要手动添加它。所以我的问题基本解决了。但我仍然不明白为什么即使有,defaults也没有列出应该在的选项cat /proc/mounts。也许有第三种甚至更好的方法来列出分区挂载选项 :)

答案1

我认为您需要在 /etc/fstab 中的“options”列中添加一些内容,否则 mount 命令将尝试使用下一列,并且可能不起作用。因此,如果您没有进行任何特定更改,则应在此处添加“defaults”。

建议在配备固态硬盘的笔记本电脑和台式机上使用 Relatime - 它可以避免大量额外的硬盘写入,从而延长电池和 SSD 寿命。自 Linux 版本 2.6.30 以来,“relatime”已包含在 Linux 内核默认值中,因此除非您运行的是旧内核,否则没有必要指定它。不过,将其明确列为“defaults,relatime”不会破坏任何东西。

相关内容