systemd-install — Enable or disable a systemd unit definition file
systemd-install [OPTIONS...] enable [NAME...] systemd-install [OPTIONS...] disable [NAME...] systemd-install [OPTIONS...] realize [NAME...] systemd-install [OPTIONS...] test [NAME...]
systemd-install enables or disables systemd units, or checks whether they are enabled.
This command is useful to apply or undo the installation instructions encoded in the [Install] section of unit files. See systemd.unit(5) for more information.
Enabling units (as with systemd-install enable) should not be confused with activating units (as with systemctl start). The former simply installs the unit files in the configuration tree, but does not start them. The latter equals starting them, but does not necessarily require them to be enabled.
The following options are understood:
Prints a short help text and exits.
Enable/disable a service even if it conflicts with/contradicts another service. This might have the effect of disabling another service that was enabled.
Enable/disable a system service.
Enable/disable a session service for the calling user.
Enable/disable a session service for all users.
After enabling/disabling stop/restart/stop the unit and reload manager configuration. Optionally, takes one of no, reload, minimal, maybe or yes. If no is passed the manager will not reload its configuration and no service will be started or stopped after enabling/disabling of the unit files. If reload is passed the daemon configuration is reloaded but the unit otherwise not started/stopped/restarted. If minimal is passed and a unit is being enabled it will also be restarted should it already be running. If a unit is being disabled it will be stopped should it be running. In either case the daemon configuration is reloaded. maybe is similar to this, but the unit will also be started if it is being enabled and any of the units listed in WantedBy= in the [Install] section of the unit file is already activated. Finally yes starts the unit unconditionally after enabling. This setting defaults to no. If --realize is specifieed but the mode value is omitted defaults to maybe. This option has no effect when --global or test is used, or when systemd is not running or the command is executed in a chroot(2) environment. This option is implied if the realize command is used.
The following commands are understood:
Enable one or more units. This will create a number of symlinks as encoded in the [Install] section of a unit file.
Disable or more units. This will remove a number of symlinks as encoded in the [Install] section of a unit file.
Does not enable or disable any unit. Checks whether any of the units specified are enabled, and then starts/stops/restarts the units accordingly. This will check for the existence of a number of symlinks as encoded in the [Install] section of a unit file, and then executes the action normally specified by --realize. If --realize is not specified implies maybe mode. To override this mode specify --realize= in addition to realize.
Does not enable or disable any unit. Checks whether any of the units specified are enabled. This will check for the existence of a number of symlinks as encoded in the [Install] section of a unit file, and return with an exit code of 0 if a unit is enabled, 1 otherwise.
On success 0 is returned, a non-zero failure code otherwise.
systemd(1), systemctl(1), systemd.unit(5)