如何根据每个文件系统配置 autofs5 超时?

如何根据每个文件系统配置 autofs5 超时?

由于 Debian autofs 4 中存在一个严重错误,我刚刚升级到了 autofs5。它不遵守我auto.master文件中的超时选项:

/var/autofs/removable /etc/auto.removable --timeout=2

我将此映射用于拇指驱动器等;我不希望使用 2 秒的一般默认超时。

我做了一些调查,虽然该--timeout选项在 autofs 4 中有效,并且它出现在 Web 上的一些示例中,但它实际上并未在文件文档中得到认可(甚至没有提及)auto.master。所以我觉得我不能将问题报告为错误。

如何才能让 autofs5 仅在指定的文件系统上 2 秒后超时?


更新:我正在使用 Debian 打包的 autofs5,版本 5.0.4-3.2。

答案1

编辑:我的回答的其余部分大多与主题无关。你的做法是正确的,但该功能仅在autofs5.0.6 中引入。来自 git 存储库:

作者:Ian Kent 日期:2012 年 5 月 25 日星期五 12:28:56 +0800

autofs-5.0.6 - move timeout to map_source

Move the map entry timeout field from "struct autofs_point" to
"struct map_source".

The result of this change is that an individual timeout may be
set for each direct map master map entry.

不幸的是,只有地图可以有自定义超时(automount(8)使用覆盖--timeout),而不是条目本身。

此限制与 Linux 内核本身一样低,它只提供应用于所有挂载的AUTOFS_DEV_IOCTL_TIMEOUT_CMD ioctl每个文件系统。您可以在内核源代码中找到更多信息。autofsDocumentation/filesystems/autofs4-mount-control.txt

我建议的最佳解决方案是按超时将您的条目拆分为单独的地图。不幸的是,这意味着您的坐骑将拥有不同的父目录。

如果这是一个大问题,您可以研究 UnionFS 或类似功能,但官方 Linux 内核中没有这样的功能。

答案2

--timeout=n 在 autofs 版本 5 中并不总是实现。请尝试使用 -tn。

相关内容