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

ample:**

ode:: python

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>

led: 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.

ample:**

ode:: python

sysvinit.service(

name=”Restart and enable rsyslog”, service=”rsyslog”, restarted=True, enabled=True,

) Note:

This operation also inherits all global arguments.