我想做的事?
我想配置我的/etc/fstab
这样我的网络文件系统份额为:
- 访问时自动安装(按需自动安装),
- 在指定的空闲超时后自动卸载(x-systemd.idle-timeout)。
AFAIK,我可以使用以下方法实现此行为自动文件系统或者系统自动挂载。我更喜欢systemd
因为除非需要,否则我不想安装额外的软件包。
我的问题是什么?
这是我的摘录/etc/fstab
(我遵循本教程):
192.168.1.14:/home/someuser/somedir /mnt/someuser_share nfs noauto,x-systemd.automount,x-systemd.device-timeout=30,x-systemd.idle-timeout=1min,_netdev 0 0
请注意,上面的行中有:
x-systemd.idle-timeout=1min
但它不起作用。等待 1 分钟后未使用/mnt/someuser_share
它仍然安装。
为什么它没有按预期工作?
附加信息
请注意,系统启动后,我的共享未按预期挂载。输入例如后,ls /mnt/someuser_share
它已挂载(如果192.168.1.14
在线)。接下来的 1 分钟后,我本以为我的共享将被卸载,但事实并非如此。
我在用着Debian 延伸 (9.6), IE。当前的Debian 稳定版。systemd
版本:232。
附注:我知道systemd
读/etc/fstab
并创造单元文件, 具体来说自动挂载和挂载单元文件可以使用列出systemctl
命令并使用查看systemctl cat name-of-the-unit-file
。
更新#1
去除_netdev
来自工作的安装选项/etc/fstab
(如建议的@达西纳德在下面的评论),但我不明白为什么它实际上有帮助。_netdev
旨在与远程共享一起使用,因为它强制systemd
将挂载单元视为网络挂载。那么为什么它会破坏事情呢?
mnt-someuser_share.automount
删除前和删除后的内容_netdev
安装选项保持不变:
root@someuser:~$ systemctl cat mnt-someuser_share.automount
# /run/systemd/generator/mnt-someuser_share.automount
# Automatically generated by systemd-fstab-generator
[Unit]
SourcePath=/etc/fstab
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
Before=remote-fs.target
[Automount]
Where=/mnt/someuser_share
TimeoutIdleSec=1min
与内容mnt-someuser_share.mount
不同的情况相反。移除前_netdev
:
root@parents-desktop:~$ systemctl cat mnt-someuser_share.mount
# /run/systemd/generator/mnt-someuser_share.mount
# Automatically generated by systemd-fstab-generator
[Unit]
SourcePath=/etc/fstab
Documentation=man:fstab(5) man:systemd-fstab-generator(8)
[Mount]
What=192.168.1.14:/home/someuser/somedir
Where=/mnt/someuser_share
Type=nfs
Options=noauto,x-systemd.automount,x-systemd.idle-timeout=1min,_netdev
移除后_netdev
最后一行更改 - 而不是:
Options=noauto,x-systemd.automount,x-systemd.idle-timeout=1min,_netdev
有:
Options=noauto,x-systemd.automount,x-systemd.idle-timeout=1min
更新#2
尝试后网络文件系统共享和安装选项,我注意到我的/mnt/someuser_share
共享在系统启动后立即自动安装,并且在 1 分钟后(再次)没有卸载,即使我没有_netdev
我的选项/etc/fstab
。当我从中删除所有文件后,/mnt/someuser_share
它再次工作。
为了让事情变得更加混乱,在我让它再次工作后,我附加了_netdev
选项返回到/etc/fstab
而且它仍然工作正常,所以一定存在一些误解,远程共享实际上意味着什么闲置1分钟。