systemdに必要なユニットファイルの数はいくつですか

systemdに必要なユニットファイルの数はいくつですか

https://fedoramagazine.org/systemd-converting-sysvinit-scripts/

面白い事実があります: 184 行のシェル スクリプトによって処理されていたすべての処理が、2 つのユニット ファイルにまたがる 27 行の systemd 構成によって処理されるようになりました。

最初のファイルは /usr/lib/systemd/system/sshd.service にあります:

[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

必要な 2 番目のファイルは何ですか? また、どこにありますか?

答え1

記事内の init スクリプトはsshd-keygen起動前に開始されるsshdため、参照される 2 番目のユニット ファイルはおそらくファイルです/usr/lib/systemd/system/sshd-keygen.service

systemd の場合、オプションで構成されているためにsshd-keygen、 は厳密には必須ではないことに注意してください。が失敗したり、 が利用できない場合でも、 systemd によって起動されます。ただし、記事にリンクされている init スクリプトでは、 が失敗したり、 が利用できない場合はスクリプトが失敗するため、 は厳密な要件です。sshdWants=sshd-keygen.servicesshd-keygen.servicesshdsshd-keygen

答え2

2 番目のファイルは でsshd-keygen.service、上記のスニペットで参照されています。

locate sshd-keygen.serviceシステム上のファイルを見つけるには を使用できます。おそらく にあります/usr/lib/systemd/system/sshd-keygen.service

関連情報