update-rc.d man page on Raspbian

Man page or keyword search:  
man Server   8174 pages
apropos Keyword Search (all sections)
Output format
Raspbian logo
[printable version]

UPDATE-RC.D(8)			    sysv-rc			UPDATE-RC.D(8)

NAME
       update-rc.d - install and remove System-V style init script links

SYNOPSIS
       update-rc.d [-n] [-f] name remove

       update-rc.d [-n] name defaults [NN | SS KK]

       update-rc.d   [-n]   name   start|stop  NN  runlevel  [runlevel]...   .
	      start|stop NN runlevel [runlevel]...  . ...

       update-rc.d [-n] name disable|enable [ S|2|3|4|5 ]

DESCRIPTION
       update-rc.d updates the System V style init  script  links  /etc/rcrun‐
       level.d/NNname  whose  target  is  the  script /etc/init.d/name.	 These
       links are run by init when it changes  runlevels;  they	are  generally
       used  to	 start	and stop system services such as daemons.  runlevel is
       one of the runlevels supported by init, namely, 0123456789S, and NN  is
       the  two-digit  sequence	 number	 that determines where in the sequence
       init will run the scripts.

       This manpage documents only the usage  and  behaviour  of  update-rc.d.
       For  a discussion of the System V style init script arrangements please
       see init(8) and the Debian Policy Manual.

INSTALLING INIT SCRIPT LINKS
       update-rc.d has two modes of operation for installing scripts into  the
       boot  sequence.	A legacy mode where command line arguments are used to
       decide the sequence and runlevel configuration, and  the	 default  mode
       where dependency and runlevel information in the init.d script LSB com‐
       ment header is used instead.  Such header is required to be present  in
       init.d  scripts.	  See the insserv(8) manual page for details about the
       LSB header format.   The	 boot  sequencing  method  is  decided	during
       installation  or	 upgrades.   During upgrades, if there are no loops in
       the dependencies declared  by  LSB  headers  of	all  installed	init.d
       scripts and no obsolete init.d scripts, the boot system is converted to
       dependency based boot sequencing.  The conversion to  dependency	 based
       boot  sequencing	 is  one-way.  The machines using the legacy mode will
       have a file /etc/init.d/.legacy-bootordering .

       Packages installing init.d scripts should make sure both methods	 work,
       for  compatiblity  with	systems where the migration have not been done
       yet.

       For legacy mode, the following section documents the old behaviour.

       When run with either the defaults, start, or stop options,  update-rc.d
       makes  links  /etc/rcrunlevel.d/[SK]NNname  that	 point	to  the script
       /etc/init.d/name.

       If  any	 files	 /etc/rcrunlevel.d/[SK]??name	already	  exist	  then
       update-rc.d  does nothing.  The program was written this way so that it
       will never change an existing configuration, which may have  been  cus‐
       tomized	by  the	 system	 administrator.	 The program will only install
       links if none are present, i.e., if it appears  that  the  service  has
       never been installed before.

       A  common  system  administration error is to delete the links with the
       thought that this will "disable" the service, i.e., that this will pre‐
       vent  the  service from being started.  However, if all links have been
       deleted then the next time  the	package	 is  upgraded,	the  package's
       postinst	 script	 will  run  update-rc.d	 again and this will reinstall
       links at their factory default locations.  The correct way  to  disable
       services	 is  to	 configure  the service as stopped in all runlevels in
       which it is started by default.	In the System V init system this means
       renaming the service's symbolic links from S to K.

       If  defaults is used then update-rc.d will make links to start the ser‐
       vice in runlevels 2345 and to stop the service in  runlevels  016.   By
       default	all the links will have sequence number 20, but this should be
       overridden if there are dependencies. For example if daemon  B  depends
       on  A,  then  A must be started before B and B must be killed before A.
       You accomplish this by supplying two NN	arguments.  In	general,  core
       daemons	should start early and be killed late, whilst applications can
       start late and be killed early. See EXAMPLES below.

       The first NN argument supplies the start sequence number and the second
       NN argument supplies the kill sequence number.  Kill scripts are called
       first, passing a stop argument. Then start scripts are called passing a
       start argument. In either case, calls happen in ascending sequence num‐
       ber order.

       Supplying a single NN argument will use the same number for both	 start
       and  kill  links.  This	is supported for backward compatibility but is
       discouraged, as it may lead to inconsistent  settings.  As  a  rule  of
       thumb,  if  you	increase  the  start  sequence	number you should also
       decrease the stop sequence number, and vice-versa.

       As a rule of thumb, the sequence number of the stop link should be  100
       minus the sequence number of the start link; this causes services to be
       stopped in the opposite order to that in which they are started.	 Obvi‐
       ously,  therefore,  the	default	 stop  sequence	 number	 should be 80.
       Defaulting to 20, as update-rc.d does, is an old	 bug  that  cannot  be
       fixed because of the risk of breaking things.

       Instead of defaults one can give one or more sets of arguments specify‐
       ing particular runlevels in which to start or stop the  service.	  Each
       of  these sets of arguments starts with the keyword start or stop and a
       sequence number NN, followed by one or more runlevel numbers.  The  set
       is  terminated by a solitary full stop character.  When explicit speci‐
       fication, rather than defaults, is used there will usually be one start
       and  one stop set.  If different sequence codes are required in differ‐
       ent runlevels then several start sets or several stop sets may be spec‐
       ified.  If this is done and the same runlevel is named in multiple sets
       then only the last one counts.  Therefore it is not possible to	create
       multiple	 start	or  multiple stop links for a service in a single run‐
       level directory.

       The script /etc/init.d/name must exist before  update-rc.d  is  run  to
       create the links.

REMOVING SCRIPTS
       When  invoked  with the remove option, update-rc.d removes any links in
       the /etc/rcrunlevel.d directories to the script /etc/init.d/name.   The
       script  must have been deleted already.	If the script is still present
       then update-rc.d aborts with an error message.

       update-rc.d is usually called from a package's post-removal script when
       that  script is given the purge argument.  Any files in the /etc/rcrun‐
       level.d	directories  that  are	not  symbolic  links  to  the	script
       /etc/init.d/name will be left untouched.

DISABLING INIT SCRIPT START LINKS
       When  run  with the disable [ S|2|3|4|5 ] options, update-rc.d modifies
       existing runlevel links for the	script	/etc/init.d/name  by  renaming
       start  links  to stop links with a sequence number equal to the differ‐
       ence of 100 minus the original sequence number.

       When run with the enable [ S|2|3|4|5 ]  options,	 update-rc.d  modifies
       existing	 runlevel  links  for  the script /etc/init.d/name by renaming
       stop links to start links with a sequence number equal to the  positive
       difference  of current sequence number minus 100, thus returning to the
       original sequence number that the script had been installed with before
       disabling it.

       Both  of these options only operate on start runlevel links of S, 2, 3,
       4 or 5. If no start runlevel is specified after the disable  or	enable
       keywords,  the  script  will  attempt to modify links in all start run‐
       levels.

OPTIONS
       -n     Don't do anything, just show what we would do.

       -f     Force removal of symlinks even if /etc/init.d/name still exists.

EXAMPLES
       Insert links using the defaults:
	  update-rc.d foobar defaults
       The equivalent dependency header would have start and stop
       dependencies on $remote_fs and $syslog, and start in
       runlevels 2-5 and stop in runlevels 0, 1 and 6.
       Equivalent command using explicit argument sets:
	  update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 .
       More typical command using explicit argument sets:
	  update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 .
       Insert links at default runlevels when B requires A
	  update-rc.d script_for_A defaults 80 20
	  update-rc.d script_for_B defaults 90 10
       Insert a link to a service that (presumably) will not be needed by  any
       other daemon
	  update-rc.d top_level_app defaults 98 02
       Insert  links  for  a  script that requires services that start/stop at
       sequence number 20
	  update-rc.d script_depends_on_svc20 defaults 21 19
       Remove all links	 for  a	 script	 (assuming  foobar  has	 been  deleted
       already):
	  update-rc.d foobar remove
       Example of disabling a service:
	  update-rc.d -f foobar remove
	  update-rc.d foobar stop 20 2 3 4 5 .
       Example	of  a command for installing a system initialization-and-shut‐
       down script:
	  update-rc.d foobar start 45 S . stop 31 0 6 .
       Example of a command for disabling a system initialization-and-shutdown
       script:
	  update-rc.d -f foobar remove
	  update-rc.d foobar stop 45 S .

BUGS
       See http://bugs.debian.org/sysv-rc.

FILES
       /etc/init.d/
	      The directory containing the actual init scripts.

       /etc/rc?.d/
	      The directories containing the links used by init and managed by
	      update-rc.d.

       /etc/init.d/skeleton
	      Model for use by writers of init.d scripts.

       /var/lib/sysv-rc/legacy-bootsequence
	      Flag indicating the machine is using legacy mode for boot script
	      ordering.

SEE ALSO
       Debian Policy Manual,
       /etc/init.d/skeleton,
       insserv(8), sysv-rc-conf(8), bum(8), init(8).

Debian Project		       14 November 2005			UPDATE-RC.D(8)
[top]

List of man pages available for Raspbian

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net