Сколько файлов юнитов требуется для systemd

Сколько файлов юнитов требуется для systemd

https://fedoramagazine.org/systemd-converting-sysvinit-scripts/состояния

Вот забавный факт: все, что обрабатывалось этим 184-строчным скриптом оболочки, теперь обрабатывается 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

Скрипт инициализации в статье запускается 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.

Связанный контент