The daemon setup worked fine for a month or two, but I since recently the service has failed to start:
transmission-daemon.service: Cannot add dependency job, ignoring: Unit transmission-daemon.service has a bad unit file setting.
transmission-daemon.service: Service has more than one ExecStart= setting, which is only allowed for Type=oneshot services. Refusing.
The files differ on the Restart line, the override.conf instead reads:
Restart=on-failure
I’ve intentionally changed the setting in the past by running systemctl edit transmission-daemon.service. How to cleanly resolve this conflict and is this a result of a user error?
The service unit file, from an RPM, should be installed into /usr/lib/systemd/system, not /etc/systemd/system. The file in multi-user.target.wants should be a symlink to the real file, not a separate file.
From the main Fedora repo. I may have created the file manually or moved the original one over.
Sorry, the file /etc/systemd/system/multi-user.target.wants/transmission-daemon.service is a symlink, but /etc/systemd/system/transmission-daemon.service.d/override.conf in turn a (ASCII text) file.
/etc/systemd/system/multi-user.target.wants/transmission-daemon.service: symbolic link to /usr/lib/systemd/system/transmission-daemon.service
/usr/lib/systemd/system/transmission-daemon.service exists, the same content as in the OP.
You should not need that override file at all; if you need to override some of the settings from the packaged service unit file, you need to do it carefully, you cannot just repeat the entire contents of the file
I suggest removing both of the files that you have under /etc/systemd/system, then run ‘systemctl daemon-reload’, then ‘systemctl enable --now transmission-daemon.service’. That will get the daemon running using the packaged service unit file.
Yes, that’s exactly what I did. systemd appeared to have a higher barrier of entry than other entry-level Linux system maintenance tasks and since cron worked out-of-the-box I decided to try just pasting the contents of the file over when editing (# systemctl edit transmission-daemon.service).