Wie viele Unit-Dateien werden für ein systemd benötigt

Wie viele Unit-Dateien werden für ein systemd benötigt

https://fedoramagazine.org/systemd-converting-sysvinit-scripts/Zustände

Interessante Tatsache: Alles, was dieses 184-zeilige Shell-Skript erledigt, wird jetzt von 27 Zeilen der Systemd-Konfiguration erledigt, die auf zwei Unit-Dateien verteilt sind.

Ich finde die erste Datei unter /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

Welche zweite Datei wird benötigt und wo befindet sie sich?

Antwort1

Das Init-Skript im Artikel wird sshd-keygenvor dem Start gestartet sshd, daher handelt es sich wahrscheinlich um die zweite referenzierte Unit-Datei /usr/lib/systemd/system/sshd-keygen.service.

Beachten Sie, dass dies im Fall von systemd sshd-keygennicht unbedingt erforderlich ist, sshdda es mit Wants=sshd-keygen.serviceder Option konfiguriert ist. Auch wenn es sshd-keygen.servicefehlschlägt oder nicht verfügbar ist, sshdwird es trotzdem von systemd gestartet. Im im Artikel verlinkten Init-Skript ist dies jedoch eine strikte Anforderung, da das Skript fehlschlägt, wenn sshd-keygenes fehlschlägt oder nicht verfügbar ist.

Antwort2

Die zweite Datei ist sshd-keygen.service, auf die in Ihrem Snippet oben verwiesen wird.

Sie können locate sshd-keygen.servicedie Datei mit auf Ihrem System suchen. Sie befindet sich wahrscheinlich unter /usr/lib/systemd/system/sshd-keygen.service.

verwandte Informationen