LoginSignup
7
15

More than 5 years have passed since last update.

systemdでmount完了を待ってサービスを起動する

Last updated at Posted at 2015-04-16

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
7
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
15