起動時にシステムサービスを強制的に開始する方法

起動時にシステムサービスを強制的に開始する方法

詳細を見逃したらすみません。 systemdのすべての領域がわからない場合があります。他のサービスの後にイン監視サービスが自動的に開始されるようにしたいのですが、なぜデフォルトで無効になっているのかわかりません。

> /lib/systemd/system# ls |grep phosphor-watchdog
>
> [email protected]
>
> [email protected]

/lib/systemd/system# systemctl status [email protected][email protected] - Phosphor poweron watchdog
     Loaded: loaded (/lib/systemd/system/[email protected]; disabled; vendor preset: enabled)
    Drop-In: /lib/systemd/system/[email protected]
             └─poweron.conf
     Active: inactive (dead)

これはPhosphorus Watchdogサービスのサービスファイルです。

[Unit]
Description=Phosphor %I watchdog
[email protected]
After=pwr-monitor.service

[Service]
Restart=always
EnvironmentFile={envfiledir}/obmc/watchdog/%I
ExecStart=/usr/bin/env phosphor-watchdog --continue --service=${{SERVICE}} --path=${{DEVPATH}} --target=${{TARGET}}
SyslogIdentifier=phosphor-watchdog

[Install]
WantedBy=multi-user.target

そして[Eメール保護]/poweron.conf:

[Unit]
[email protected]
[email protected]
[email protected]

「WantedBy = multi-user.target」があるにもかかわらず、私のサービスが常に無効になる理由を知りたいです。

注:systemctlを有効にすると、すべてがうまく機能しますが、デフォルトでは有効にしたいと思います。

より多くの情報を提供する必要がある場合は、お知らせください。ありがとうございます。

ベストアンサー1

[Install]
WantedBy=multi-user.target

すべてman systemd.unit:

[Install] は実行時に systemd(1) によって解釈されず、デバイスのインストール中に systemctl(1) ツールの有効化および無効化コマンドによって使用されます。

したがって、このセクションに表示される内容は、使用しない[Install]限り効果はありませんsystemctl enable

注:systemctlを使用すると、すべてがうまく機能します。

これは予想される動作です。 systemctl enable継続的なシンボリックリンクが追加され、今から無効になるまで発射するたびにデバイスが発射されます。

しかし、基本的に有効にしたいと思います。

インストールは単純なファイルのコピー以上です。通常、パッケージは次のことを行います。

  1. サービスをインストールします。/lib/systemd/system/
  2. systemctl enable提供する
  3. systemctl start提供する

したがって、インストールの一部はでなければなりませんsystemctl enable


systemdの初期には、基本的にサービスを有効にしたくない人が多かったことを覚えています。たとえば、Archパッケージにはデフォルトでenable/ servicesがありませんstart

Debianには、直接呼び出さずにdeb-systemd-helperパッケージで使用するhelperというプログラムがあります。有効にした項目に基づいて特定のデバイスを使用するかどうかを決定しますが、アップグレードする前に明示的に無効/遮断した場合は決定を尊重するsystemctl enableなどの作業を実行します。また、アップデート時にデバイスをリセット/再ロードしたり、デバイスをアンロードする前に停止したりするなど、いくつかの便利なタスクを実行することもできます。enablevendor preset

おすすめ記事