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

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

 # backupstore: large volume /dev/mapper/bagend-backupstore /mnt/backupstore ext4 auto,relatime,users,sync 0 0 

但是当我运行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/条目,如果是,我该怎么做才能实现?

  • /bin/mount 无法读取 /etc/fstab.d ,只有库( libmount )可以。
  • 这是util-linux中一个已知的“wishlist”错误 ,它提供了mount
  • 该function已添加到最新的util-linux 2.21中( 发行说明中说“使用scandir *的filterarg来拾取/etc/fstab.d/*.fstab文件”)
  • 因为即使Debian Unstable(Sid)是在util-linux的 2.20-x版本上,我怀疑在Ubuntu中我们会看到2.21直到13.04
  • 如果您需要更快,您可以从kernel.org源代码编译2.21,但我建议您等到它至少进入Debian( util-linux还提供了许多其他关键系统实用程序/库) )

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

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

无论如何,您可以使用util-linux> = 2.21中的 mount(8)和新选项--fstab 来指定备用挂载表,此选项也支持目录。 这意味着您必须显式指定目录 – mount(8)默认不会读取它。 有关更多详细信息,请参见mount(8)手册页 。