почему update-rc.d не принимает мой сценарий инициализации

Я хочу запустить клиент noip.com dyndns при загрузке, и я использую предоставленный скрипт debian.noip2.sh (который просто запускает клиент из оболочки). Я скопировал его в /etc/init.d, сделал его владельцем root и дал ему 755 разрешения. Теперь, когда я хочу установить его, я получаю:

# update-rc.d debian.noip2.sh defaults
insserv: warning: script 'K01debian.noip2.sh' missing LSB tags and overrides
insserv: warning: script 'debian.noip2.sh' missing LSB tags and overrides
insserv: warning: script 'noip' missing LSB tags and overrides
insserv: script virtualbox: service vboxdrv already provided!
insserv: script virtualbox: service virtualbox already provided!

сценарий выглядит так:

# cat /etc/init.d/debian.noip2.sh 
#! /bin/sh
# /etc/init.d/noip2.sh

# Supplied by no-ip.com
# Modified for Debian GNU/Linux by Eivind L. Rygge <eivind@rygge.org>
# corrected 1-17-2004 by Alex Docauer <alex@docauer.net>

# . /etc/rc.d/init.d/functions  # uncomment/modify for your killproc

DAEMON=/usr/local/bin/noip2
NAME=noip2

test -x $DAEMON || exit 0

case "$1" in
    start)
    echo -n "Starting dynamic address update: "
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;
    stop)
    echo -n "Shutting down dynamic address update:"
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    echo "noip2."
    ;;

    restart)
    echo -n "Restarting dynamic address update: "
    start-stop-daemon --stop --oknodo --retry 30 --exec $DAEMON
    start-stop-daemon --start --exec $DAEMON
    echo "noip2."
    ;;

    *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
exit 0

Как это сделать?

1
задан 10 October 2016 в 18:06

1 ответ

Сначала вам нужно создать сценарий запуска systemd:

debian.noip2.service

И поместите его в каталог /etc/systemd/system/.

Одним из примеров такого сценария запуска systemd является следующее:

[Unit]
After=network.target

[Service]
ExecStart=/usr/local/bin/debian.noip2.sh

[Install]
WantedBy=default.target

После: инструктирует systemd, когда должен запускаться скрипт.

ExecStart: В этом поле содержится полный путь к действительному скрипту, который будет выполняться.

WantedBy: В какой целевой загрузке система systemd unit должен быть установлен

Настройка и установка:

Откройте терминал и запустите:

exec sudo -i
cp debian.noip2.sh /usr/local/bin/
chmod 744 /usr/local/bin/debian.noip2.sh
chmod 664 /etc/systemd/system/debian.noip2.service
systemctl daemon-reload
systemctl enable debian.noip2.service

Источник

2
ответ дан 23 May 2018 в 05:20

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

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