为什么无法挂载“/etc/fstab.d/”中的读取文件?

Hor*_*Kol 26 fstab mount

我正在尝试设置一个自动安装的卷,并注意到/etc/fstab.d/我的服务器上现在有一个。我在目录中创建了一个新文件,内容如下:

# backupstore: large volume
/dev/mapper/bagend-backupstore  /mnt/backupstore        ext4    auto,relatime,users,sync        0       0
Run Code Online (Sandbox Code Playgroud)

但是当我运行时mount -a,卷没有安装。此外,当我运行mount /mnt/backupstore或被/dev/mapper/bagend-backupstore告知系统找不到 fstab 中的条目时(并抢先:是的,设备和安装点是正确的 - 我可以轻松地安装它mount -t ext4 /dev/mapper/bagend-backupstore /mnt/backupstore

当我从/etc/fstab.d//etc/fstab文件中删除文件并将条目放入主文件时,安装卷没有问题。

那么,是否可以使用 mount 命令来检查条目/etc/fstab.d/,如果是,我该怎么做才能让它发生?

ish*_*ish 22

  • /bin/mount 还不能读取 /etc/fstab.d,只有库 ( libmount) 可以。
  • 这是一个已知的“愿望清单”虫util的Linux的,它提供了包mount
  • 该功能已在最新的util-linux 2.21 中添加(发行说明说“使用 scandir* 的过滤器参数来拾取 /etc/fstab.d/*.fstab 文件”)
  • 由于即使 Debian Unstable (Sid) 是util-linux 的2.20-x 版本,我怀疑我们会在 13.04 之前在 Ubuntu 中看到 2.21
  • 如果您更早需要它,您可以从kernel.org 源代码编译 2.21 ,但我建议您至少等到它进入 Debian(util-linux还提供了许多其他关键系统实用程序/库) )

  • 作为更新,Ubuntu 14.04 仍在使用 util-linux 的 2.20.1 版 (2认同)
  • Ubuntu 14.10 有 util-linux 2.25。但是我不认为 Ubuntu 的 **mountall** 支持 /etc/fstab.d,所以不要指望这些会在启动时自动挂载。 (2认同)
  • Ubuntu 16.04 的状态如何? (2认同)

小智 12

/etc/fstab.d在上游讨论之后,该支持已从 mount(8) 恢复。挂载选项卡目录仅受 libmount 支持。fstab.d默认情况下不计划在 mount(8) 中支持。

问题是它/etc/fstab是许多地方(libc、systemd、UI 程序等)使用的事实上的标准,并且希望所有地方都可以更改以支持fstab.d.

无论如何,您可以使用util-linux >= 2.21 中的mount(8) 和一个新选项--fstab <path>来指定替代挂载表,此选项也支持目录。这意味着您必须明确指定目录——默认情况下 mount(8) 不会读取它。有关更多详细信息,请参阅mount(8) 手册页