memo

2014-08-20

systemd の unit を .include で上書きするときに既存の ExecStart を無効にする方法

foo.service の ExecStart だけを書き換えたいという場合、 .include で読み込んで ExecStart を書き足してやればよいかというと、 これだと ExecStart が複数定義されているというエラーになる。

で、こういう場合、空の ExecStart を置いてやればそれまでの設定がクリアされるらしい。

ということで、以下のようなファイルを作成すれば良い。

/etc/systemd/system/foo.service:

.include /usr/lib64/systemd/system/foo.service

[Service]
ExecStart=
ExecStart=/usr/sbin/foo --spam --egg