Provided by: file-rc_0.8.7_all
update-rc.d - modify runlevel.conf to manage System-V init scripts
update-rc.d [-n] [-f] name remove
update-rc.d [-n] name defaults [NN | NN-start NN-stop]
update-rc.d [-n] name start|stop NN runlevel runlevel ... .
start|stop NN runlevel runlevel ... . ...
update-rc.d automatically updates /etc/runlevel.conf(5), a config file,
which simulates the System V style init script links in only one text
file. These are run by init(8) when changing runlevels and are
generally used to start and stop system services such as daemons.
runlevel is one of the runlevels supported by init, 0123456789S, and NN
is the two-digit sequence code used by init(8) to decide which order to
run the scripts in.
This manpage documents only the usage and behaviour of update-rc.d(8).
For a discussion of the System V style init script arrangements please
see init(8), runlevel.conf(5), and the Debian Policy Manual.
INSTALLING INIT SCRIPTS
When run with either the defaults, start, or stop options, update-rc.d
adds a line to /etc/runlevel.conf pointing to the script
If any line pointing to name already exist then update-rc.d does
nothing. This is so that the system administrator can rearrange the
configuration, provided that they leave at least one entry remaining,
without having their configuration overwritten.
If defaults is used then update-rc.d adds an entry to start the service
in runlevels 2,3,4,5 and stop the service in runlevels 0,1,6. By
default all the links will have sequence code 20, but this can be
overridden by supplying one or two NN arguments; one argument overrides
the sequence code for both start and stop entries whereas of two
arguments the first overrides the code for start runlevels and the
second that for stop runlevels.
Instead of defaults the runlevels in which to start and stop the
service may be specified explicitly using a series of sets of
Each of these sets starts with an argument start or stop to specify
whether start or stop runlevel entries are to be created by that set.
Then follows NN, the sequence code number for that line in
/etc/runlevel.conf, and one or more runlevel numbers as a single
argument each. The set is terminated by an argument . (a single full
When explicit specification, rather than defaults, is used there will
usually be one start and one stop set. If different sequence codes are
required in different runlevels then several start sets or several stop
sets may be specified.
The script /etc/init.d/name must exist before update-rc.d is run to
create the links.
When invoked with the remove option, update-rc.d removes any lines from
/etc/runlevel.conf pointing to the script /etc/init.d/name. The script
must have been deleted already - update-rc.d checks for this. update-
rc.d is usually called from a package’s post-removal script when that
script detects that its first argument is purge, indicating that the
user has requested the configuration for the package to be removed.
-n Don’t do anything, just show what we would do.
-f Force removal of symlinks even if /etc/init.d/name still exists.
Insert line into runlevel.conf using the defaults:
update-rc.d foobar defaults
Equivalent command using explicit argument sets:
update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
There should be a way for the system administrator to specify at least
the default start and stop runlevels to be used by defaults and
possibly to override other things as well.
The directory containing the actual init scripts.
The file containing the information used by init and managed by
Model for use by writers of init.d scripts.
Debian Policy Manual,