当前位置: 首页>>技术教程>>正文


为什么不能在“/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-point是正确的-我可以使用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中的known “wishlist” bug,提供mount的程序包

  • 该功能已在最新的util-linux 2.21中添加(release notes说“使用scandir *的过滤器arg拾取/etc/fstab.d/*.fstab文件”)

  • 由于甚至Debian Unstable(Sid)的版本为util-linux的2.20-x,我怀疑在Ubuntu 13.04之前是否会看到2.21。

  • 如果您需要早些时候,可以从kernel.org source编译2.21,但是我建议您等待,直到它至少进入Debian(util-linux还提供了许多其他关键系统实用程序/库)。

次佳思路

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

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

无论如何,您可以使用util-linux> = 2.21中的新mount(8)和新选项--fstab <path>来指定备用安装表,该选项还支持目录。这意味着您必须明确指定目录-默认情况下mount(8)不会读取它。有关更多详细信息,请参见mount(8) man page

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/11136.html,未经允许,请勿转载。