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.enableoperation.
Example:
sysvinit.service(
    name="Restart and enable rsyslog",
    service="rsyslog",
    restarted=True,
    enabled=True,
)
- Note:
- This operation also inherits all global arguments. 
 pyinfra 3.x
            pyinfra 3.x