invoke-rc.d
INVOKE-RC.D(D)           Debian/GNU Linux          INVOKE-RC.D(D)



NAME
       invoke-rc.d - executes System-V style init script actions

SYNOPSIS
       invoke-rc.d  [--quiet]  [--force]  [--try-anyway]  [--dis-
       close-deny]   [--query]   [--no-fallback]   name    action
       [initscript parameters...]

       invoke-rc.d [--help]


DESCRIPTION
       invoke-rc.d  is  a  generic  interface to execute System V
       style init script /etc/init.d/name actions,  obeying  run-
       level constraints as well as any local policies set by the
       system administrator.

       All access to the init scripts by Debian  packages'  main-
       tainer scripts should be done through invoke-rc.d.

       This  manpage  documents  only  the  usage and behavior of
       invoke-rc.d.  For a discussion of the System V style  init
       script  arrangements  please see init(t) and the dpkg pro-
       grammers' manual.

       A far more detailed description of the invoke-rc.d  inter-
       face  and  the  policy  layer is available in the sysvinit
       package documentation.


INIT SCRIPT ACTIONS
       The  standard  actions  are:  start,   stop,   force-stop,
       restart,  reload, force-reload, and status.  Other actions
       are accepted, but they can cause problems  to  policy-rc.d
       (see the INIT SCRIPT POLICY section), so warnings are gen-
       erated if the policy layer is active.

       Please note that not all init scripts will  implement  all
       the  actions  listed  above, and that the policy layer may
       override an action to another action(n), or even deny  it.

       Any  extra  init  script  parameters will be passed to the
       init script(t) being executed.

       If an action must be carried out regardless of  any  local
       policies, use the --force switch.


OPTIONS
       --help Display usage help.

       --quiet
              Quiet mode, no error messages are generated.

       --force
              Tries  to  run the init script regardless of policy
              and init script  subsystem  errors.   Use  of  this
              option  in  Debian  maintainer  scripts is severely
              discouraged.

       --try-anyway
              Tries to run the init script if a  non-fatal  error
              is detected.

       --disclose-deny
              Return  status code 101 instead of status code 0 if
              the init script action  is  denied  by  the  policy
              layer.

       --query
              Returns  one  of the status codes 100-106. Does not
              run the init script,  and  implies  --disclose-deny
              and --no-fallback.

       --no-fallback
              Ignores  any fallback action requests by the policy
              layer.  Warning: this is usually a  very  bad  idea
              for any actions other than start.

STATUS CODES
       Should  an  init  script  be  executed, invoke-rc.d always
       returns the status code returned by the init script.  Init
       scripts  should  not return status codes in the 100+ range
       (which is reserved in Debian and by the LSB).  The  status
       codes returned by invoke-rc.d proper are:

       0      Success.   Either  the  init  script  was  run  and
              returned exit status 0 (note that a fallback action
              may  have  been run instead of the one given in the
              command line), or it was not run  because  of  run-
              level/local  policy  constrains and --disclose-deny
              is not in effect.

       1 - 99 Reserved for init.d  script,  usually  indicates  a
              failure.

       100    Init script ID (name) unknown.  This means the init
              script  was  not  registered  successfully  through
              update-rc.d or that the init script does not exist.

       101    Action not allowed.  The requested action will  not
              be  performed  because  of runlevel or local policy
              constraints.

       102    Subsystem error.  Init  script  (or  policy  layer)
              subsystem  malfunction.  Also,  forced  init script
              execution due to --try-anyway or --force failed.

       103    Syntax error.

       104    Action allowed.  Init  script  would  be  run,  but
              --query is in effect.

       105    Behavior  uncertain.   It  cannot  be determined if
              action should be carried out or not, and --query is
              in effect.

       106    Fallback action requested.  The policy layer denied
              the requested action, and supplied an allowed fall-
              back action to be used instead.


INIT SCRIPT POLICY
       invoke-rc.d introduces the concept of a policy layer which
       is used to verify if an init script should be run or  not,
       or  if  something else should be done instead.  This layer
       has various uses, the most immediate ones  being  avoiding
       that  package  upgrades start daemons out-of-runlevel, and
       that a package starts or  stops  daemons  while  inside  a
       chroot jail.

       The  policy  layer  has  the  following abilities: deny or
       approve the execution of an action; request  that  another
       action  (called a fallback) is to be taken, instead of the
       action requested in invoke-rc.d's command line; or request
       multiple  actions  to be tried in order, until one of them
       succeeds (a multiple fallback).

       invoke-rc.d itself will only pay attention to the  current
       runlevel, and block any tries to start an init script in a
       runlevel it is not configured to  be  started  at.   Other
       policies  are  implemented with the use of the policy-rc.d
       helper, and are only available if /usr/sbin/policy-rc.d is
       installed in the system.


FILES
       /etc/init.d/*
              System V init scripts.

       /usr/sbin/policy-rc.d
              Init script policy layer helper (not required).

       /etc/runlevel.conf
              file-rc  runlevel  configuration  (if  the  file-rc
              package is being used).

       /etc/rc?.d/*
              System V runlevel  configuration  (if  the  file-rc
              package is not being used).


BUGS
       Please  report any bugs using the Debian bug tracking sys-
       tem, http://bugs.debian.org/, packages file-rc or sysvinit
       (depending on which version of invoke-rc.d you are using).

SEE ALSO
       dpkg programmers manual,
       /etc/init.d/skeleton,
       update-rc.d(d),
       init(t),
       policy-rc.d(d).



Debian Project             1 March 2001            INVOKE-RC.D(D)