why does update-rc.d not accept my init script
How do I get this fixed?
Throw it away entirely. You don't need it in any form.
Then stop trying to use an rc
system that has been twice superseded on Ubuntu, too. You don't need update-rc.d
here, either.
It is now 2016, and the first rule for migrating to systemd applies. Someone has already done it. In this particular case, Michael Nikitochkin did it a year ago, amongst others (such as Jeroen Doggen, Efstathios Iosifidis, and some nameless people):
[Unit] Description=NOIP Dynamic IP Documentation=https://askubuntu.com/a/835318/43344 [Service] ExecStart=/usr/local/bin/noip2 [Install] WantedBy=multi-user.target
Further reading
- https://askubuntu.com/a/626858/43344
- https://askubuntu.com/a/834323/43344
- https://askubuntu.com/a/617822/43344
First, you need to create a systemd startup script:
debian.noip2.service
And place it into /etc/systemd/system/
directory.
One example of such systemd startup script is the following:
[Unit]
After=network.target
[Service]
ExecStart=/usr/local/bin/debian.noip2.sh
[Install]
WantedBy=default.target
After: Instructs systemd on when the script should be run. In our case the script will run after network has started.
ExecStart: This field provides a full path the actual script to be execute.
WantedBy: Into what boot target the systemd unit should be installed
Configure and Install:
Open a terminal and run:
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
Source