我在连接到无线网络的笔记本电脑上启动时在 /etc/fstab 上安装了 CIFS 网络共享。我的 fstab 看起来像这样:
//192.168.0.100/MyShare /mnt/MyShare cifs username=<username>,password=<password>,rw,uid=1000,gid=1000,nounix,iocharset=utf8,file_mode=0770,dir_mode=0770,vers=3.0 0 0
现在,这通常可以正常工作,但作为笔记本电脑,我经常移动并经常重新连接到我的家庭无线网络。这意味着,当我离开网络时,共享挂载也会断开连接,但是当我回到家时,它不会自动重新连接,所以每次发生这种情况时我都需要“挂载 -a”。
我正在寻找一个选项,可以在网络可用时自动挂载它,或者至少在访问时自动挂载(也就是说,当 Dolphin 或其他文件管理器访问挂载点时,它应该以 root 身份重新挂载)。
有什么简单的方法可以做到这一点?任何最佳实践,也许?谢谢!
稍后编辑:与此同时,我发现了一些我称之为解决方法的东西,而不是解决方案,所以我将保持问题的开放性:
- 我创建了一个脚本,
/etc/network/if-up.d/<script>
以便在连接到我的网络时运行:
#!/bin/bash
if iwconfig|grep -c <SSID>
then
mount -a
fi
所以现在,当我的连接激活时,一切都会自动安装。
您的脚本对我来说似乎是一个可行的选择。我在 Linux 中看到了更复杂的解决方法。
另一种选择是满足
or at least mounting automatically upon access
要求的 systemd 自动挂载。如果它不完全是您想要的,那么很容易实现并恢复。[1] 如果已安装共享,则卸载它:
[2] 在你的 fstab 声明中增加 3 个选项:noauto,x-systemd.automount,x-systemd.idle-timeout=30
然后做一些系统化的东西:
共享不会在启动时挂载( noauto ),但是当访问挂载点时( noauto,x-systemd.automount ),如果共享访问空闲超过 30 秒,它将自动卸载 - 用户可调节( x-systemd.idle -超时=30)