问题描述
我试图设置一个自动装入的卷,并注意到服务器上现在有一个/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。