我正在按照MountWindowsSharesPermanently在启动时安装 samba 共享
正如 wiki 中所说,我将这些行添加到/etc/fstab
:
# auto-mounting the samba share 'Seagates' on raspberry pi
//192.168.2.2/Seagates /home/edward/samba/raspberry cifs uid=1000,gid=1000,credentials=/home/edward/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
之后,因为它是受密码保护的共享,所以我添加了登录凭据~/.smbcredentials
并重新启动
挂载失败并出现这些错误,取自journalctl | grep samba
:
Nov 10 22:39:27 flippingbits systemd[1]: Mounting /home/edward/samba/raspberry...
Nov 10 22:39:33 flippingbits systemd[1]: home-edward-samba-raspberry.mount: Mount process exited, code=exited status=32
Nov 10 22:39:33 flippingbits systemd[1]: Failed to mount /home/edward/samba/raspberry.
Nov 10 22:39:33 flippingbits systemd[1]: home-edward-samba-raspberry.mount: Unit entered failed state.
Nov 10 22:39:58 flippingbits smbd[2613]: pam_unix(samba:session): session closed for user nobody
sudo mount -a
但是,如果我在启动后使用挂载,它就可以工作。
注意:在同一页面(此处)上,他们展示了username=guest
解决此问题的方法。但我不能这样做,因为我将它安装为另一个用户,它写在~/.smbcredentials
我在 Ubuntu 15.10
我在问题中提到的 Ubuntu Wiki 有点过时并且不能与
systemd
. systemd 是在 Ubuntu 15.04 中首次引入的问题可能是任何问题,在
/etc/fstab
读取时网络不会启动或者在/etc/fstab
读取时samba
服务还没有准备好或者它可以是任何东西,我没有读太多日志。但基本上维基中显示的方法不起作用。
在网上漫游后,我终于找到了解决方案,它是在文件
x-systemd.automount,x-systemd.device-timeout=3,
中的其余选项之前添加fstab
这个:
会变成
会发生什么情况是,如果驱动器在第一次尝试时没有挂载,systemd 将在放弃尝试自动挂载之前等待。这也不会影响/增加启动时间,因为 systemd 不会等待它完成并继续加载系统的其余部分。