it-swarm-ja.com

systemdユニットファイルをプログラムで変更するにはどうすればよいですか?

シェルスクリプトからsystemdのユニットファイルを編集したいのですが。ユニットの唯一のExecStart行を変更したい。 systemctl editの使用は私には賢く見えますが、コマンドにはSYSTEMD_EDITOR環境変数として設定されたエディターが必要です。 SYSTEMD_EDITORのように使用されるecho 'ExecStart=foo' | SYSTEMD_EDITOR=SOMETHING systemctl edit barの代替手段はありますか?

3
yanana

Systemdの「オーバーライド」メカニズムを使用します。

mkdir -p /etc/systemd/system/foobar.service.d
cat > /etc/systemd/system/foobar.service.d/10-my-edits.conf <<EOF
[Service]
ExecStart=
ExecStart=foo
EOF
5
user1686