I have a strange question on Ubuntu Server 20.04, which is upgraded from 19.10.

I have a service defined while 19.10 in systemd/system. It works without any problem in that version.

Now, I need to change some setting in the service file. So I edit the file, use daemon-reload to reload it and try to use the new one, but systemd keep to use the old one. I know it is using the old one because the 2 versions point to different binary which I can see from status displaying.

Every time I start the service, systemctl warns me to use daemon-reload to reload the changed file. Use daemon-reload, even reboot won't fix.

I tried to remove the service file and reload it. It says service is not found while trying starting, which is good. But when I put the changed file back, it still use the old one while nothing is wrong with the service file.

I wonder maybe there is another place than /etc/systemd/system to save all settings?


1 Answer 1


Problem resolved.

The problem found it at the [unit] of the service file, one line says: SourcePath=/etc/init.d/<old.service.file>

After remove that line and reload, the problem is fixed.

It's still strange that the service file and the requested one in init.d are cached some where in systemd.

I leave this question here for who encounter the same problem in the future.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.