Bug 990177

Summary: systemctl uses ambiguous terms to disable and to enable services
Product: [Fedora] Fedora Reporter: hw
Component: systemdAssignee: systemd-maint
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 19CC: hw, johannbg, lnykryn, msekleta, notting, plautrba, systemd-maint, vpavlin, zbyszek
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-09-15 02:05:59 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description hw 2013-07-30 14:04:45 UTC
Description of problem:

Running "systemctl disable <some.service>" does not disable the service but puts it into a state of being enabled and started on demand.  The service will only be disabled when "mask" is used instead of "disable".

Users expect to mean "disable" that something is actually switched off and will not run.

When you look at [1], [2] and [3] and other messages in the thread, you'll find some agreement about what "disabled" means.


Suggestion:

Use less ambiguous terms instead, like:


boot | always
needed | ondemand
never | disable[d]


To allow for a transition to these terms, the ones currently in use would have to be left unchanged for some time.


[1] https://lists.fedoraproject.org/pipermail/users/2013-July/438874.html
[2] https://lists.fedoraproject.org/pipermail/users/2013-July/438903.html
[3] https://lists.fedoraproject.org/pipermail/users/2013-July/439021.html

Comment 1 Lennart Poettering 2013-09-12 19:44:24 UTC
Hmm? If you are talking of a socket actviated service, then you need to disable the socket too... 

What else do you mean by "started on demand"?

Comment 2 Zbigniew Jędrzejewski-Szmek 2013-09-15 02:05:59 UTC
Current terminology is here to stay, for better or worse. Meaning of some of the terms is tricky, but at least it's well documented.

Comment 3 hw 2013-09-16 06:59:38 UTC
(In reply to Lennart Poettering from comment #1)
> Hmm? If you are talking of a socket actviated service, then you need to
> disable the socket too... 
> 
> What else do you mean by "started on demand"?

Services that are "disabled" can still be started, which means that they are not disabled.


BTW, even if well documented, the terminology used is utterly misleading, and it will lead to unwanted results since people are not computers.  You could as well argue that blue is green because you have documented it so well --- people are just going to have to imagine the picture in different colours ...

Comment 4 hw 2013-09-16 07:03:55 UTC
PS: Do it for traffic lights and document that red is green.  Then see what happens.

Comment 5 hw 2013-09-16 07:17:43 UTC
PPS: At least a warning could be printed when someone uses "disable", like: "The service can still be started; please use 'mask' to disable it."