lfs/chapter08/systemd.xml
Bruce Dubbs e91edadd00 Package and format updates.
Update to iana-etc-20240612.
Update to bc-6.7.6.
Update to man-pages-6.9.1.
Update to linux-6.9.7.
Update to sysklogd-2.5.2.
Update to shadow-4.16.0.
Update to systemd-256.1.
Update to setuptools-70.1.1.

Also change the formatting of options '-Dsomething' to '-D something'.
2024-06-30 10:40:41 -05:00

891 lines
34 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!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" revision="systemd">
<?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-fin-sbu;</seg>
<seg>&systemd-fin-du;</seg>
</seglistitem>
</segmentedlist>
</sect2>
<sect2 role="installation">
<title>Installation of systemd</title>
<para>Remove two unneeded groups,
<systemitem class="groupname">render</systemitem> and
<systemitem class="groupname">sgx</systemitem>, from the default udev
rules:</para>
<screen><userinput remap="pre">sed -i -e 's/GROUP="render"/GROUP="video"/' \
-e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in</userinput></screen>
<para>Prepare systemd for compilation:</para>
<screen><userinput remap="configure">mkdir -p build
cd build
meson setup .. \
--prefix=/usr \
--buildtype=release \
-D default-dnssec=no \
-D firstboot=false \
-D install-tests=false \
-D ldconfig=false \
-D sysusers=false \
-D rpmmacrosdir=no \
-D homed=disabled \
-D userdb=false \
-D man=disabled \
-D mode=release \
-D pamconfdir=no \
-D dev-kvm-mode=0660 \
-D nobody-group=nogroup \
-D sysupdate=disabled \
-D ukify=disabled \
-D docdir=/usr/share/doc/systemd-&systemd-version;</userinput></screen>
<variablelist>
<title>The meaning of the meson options:</title>
<varlistentry>
<term><parameter>--buildtype=release</parameter></term>
<listitem>
<para>This switch overrides the default buildtype
(<quote>debug</quote>), which produces unoptimized
binaries.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D default-dnssec=no</parameter></term>
<listitem>
<para>This switch turns off the experimental DNSSEC support.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D firstboot=false</parameter></term>
<listitem>
<para>This switch prevents installation of systemd
services responsible for setting up the system for
the first time. These are not useful in LFS, because
everything is done manually.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D install-tests=false</parameter></term>
<listitem>
<para>This switch prevents installation of the compiled tests.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D ldconfig=false</parameter></term>
<listitem>
<para>This switch prevents installation of a systemd unit that runs
<command>ldconfig</command> at boot; this is not useful for source
distributions such as LFS, and makes the boot time longer. Remove
this option to enable running <command>ldconfig</command> at boot.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D sysusers=false</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 in the previous chapter. This daemon is not useful
on an LFS system since user accounts are manually created.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D rpmmacrosdir=no</parameter></term>
<listitem>
<para>This switch disables installation of RPM Macros
for use with systemd, because LFS does not support RPM.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D homed=disabled</parameter> and
<parameter>-D userdb=false</parameter></term>
<listitem>
<para>Remove two daemons with dependencies that do not fit
within the scope of LFS.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D man=disabled</parameter></term>
<listitem>
<para>Prevent the generation of man pages to avoid extra
dependencies. We will install pre-generated man pages for systemd
from a tarball.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D mode=release</parameter></term>
<listitem>
<para>Disable some features considered experimental by upstream.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D pamconfdir=no</parameter></term>
<listitem>
<para>Prevent the installation of a PAM configuration file not
functional on LFS.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D dev-kvm-mode=0660</parameter></term>
<listitem>
<para>The default udev rule would allow all users to access
<filename class='devicefile'>/dev/kvm</filename>. The editors
consider it dangerous. This option overrides it.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D nobody-group=nogroup</parameter></term>
<listitem>
<para>Tell the package the group name with GID 65534 is
<systemitem class='groupname'>nogroup</systemitem>.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D sysupdate=disabled</parameter></term>
<listitem>
<para>Do not install the <command>systemd-sysupdate</command>
tool. It's designed for automatically upgrading binary distros,
so it's useless for a basic Linux system built from source.
And it will report errors on boot if it's enabled but not properly
configured.</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>-D ukify=disabled</parameter></term>
<listitem>
<para>Do not install the <command>systemd-ukify</command> script.
At runtime this script requires the
<application>pefile</application> Python module that neither LFS
nor BLFS provides.</para>
</listitem>
</varlistentry>
</variablelist>
<para>Compile the package:</para>
<screen><userinput remap="make">ninja</userinput></screen>
<para>Some tests need a basic <filename>/etc/os-release</filename> file.
To test the results, issue:</para>
<screen><userinput remap="test">echo 'NAME="Linux From Scratch"' &gt; /etc/os-release
ninja test</userinput></screen>
<!-- test-namespace needs /run/systemd/inaccessible/sock, which only exists
after initializing the system with systemd. -->
<para>Three tests: <literal>systemd:core / test-namespace</literal>,
<literal>test-loopback</literal>, and
<literal>test-copy</literal>,
are known to fail in the LFS chroot environment. Some other tests may
fail because they depend on various kernel configuration options.</para>
<para>Install the package:</para>
<screen><userinput remap="install">ninja install</userinput></screen>
<para>Install the man pages:</para>
<!-- Please make sure systemd man pages tarball has a common leading
component in the path. -->
<screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz \
--no-same-owner --strip-components=1 \
-C /usr/share/man</userinput></screen>
<para>Create the <filename>/etc/machine-id</filename> file needed by
<command>systemd-journald</command>:</para>
<screen><userinput remap="adjust">systemd-machine-id-setup</userinput></screen>
<para>Set up the basic target structure:</para>
<screen><userinput remap="adjust">systemctl preset-all</userinput></screen>
<!-- dev: 50-pid-max.conf is not removed in BLFS, so I commented the following out.
If it causes any trouble, we can add this back and also copy it into BLFS -->
<!--
<para>Prevent systemd from resetting the maximum PID value which causes
some problems with packages and units in BLFS:</para>
<screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</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>busctl, coredumpctl, halt (symlink to systemctl),
hostnamectl, init, journalctl, kernel-install, localectl, loginctl,
machinectl, mount.ddi (symlink to systemd-dissect), networkctl,
oomctl, portablectl, poweroff (symlink to
systemctl), reboot (symlink to systemctl), resolvconf (symlink to
resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown
(symlink to systemctl), systemctl, systemd-ac-power, systemd-analyze,
systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
systemd-confext (symlink to systemd-sysext), systemd-creds,
systemd-delta, systemd-detect-virt,
systemd-dissect, systemd-escape, systemd-hwdb, systemd-id128,
systemd-inhibit, systemd-machine-id-setup,
systemd-mount, systemd-notify, systemd-nspawn, systemd-path,
systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run,
systemd-socket-activate, systemd-stdio-bridge, systemd-sysext,
systemd-tmpfiles, systemd-tty-ask-password-agent,
systemd-umount (symlink to systemd-mount),
telinit (symlink to systemctl), timedatectl, and udevadm</seg>
<seg>libnss_myhostname.so.2, libnss_mymachines.so.2,
libnss_resolve.so.2, libnss_systemd.so.2,
libsystemd.so, libsystemd-shared-&systemd-version;.so (in /usr/lib/systemd),
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, /usr/lib/systemd, /usr/lib/udev, /usr/include/systemd,
/usr/lib/binfmt.d, /usr/lib/environment.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="busctl">
<term><command>busctl</command></term>
<listitem>
<para>Is 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>Is 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,
when 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>Is 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>Is the first process to be started after the kernel has initialized
the hardware; <command>init</command> takes over the boot process and starts the
processes specified by its configuration files; in this case, it starts
systemd</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>Is 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>Is used to add and remove kernel and initramfs images to and
from /boot; in LFS, this is done manually</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>Is 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>Is 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>Is 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>Is used to introspect and configure the state of the network
links configured by systemd-networkd</para>
<indexterm zone="ch-system-systemd networkctl">
<primary sortas="b-networkctl">networkctl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="oomctl">
<term><command>oomctl</command></term>
<listitem>
<para>Controls the systemd Out Of Memory daemon</para>
<indexterm zone="ch-system-systemd oomctl">
<primary sortas="b-oomctl">oomctl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="portablectl">
<term><command>portablectl</command></term>
<listitem>
<para>Is used to attach or detach portable services from the local
system</para>
<indexterm zone="ch-system-systemd portablectl">
<primary sortas="b-portablectl">portablectl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="poweroff">
<term><command>poweroff</command></term>
<listitem>
<para>Instructs 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>Instructs 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="resolvconf">
<term><command>resolvconf</command></term>
<listitem>
<para>Registers DNS server and domain configuration with
<command>systemd-resolved</command></para>
<indexterm zone="ch-system-systemd resolvconf">
<primary sortas="b-resolvconf">resolvconf</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="resolvectl">
<term><command>resolvectl</command></term>
<listitem>
<para>Sends control commands to the network name resolution
manager, or resolves domain names, IPv4 and IPv6 addresses,
DNS records, and services</para>
<indexterm zone="ch-system-systemd resolvectl">
<primary sortas="b-resolvectl">resolvectl</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="runlevel">
<term><command>runlevel</command></term>
<listitem>
<para>Outputs the previous and the current run-level, as noted in the
last run-level record in <filename>/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 safe and secure manner, 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>Is 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-ac-power">
<term><command>systemd-ac-power</command></term>
<listitem>
<para>Reports whether the system is connected to an external
power source.</para>
<indexterm zone="ch-system-systemd systemd-ac-power">
<primary sortas="b-systemd-ac-power">systemd-ac-power</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-analyze">
<term><command>systemd-analyze</command></term>
<listitem>
<para>Is used to analyze system startup performance,
as well as identify troublesome systemd units</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>Is used to query a system password or passphrase from the user,
using a message specified on the Linux 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>Is used to connect the STDOUT and STDERR outputs of a process
with the systemd 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 loads</para>
<indexterm zone="ch-system-systemd systemd-cgtop">
<primary sortas="b-systemd-cgtop">systemd-cgtop</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-creds">
<term><command>systemd-creds</command></term>
<listitem>
<para>Displays and processes credentials</para>
<indexterm zone="ch-system-systemd systemd-creds">
<primary sortas="b-systemd-creds">systemd-creds</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-delta">
<term><command>systemd-delta</command></term>
<listitem>
<para>Is used to identify and compare configuration files in
<filename class="directory">/etc</filename> that override the defaults
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 whether the system is being run in a virtual
environment, and adjusts udev accordingly</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-dissect">
<term><command>systemd-dissect</command></term>
<listitem>
<para>Is used to inspect OS disk images</para>
<indexterm zone="ch-system-systemd systemd-dissect">
<primary sortas="b-systemd-dissect">systemd-dissect</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-escape">
<term><command>systemd-escape</command></term>
<listitem>
<para>Is 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>Is used to manage the 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-id128">
<term><command>systemd-id128</command></term>
<listitem>
<para>Generates and prints id128 (UUID) strings</para>
<indexterm zone="ch-system-systemd systemd-id128">
<primary sortas="b-systemd-id128">systemd-id128</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-inhibit">
<term><command>systemd-inhibit</command></term>
<listitem>
<para>Is used to execute a program with a shutdown, sleep or idle
inhibitor lock taken, preventing an action such as a system shutdown
until the process is completed</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>Is 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-mount">
<term><command>systemd-mount</command></term>
<listitem>
<para>Is used to temporarily mount or automount disks</para>
<indexterm zone="ch-system-systemd systemd-mount">
<primary sortas="b-systemd-mount">systemd-mount</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-notify">
<term><command>systemd-notify</command></term>
<listitem>
<para>Is used by daemon scripts to notify the init system of 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>Is used to run a command, or an entire 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>Is 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-repart">
<term><command>systemd-repart</command></term>
<listitem>
<para>Is used to grow and add partitions to a partition table when
systemd is used with an OS image (e.g. a container)</para>
<indexterm zone="ch-system-systemd systemd-repart">
<primary sortas="b-systemd-repart">systemd-repart</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-resolve">
<term><command>systemd-resolve</command></term>
<listitem>
<para>Is 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>Is used to create and start a transient .service or a .scope
unit and run the specified command in it; this is useful for
validating systemd units</para>
<indexterm zone="ch-system-systemd systemd-run">
<primary sortas="b-systemd-run">systemd-run</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-socket-activate">
<term><command>systemd-socket-activate</command></term>
<listitem>
<para>Is used to listen on socket devices and launch a process upon
a successful connection to the socket</para>
<indexterm zone="ch-system-systemd systemd-socket-activate">
<primary sortas="b-systemd-socket-activate">systemd-socket-activate</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-sysext">
<term><command>systemd-sysext</command></term>
<listitem>
<para>Activates system extension images</para>
<indexterm zone="ch-system-systemd systemd-sysext">
<primary sortas="b-systemd-sysext">systemd-sysext</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-umount">
<term><command>systemd-umount</command></term>
<listitem>
<para>Unmounts mount points</para>
<indexterm zone="ch-system-systemd systemd-umount">
<primary sortas="b-systemd-umount">systemd-umount</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="systemd-tty-ask-password-agent">
<term><command>systemd-tty-ask-password-agent</command></term>
<listitem>
<para>Is used to list and/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>Is 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>Is a generic udev administration tool which controls the udevd
daemon, provides info from the udev hardware 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>Is the main 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>Is 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>