systemdプリセットを使用して、systemdサービスがインストール時にデフォルトで有効または無効になるかどうかに影響を与えることができます。
Debianプリセットでは、インストール時にすべてのサービスがデフォルトで有効になります。したがって/etc/systemd/system-preset/80-foo.preset
、次の行を含むなどのファイルを送信することで、開発ワークステーションにプリセットを送信するだけで済みます(デフォルトの動作は、本番環境で実行したいことと一致します)。言う
disable foo.service
Puppet、Chef、Ansibleなどのシステムを使用して開発ワークステーションを管理している場合は、それらを使用してそのようなsystemdプリセット構成を出荷できます。これにより、開発ワークステーションのみにポリシーを適用し、本番環境に適用するのは簡単になります。マシン。
.debパッケージはsystemctl preset
コマンドを使用してサービスを有効にする必要があります。このコマンドは事前設定された構成を尊重するためです。
@JdeBPと@sourcejedi(のようなDEB-ヘルパーでアウトポイント、Debianはマクロdh_systemd_enable
すでに、彼らが呼び出すことを行う)deb-systemd-helper
を使用しますこれはsystemctl preset
()削除(ただし、パージを行う場合という小さな注意点がデフォルトでパッケージを、そして後でそれを再インストールし、それはあなたがプリセットファイルを削除した場合でも、サービスを有効にしません)を参照してください。このコメントをdeb-systemd-helper
のenable
操作:
# We use 'systemctl preset' on the initial installation only.
# On upgrade, we manually add the missing symlinks only if the
# service already has some links installed. Using 'systemctl
# preset' allows administrators and downstreams to alter the
# enable policy using systemd-native tools.
プリセットのsystemd機能の詳細については、systemdプリセットとsystemctl preset
それを実装するコマンドのmanページを参照してください。
*.preset
ファイルをそのパッケージの一部としてインストールできます。