| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724 | <?xml version="1.0" encoding="ISO-8859-1"?><!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"  "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [  <!ENTITY % general-entities SYSTEM "../general.ent">  %general-entities;]><sect1 id="ch-system-systemd" role="wrap">  <?dbhtml filename="systemd.html"?>  <sect1info condition="script">    <productname>systemd</productname>    <productnumber>&systemd-version;</productnumber>    <address>&systemd-url;</address>  </sect1info>  <title>Systemd-&systemd-version;</title>  <indexterm zone="ch-system-systemd">    <primary sortas="a-systemd">systemd</primary>  </indexterm>  <sect2 role="package">    <title/>    <para>The systemd package contains programs for controlling the startup,    running, and shutdown of the system.</para>    <segmentedlist>      <segtitle>&buildtime;</segtitle>      <segtitle>&diskspace;</segtitle>      <seglistitem>        <seg>&systemd-ch6-sbu;</seg>        <seg>&systemd-ch6-du;</seg>      </seglistitem>    </segmentedlist>  </sect2>  <sect2 role="installation">    <title>Installation of systemd</title>    <para>First, fix a build error when using Util-Linux built in    Chapter 5:</para><screen><userinput remap="pre">sed -i "s:blkid/::" $(grep -rl "blkid/blkid.h")</userinput></screen>    <para>Apply the following patch so that compat    <command>pkg-config</command> files get installed without installing compat    libs which are useless on LFS:</para><screen><userinput remap="pre">patch -Np1 -i ../&systemd-compat-patch;</userinput></screen>    <para>Disable two tests that always fail:</para><screen><userinput remap="pre">sed -e 's@test/udev-test.pl @@'  \    -e 's@test-copy$(EXEEXT) @@' \    -i Makefile.in</userinput></screen>    <para>Rebuild generated files after modifying Makefile.am and     Makefile.in:</para><screen><userinput remap="pre">autoreconf -fi</userinput></screen>    <para>Create a file to allow systemd to build when using Util-Linux    built in Chapter 5, to disable LTO by default, and to build without    xlstproc:</para><screen><userinput remap="pre">cat > config.cache << "EOF"<literal>KILL=/bin/killMOUNT_PATH=/bin/mountUMOUNT_PATH=/bin/umountHAVE_BLKID=1BLKID_LIBS="-lblkid"BLKID_CFLAGS="-I/tools/include/blkid"HAVE_LIBMOUNT=1MOUNT_LIBS="-lmount"MOUNT_CFLAGS="-I/tools/include/libmount"cc_cv_CFLAGS__flto=noXSLTPROC="/usr/bin/xsltproc"</literal>EOF</userinput></screen>    <para>LTO is disabled by default because it causes    <command>systemd</command> and other auxiliary programs to link to    <filename class="libraryfile">libgcc_s.so</filename>, slows the build down    and makes the compiled code larger.</para>    <para>Prepare systemd for compilation:</para><screen><userinput remap="configure">./configure --prefix=/usr                                           \            --sysconfdir=/etc                                       \            --localstatedir=/var                                    \            --config-cache                                          \            --with-rootprefix=                                      \            --with-rootlibdir=/lib                                  \            --enable-split-usr                                      \            --disable-firstboot                                     \            --disable-ldconfig                                      \            --disable-sysusers                                      \            --without-python                                        \            --docdir=/usr/share/doc/systemd-&systemd-version;                     \            --with-dbuspolicydir=/etc/dbus-1/system.d               \            --with-dbussessionservicedir=/usr/share/dbus-1/services \            --with-dbussystemservicedir=/usr/share/dbus-1/system-services</userinput></screen>    <variablelist>      <title>The meaning of the configure options:</title>      <varlistentry>        <term><parameter>--config-cache</parameter></term>        <listitem>          <para>This switch tells the build system to use          the <filename>config.cache</filename> file which          was created earlier.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--with-root*</parameter></term>        <listitem>          <para>These switches ensure that core programs and          shared libraries are installed in the subdirectories          of the root partition.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--enable-split-usr</parameter></term>        <listitem>          <para>This switch ensures that systemd will work on          systems where /bin, /lib and /sbin directories are not          symlinks to their /usr counterparts.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--without-python</parameter></term>        <listitem>          <para>This switch prevents <command>configure</command>          from trying to use Python which isn't built          in LFS.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--disable-firstboot</parameter></term>        <listitem>          <para>This switch prevents installation of systemd          services responsible for setting up the system for          the first time. They are not useful for LFS because          everything is done manually.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--disable-ldconfig</parameter></term>        <listitem>          <para>This switch prevents installation of a systemd          unit that runs <command>ldconfig</command> at          boot, making the boot time longer. Remove it if the          described feature is desired, even though it's not          useful for source distributions such as LFS.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--disable-sysusers</parameter></term>        <listitem>          <para>This switch prevents installation of systemd          services responsible for setting up the          <filename>/etc/group</filename> and          <filename>/etc/passwd</filename> files. Both files          were created early in this chapter.</para>        </listitem>      </varlistentry>      <varlistentry>        <term><parameter>--with-dbus*</parameter></term>        <listitem>          <para>These switches ensure that D-Bus configuration files          get installed in the correct locations.</para>        </listitem>      </varlistentry>    </variablelist>    <para>Compile the package:</para><screen><userinput remap="make">make LIBRARY_PATH=/tools/lib</userinput></screen>    <para>This package has a test suite, but it can only be run after the    package has been installed.</para>    <para>Install the package:</para><screen><userinput remap="install">make LD_LIBRARY_PATH=/tools/lib install</userinput></screen>    <para>Move NSS libraries to <filename class="directory">/lib</filename>:</para><screen><userinput remap="install">mv -v /usr/lib/libnss_{myhostname,mymachines,resolve}.so.2 /lib</userinput></screen>    <para>Remove an unnecessary directory:</para><screen><userinput remap="install">rm -rfv /usr/lib/rpm</userinput></screen>    <para>Create the Sysvinit compatibility symlinks, so systemd is used    as the default init system:</para><screen><userinput remap="install">for tool in runlevel reboot shutdown poweroff halt telinit; do     ln -sfv ../bin/systemctl /sbin/${tool}doneln -sfv ../lib/systemd/systemd /sbin/init</userinput></screen><!--    <para>Remove a reference to a non-existent group:</para><screen><userinput remap="install">sed -i "s:0775 root lock:0755 root root:g" /usr/lib/tmpfiles.d/legacy.conf</userinput></screen>-->    <para>Create the <filename>/etc/machine-id</filename> file needed by    <command>systemd-journald</command>:</para><screen><userinput remap="install">systemd-machine-id-setup</userinput></screen>    <para>Since the testsuite largely depends on the host system kernel    configuration, some tests may fail. It also needs a modification in    order not to look for a program that will be installed by Util-Linux    package later in this chapter. To test the results, issue:</para><screen><userinput remap="test">sed -i "s:minix:ext4:g" src/test/test-path-util.cmake LD_LIBRARY_PATH=/tools/lib -k check</userinput></screen>  </sect2>  <sect2 id="contents-systemd" role="content">    <title>Contents of systemd</title>    <segmentedlist>      <segtitle>Installed programs</segtitle>      <segtitle>Installed libraries</segtitle>      <segtitle>Installed directories</segtitle>      <seglistitem>        <seg>bootctl, busctl, coredumpctl, halt, hostnamectl, init, journalctl,        kernel-install, localectl, loginctl, machinectl, networkctl, poweroff,        reboot, runlevel, shutdown, systemctl, systemd-analyze,        systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,        systemd-delta, systemd-detect-virt, systemd-escape, systemd-hwdb,        systemd-inhibit, systemd-machine-id-setup, systemd-notify,        systemd-nspawn, systemd-path, systemd-resolve, systemd-run,        systemd-stdio-bridge, systemd-tmpfiles, systemd-tty-ask-password-agent,        telinit, timedatectl, and udevadm</seg>        <seg>libnss_myhostname.so.2, libnss_mymachines.so.2,        libnss_resolve.so.2, libsystemd.so, and libudev.so</seg>        <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,        /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,        /etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,        /usr/lib/binfmt.d, /usr/lib/kernel, /usr/lib/modules-load.d,        /usr/lib/sysctl.d, /usr/lib/systemd, /usr/lib/tmpfiles.d,        /usr/share/doc/systemd-&systemd-version;, /usr/share/factory,        /usr/share/systemd, /var/lib/systemd, and /var/log/journal</seg>      </seglistitem>    </segmentedlist>    <variablelist>      <bridgehead renderas="sect3">Short Descriptions</bridgehead>      <?dbfo list-presentation="list"?>      <?dbhtml list-presentation="table"?>      <varlistentry id="bootctl">        <term><command>bootctl</command></term>        <listitem>          <para>used to query the firmware and boot manager settings</para>          <indexterm zone="ch-system-systemd bootctl">            <primary sortas="b-bootctl">bootctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="busctl">        <term><command>busctl</command></term>        <listitem>          <para>Used to introspect and monitor the D-Bus bus</para>          <indexterm zone="ch-system-systemd busctl">            <primary sortas="b-busctl">busctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="coredumpctl">        <term><command>coredumpctl</command></term>        <listitem>          <para>Used to retrieve coredumps from the systemd Journal</para>          <indexterm zone="ch-system-systemd coredumpctl">            <primary sortas="b-coredumpctl">coredumpctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="halt">        <term><command>halt</command></term>        <listitem>          <para>Normally invokes <command>shutdown</command> with the          <parameter>-h</parameter> option, except when already in run-level 0,          then it tells the kernel to halt the system; it notes in the          file <filename>/var/log/wtmp</filename> that the system is being          brought down</para>          <indexterm zone="ch-system-systemd halt">            <primary sortas="b-halt">halt</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="hostnamectl">        <term><command>hostnamectl</command></term>        <listitem>          <para>Used to query and change the system hostname and related          settings</para>          <indexterm zone="ch-system-systemd hostnamectl">            <primary sortas="b-hostnamectl">hostnamectl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="init">        <term><command>init</command></term>        <listitem>          <para>The first process to be started when the kernel has initialized          the hardware which takes over the boot process and starts all the          proceses it is instructed to</para>          <indexterm zone="ch-system-systemd init">            <primary sortas="b-init">init</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="journalctl">        <term><command>journalctl</command></term>        <listitem>          <para>Used to query the contents of the systemd Journal</para>          <indexterm zone="ch-system-systemd journalctl">            <primary sortas="b-journalctl">journalctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="kernel-install">        <term><command>kernel-install</command></term>        <listitem>          <para>Used to add and remove kernel and initramfs images to and          from /boot</para>          <indexterm zone="ch-system-systemd kernel-install">            <primary sortas="b-kernel-install">kernel-install</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="localectl">        <term><command>localectl</command></term>        <listitem>          <para>Used to query and change the system locale and keyboard layout          settings</para>          <indexterm zone="ch-system-systemd localectl">            <primary sortas="b-localectl">localectl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="loginctl">        <term><command>loginctl</command></term>        <listitem>          <para>Used to introspect and control the state of the systemd Login          Manager</para>          <indexterm zone="ch-system-systemd loginctl">            <primary sortas="b-loginctl">loginctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="machinectl">        <term><command>machinectl</command></term>        <listitem>          <para>Used to introspect and control the state of the systemd Virtual          Machine and Container Registration Manager</para>          <indexterm zone="ch-system-systemd machinectl">            <primary sortas="b-machinectl">machinectl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="networkctl">        <term><command>networkctl</command></term>        <listitem>          <para>Used to introspect the state of the network links as seen by          systemd-networkd</para>          <indexterm zone="ch-system-systemd networkctl">            <primary sortas="b-networkctl">networkctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="poweroff">        <term><command>poweroff</command></term>        <listitem>          <para>Tells the kernel to halt the system and switch off the computer          (see <command>halt</command>)</para>          <indexterm zone="ch-system-systemd poweroff">            <primary sortas="b-poweroff">poweroff</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="reboot">        <term><command>reboot</command></term>        <listitem>          <para>Tells the kernel to reboot the system (see          <command>halt</command>)</para>          <indexterm zone="ch-system-systemd reboot">            <primary sortas="b-reboot">reboot</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="runlevel">        <term><command>runlevel</command></term>        <listitem>          <para>Reports the previous and the current run-level, as noted in the          last run-level record in <filename>/var/run/utmp</filename></para>          <indexterm zone="ch-system-systemd runlevel">            <primary sortas="b-runlevel">runlevel</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="shutdown">        <term><command>shutdown</command></term>        <listitem>          <para>Brings the system down in a secure way, signaling all processes          and notifying all logged-in users</para>          <indexterm zone="ch-system-systemd shutdown">            <primary sortas="b-shutdown">shutdown</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemctl">        <term><command>systemctl</command></term>        <listitem>          <para>Used to introspect and control the state of the systemd system          and service manager</para>          <indexterm zone="ch-system-systemd systemctl">            <primary sortas="b-systemctl">systemctl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-analyze">        <term><command>systemd-analyze</command></term>        <listitem>          <para>Used to determine system boot-up performance of the current          boot</para>          <indexterm zone="ch-system-systemd systemd-analyze">            <primary sortas="b-systemd-analyze">systemd-analyze</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-ask-password">        <term><command>systemd-ask-password</command></term>        <listitem>          <para>Used to query a system password or passphrase from the user,          using a question message specified on the command line</para>          <indexterm zone="ch-system-systemd systemd-ask-password">            <primary sortas="b-systemd-ask-password">systemd-ask-password</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-cat">        <term><command>systemd-cat</command></term>        <listitem>          <para>Used to connect STDOUT and STDERR of a process with the Journal          </para>          <indexterm zone="ch-system-systemd systemd-cat">            <primary sortas="b-systemd-cat">systemd-cat</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-cgls">        <term><command>systemd-cgls</command></term>        <listitem>          <para>Recursively shows the contents of the selected Linux control          group hierarchy in a tree</para>          <indexterm zone="ch-system-systemd systemd-cgls">            <primary sortas="b-systemd-cgls">systemd-cgls</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-cgtop">        <term><command>systemd-cgtop</command></term>        <listitem>          <para>Shows the top control groups of the local Linux control group          hierarchy, ordered by their CPU, memory and disk I/O load</para>          <indexterm zone="ch-system-systemd systemd-cgtop">            <primary sortas="b-systemd-cgtop">systemd-cgtop</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-delta">        <term><command>systemd-delta</command></term>        <listitem>          <para>Used to identify and compare configuration files in          <filename class="directory">/etc</filename> that override default          counterparts in <filename class="directory">/usr</filename></para>          <indexterm zone="ch-system-systemd systemd-delta">            <primary sortas="b-systemd-delta">systemd-delta</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-detect-virt">        <term><command>systemd-detect-virt</command></term>        <listitem>          <para>Detects execution in a virtualized environment</para>          <indexterm zone="ch-system-systemd systemd-detect-virt">            <primary sortas="b-systemd-detect-virt">systemd-detect-virt</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-escape">        <term><command>systemd-escape</command></term>        <listitem>          <para>Used to escape strings for inclusion in systemd unit          names</para>          <indexterm zone="ch-system-systemd systemd-escape">            <primary sortas="b-systemd-escape">systemd-escape</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-hwdb">        <term><command>systemd-hwdb</command></term>        <listitem>          <para>Used to manage hardware database (hwdb)</para>          <indexterm zone="ch-system-systemd systemd-hwdb">            <primary sortas="b-systemd-hwdb">systemd-hwdb</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-inhibit">        <term><command>systemd-inhibit</command></term>        <listitem>          <para>Used to execute a program with a shutdown, sleep or idle          inhibitor lock taken</para>          <indexterm zone="ch-system-systemd systemd-inhibit">            <primary sortas="b-systemd-inhibit">systemd-inhibit</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-machine-id-setup">        <term><command>systemd-machine-id-setup</command></term>        <listitem>          <para>Used by system installer tools to initialize the machine ID          stored in <filename>/etc/machine-id</filename> at install time with a          randomly generated ID</para>          <indexterm zone="ch-system-systemd systemd-machine-id-setup">            <primary sortas="b-systemd-machine-id-setup">systemd-machine-id-setup</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-notify">        <term><command>systemd-notify</command></term>        <listitem>          <para>Used by daemon scripts to notify the init system about status          changes</para>          <indexterm zone="ch-system-systemd systemd-notify">            <primary sortas="b-systemd-notify">systemd-notify</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-nspawn">        <term><command>systemd-nspawn</command></term>        <listitem>          <para>Used to run a command or OS in a light-weight namespace          container</para>          <indexterm zone="ch-system-systemd systemd-nspawn">            <primary sortas="b-systemd-nspawn">systemd-nspawn</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-path">        <term><command>systemd-path</command></term>        <listitem>          <para>Used to query system and user paths</para>          <indexterm zone="ch-system-systemd systemd-path">            <primary sortas="b-systemd-path">systemd-path</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-resolve">        <term><command>systemd-resolve</command></term>        <listitem>          <para>Used to resolve domain names, IPV4 and IPv6 addresses, DNS          resource records, and services</para>          <indexterm zone="ch-system-systemd systemd-resolve">            <primary sortas="b-systemd-resolve">systemd-resolve</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-run">        <term><command>systemd-run</command></term>        <listitem>          <para>Used to create and start a transient .service or a .scope unit          and run the specified command in it</para>          <indexterm zone="ch-system-systemd systemd-run">            <primary sortas="b-systemd-run">systemd-run</primary>          </indexterm>        </listitem>      </varlistentry>      <!-- <varlistentry id="systemd-stdio-bridge">        <term><command>systemd-stdio-bridge</command></term>        <listitem>          <para>To be completed</para>          <indexterm zone="ch-system-systemd systemd-stdio-bridge">            <primary sortas="b-systemd-stdio-bridge">systemd-stdio-bridge</primary>          </indexterm>        </listitem>      </varlistentry> -->      <varlistentry id="systemd-tmpfiles">        <term><command>systemd-tmpfiles</command></term>        <listitem>          <para>Creates, deletes and cleans up volatile and temporary files and          directories, based on the configuration file format and location          specified in          <filename class="directory">tmpfiles.d</filename> directories</para>          <indexterm zone="ch-system-systemd systemd-tmpfiles">            <primary sortas="b-systemd-tmpfiles">systemd-tmpfiles</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="systemd-tty-ask-password-agent">        <term><command>systemd-tty-ask-password-agent</command></term>        <listitem>          <para>Used to list or process pending systemd password requests</para>          <indexterm zone="ch-system-systemd systemd-tty-ask-password-agent">            <primary sortas="b-systemd-tty-ask-password-agent">systemd-tty-ask-password-agent</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="telinit">        <term><command>telinit</command></term>        <listitem>          <para>Tells <command>init</command> which run-level to change          to</para>          <indexterm zone="ch-system-systemd telinit">            <primary sortas="b-telinit">telinit</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="timedatectl">        <term><command>timedatectl</command></term>        <listitem>          <para>Used to query and change the system clock and its settings          </para>          <indexterm zone="ch-system-systemd timedatectl">            <primary sortas="b-timedatectl">timedatectl</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="udevadm">        <term><command>udevadm</command></term>        <listitem>          <para>Generic Udev administration tool: controls the udevd daemon,          provides info from the Udev database, monitors uevents, waits for          uevents to finish, tests Udev configuration, and triggers uevents          for a given device</para>          <indexterm zone="ch-system-systemd udevadm">            <primary sortas="b-udevadm">udevadm</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="libsystemd">        <term><filename class="libraryfile">libsystemd</filename></term>        <listitem>          <para>systemd utility library</para>          <indexterm zone="ch-system-systemd libsystemd">            <primary sortas="c-libsystemd">libsystemd</primary>          </indexterm>        </listitem>      </varlistentry>      <varlistentry id="libudev">        <term><filename class="libraryfile">libudev</filename></term>        <listitem>          <para>A library to access Udev device information</para>          <indexterm zone="ch-system-systemd libudev">            <primary sortas="c-libudev">libudev</primary>          </indexterm>        </listitem>      </varlistentry>    </variablelist>  </sect2></sect1>
 |