在我之前尝试过的所有 Linux 上,每当有人在其中放入某些东西时,/etc/fstab
机器重新启动时都会自动安装,但是在安装 Debian 10 后,相同的机制似乎不起作用。
fstab 条目如下所示:
//hostname/Share /Share cifs _netdev,dir_mode=0777,file_mode=0777,username=<NAME>,password=<PASSWORD>,rw,uid=1000,gid=1000 0 0
重新启动后,挂载文件夹为空,并且未在挂载中列出。我查看了 dmesg,这些是唯一提到的 mounts 或 cifs:
[ 3.067180] FS-Cache: Netfs 'cifs' registered for caching
[ 3.067243] Key type cifs.spnego registered
[ 3.067247] Key type cifs.idmap registered
[ 3.068769] No dialect specified on mount. Default has changed to a more secure dialect, SMB2.1 or later (e.g. SMB3), from CIFS (SMB1). To use the less secure SMB1 dialect to access old servers which do not support SMB3 (or SMB2.1) specify vers=1.0 on mount.
不过,该方言消息不会在每次重新启动时出现。
我必须添加sudo mount -a
到 crontab @restart 才能让它们显示出来,但是 Debian 10 是否有更“正确”的方式来像其他 Debian 那样识别 fstab?
答案1
systemd
将使用传统文件的内容/etc/fstab
来动态创建“安装单元”。您需要检查相应安装单元的状态以了解其失败的原因:请运行systemctl status Share.mount
。
最可能的原因是,当尝试挂载时,NetBIOS 名称解析不可用(即 Sambanmbd
尚未运行),如建议的那样相应的 Debian Wiki 页面。
请参阅man systemd.mount
可在 中使用的特定于 systemd 的挂载选项/etc/fstab
。例如,您可以使用它x-systemd.automount
作为解决方法:使用它,systemd 应该在第一次尝试使用它时自动挂载文件系统。
另外,请检查systemctl status network-online.target
:如果您有静态网络配置,系统可能无法检测网络连接何时正确“在线”,并因此尝试过早挂载网络文件系统。检查配置文件中的新增WAIT_ONLINE_IFACE=
和设置,以了解使网络在线检测更加可靠的可能方法。WAIT_ONLINE_METHOD=
/etc/default/networking
另外,要使方言消息静音,您应该添加vers=N.N
到安装选项中。请参阅参考资料 获取可用值man mount.cifs
的列表N.N
以及相应的 Windows 版本。如果服务器至少是 Windows Server 2008R2,则可以使用vers=2.1
.
旧协议版本vers=1.0
很容易受到 2017 年臭名昭著的 WannaCry 勒索软件的攻击,并且无法修复,因此所有最新的操作系统现在都应该被编程为讨厌该版本,并且除非特别要求,否则不要使用它。 。 (如果您的服务器仍然无法支持任何较新的协议版本,则需要升级该服务器。)
答案2
在此发布此内容,希望对某人有所帮助。我花了4个多小时。
在 Debian 10 上我需要运行:
systemctl enable systemd-networkd-wait-online.service
我正在使用 fstab 参数:
NFS-Server-IP:/FolderName /mnt/FolderName nfs rw,bg,intr,hard,timeo=600,nfsvers=3 0 0
答案3
如果在 Debian Buster 上使用 SysVinit(而不是 SystemD),则fstab 字段中似乎需要auto
和才能自动挂载。另外(最后一个字段)可能应该是,而不是出于一致性原因,如果没有其他原因(但我还没有测试如果没有这种更改它是否会失败)_netdev
<options>
<pass>
3
0
所以
//hostname/Share /Share cifs auto,_netdev,dir_mode=0777,file_mode=0777,username=<NAME>,password=<PASSWORD>,rw,uid=1000,gid=1000 0 3
答案4
我刚刚遇到了 NFS 安装的问题fstab
。事实证明,在启动时,当网络尚未准备好时尝试安装。
只需安装network-manager
即可解决问题。