我正在尝试设置一个自动安装的卷,并注意到我的服务器上现在有一个/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/
?如果可以,我该怎么做才能实现这一点?
答案1
/bin/mount
无法阅读/etc/fstab.d
然而,只有图书馆(libmount
)可以。- 这是一个已知的“愿望清单”错误在util-linux,提供
mount
- 该功能已在最新版中添加util-linux2.21(发行说明说“使用 scandir* 的过滤器参数来拾取 /etc/fstab.d/*.fstab 文件”)
- 由于 Debian Unstable (Sid) 也使用 2.20-x 版本util-linux,我怀疑直到 13.04 版我们才会在 Ubuntu 上看到 2.21
- 如果你需要更快的版本,你可以从kernel.org 来源,但我建议你至少等到它进入 Debian(util-linux还提供许多其他关键系统实用程序/库)
答案2
在上游之后,该/etc/fstab.d
支持已从 mount(8) 恢复讨论。只有 libmount 支持 mount 选项卡目录。fstab.d
默认情况下不打算在 mount(8) 中支持它。
问题是,它/etc/fstab
是许多地方(libc、systemd、UI 程序等)使用的事实标准,希望所有地方都能改为支持它是不现实的fstab.d
。
无论如何,你可以使用新的mount(8) 来自 util-linux >= 2.21 和一个--fstab <path>
指定备用挂载表的新选项,此选项还支持目录。这意味着您必须明确指定目录 - mount(8) 默认不会读取它。请参阅mount(8) 手册页更多细节。