I have a fresh install of Ubuntu 16.04.1 with nginx installed, and when dpkg installed nginx, it registered the boot time config in two locations.
Systemd location
systemd config which states to start nginx daemon on boot (or "multi-user target")
% ls -l /etc/systemd/system/multi-user.target.wants/nginx.service
/etc/systemd/system/multi-user.target.wants/nginx.service -> /lib/systemd/system/nginx.service
Init V location
initV config which states to start nginx daemon on boot (or "run level 5")
% ls -l /etc/rc5.d/S02nginx
lrwxrwxrwx 1 root root 15 Apr 2 23:27 /etc/rc5.d/S02nginx -> ../init.d/nginx
If I disable nginx, systemd gives some output indicating some kind of backward compatibility actions are occuring
% sudo systemctl disable nginx.service
Synchronizing state of nginx.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install disable nginx
insserv: warning: current start runlevel(s) (empty) of script `nginx' overrides LSB defaults (2 3 4 5).
insserv: warning: current stop runlevel(s) (0 1 2 3 4 5 6) of script `nginx' overrides LSB defaults (0 1 6).
This will remove BOTH the symlinks from above.
Why is this setup this way? Why isn't there just one or the other - either the new systemd config or the old systemV init?