Debian 服务器,自动挂载 Samba 共享

Debian 服务器,自动挂载 Samba 共享

我需要debian server在启动期间自动挂载 Samba 共享。

我做了以下事情:

  1. 添加以下行到/etc/fstab:

//192.168.1.1/FRITZ.NAS/WD-1600BEVExternal-01/share /srv/nas cifs credentials=/home/rlommers/.smbcredentials,rw,uid=rlommers,gid=rlommers 0 0

  1. 这适用于sudo mount --all
  2. 但是,我希望在启动时自动安装此安装,但这并没有发生。

关于这个问题有什么线索吗?因此挂载工作正常,但在服务器启动期间不会自动挂载。

答案1

您正在使用已知的 systemd“功能”;最重要的是,系统可能会在网络运行之前尝试安装远程 SAMBA 共享。

修改您的 fstab 以添加到安装选项,noauto,x-systemd.automount,_netdev

//192.168.1.1/FRITZ.NAS/WD-1600BEVExternal-01/share /srv/nas   cifs    credentials=/home/rlommers/.smbcredentials,rw,uid=rlommers,gid=rlommers,noauto,x-systemd.automount,_netdev      0       0

对于解释,我自己更正为新语法 -今日可爱的 systemd 技巧:自动挂载远程共享

如果您有远程驱动器 – cifs、nfs 等等 – 在 /etc/fstab 中具有典型选项,那么您可能会发现系统将坐在那里等待网络在启动时出现,然后在启动之前安装它们完成。这并不可怕,但也不是很棒。
...
要使其超级棒,请添加两个选项:noautox-systemd.automount
然后发生的事情是,一旦有东西试图访问它,共享就会被安装......但不是之前。
因此引导会尽可能快地运行,并且一旦您真正尝试访问共享,它就会被安装。谢谢,系统!

同样来自 Arch Wiki 解释了这个功能 -系统表

使用 systemd 自动挂载

远程文件系统

这同样适用于远程文件系统挂载。如果您希望仅在访问时安装它们,则需要使用 noauto,x-systemd.automount 参数。此外,您可以使用 x-systemd.device-timeout= 选项来指定 systemd 应等待文件系统显示的时间。此外,_netdev 选项确保 systemd 理解挂载是依赖于网络的,并在网络上线后对其进行排序。

noauto,x-systemd.automount,x-systemd.device-timeout = 30,_netdev

警告:请务必fstab在重新启动之前使用 a进行测试sudo mount -o remount -asudo mount -o rw,remount /srv/nas因为错误fstab可能会在启动时给您带来问题。

另请参阅相关的、CIFS 随机丢失与 Windows 共享的连接

相关内容