All pastes #178141 Raw Edit

Quelque chose

public text v1 · immutable
#178141 ·published 2006-09-21 00:55 UTC
rendered paste body
.\" Hey, Emacs!  This is an -*- nroff -*- source file.
.\" Authors: Ian Jackson, Miquel van Smoorenburg
.TH UPDATE\-RC.D 8 "14 November 2005" "Debian Project" "sysv-rc"
.SH NAME
update\-rc.d \- install and remove System-V style init script links
.SH SYNOPSIS
.B update\-rc.d
.RI [ -n ]
.RI [ -f ]
.IB name " remove"
.HP
.B update-rc.d
.RI [ -n ]
.IB name " defaults"
.RI [ NN " | " SS " " KK ]
.HP
.B update-rc.d
.RI [ -n ]
.I name
.BR start | stop
.IR "NN runlevel" " [" runlevel "]..."
.B .
.BR start | stop
.IR "NN runlevel" " [" runlevel "]..."
.BR . " ..."
.SH DESCRIPTION
.B update-rc.d
updates the System V style init script links
.BI /etc/rc runlevel .d/ NNname
whose target is the script
.BI /etc/init.d/ name \fR.
These links are run by
.B init
when it changes runlevels; they are generally used to start and stop
system services such as daemons.
.I runlevel
is one of the runlevels supported by
.BR init ", namely, " 0123456789S ", and "
.I NN
is the two-digit sequence number that determines where in the sequence
.B init
will run the scripts.

This manpage documents only the usage and behaviour of
.BR update-rc.d .
For a discussion of the System V style init script arrangements please
see
.BR init (8)
and the
.IR "Debian Policy Manual" .
.P
Please note that this program was designed for use
in package maintainer scripts and, accordingly,
has only the very limited functionality required by such scripts.
System administrators are not encouraged to use
.BR update-rc.d
to manage runlevels.
They should edit the links directly or
use runlevel editors such as
.B sysv-rc-conf
and
.B bum
instead.
.SH INSTALLING INIT SCRIPT LINKS
When run with either the
.BR defaults ", " start ", or " stop
options,
.B update-rc.d
makes links
.BI /etc/rc runlevel .d/[SK] NNname
that point to the script
.BR /etc/init.d/ \fIname\fR.

If any files
.BI /etc/rc runlevel .d/[SK]?? name
already exist then
.B 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.
.P
A common system administration error is to delete the links
with the thought that this will "disable" the service, i.e.,
that this will prevent the service from being started.
However, if all links have been deleted then the next time
the package is upgraded, the package's
.I postinst
script will run
.B 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
.B S
to
.BR K .
.P
If
.B defaults
is used then
.B update-rc.d
will make links to start the service in runlevels
.B 2345
and to stop the service in runlevels
.BR 016 .
By default all the links will have sequence number 20, but
this can be overridden by supplying one 
.I NN
or two
.I SS
and
.I KK
arguments;
a single argument overrides the sequence number
for both start and stop links
whereas a pair of arguments overrides the sequence numbers
for start and stop links, respectively.
.P
As a rule of thumb, the sequence number of the stop link 
should 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.
Obviously, therefore, the default stop sequence number
should be 80.
Defaulting to 20, as
.B update-rc.d
does, is an old bug that cannot be fixed because
of the risk of breaking things.
.P
Instead of
.B defaults
one can give one or more sets of arguments specifying
particular runlevels in which to start or stop the service.
Each of these sets of arguments starts with the keyword
.BR start " or " stop
and a sequence number
.IR NN ,
followed by one or more runlevel numbers.
The set is terminated by a solitary full stop character.
When explicit specification, rather than
.BR defaults ,
is used there will usually be one
.B start
and one
.B stop
set.  If different sequence codes are required in different runlevels
then several 
.B start
sets or several
.B stop
sets may be specified.
.P
The script
.BI /etc/init.d/ name
must exist before
.B update-rc.d
is run to create the links.
.SH REMOVING SCRIPTS
When invoked with the
.I remove
option, update-rc.d removes any links in the
.BI /etc/rc runlevel .d
directories to the script
.BI /etc/init.d/ name\fR.
The script must have been deleted already.
If the script is still present then
.B update-rc.d
aborts with an error message.
.P
.B update-rc.d
is usually called from a package's post-removal script when that
script is given the
.B purge
argument.
Any files in the
.BI /etc/rc runlevel .d
directories that are not symbolic links to the script
.BI /etc/init.d/ name
will be left untouched.

.SH OPTIONS
.TP
.I -n
Don't do anything, just show what we would do.
.TP
.I -f
Force removal of symlinks even if
.BI /etc/init.d/ name
still exists.
.SH EXAMPLES
Insert links using the defaults:
.nf
.B "   update-rc.d foobar defaults"
.fi
Equivalent command using explicit argument sets:
.nf
.B "   update-rc.d foobar start 20 2 3 4 5 . stop 20 0 1 6 ."
.fi
More typical command using explicit argument sets:
.nf
.B "   update-rc.d foobar start 30 2 3 4 5 . stop 70 0 1 6 ."
.fi
Remove all links for a script (assuming foobar has been deleted
already):
.nf
.B "   update-rc.d foobar remove"
.fi
Example of disabling a service:
.nf
.B "   update-rc.d -f foobar remove"
.B "   update-rc.d foobar stop 20 2 3 4 5 ."
.fi
Example of a command for installing a system initialization-and-shutdown script:
.nf
.B "   update-rc.d foobar start 45 S . start 31 0 6 ."
.fi
Example of a command for disabling a system initialization-and-shutdown script:
.nf
.B "   update-rc.d -f foobar remove"
.B "   update-rc.d foobar stop 45 S ."
.fi

.SH BUGS
See http://bugs.debian.org/sysv-rc.
.SH FILES
.TP
.B /etc/init.d/
The directory containing the actual init scripts.
.TP
.B /etc/rc?.d/
The directories containing the links used by
.BR init
and managed by
.BR update-rc.d .
.TP
.B /etc/init.d/skeleton
Model for use by writers of
.B init.d
scripts.
.SH SEE ALSO
.IR "Debian Policy Manual" ,
.br
.BR /etc/init.d/skeleton ,
.br
.BR sysv-rc-conf (8),
.BR bum (8),
.BR init (8).