Sysvinit Operations¶
Manage sysvinit services (/etc/init.d
).
Facts used in these operations: files.FindLinks, sysvinit.InitdStatus, server.LinuxDistribution.
sysvinit.enable
¶
Manually enable /etc/init.d scripts by creating /etc/rcX.d/Y links.
sysvinit.enable(
service: str, start_priority=20, stop_priority=80, start_levels=(2, 3, 4, 5),
stop_levels=(0, 1, 6), **kwargs,
)
service: name of the service to enable
start_priority: priority to start the service
stop_priority: priority to stop the service
start_levels: which runlevels should the service run when enabled
stop_levels: which runlevels should the service stop when enabled
Example:
init.d_enable(
name="Finer control on which runlevels rsyslog should run",
service="rsyslog",
start_levels=(3, 4, 5),
stop_levels=(0, 1, 2, 6),
)
- Note:
This operation also inherits all global arguments.
sysvinit.service
¶
Manage the state of SysV Init (/etc/init.d) services.
sysvinit.service(
service: str, running=True, restarted=False, reloaded=False, enabled: bool | None=None,
command: str | None=None, **kwargs,
)
service: name of the service to manage
running: whether the service should be running
restarted: whether the service should be restarted
reloaded: whether the service should be reloaded
enabled: whether this service should be enabled/disabled
command: command (eg. reload) to run like:
/etc/init.d/<service> <command>
- Enabled:
Because managing /etc/rc.d/X files is a mess, only certain Linux distributions support enabling/disabling services:
Ubuntu/Debian (
update-rc.d
)CentOS/Fedora/RHEL (
chkconfig
)Gentoo (
rc-update
)
For other distributions and more granular service control, see the
sysvinit.enable
operation.
Example:
sysvinit.service(
name="Restart and enable rsyslog",
service="rsyslog",
restarted=True,
enabled=True,
)
- Note:
This operation also inherits all global arguments.