INVOKE-RC.D(8) Debian/GNU Linux INVOKE-RC.D(8)
invoke-rc.d - executes System-V style init script actions
invoke-rc.d [--quiet] [--force] [--try-anyway] [--disclose-deny] [--query] [--no-fallback]
name action [init script parameters...]
invoke-rc.d is a generic interface to execute System V style init script /etc/init.d/name
actions, obeying runlevel constraints as well as any local policies set by the system
All access to the init scripts by Debian packages' maintainer scripts should be done
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(8) and the dpkg Programmers'
Manual. More information on invoke-rc.d can be found in the section on runlevels and
init.d scripts of the Debian Policy Manual.
INIT SCRIPT ACTIONS
The standard actions are: start, stop, force-stop, restart, reload, force-reload, and sta-
tus. Other actions are accepted, but they can cause problems to policy-rc.d (see the INIT
SCRIPT POLICY section), so warnings are generated 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(s), or even deny it.
Any extra parameters will be passed to the init script(s) being executed.
If an action must be carried out regardless of any local policies, use the --force switch.
--help Display usage help.
Quiet mode, no error messages are generated.
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.
Tries to run the init script if a non-fatal error is detected.
Return status code 101 instead of status code 0 if the init script action is denied
by the policy layer.
Returns one of the status codes 100-106. Does not run the init script, and implies
--disclose-deny and --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.
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 runlevel/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 suc-
cessfully 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 sup-
plied an allowed fallback 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 only pays attention to the current runlevel; it will block any attempts
to start a service in a runlevel in which the service is disabled. 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.
System V init scripts.
Init script policy layer helper (not required).
file-rc runlevel configuration (if the file-rc package is being used).
System V runlevel configuration (if the sysv-rc package is not being used).
invoke-rc.d special cases the status action, and returns exit status 4 instead of exit
status 0 when it is denied.
Please report any bugs using the Debian bug tracking system, http://bugs.debian.org/,
packages sysv-rc or file-rc (depending on which version of invoke-rc.d you are using).
dpkg Programmers' manual,
Debian Project 1 March 2001 INVOKE-RC.D(8)