一个systemd需要多少个单元文件

一个systemd需要多少个单元文件

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

这是一个有趣的事实:由 184 行 shell 脚本处理的所有内容现在都由 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

需要什么第二个文件以及它位于哪里?

答案1

本文中的 init 脚本sshd-keygen在开始之前启动sshd,因此所引用的第二个单元文件可能就是该/usr/lib/systemd/system/sshd-keygen.service文件。

请注意,在 systemd 情况下,sshd-keygen并不是严格要求的,sshd因为它配置了Wants=sshd-keygen.service选项。即使sshd-keygen.service失败或不可用,sshd仍将由 systemd 启动。但是,在本文链接的 init 脚本中,这是一个严格的要求,因为如果sshd-keygen失败或不可用,脚本将会失败。

答案2

第二个文件是sshd-keygen.service,在上面的代码片段中引用了该文件。

您可以使用它locate sshd-keygen.service来查找系统上的文件。它可能位于/usr/lib/systemd/system/sshd-keygen.service.

相关内容