Bug#575759: Deviations from LSB
Dmitry Bogatov
KAction at debian.org
Sun Dec 16 07:41:42 GMT 2018
control: tags -1 +moreinfo
Seems things changed during last 8 years. Dear submitter, do you
consider information in manpage of insserv-1.18 sufficent to warrant bug
closing? (quoted below)
insserv is a low level tool used by update-rc.d which enables an
installed system init script (`boot script') by reading the comment
header of the script, e.g.:
### BEGIN INIT INFO
# Provides: boot_facility_1 [ boot_facility_2 ...]
# Required-Start: boot_facility_1 [ boot_facility_2 ...]
# Required-Stop: boot_facility_1 [ boot_facility_2 ...]
# Should-Start: boot_facility_1 [ boot_facility_2 ...]
# Should-Stop: boot_facility_1 [ boot_facility_2 ...]
# X-Start-Before: boot_facility_1 [ boot_facility_2 ...]
# X-Stop-After: boot_facility_1 [ boot_facility_2 ...]
# Default-Start: run_level_1 [ run_level_2 ...]
# Default-Stop: run_level_1 [ run_level_2 ...]
# X-Interactive: true
# Short-Description: single_line_description
# Description: multiline_description
### END INIT INFO
and calculating the dependencies between all scripts. It is not recom‐
mended to execute insserv directly unless you know exactly what you're
doing, doing so may render your boot system inoperable. update-rc.d is
the recommended interface for managing init scripts. Please be aware
that the line
# Required-Stop: boot_facility_1 [ boot_facility_2 ...]
declares facilities which must be available during shutdown of the ser‐
vice declared in the Provides tag. Same holds true for
# Should-Stop: boot_facility_1 [ boot_facility_2 ...]
which declares facilities which should be available during shutdown of
the service declared in the Provides tag. In both cases the script sys‐
tem should avoid stopping services which are declared by these two Stop
tags until the script including these tags is stopped.
The optional X-Interactive keyword implies that the script using this
keyword should be started alone in a concurrent boot configuration
because it interact with the user at the console. Only the value
`true' is recognised. All other are ignored.
The optional X-Start-Before keyword implies that the script using this
keyword should be started before the specified service names. Whereas
the optional X-Stop-After keyword implies that the script using this
keyword should be stopped after the specified service names. Both
implies that those services now depend on the specifying script. With
known dependencies and runlevel(s) insserv sets and reorders the corre‐
sponding symbolic links of the concerned runlevels directories.
insserv scans for System Facilities in the configuration file
/etc/insserv.conf and each file in the directory /etc/insserv.conf.d/.
Each line which begins with $ and a following name defines a system
facility accordingly to the Linux Standard Base Specification (LSB),
All names followed by such a system facility will declare the required
dependencies of the facility. Here is an example for
/etc/insserv.conf:
# All local filesystems are mounted
# (done during boot phase)
$local_fs boot
# Low level networking
$network network route
# Named is operational
$named named
# All remote filesystems are mounted
# (in some cases /usr may be remote).
$remote_fs $local_fs nfs
# System logger is operational
$syslog syslog
# All network daemons are running (This was removed in LSB 1.2)
$netdaemons portmap inetd
# Services which need to be interactive
<interactive> boot.crypto
Names starting with a `+' sign are marked as optional. If the service
with the name after the plus sign is available it will be used, if not
available it is ignored silently. Words beginning with < and ending
with > are keywords. Currently <interactive> is the only know keyword
for marking a service as an interactive one, e.g. a service which
requires a passphrase or password input during boot or runlevel change.
The special facility $null is used to enforce an empty dependency in
case of Should-Stop and Required-Stop.
In addition to the defined System Facilities in the configuration file
/etc/insserv.conf, insserv also knows the special facility $all. This
facility indicates that a service should be inserted at the end of all
services at starting and at the very beginning at stopping. Clearly
all services using this facility will be grouped into one starting or
stopping order.
More information about the Debian-init-diversity
mailing list