sambaのバックエンドにbtrfsを使っていたりすると、mountが遅い上(少なくともFedoraでは)依存サービスがmount完了を待ってくれないので、sambaが先に起動して空のマウントポイントをクライアントに表示してしまう。
RequiresMountsFor
命令でsamba側を待たせることで回避できる。
設定は sambaが smb.service
として、
# /etc/systemd/system/smb.service.d/requiremount.conf
[Unit]
RequiresMountsFor=/mountpoint
RequiresMountsFor=/anothermountpoint
service.d/*.conf
systemdは foobar.service
が存在するとき、自動でfoobar.service.d/*.conf
をマージしてくれる。
ディストリのインストールするsmb.service
は手で変更してもパッケージ更新で上書きされるため、こちらを使う。
適用されているか確認するには、
# systemctl daemon-reload
# systemctl show smb | grep RequiresMount
RequiresMountsFor=/mountpoint /anothermountpoint