On Fri, Jul 24, 2020 at 09:49:04PM +0300, Andrei POPESCU wrote: > Aren't those files an internal implementation detail? Most users won't > ever need to interact with those files or even be aware of their > existence.
The whole design is built around "you can do this with systemctl commands, or by manually changing symlinks around". The files are directly exposed to end users, and documented as such. (I imagine that a big part of the reasoning behind this was to ease the transition for sysv-rc users, who are/were accustomed to manipulating symlinks in /etc/rc*.d/ directories to enable and disable services.) >From systemctl(1): enable UNIT..., enable PATH... Enable one or more units or unit instances. This will create a set of symlinks, as encoded in the "[Install]" sections of the indicated unit files. After the symlinks have been created, the system manager configuration is reloaded (in a way equivalent to daemon-reload), in order to ensure the changes are taken into account immediately. And so on. I believe there was some page on 0pointer.de that talked more about this, but damned if I can find it right now....