Где находится мой /etc/init.d/skeleton в OpenSuse 12.3?

Где находится мой /etc/init.d/skeleton в OpenSuse 12.3?

На свежей установке OpenSuse 12.3 я хочу "демонизировать" программу. И, судя по всем примерам, найденным в Интернете, я вижу, что мне нужно сначала создать /etc/init.d/myscript.../etc/init.d/skeleton

Но у меня нет /etc/init.d/skeleton... Есть ли другое место для этого файла? Или, может быть, мне нужно что-то установить?

Система обновлена, я проверил это в первую очередь.

Я знаю, что могу попробовать скопировать другой существующий /etc/init.dскрипт и изменить его или создать новый, но мне бы хотелось знать, делаю ли я что-то неправильно или есть ли другой особый способ сделать это в OpenSuse.

решение1

Я не уверен, куда /etc/init.d/skeletonисчез файл, но предполагаю, что это изменение связано с заменой традиционного SysV init daemonна , systemdпоскольку OpenSUSE 12 systemdполностью совместим с известными initscripts, но я бы предпочел использовать systemdмодель запуска служб.

По моему мнению, традиционные initscripts могут быть сложными и иногда могут требовать более глубоких знаний в области сценариев оболочки. С другой стороны, systemd"initscript" или unitфайл конфигурации для службы ( man systemd.unit) легче поддерживать, поскольку он имеет простой синтаксис, похожий на синтаксис .INIфайлов. Вы можете попробовать написать какой-нибудь файл модуля и включить его, перетащив файл в /etc/systemd/systemкаталог. Этот каталог имеет более высокий приоритет, чем каталог по умолчанию /usr/lib/systemd/system. Ниже приведен пример sshdмодуля daemon:

[Unit]
Description=OpenSSH Daemon
After=syslog.target network.target

[Service]
EnvironmentFile=/etc/sysconfig/ssh
ExecStartPre=/usr/sbin/sshd-gen-keys-start
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=always

[Install]
WantedBy=multi-user.target

Или вы можете придерживаться "устаревших" initscripts, которые вы используете. Но вы потеряете некоторые приятные функции, такие systemdкак:

  • более быстрая загрузка, реальный параллельный запуск служб
  • автоматическая обработка зависимостей
  • мониторинг сервисов и их автоматический перезапуск в случае сбоя
  • и многое другое

Наконец, имейте в виду, что если есть модуль ( sshd.service) с тем же базовым именем, что и у initscript ( /etc/init.d/sshd), то initscript игнорируется, а systemdмодуль будет иметь приоритет и использоваться.

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