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, start_priority=20, stop_priority=80, start_levels=(2, 3, 4, 5),
stop_levels=(0, 1, 6),
)
- 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),
)
sysvinit.service
¶
Manage the state of SysV Init (/etc/init.d) services.
sysvinit.service(service, running=True, restarted=False, reloaded=False, enabled=None, command=None)
- 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.- Ubuntu/Debian (
Example:
sysvinit.service(
name="Restart and enable rsyslog",
service="rsyslog",
restarted=True,
enabled=True,
)