Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
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]...  . ...

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.

       Please note that this program was designed for  use  in	package  main
       tainer  scripts and, accordingly, has only the very limited functional
       ity required by such scripts.  System administrators are not encouraged
       to  use	update-rc.d  to  manage runlevels.  They should edit the links
       directly or use runlevel editors such as sysv-rc-conf and bum  instead.

INSTALLING INIT SCRIPT LINKS
       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 customized
       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 packages
       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 services 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 packages 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.


OPTIONS
       -n     Dont 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
       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.

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



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




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:32 2009