问题:我有一台笔记本电脑(运行 ubuntu 20.04),它的移动性很强,可以在多个位置工作。在位置 A:我有一个需要工作的 CIFS 共享。虽然不在位置 A,但我不需要这个特定的 CIFS 共享。如果我使用一切正常的方式手动安装 CIFS 共享,但我想自动化该过程,因为我每天至少更改 2 到 3 次位置。当我在位置 A 连接到网络时,我不想手动挂载 cifs 文件共享,我宁愿让它运行。更重要的是,如果我从位置 A 断开连接,我不希望我的系统崩溃,因为它认为应该有一个不再存在的文件系统。手动完成这些任务很快就会变得乏味。
注意:这不是关于 fstab 的问题,除非您当然知道如何让 fstab 文件以这种方式运行,即不断切换位置和网络,并且仅将文件系统安装在适当的位置/网络中。我有一个 cifs 共享的 fstab 条目,它使安装和卸载更容易,但实际上并没有解决我的问题。
一种可能性是 systemd 自动挂载。
[1] 创建挂载点。
它不能位于您的主目录或 /media 下。因此,例如在 /mnt/SrvAshare 创建一个。
[2] 然后在 /etc/fstab 中添加 - 作为示例 - 以下内容:
[3] 然后让 systemd 开心:
它的工作方式不是在启动时自动挂载(noauto ),而是在您或某些应用程序或某些进程访问 /mnt/SrvAshare 挂载点时根据需要(x-systemd.automount )。这是无缝的失败。例如,如果您只是执行操作
ls -l /mnt/SrvAshare
,它将安装共享。x-systemd.idle-timeout=30如果 30 秒(用户指定)未使用共享,将卸载它。
x-systemd.mount-timeout=10将尝试挂载共享 10 秒(用户指定),然后在无法访问时停止。如果您在错误的位置无意中选择了挂载点,这很有用。