update-rc.d: ошибка: брандмауэр Default-Start не содержит уровней выполнения, прерывание

Я пытаюсь добавить службу, чтобы она запускалась при запуске, но это невозможно, я получаю следующую ошибку

$ sudo systemctl enable firewall.service

Synchronizing state of firewall.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable firewall
update-rc.d: error: firewall Default-Start contains no runlevels, aborting
# /etc/systemd/system/firewall.service
[Unit]
ConditionPathExists=/etc/init.d/firewall
after=network.target

[Service]
ExecStart=/etc/init.d/firewall

[Install]
WantedBy=multi-user.target

person 7hsk    schedule 09.05.2020    source источник


Ответы (1)


Отредактируйте файл брандмауэра и добавьте его в начало

### BEGIN INIT INFO
# Provides:          firewall
# Required-Start:    $all
# Required-Stop:
# Default-Start:     2 3 4 5
# Default-Stop:
# Short-Description: your description here
### END INIT INFO

Переместите файл в правильный каталог

mv /etc/init.d/firewall  /etc/systemd/system/firewall

Создайте файл firewall.service в /lib/systemd/system/

> /lib/systemd/system/firewall.service

Ваш файл firewall.service должен содержать это

 [Unit]
 Description=Firewall

 [Service]
 Type=simple
 RemainAfterExit=yes
 ExecStart=/etc/systemd/system/firewall start
 ExecStop=/etc/systemd/system/firewall stop
 ExecReload=/etc/systemd/system/firewall restart

 [Install]
 WantedBy=multi-user.target

Перезагрузите конфигурацию диспетчера systemd и включите брандмауэр.

systemctl daemon-reload
systemctl enable firewall
person Marlon Brendo    schedule 28.02.2021