他のシステムサービスが再起動すると、システムサービスはどのように再起動されますか?

他のシステムサービスが再起動すると、システムサービスはどのように再起動されますか?

私はDebianで252をシステム化しました。 systemdサービスをsystemd-hostnamed.service再起動するかb.service、 。

b.service次のオプションを使用すると運がありません。

After=systemd-hostnamed.service
Requires=systemd-hostnamed.service
BindsTo=systemd-hostnamed.service
PartOf=systemd-hostnamed.service

どうすればいいですか?

b.サービス

[Unit]
Description=Avoid NetworkManager sending hostname in DHCP request
Wants=network-pre.target
Before=network-pre.target

[Service]
StartLimitBurst=5
StartLimitInterval=80
RestartSec=15
User=root
ExecStart=/usr/bin/python3 /usr/local/bin/hostname.py

[Install]
WantedBy=sysinit.target

答え1

b.service2つの関係が必要ですsystemd-hostnamed.service

  • PartOf=systemd-hostnamed.service止まるとb.service止まります。systemd-hostnamed.service
  • WantedBy=systemd-hostnamed.service起動時に起動しますb.servicesystemd-hostnamed.service

どちらもリセットに使用されます。

関係を追加するのはPartOf=簡単ではありません。セクションにこの行を追加するだけです[Unit]

[Unit]
PartOf=systemd-hostnamed.service

WantedBy=そのセクションでのみ定義できますが、[Install]すでに持っています。最初から始めるにWantedBy=sysinit.targetは、この行を変更できます。次に。systemd-hostnamed.servicesysinitsudo systemctl {disable,enable} b.service

[Install]
# WantedBy=sysinit.target
WantedBy=systemd-hostnamed.service

b.service部品を変更せずに維持したい場合は、[Install]そのオプションWants=b.serviceをに追加することですsystemd-hostnamed.service。これは上書きによって行われます。以下を使用してsudo systemctl edit systemd-hostnamed.service設定して保存します。

$ sudo systemctl edit systemd-hostnamed.service

[Unit]
Wants=b.service

これにより、配布されたソースファイルを汚染することなく追加の/etc/systemd/system/systemd-hostnamed.service.d/override.conf関係が作成されます。systemd-hostnamed.servicesystemd

答え2

エラー層。

[ipv4]
dhcp-send-hostname=false

Network Managerは、/etc/NetworkManager/system-connections/の構成ファイルにあるdhcpホスト名を送信できません。

関連情報