Почему systemctl не выдает сообщение об ошибке, когда все следующие попытки включить или включить netctl-auto@wlp3s0.service явно терпят неудачу
~ $ systemctl list-unit-files | grep enabled
autovt@.service enabled
getty@.service enabled
systemd-fsck-root.service enabled-runtime
remote-fs.target enabled
~ $ sudo systemctl enable netctl-auto@wlp3s0.service
~ $ systemctl list-unit-files | grep enabled
autovt@.service enabled
getty@.service enabled
systemd-fsck-root.service enabled-runtime
remote-fs.target enabled
~ $ sudo systemctl unmask netctl-auto@wlp3s0.service
~ $ sudo systemctl reenable netctl-auto@wlp3s0.service
Removed /etc/systemd/system/multi-user.target.wants/netctl-auto@wlp3s0.service.
Created symlink /etc/systemd/system/multi-user.target.wants/netctl-auto@wlp3s0.service → /usr/lib/systemd/system/netctl-auto@.service.
~ $ systemctl list-unit-files | grep enabled
autovt@.service enabled
getty@.service enabled
systemd-fsck-root.service enabled-runtime
remote-fs.target enabled
~ $ sudo systemctl start netctl-auto@wlp3s0.service
~ $ systemctl list-unit-files | grep enabled
autovt@.service enabled
getty@.service enabled
systemd-fsck-root.service enabled-runtime
remote-fs.target enabled
Созданная выше символическая ссылка ссылается на /usr/lib/systemd/system/netctl-auto@.service, которая имеет эти характеристики.
~ $ systemctl -a list-unit-files|grep netctl@.service
netctl@.service static
~ $ systemctl status netctl@.service
Failed to get properties: Unit name netctl@.service is neither a valid invocati>
~ $ sudo systemctl enable netctl@.service
The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
**This means they are not meant to be enabled using systemctl.**
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
.wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
instance name specified.