Debian – What provides LSB virtual boot facilities for Debian

debianlsbsysvinit

Debian's version of Sysv init uses scripts which reference various LSB "virtual" boot facilities such as $local_fs and $network as requirements for use by insserv in setting up the boot sequence, but they are not necessarily provided by any /etc/init.d script. /etc/insserv.conf refers to them to, but only to define what services must "declare the required dependencies of the facility". To me, this would mean that the list of services "must declare the dependencies of the facility", but perhaps it is just a poor choice of words, since looking at an actual insserv.conf implies that it actually means this list "must declare the facility as a dependency", which is very different (any clarification of that would be appreciated).

It is obvious that things such as $network (which seems to refer simply to the possibility of a physical link, i.e., not an actual dhcp lease, etc.) and $local_fs would be provided by the kernel during boot, but I cannot find any documentation which explains how they would be considered pre-defined as available or not available by the init system.

Best Answer

With insserv virtual boot facilities allow init scripts to depend on widely used functionnalities provided by groups of differents scripts or by various methods accross distributions.

Depending on the $network target means that a configured network connection is needed. In Debian it means running the networking and ifupdown initscripts, as described in insserv.conf.

$local_fs is used for almost every startup script as it means that every local filesystems will be mounted, $remote_fs is obviously dependant of $network.

The scripts needed to reach this goals are not named the same on every distribution and can change from one OS version to another. As insserv can be configured differently to reflect this changes the initscripts depending on this facilities dont need to be changed for each particular case.

The idea at the time of the design of this standart by the LSB was to make init scripts less distribution dependant, something which is now provided by systemd in most distributions.

Related Question