Я хочу запустить клиент 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
Как это сделать?
Сначала вам нужно создать сценарий запуска 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
Источник