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
.