systemd에는 몇 개의 단위 파일이 필요합니까?

systemd에는 몇 개의 단위 파일이 필요합니까?

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

여기에 재미있는 사실이 있습니다. 184줄 쉘 스크립트로 처리되는 모든 것이 이제 두 개의 유닛 파일에 분산된 27줄 시스템 구성으로 처리됩니다.

/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반드시 필요한 것은 아닙니다 . 실패하거나 사용할 수 없는 경우에도 systemd에 의해 계속 시작됩니다. 그러나 이 문서에 링크된 init 스크립트에서는 스크립트가 실패하거나 사용할 수 없는 경우 실패하므로 이는 엄격한 요구 사항입니다.sshdWants=sshd-keygen.servicesshd-keygen.servicesshdsshd-keygen

답변2

두 번째 파일은 sshd-keygen.service위의 코드 조각에서 참조되는 입니다.

이를 사용하여 locate sshd-keygen.service시스템에서 파일을 찾을 수 있습니다. 에 위치할 수 있습니다 /usr/lib/systemd/system/sshd-keygen.service.

관련 정보