How to disable CUPS service on reboot with systemd?

No, activation does not happen because of preset.

systemctl disable cups will only prevent it from auto-starting.

It's possible that it was started anyway because it was required for another service.

This would confirm;

systemctl --reverse list-dependencies cups.service

If that's the case then you should evaluate & disable those services as well.

Or, if you don't care about the repercussions and want to completely prevent it from being started, mask it.

systemctl mask cups


The cups package ships three systemd unit files: cups.service, cups.socket and cups.path.

The latter two are used for socket activation and path activation, which will end up triggering the service even if it's not enabled.

You should disable all three to make sure cups won't be brought up due to socket or path activation on reboot:

systemctl disable cups.service cups.socket cups.path