Я слежуMountWindowsSharesПостояннодля монтирования общего ресурса Samba при загрузке
Как сказано в вики, я добавил эти строки в /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
Проблема может быть в чем угодно, к моменту /etc/fstab
чтения сеть не будет готова ИЛИ к моменту /etc/fstab
чтения samba
службы не будут готовы ИЛИ это может быть что угодно, я не особо читал логи.
Но в основном метод, показанный в wiki, не работает.
После поисков в Интернете я наконец нашел решение, и оно заключается в добавлении 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 не ждет завершения и продолжает загружать остальную часть системы.