我需要debian server
在启动期间自动挂载 Samba 共享。
我做了以下事情:
- 添加以下行到
/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
- 这适用于
sudo mount --all
- 但是,我希望在启动时自动安装此安装,但这并没有发生。
关于这个问题有什么线索吗?因此挂载工作正常,但在服务器启动期间不会自动挂载。
答案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 中具有典型选项,那么您可能会发现系统将坐在那里等待网络在启动时出现,然后在启动之前安装它们完成。这并不可怕,但也不是很棒。
...
要使其超级棒,请添加两个选项:noauto
和x-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 -a
,sudo mount -o rw,remount /srv/nas
因为错误fstab
可能会在启动时给您带来问题。
另请参阅相关的、CIFS 随机丢失与 Windows 共享的连接