由于 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
编辑:我的回答的其余部分大多与主题无关。你的做法是正确的,但该功能仅在autofs
5.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
每个文件系统。您可以在内核源代码中找到更多信息。autofs
Documentation/filesystems/autofs4-mount-control.txt
我建议的最佳解决方案是按超时将您的条目拆分为单独的地图。不幸的是,这意味着您的坐骑将拥有不同的父目录。
如果这是一个大问题,您可以研究 UnionFS 或类似功能,但官方 Linux 内核中没有这样的功能。
答案2
--timeout=n 在 autofs 版本 5 中并不总是实现。请尝试使用 -tn。