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