<?xml version='1.0'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
<!ENTITY % entities SYSTEM "custom-entities.ent" >
%entities;
]>
<!-- SPDX-License-Identifier: LGPL-2.1-or-later -->

<refentry id="systemd-rc-local-generator" conditional='HAVE_SYSV_COMPAT'>
  <refentryinfo>
    <title>systemd-rc-local-generator</title>
    <productname>systemd</productname>
  </refentryinfo>

  <refmeta>
    <refentrytitle>systemd-rc-local-generator</refentrytitle>
    <manvolnum>8</manvolnum>
  </refmeta>

  <refnamediv>
    <refname>systemd-rc-local-generator</refname>
    <refname>rc-local.service</refname>
    <refpurpose>Compatibility generator and service to start <filename>&RC_LOCAL_PATH;</filename> during boot</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <para><filename>/usr/lib/systemd/system-generators/systemd-rc-local-generator</filename></para>
    <para><filename>rc-local.service</filename></para>
  </refsynopsisdiv>

  <refsect1>
    <title>Description</title>

    <para><command>systemd-rc-local-generator</command> is a generator that checks whether
    <filename>&RC_LOCAL_PATH;</filename> exists and is executable, and if it is, pulls the
    <filename>rc-local.service</filename> unit into the boot process. This unit is responsible for running
    this script during late boot. The script is run after <filename>network.target</filename>, but in
    parallel with most other regular system services.</para>

    <para>Note that <filename>rc-local.service</filename> runs with slightly different semantics than the
    original System V version, which was executed "last" in the boot process, which is a concept that does
    not translate to systemd.</para>

    <para>Also note that <filename>rc-local.service</filename> is ordered after
    <filename>network.target</filename>, which does not mean that the network is functional, see
    <citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>.
    If the script requires a configured network connection, it may be desirable to pull in and order it after
    <filename>network-online.target</filename> with a drop-in:</para>

    <programlisting># /etc/systemd/system/rc-local.service.d/network.conf
[Unit]
Wants=network-online.target
After=network-online.target
</programlisting>

    <para>Support for <filename>&RC_LOCAL_PATH;</filename> is provided for compatibility with specific System
    V systems only. However, it is strongly recommended to avoid making use of this script today, and instead
    provide proper unit files with appropriate dependencies for any scripts to run during the boot process.
    Note that the path to the script is set at compile time and varies between distributions.</para>

    <para><filename>systemd-rc-local-generator</filename> implements
    <citerefentry><refentrytitle>systemd.generator</refentrytitle><manvolnum>7</manvolnum></citerefentry>.</para>
  </refsect1>

  <refsect1>
    <title>See Also</title>
    <para>
      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
      <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
    </para>
  </refsect1>
</refentry>
