Как запустить non-systemd сервис на Ubuntu 16.04

Я установил fwknop-server пакет на недавно установленной Ubuntu 16.04 и попробованный для запуска ее демона. Пакет не обеспечивает systemd файл единицы и вместо этого использует старые init сценарии, которые сообщают как active(exited):

$ service fwknop-server status
● fwknop-server.service - LSB: start and stop fwknopd
   Loaded: loaded (/etc/init.d/fwknop-server; bad; vendor preset: enabled)
   Active: active (exited) since Sat 2016-10-01 18:24:16 CEST; 3s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 32581 ExecStop=/etc/init.d/fwknop-server stop (code=exited, status=0/SUCCESS)
  Process: 32618 ExecStart=/etc/init.d/fwknop-server start (code=exited, status=0/SUCCESS)

Oct 01 18:24:16 fwknop systemd[1]: Starting LSB: start and stop fwknopd...
Oct 01 18:24:16 fwknop systemd[1]: Started LSB: start and stop fwknopd.

$ ps aux | grep fwknop
jakuje   32727  0.0  0.0  14224   928 pts/0    S+   19:11   0:00 grep --color=auto fwknop

Запуск или остановка не изменяют состояние, ни действительно запускаются fwknopd. Это - более общий вопрос о "наследии" init.d сервис, но я принимаю разумные ответы, соответствующие fwknop самостоятельно, кроме запуска fwknop вручную.

Править:
Виртуальная машина имеет другой сетевой интерфейс, чем значение по умолчанию, ожидаемое fwknop. Это может быть зафиксировано путем изменения /etc/fwknop/fwknop.config с

PCAP_INTF                   ens3;

но тем не менее сервис не запускается.

1
задан 2 October 2016 в 19:42

1 ответ

TL; DR:

Изменение START_DAEMON="yes" в Объяснении файла /etc/default/fwknop-server.

пакет не обеспечивает systemd файл единицы […]

Debian и Ubuntu не делают. Авторы программного обеспечения, однако, делают:

Это может быть улучшено:

[Unit]
Documentation=http://askubuntu.com/a/832231/43344
Description=Firewall Knock Operator Daemon
After=network-online.target

[Service]
RuntimeDirectory=fwknop
RuntimeDirectoryMode=0700
ExecStart=/usr/sbin/fwknopd --foreground
ExecReload=/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target

Lennart Poettering записал в 2011 :

Многие параметры конфигурации в /etc/sysconfig позволяют отключать сервисы. Этим они в основном становятся вторым уровнем включения/отключения по тому, что уже предлагает init система: когда сервису включают с systemctl enable или chkconfig on, эти настройки переопределяют это и оказываются демоном [f] даже при том, что init система была настроена для запуска его. Это, конечно, очень сбивает с толку пользователя/администратора и не приносит фактически преимущества.

И это - precsisely, что van Smoorenbug rc делает сценарий в Вашем пакете:

START_DAEMON="no"
DAEMON_ARGS=""
[ -r /etc/default/fwknop-server ] && . /etc/default/fwknop-server

# Exit if the dameon must not be started
[ "$START_DAEMON" = "yes" ] || exit 0
4
ответ дан 3 December 2019 в 06:57

Другие вопросы по тегам:

Похожие вопросы: