我正在關注永久掛載Windows共享在啟動時掛載 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
答案1
我提到的 Ubuntu Wiki 有點過時,並且不能與systemd
. systemd是在 Ubuntu 15.04 中首次引入的
。 但基本上wiki上展示的方法是行不通的。/etc/fstab
/etc/fstab
samba
在網上漫遊後,我終於找到了解決方案,就是在文件x-systemd.automount,x-systemd.device-timeout=3,
中的其餘選項之前添加fstab
這:
//192.168.2.2/Seagates /home/edward/samba/raspberry cifs uid=1000,gid=1000,credentials=/home/edward/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
會變成
//192.168.2.2/Seagates /home/edward/samba/raspberry cifs x-systemd.automount,x-systemd.device-timeout=3,uid=1000,gid=1000,credentials=/home/edward/.smbcredentials,iocharset=utf8,sec=ntlm 0 0
發生的情況是,如果第一次嘗試時未安裝驅動器,systemd 將在放棄嘗試自動安裝之前等待。這也不會影響/增加啟動時間,因為 systemd 不會等待啟動時間完成並繼續載入系統的其餘部分。