432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<?xml version='1.0'?> <!--*-nxml-*-->
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<!ENTITY % entities SYSTEM "custom-entities.ent" >
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek%entities;
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek]>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<!--
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek This file is part of systemd.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Copyright 2015 Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek systemd is free software; you can redistribute it and/or modify it
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek under the terms of the GNU Lesser General Public License as published by
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek the Free Software Foundation; either version 2.1 of the License, or
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek (at your option) any later version.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek systemd is distributed in the hope that it will be useful, but
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek WITHOUT ANY WARRANTY; without even the implied warranty of
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Lesser General Public License for more details.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek You should have received a copy of the GNU Lesser General Public License
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek along with systemd; If not, see <http://www.gnu.org/licenses/>.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek-->
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<refentry id="systemd.generator">
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refentryinfo>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>systemd.generator</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <productname>systemd</productname>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <authorgroup>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <author>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <contrib>Developer</contrib>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <firstname>Lennart</firstname>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <surname>Poettering</surname>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <email>lennart@poettering.net</email>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </author>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </authorgroup>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refentryinfo>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refmeta>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refentrytitle>systemd.generator</refentrytitle>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <manvolnum>7</manvolnum>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refmeta>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refnamediv>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refname>systemd.generator</refname>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refpurpose>Systemd unit generators</refpurpose>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refnamediv>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsynopsisdiv>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <cmdsynopsis>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <command>/path/to/generator</command>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <arg choice="plain"><replaceable>normal-dir</replaceable></arg>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <arg choice="plain"><replaceable>early-dir</replaceable></arg>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <arg choice="plain"><replaceable>late-dir</replaceable></arg>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </cmdsynopsis>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <literallayout><filename>/run/systemd/system-generators/*</filename>
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom Gundersen<filename>/etc/systemd/system-generators/*</filename>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<filename>/usr/local/lib/systemd/system-generators/*</filename>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<filename>&systemgeneratordir;/*</filename></literallayout>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <literallayout><filename>/run/systemd/user-generators/*</filename>
12b42c76672a66c2d4ea7212c14f8f1b5a62b78dTom Gundersen<filename>/etc/systemd/user-generators/*</filename>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<filename>/usr/local/lib/systemd/user-generators/*</filename>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek<filename>&usergeneratordir;/*</filename></literallayout>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsynopsisdiv>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>Description</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Generators are small binaries that live in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>&usergeneratordir;/</filename> and other directories
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek listed above.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek will execute those binaries very early at bootup and at
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek configuration reload time — before unit files are loaded.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Generators can dynamically generate unit files or create symbolic
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek links to unit files to add additional dependencies, thus extending
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek or overriding existing definitions. Their main purpose is to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek convert configuration files that are not native unit files
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek dynamically into native unit files.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Generators are loaded from a set of paths determined during
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt compilation, as listed above. System and user generators are loaded
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek from directories with names ending in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>system-generators/</filename> and
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>user-generators/</filename>, respectively. Generators
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek found in directories listed earlier override the ones with the
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek same name in directories lower in the list. A symlink to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/dev/null</filename> or an empty file can be used to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek mask a generator, thereby preventing it from running. Please note
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek that the order of the two directories with the highest priority is
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt reversed with respect to the unit load path, and generators in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/run</filename> overwrite those in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/etc</filename>.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>After installing new generators or updating the
c4c086a2e37bb3c869298558ea24864b6606774eTorstein Husebø configuration, <command>systemctl daemon-reload</command> may be
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek executed. This will delete the previous configuration created by
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek generators, re-run all generators, and cause
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <command>systemd</command> to reload units from disk. See
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek for more information.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>Writing generators</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Generators are invoked with three arguments: paths to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek runtime directories where generators can place their generated
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek unit files or symlinks.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <orderedlist>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para><parameter>normal-dir</parameter></para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>argv[1] may be used to override unit files in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/usr</filename>, but not those in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/etc</filename>. This means that unit files placed
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek in this directory take precedence over vendor unit
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek configuration but not over native user/administrator unit
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek configuration.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para><parameter>early-dir</parameter></para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>argv[2] may be used to override unit files in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/usr</filename> and in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/etc</filename>. This means that unit files placed
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek in this directory take precedence over all configuration,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek both vendor and user/administrator.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para><parameter>late-dir</parameter></para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>argv[3] may be used to extend the unit file tree without
ff9b60f38bf68eba4a47cabff14547d92e083214Torstein Husebø overriding any other unit files. Any native configuration
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek files supplied by the vendor or user/administrator take
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek precedence over the generated ones placed in this directory.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </orderedlist>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsect2>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>Notes</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <itemizedlist>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek All generators are executed in parallel. That means all
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek executables are started at the very same time and need to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek be able to cope with this parallelism.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Generators are run very early at boot and cannot rely on
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek any external services. They may not talk to any other
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek process. That includes simple things such as logging to
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek or <command>systemd</command> itself (this means: no
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>)!.
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek Non-essential file systems like
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek <filename>/var</filename> and <filename>/home</filename>
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek are mounted after generators have run. Generators
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek can however rely on the most basic kernel functionality to be
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek available, including a mounted <filename>/sys</filename>,
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek <filename>/proc</filename>, <filename>/dev</filename>,
89fc708c0ae9ea8ab31f04bc27e845038d30b543Zbigniew Jędrzejewski-Szmek <filename>/usr</filename>.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt Units written by generators are removed when the configuration
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek is reloaded. That means the lifetime of the generated
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek units is closely bound to the reload cycles of
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <command>systemd</command> itself.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Generators should only be used to generate unit files, not
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek any other kind of configuration. Due to the lifecycle
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt logic mentioned above, generators are not a good fit to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek generate dynamic configuration for other services. If you
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt need to generate dynamic configuration for other services,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek do so in normal services you order before the service in
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek question.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Since
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum></citerefentry>
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt is not available (see above), log messages have to be
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek written to <filename>/dev/kmsg</filename> instead.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek It is a good idea to use the
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <varname>SourcePath=</varname> directive in generated unit
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek files to specify the source configuration file you are
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek generating the unit from. This makes things more easily
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek understood by the user and also has the benefit that
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek systemd can warn the user about configuration files that
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek changed on disk but have not been read yet by systemd.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Generators may write out dynamic unit files or just hook
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek unit files into other units with the usual
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>.wants/</filename> or
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt <filename>.requires/</filename> symlinks. Often, it is
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek nicer to simply instantiate a template unit file from
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/usr</filename> with a generator instead of
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt writing out entirely dynamic unit files. Of course, this
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek works only if a single parameter is to be used.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt If you are careful, you can implement generators in shell
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek scripts. We do recommend C code however, since generators
a8eaaee72a2f06e0fb64fb71de3b71ecba31dafbJan Engelhardt are executed synchronously and hence delay the
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek entire boot if they are slow.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Regarding overriding semantics: there are two rules we
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek try to follow when thinking about the overriding semantics:
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <orderedlist numeration="lowerroman">
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>User configuration should override vendor
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek configuration. This (mostly) means that stuff from
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/etc</filename> should override stuff from
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/usr</filename>.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Native configuration should override non-native
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek configuration. This (mostly) means that stuff you
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek generate should never override native unit files for the
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek same purpose.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </orderedlist>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>Of these two rules the first rule is probably the more
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek important one and breaks the second one sometimes. Hence,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek when deciding whether to user argv[1], argv[2], or argv[3],
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek your default choice should probably be argv[1].</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Instead of heading off now and writing all kind of
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek generators for legacy configuration file formats, please
7ca4155737730ece73ae4b4ac80571005cb99b69Jan Engelhardt think twice! It is often a better idea to just deprecate
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek old stuff instead of keeping it artificially alive.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </listitem>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </itemizedlist>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsect2>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>Examples</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <example>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>systemd-fstab-generator</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para><citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek converts <filename>/etc/fstab</filename> into native mount
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek units. It uses argv[1] as location to place the generated unit
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek files in order to allow the user to override
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>/etc/fstab</filename> with her own native unit files,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek but also to ensure that <filename>/etc/fstab</filename>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek overrides any vendor default from <filename>/usr</filename>.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>After editing <filename>/etc/fstab</filename>, the user
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek should invoke <command>systemctl daemon-reload</command>. This
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek will re-run all generators and cause <command>systemd</command>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek to reload units from disk. To actually mount new directories
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek added to <filename>fstab</filename>, <command>systemctl start
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <replaceable>/path/to/mountpoint</replaceable></command> or
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <command>systemctl start local-fs.target</command> may be used.
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </example>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <example>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>systemd-system-update-generator</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para><citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek temporarily redirects <filename>default.target</filename> to
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <filename>system-update.target</filename> if a system update is
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek scheduled. Since this needs to override the default user
b938cb902c3b5bca807a94b277672c64d6767886Jan Engelhardt configuration for <filename>default.target</filename>, it uses
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek argv[2]. For details about this logic, see
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <ulink url="http://www.freedesktop.org/wiki/Software/systemd/SystemUpdates">Implementing
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek Offline System Updates</ulink>.</para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </example>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <example>
b8e1d4d183de0460a62b94f531b78e84ea6ef212Jakub Wilk <title>Debugging a generator</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <programlisting>dir=$(mktemp -d)
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-SzmekSYSTEMD_LOG_LEVEL=debug &systemgeneratordir;/systemd-fstab-generator \
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek "$dir" "$dir" "$dir"
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmekfind $dir</programlisting>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </example>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <title>See also</title>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-cryptsetup-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-debug-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-fstab-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
3ba3a79df4ae094d1008c04a9af8d1ff970124c4Zbigniew Jędrzejewski-Szmek <citerefentry project='man-pages'><refentrytitle>fstab</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-getty-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-gpt-auto-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-hibernate-resume-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-system-update-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd-sysv-generator</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemd.unit</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek <citerefentry><refentrytitle>systemctl</refentrytitle><manvolnum>1</manvolnum></citerefentry>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </para>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek </refsect1>
432d59656bd480b32a1fa6cf1c74662bfcafaf28Zbigniew Jędrzejewski-Szmek</refentry>