That is correct, when you call `systemctl enable foo.unit` then the [Install] section of the unit file is "executed". "Static" means that the unit has no [Install] section, meaning it is permanently enabled/disabled as far as the systemctl enable/disable tool is concerned. Other than pulling themselves in when other units start, a unit can also symlink another unit name to itself using the Alias= option, and specify other units to enable/disable as a group using the Also= option. On 27 March 2014 07:13, Gesh <gesh@gesh.uni.cx> wrote:
On March 19, 2014 9:16:57 PM GMT+02:00, Ary Kleinerman <akleinerman@buinet.com.ar> wrote:
There's not really much magic going on. Are you aware of:
/etc/systemd/system
This contains symlinks that do already pretty much what you describe, and this is systemd's native configuration.
Paul, Don't forget /run/systemd/system: Runtime units and /usr/lib/systemd/system: Units of installed packages
Regards, Ary
Thanks for the pointers. If I understand what's going on correctly, units specify in their [Install] section whether, when they're enabled, they should be pulled in by other units. Those symlinks usually populate the appropriate directory under /etc/systemd/system/. Besides that, some packages install symlinks under /usr/lib/systemd/system/ as part of their files to get pulled in by other units without requiring user intervention. Finally, systemctl list-unit-files will list all unit files with their enabled/disabled/static status, where static means that they run by default (when pulled in) and disabled means they can be installed - that is, they have an [Install] section - but haven't been yet. And systemctl enable/disable manages the symlinks under /etc/systems/system specified by the [Install] section. Is my understanding of the situation correct? Thanks, Gesh