sslh service can't be enabled
Description:
When trying to enable sslh service, systemctl returns the following error:
$ sudo systemctl enable sslh
The unit files have no installation config (WantedBy=, RequiredBy=, UpheldBy=,
Also=, or Alias= settings in the [Install] section, and DefaultInstance= for
template units). This means they are not meant to be enabled or disabled using systemctl.
Possible reasons for having these kinds of units are:
• A unit may be statically enabled by being symlinked from another unit's
.wants/, .requires/, or .upholds/ directory.
• A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
• A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
• In case of template units, the unit is meant to be enabled with some
instance name specified.
Additional info:
- package version(s): My current version is 2.1.1-1. But this is not a new bug, it has been happening for a long time.
Analysis
Service file installed by Arch Linux doesn't match upstream. Upstream service file has included the section that fixes this issue since 2013:
[Install]
WantedBy=multi-user.target
Workaround
Manually adding this section to the service file fixes the issue.