Configure Debian start up services

Configure debian start up services by sysv-rc-conf.

I used to use chkconfig to configure which service to run at system start up.

With my Raspberry Pi running based on Debian distribution, there is no chkconfig 😔.

The replacement for Debian is sysv-rc-conf: Run-level configuration for SysV like init script links.

sysv-rc-conf gives an easy to use interface for managing /etc/rc{runlevel}.d/ symlinks.

Install sysv-rc-conf

sysv-rc-conf can be installed by apt-get:

$ sudo apt-get install -y sysv-rc-conf

Use sysv-rc-conf

After installation, just run

$ sudo sysv-rc-conf

It will show a text based window user interface to easily manage which service to run at system start up.

sysv-rc-conf text window

List all of the services and if they are stopped or started when entering each runlevel by --list:

$ sysv-rc-conf --list
alsa-utils   0:off	1:off	6:off	S:on
avahi-daemon 0:off	1:off	2:on	3:on	4:on	5:on	6:off
bluetooth    0:off	1:off	2:on	3:on	4:on	5:on	6:off
bootlogs     1:on	2:on	3:on	4:on	5:on
brightness   0:off	6:off	S:on
cron         2:on	3:on	4:on	5:on
dbus         2:on	3:on	4:on	5:on
dhcpcd       0:off	1:off	2:on	3:on	4:on	5:on	6:off

You can also enable/disable a service through command line with update-rc.d:

$ sudo update-rc.d minidlna disable

$ sudo update-rc.d vsftpd enable

You can also specific run level when enable/disable a service:

$ sudo update-rc.d vsftpd enable 3 5  # Only enable for level 3 5

Usage of update-rc.d:

$ update-rc.d -h
usage: update-rc.d [-f] <basename> remove
       update-rc.d [-f] <basename> defaults
       update-rc.d [-f] <basename> defaults-disabled
       update-rc.d <basename> disable|enable [S|2|3|4|5]
		-f: force

The disable|enable API is not stable and might change in the future.