bc: remove an extra quote
[linux_from_scratch.git] / BOOK / chapter08 / systemd.xml
blobb52a64e35ac5947cd86eec5868505029a6e50cea
1 <?xml version="1.0" encoding="ISO-8859-1"?>
2 <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3   "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4   <!ENTITY % general-entities SYSTEM "../general.ent">
5   %general-entities;
6 ]>
8 <sect1 id="ch-system-systemd" role="wrap" revision="systemd">
9   <?dbhtml filename="systemd.html"?>
11   <sect1info condition="script">
12     <productname>systemd</productname>
13     <productnumber>&systemd-version;</productnumber>
14     <address>&systemd-url;</address>
15   </sect1info>
17   <title>Systemd-&systemd-version;</title>
19   <indexterm zone="ch-system-systemd">
20     <primary sortas="a-systemd">systemd</primary>
21   </indexterm>
23   <sect2 role="package">
24     <title/>
26     <para>The systemd package contains programs for controlling the startup,
27     running, and shutdown of the system.</para>
29     <segmentedlist>
30       <segtitle>&buildtime;</segtitle>
31       <segtitle>&diskspace;</segtitle>
33       <seglistitem>
34         <seg>&systemd-fin-sbu;</seg>
35         <seg>&systemd-fin-du;</seg>
36       </seglistitem>
37     </segmentedlist>
38   </sect2>
40   <sect2 role="installation">
41     <title>Installation of systemd</title>
43 <!--
44     <para>First, apply a patch to fix the build with GCC-10 and fix a segfault:</para>
46 <screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-gcc_10-fixes-2.patch</userinput></screen>
47 -->
49     <!-- For linux-5.11's API headers changing the rfkill_event structure -->
50     <para>First, apply a patch to fix some regressions and fix functionality
51     with future versions of the kernel:</para>
53 <screen><userinput remap="pre">patch -Np1 -i ../systemd-&systemd-version;-upstream_fixes-2.patch</userinput></screen>
55     <para>Remove tests that cannot be built in chroot:</para>
57 <screen><userinput remap="pre">sed '181,$ d' -i src/resolve/meson.build</userinput></screen>
59     <para>Remove an unneeded group,
60     <systemitem class="groupname">render</systemitem>, from the default udev
61     rules:</para>
63 <screen><userinput remap="pre">sed -i 's/GROUP="render"/GROUP="video"/' rules.d/50-udev-default.rules.in</userinput></screen>
65     <para>Prepare systemd for compilation:</para>
67 <screen><userinput remap="configure">mkdir -p build
68 cd       build
70 LANG=en_US.UTF-8                    \
71 meson --prefix=/usr                 \
72       --sysconfdir=/etc             \
73       --localstatedir=/var          \
74       -Dblkid=true                  \
75       -Dbuildtype=release           \
76       -Ddefault-dnssec=no           \
77       -Dfirstboot=false             \
78       -Dinstall-tests=false         \
79       -Dkmod-path=/bin/kmod         \
80       -Dldconfig=false              \
81       -Dmount-path=/bin/mount       \
82       -Drootprefix=                 \
83       -Drootlibdir=/lib             \
84       -Dsplit-usr=true              \
85       -Dsulogin-path=/sbin/sulogin  \
86       -Dsysusers=false              \
87       -Dumount-path=/bin/umount     \
88       -Db_lto=false                 \
89       -Drpmmacrosdir=no             \
90       -Dhomed=false                 \
91       -Duserdb=false                \
92       -Dman=false                   \
93       -Dmode=release                \
94       -Ddocdir=/usr/share/doc/systemd-&systemd-version; \
95       ..</userinput></screen>
97     <variablelist>
98       <title>The meaning of the meson options:</title>
100       <varlistentry>
101         <term><parameter>-D*-path=*</parameter></term>
102         <listitem>
103           <para>These switches provide the location of binaries needed by
104           systemd at runtime that have not yet been installed.</para>
105         </listitem>
106       </varlistentry>
108       <varlistentry>
109         <term><parameter>-Ddefault-dnssec=no</parameter></term>
110         <listitem>
111           <para>This switch turns off the experimental DNSSEC support.</para>
112         </listitem>
113       </varlistentry>
115       <varlistentry>
116         <term><parameter>-Dfirstboot=false</parameter></term>
117         <listitem>
118           <para>This switch prevents installation of systemd
119           services responsible for setting up the system for
120           the first time. They are not useful for LFS because
121           everything is done manually.</para>
122         </listitem>
123       </varlistentry>
125       <varlistentry>
126         <term><parameter>-Dinstall-tests=false</parameter></term>
127         <listitem>
128           <para>This switch prevents installation of the compiled tests.</para>
129         </listitem>
130       </varlistentry>
132       <varlistentry>
133         <term><parameter>-Dldconfig=false</parameter></term>
134         <listitem>
135           <para>This switch prevents installation of a systemd unit that runs
136           <command>ldconfig</command> at boot, which is not useful for source
137           distributions such as LFS and makes the boot time longer. Remove it
138           if the described feature is desired.</para>
139         </listitem>
140       </varlistentry>
142       <varlistentry>
143         <term><parameter>-Droot*</parameter></term>
144         <listitem>
145           <para>These switches ensure that core programs and
146           shared libraries are installed in subdirectories
147           of the root partition.</para>
148         </listitem>
149       </varlistentry>
151       <varlistentry>
152         <term><parameter>-Dsplit-usr=true</parameter></term>
153         <listitem>
154           <para>This switch ensures that systemd will work on
155           systems where /bin, /lib and /sbin directories are not
156           symlinks to their /usr counterparts.</para>
157         </listitem>
158       </varlistentry>
160       <varlistentry>
161         <term><parameter>-Dsysusers=false</parameter></term>
162         <listitem>
163           <para>This switch prevents installation of systemd
164           services responsible for setting up the
165           <filename>/etc/group</filename> and
166           <filename>/etc/passwd</filename> files. Both files
167           were created earlier in this chapter.</para>
168         </listitem>
169       </varlistentry>
171       <varlistentry>
172         <term><parameter>-Drpmmacrosdir=no</parameter></term>
173         <listitem>
174           <para>This switch disables installation of RPM Macros
175           for use with systemd because LFS does not support RPM.</para>
176         </listitem>
177       </varlistentry>
179       <varlistentry>
180         <term><parameter>-D{userdb,homed}=false</parameter></term>
181         <listitem>
182           <para>Remove two daemons that have dependencies that do not fit
183           the scope of LFS.</para>
184         </listitem>
185       </varlistentry>
187       <varlistentry>
188         <term><parameter>-Dman=false</parameter></term>
189         <listitem>
190           <para>Prevent the generation of man pages to avoid extra
191           dependencies.  We will install pre-generated man pages for systemd
192           from a tarball later.</para>
193         </listitem>
194       </varlistentry>
196       <varlistentry>
197         <term><parameter>-Dmode=release</parameter></term>
198         <listitem>
199           <para>Disable some features considered experimental by upstream.
200           </para>
201         </listitem>
202       </varlistentry>
204     </variablelist>
206     <para>Compile the package:</para>
208 <screen><userinput remap="make">LANG=en_US.UTF-8 ninja</userinput></screen>
210     <para>Install the package:</para>
212 <screen><userinput remap="install">LANG=en_US.UTF-8 ninja install</userinput></screen>
214     <para>Install the man pages:</para>
216 <screen><userinput remap="install">tar -xf ../../systemd-man-pages-&systemd-man-version;.tar.xz --strip-components=1 -C /usr/share/man</userinput></screen>
218     <para>Remove a useless directory:</para>
220 <screen><userinput remap="install">rm -rf /usr/lib/pam.d</userinput></screen>
222     <para>Create the <filename>/etc/machine-id</filename> file needed by
223     <command>systemd-journald</command>:</para>
225 <screen><userinput remap="adjust">systemd-machine-id-setup</userinput></screen>
227     <para>Setup the basic target structure:</para>
229 <screen><userinput remap="adjust">systemctl preset-all</userinput></screen>
231     <para>Disable a service that is known to cause problems with systems that
232     use a network configuration other than what is provided by
233     systemd-networkd:</para>
234     <!-- Observed halting startup with dhcpcd handling the primary NIC -->
236 <screen><userinput remap="adjust">systemctl disable systemd-time-wait-sync.service</userinput></screen>
238 <!-- dev: 50-pid-max.conf is not removed in BLFS, so I commented the following out.
239           If it causes any trouble, we can add this back and also copy it into BLFS -->
240 <!--
241     <para>Prevent systemd from resetting the maximum PID value which causes
242     some problems with packages and units in BLFS:</para>
243     
244 <screen><userinput remap="adjust">rm -f /usr/lib/sysctl.d/50-pid-max.conf</userinput></screen>
247   </sect2>
249   <sect2 id="contents-systemd" role="content">
250     <title>Contents of systemd</title>
252     <segmentedlist>
253       <segtitle>Installed programs</segtitle>
254       <segtitle>Installed libraries</segtitle>
255       <segtitle>Installed directories</segtitle>
257       <seglistitem>
258         <seg>bootctl, busctl, coredumpctl, halt (symlink to systemctl),
259         hostnamectl, init, journalctl, kernel-install, localectl, loginctl,
260         machinectl, networkctl, portablectl, poweroff (symlink to
261         systemctl), reboot (symlink to systemctl), resolvconf (symlink to
262         resolvectl), resolvectl, runlevel (symlink to systemctl), shutdown
263         (symlink to systemctl), systemctl, systemd-analyze,
264         systemd-ask-password, systemd-cat, systemd-cgls, systemd-cgtop,
265         systemd-delta, systemd-detect-virt, systemd-dissect, systemd-escape, 
266         systemd-hwdb, systemd-id128, systemd-inhibit, systemd-machine-id-setup,
267         systemd-mount, systemd-notify, systemd-nspawn, systemd-path,
268         systemd-repart, systemd-resolve (symlink to resolvectl), systemd-run,
269         systemd-socket-activate, systemd-stdio-bridge, systemd-tmpfiles,
270         systemd-tty-ask-password-agent, systemd-umount (symlink to
271         systemd-mount), telinit (symlink to systemctl), timedatectl, and
272         udevadm</seg>
273         <seg>libnss_myhostname.so.2, libnss_mymachines.so.2,
274         libnss_resolve.so.2, libnss_systemd.so.2,
275         libsystemd.so, libsystemd-shared-&systemd-version;.so (in /lib/systemd),
276         and libudev.so</seg>
277         <seg>/etc/binfmt.d, /etc/init.d, /etc/kernel, /etc/modules-load.d,
278         /etc/sysctl.d, /etc/systemd, /etc/tmpfiles.d, /etc/udev,
279         /etc/xdg/systemd, /lib/systemd, /lib/udev, /usr/include/systemd,
280         /usr/lib/binfmt.d, /usr/lib/environment.d, /usr/lib/kernel, 
281         /usr/lib/modules-load.d, /usr/lib/sysctl.d, /usr/lib/systemd, 
282         /usr/lib/tmpfiles.d,
283         /usr/share/doc/systemd-&systemd-version;, /usr/share/factory,
284         /usr/share/systemd, /var/lib/systemd, and /var/log/journal</seg>
285       </seglistitem>
286     </segmentedlist>
288     <variablelist>
289       <bridgehead renderas="sect3">Short Descriptions</bridgehead>
290       <?dbfo list-presentation="list"?>
291       <?dbhtml list-presentation="table"?>
293       <varlistentry id="bootctl">
294         <term><command>bootctl</command></term>
295         <listitem>
296           <para>Is used to query the firmware and boot manager settings</para>
297           <indexterm zone="ch-system-systemd bootctl">
298             <primary sortas="b-bootctl">bootctl</primary>
299           </indexterm>
300         </listitem>
301       </varlistentry>
303       <varlistentry id="busctl">
304         <term><command>busctl</command></term>
305         <listitem>
306           <para>Is used to introspect and monitor the D-Bus bus</para>
307           <indexterm zone="ch-system-systemd busctl">
308             <primary sortas="b-busctl">busctl</primary>
309           </indexterm>
310         </listitem>
311       </varlistentry>
313       <varlistentry id="coredumpctl">
314         <term><command>coredumpctl</command></term>
315         <listitem>
316           <para>Is used to retrieve coredumps from the systemd journal</para>
317           <indexterm zone="ch-system-systemd coredumpctl">
318             <primary sortas="b-coredumpctl">coredumpctl</primary>
319           </indexterm>
320         </listitem>
321       </varlistentry>
323       <varlistentry id="halt">
324         <term><command>halt</command></term>
325         <listitem>
326           <para>Normally invokes <command>shutdown</command> with the
327           <parameter>-h</parameter> option, except when already in run-level 0,
328           then it tells the kernel to halt the system; it notes in the
329           file <filename>/var/log/wtmp</filename> that the system is being
330           brought down</para>
331           <indexterm zone="ch-system-systemd halt">
332             <primary sortas="b-halt">halt</primary>
333           </indexterm>
334         </listitem>
335       </varlistentry>
337       <varlistentry id="hostnamectl">
338         <term><command>hostnamectl</command></term>
339         <listitem>
340           <para>Is used to query and change the system hostname and related
341           settings</para>
342           <indexterm zone="ch-system-systemd hostnamectl">
343             <primary sortas="b-hostnamectl">hostnamectl</primary>
344           </indexterm>
345         </listitem>
346       </varlistentry>
348       <varlistentry id="init">
349         <term><command>init</command></term>
350         <listitem>
351           <para>Is the first process to be started when the kernel has initialized
352           the hardware which takes over the boot process and starts all 
353           processes according to its configuration files. In this case, it starts
354           systemd</para>
355           <indexterm zone="ch-system-systemd init">
356             <primary sortas="b-init">init</primary>
357           </indexterm>
358         </listitem>
359       </varlistentry>
361       <varlistentry id="journalctl">
362         <term><command>journalctl</command></term>
363         <listitem>
364           <para>Is used to query the contents of the systemd journal</para>
365           <indexterm zone="ch-system-systemd journalctl">
366             <primary sortas="b-journalctl">journalctl</primary>
367           </indexterm>
368         </listitem>
369       </varlistentry>
371       <varlistentry id="kernel-install">
372         <term><command>kernel-install</command></term>
373         <listitem>
374           <para>Is used to add and remove kernel and initramfs images to and
375           from /boot. In LFS, this is done manually</para>
376           <indexterm zone="ch-system-systemd kernel-install">
377             <primary sortas="b-kernel-install">kernel-install</primary>
378           </indexterm>
379         </listitem>
380       </varlistentry>
382       <varlistentry id="localectl">
383         <term><command>localectl</command></term>
384         <listitem>
385           <para>Is used to query and change the system locale and keyboard layout
386           settings</para>
387           <indexterm zone="ch-system-systemd localectl">
388             <primary sortas="b-localectl">localectl</primary>
389           </indexterm>
390         </listitem>
391       </varlistentry>
393       <varlistentry id="loginctl">
394         <term><command>loginctl</command></term>
395         <listitem>
396           <para>Is used to introspect and control the state of the systemd Login
397           Manager</para>
398           <indexterm zone="ch-system-systemd loginctl">
399             <primary sortas="b-loginctl">loginctl</primary>
400           </indexterm>
401         </listitem>
402       </varlistentry>
404       <varlistentry id="machinectl">
405         <term><command>machinectl</command></term>
406         <listitem>
407           <para>Is used to introspect and control the state of the systemd Virtual
408           Machine and Container Registration Manager</para>
409           <indexterm zone="ch-system-systemd machinectl">
410             <primary sortas="b-machinectl">machinectl</primary>
411           </indexterm>
412         </listitem>
413       </varlistentry>
415       <varlistentry id="networkctl">
416         <term><command>networkctl</command></term>
417         <listitem>
418           <para>Is used to introspect and configure the state of the network 
419           links configured by systemd-networkd</para>
420           <indexterm zone="ch-system-systemd networkctl">
421             <primary sortas="b-networkctl">networkctl</primary>
422           </indexterm>
423         </listitem>
424       </varlistentry>
426       <varlistentry id="portablectl">
427         <term><command>portablectl</command></term>
428         <listitem>
429           <para>Is used to attach or detach portable services from the local
430           system</para>
431           <indexterm zone="ch-system-systemd portablectl">
432             <primary sortas="b-portablectl">portablectl</primary>
433           </indexterm>
434         </listitem>
435       </varlistentry>
437       <varlistentry id="poweroff">
438         <term><command>poweroff</command></term>
439         <listitem>
440           <para>Instructs the kernel to halt the system and switch off the computer
441           (see <command>halt</command>)</para>
442           <indexterm zone="ch-system-systemd poweroff">
443             <primary sortas="b-poweroff">poweroff</primary>
444           </indexterm>
445         </listitem>
446       </varlistentry>
448       <varlistentry id="reboot">
449         <term><command>reboot</command></term>
450         <listitem>
451           <para>Instructs the kernel to reboot the system (see
452           <command>halt</command>)</para>
453           <indexterm zone="ch-system-systemd reboot">
454             <primary sortas="b-reboot">reboot</primary>
455           </indexterm>
456         </listitem>
457       </varlistentry>
459       <varlistentry id="resolvconf">
460         <term><command>resolvconf</command></term>
461         <listitem>
462           <para>Registers DNS server and domain configuration with
463           <command>systemd-resolved</command></para>
464           <indexterm zone="ch-system-systemd resolvconf">
465             <primary sortas="b-resolvconf">resolvconf</primary>
466           </indexterm>
467         </listitem>
468       </varlistentry>
470       <varlistentry id="resolvectl">
471         <term><command>resolvectl</command></term>
472         <listitem>
473           <para>Sends control commands to the network name resolution
474           manager, or resolves domain names, IPv4 and IPv6 addresses,
475           DNS records, and services</para>
476           <indexterm zone="ch-system-systemd resolvectl">
477             <primary sortas="b-resolvectl">resolvectl</primary>
478           </indexterm>
479         </listitem>
480       </varlistentry>
482       <varlistentry id="runlevel">
483         <term><command>runlevel</command></term>
484         <listitem>
485           <para>Outputs the previous and the current run-level, as noted in the
486           last run-level record in <filename>/run/utmp</filename></para>
487           <indexterm zone="ch-system-systemd runlevel">
488             <primary sortas="b-runlevel">runlevel</primary>
489           </indexterm>
490         </listitem>
491       </varlistentry>
493       <varlistentry id="shutdown">
494         <term><command>shutdown</command></term>
495         <listitem>
496           <para>Brings the system down in a safe and secure manner, signaling 
497           all processes and notifying all logged-in users</para>
498           <indexterm zone="ch-system-systemd shutdown">
499             <primary sortas="b-shutdown">shutdown</primary>
500           </indexterm>
501         </listitem>
502       </varlistentry>
504       <varlistentry id="systemctl">
505         <term><command>systemctl</command></term>
506         <listitem>
507           <para>Is used to introspect and control the state of the systemd system
508           and service manager</para>
509           <indexterm zone="ch-system-systemd systemctl">
510             <primary sortas="b-systemctl">systemctl</primary>
511           </indexterm>
512         </listitem>
513       </varlistentry>
515       <varlistentry id="systemd-analyze">
516         <term><command>systemd-analyze</command></term>
517         <listitem>
518           <para>Is used to determine system startup performance of the current
519           boot, as well as identify troublesome systemd units</para>
520           <indexterm zone="ch-system-systemd systemd-analyze">
521             <primary sortas="b-systemd-analyze">systemd-analyze</primary>
522           </indexterm>
523         </listitem>
524       </varlistentry>
526       <varlistentry id="systemd-ask-password">
527         <term><command>systemd-ask-password</command></term>
528         <listitem>
529           <para>Is used to query a system password or passphrase from the user,
530           using a question message specified on the command line</para>
531           <indexterm zone="ch-system-systemd systemd-ask-password">
532             <primary sortas="b-systemd-ask-password">systemd-ask-password</primary>
533           </indexterm>
534         </listitem>
535       </varlistentry>
537       <varlistentry id="systemd-cat">
538         <term><command>systemd-cat</command></term>
539         <listitem>
540           <para>Is used to connect the STDOUT and STDERR outputs of a process
541           with the systemd journal
542           </para>
543           <indexterm zone="ch-system-systemd systemd-cat">
544             <primary sortas="b-systemd-cat">systemd-cat</primary>
545           </indexterm>
546         </listitem>
547       </varlistentry>
549       <varlistentry id="systemd-cgls">
550         <term><command>systemd-cgls</command></term>
551         <listitem>
552           <para>Recursively shows the contents of the selected Linux control
553           group hierarchy in a tree</para>
554           <indexterm zone="ch-system-systemd systemd-cgls">
555             <primary sortas="b-systemd-cgls">systemd-cgls</primary>
556           </indexterm>
557         </listitem>
558       </varlistentry>
560       <varlistentry id="systemd-cgtop">
561         <term><command>systemd-cgtop</command></term>
562         <listitem>
563           <para>Shows the top control groups of the local Linux control group
564           hierarchy, ordered by their CPU, memory and disk I/O load</para>
565           <indexterm zone="ch-system-systemd systemd-cgtop">
566             <primary sortas="b-systemd-cgtop">systemd-cgtop</primary>
567           </indexterm>
568         </listitem>
569       </varlistentry>
571       <varlistentry id="systemd-delta">
572         <term><command>systemd-delta</command></term>
573         <listitem>
574           <para>Is used to identify and compare configuration files in
575           <filename class="directory">/etc</filename> that override default
576           counterparts in <filename class="directory">/usr</filename></para>
577           <indexterm zone="ch-system-systemd systemd-delta">
578             <primary sortas="b-systemd-delta">systemd-delta</primary>
579           </indexterm>
580         </listitem>
581       </varlistentry>
583       <varlistentry id="systemd-detect-virt">
584         <term><command>systemd-detect-virt</command></term>
585         <listitem>
586           <para>Detects whether the system is being run in a virtual
587           environment, and adjusts udev accordingly</para>
588           <indexterm zone="ch-system-systemd systemd-detect-virt">
589             <primary sortas="b-systemd-detect-virt">systemd-detect-virt</primary>
590           </indexterm>
591         </listitem>
592       </varlistentry>
594       <varlistentry id="systemd-dissect">
595         <term><command>systemd-dissect</command></term>
596         <listitem>
597           <para>Is used to inspect OS disk images</para>
598           <indexterm zone="ch-system-systemd systemd-dissect">
599             <primary sortas="b-systemd-dissect">systemd-dissect</primary>
600           </indexterm>
601         </listitem>
602       </varlistentry>
604       <varlistentry id="systemd-escape">
605         <term><command>systemd-escape</command></term>
606         <listitem>
607           <para>Is used to escape strings for inclusion in systemd unit
608           names</para>
609           <indexterm zone="ch-system-systemd systemd-escape">
610             <primary sortas="b-systemd-escape">systemd-escape</primary>
611           </indexterm>
612         </listitem>
613       </varlistentry>
615       <varlistentry id="systemd-hwdb">
616         <term><command>systemd-hwdb</command></term>
617         <listitem>
618           <para>Is used to manage the hardware database (hwdb)</para>
619           <indexterm zone="ch-system-systemd systemd-hwdb">
620             <primary sortas="b-systemd-hwdb">systemd-hwdb</primary>
621           </indexterm>
622         </listitem>
623       </varlistentry>
625       <varlistentry id="systemd-id128">
626         <term><command>systemd-id128</command></term>
627         <listitem>
628           <para>Generates and prints id128 strings</para>
629           <indexterm zone="ch-system-systemd systemd-id128">
630             <primary sortas="b-systemd-id128">systemd-id128</primary>
631           </indexterm>
632         </listitem>
633       </varlistentry>
635       <varlistentry id="systemd-inhibit">
636         <term><command>systemd-inhibit</command></term>
637         <listitem>
638           <para>Is used to execute a program with a shutdown, sleep or idle
639           inhibitor lock taken, preventing an action such as a system shutdown
640           until the process is completed</para>
641           <indexterm zone="ch-system-systemd systemd-inhibit">
642             <primary sortas="b-systemd-inhibit">systemd-inhibit</primary>
643           </indexterm>
644         </listitem>
645       </varlistentry>
647       <varlistentry id="systemd-machine-id-setup">
648         <term><command>systemd-machine-id-setup</command></term>
649         <listitem>
650           <para>Is used by system installer tools to initialize the machine ID
651           stored in <filename>/etc/machine-id</filename> at install time with a
652           randomly generated ID</para>
653           <indexterm zone="ch-system-systemd systemd-machine-id-setup">
654             <primary sortas="b-systemd-machine-id-setup">systemd-machine-id-setup</primary>
655           </indexterm>
656         </listitem>
657       </varlistentry>
659       <varlistentry id="systemd-mount">
660         <term><command>systemd-mount</command></term>
661         <listitem>
662           <para>Is used to temporarily mount or automount disks</para>
663           <indexterm zone="ch-system-systemd systemd-mount">
664             <primary sortas="b-systemd-mount">systemd-mount</primary>
665           </indexterm>
666         </listitem>
667       </varlistentry>
669       <varlistentry id="systemd-notify">
670         <term><command>systemd-notify</command></term>
671         <listitem>
672           <para>Is used by daemon scripts to notify the init system about status
673           changes</para>
674           <indexterm zone="ch-system-systemd systemd-notify">
675             <primary sortas="b-systemd-notify">systemd-notify</primary>
676           </indexterm>
677         </listitem>
678       </varlistentry>
680       <varlistentry id="systemd-nspawn">
681         <term><command>systemd-nspawn</command></term>
682         <listitem>
683           <para>Is used to run a command or OS in a light-weight namespace
684           container</para>
685           <indexterm zone="ch-system-systemd systemd-nspawn">
686             <primary sortas="b-systemd-nspawn">systemd-nspawn</primary>
687           </indexterm>
688         </listitem>
689       </varlistentry>
691       <varlistentry id="systemd-path">
692         <term><command>systemd-path</command></term>
693         <listitem>
694           <para>Is used to query system and user paths</para>
695           <indexterm zone="ch-system-systemd systemd-path">
696             <primary sortas="b-systemd-path">systemd-path</primary>
697           </indexterm>
698         </listitem>
699       </varlistentry>
701       <varlistentry id="systemd-repart">
702         <term><command>systemd-repart</command></term>
703         <listitem>
704           <para>Is used to grow and add partitions to a partition table when
705           systemd is used in an OS image (e.g. a container)</para>
706           <indexterm zone="ch-system-systemd systemd-repart">
707             <primary sortas="b-systemd-repart">systemd-repart</primary>
708           </indexterm>
709         </listitem>
710       </varlistentry>
712       <varlistentry id="systemd-resolve">
713         <term><command>systemd-resolve</command></term>
714         <listitem>
715           <para>Is used to resolve domain names, IPV4 and IPv6 addresses, DNS
716           resource records, and services</para>
717           <indexterm zone="ch-system-systemd systemd-resolve">
718             <primary sortas="b-systemd-resolve">systemd-resolve</primary>
719           </indexterm>
720         </listitem>
721       </varlistentry>
723       <varlistentry id="systemd-run">
724         <term><command>systemd-run</command></term>
725         <listitem>
726           <para>Is used to create and start a transient .service or a .scope
727           unit and run the specified command in it. This is useful for
728           validating systemd units</para>
729           <indexterm zone="ch-system-systemd systemd-run">
730             <primary sortas="b-systemd-run">systemd-run</primary>
731           </indexterm>
732         </listitem>
733       </varlistentry>
735       <varlistentry id="systemd-socket-activate">
736         <term><command>systemd-socket-activate</command></term>
737         <listitem>
738           <para>Is used to listen on socket devices and launch a process upon
739           a successful connection to the socket</para>
740           <indexterm zone="ch-system-systemd systemd-socket-activate">
741             <primary sortas="b-systemd-socket-activate">systemd-socket-activate</primary>
742           </indexterm>
743         </listitem>
744       </varlistentry>
746       <varlistentry id="systemd-tmpfiles">
747         <term><command>systemd-tmpfiles</command></term>
748         <listitem>
749           <para>Creates, deletes and cleans up volatile and temporary files and
750           directories, based on the configuration file format and location
751           specified in
752           <filename class="directory">tmpfiles.d</filename> directories</para>
753           <indexterm zone="ch-system-systemd systemd-tmpfiles">
754             <primary sortas="b-systemd-tmpfiles">systemd-tmpfiles</primary>
755           </indexterm>
756         </listitem>
757       </varlistentry>
759       <varlistentry id="systemd-umount">
760         <term><command>systemd-umount</command></term>
761         <listitem>
762           <para>Unmounts mount points</para>
763           <indexterm zone="ch-system-systemd systemd-umount">
764             <primary sortas="b-systemd-umount">systemd-umount</primary>
765           </indexterm>
766         </listitem>
767       </varlistentry>
769       <varlistentry id="systemd-tty-ask-password-agent">
770         <term><command>systemd-tty-ask-password-agent</command></term>
771         <listitem>
772           <para>Is used to list and/or process pending systemd password 
773           requests</para>
774           <indexterm zone="ch-system-systemd systemd-tty-ask-password-agent">
775             <primary sortas="b-systemd-tty-ask-password-agent">systemd-tty-ask-password-agent</primary>
776           </indexterm>
777         </listitem>
778       </varlistentry>
780       <varlistentry id="telinit">
781         <term><command>telinit</command></term>
782         <listitem>
783           <para>Tells <command>init</command> which run-level to change
784           to</para>
785           <indexterm zone="ch-system-systemd telinit">
786             <primary sortas="b-telinit">telinit</primary>
787           </indexterm>
788         </listitem>
789       </varlistentry>
791       <varlistentry id="timedatectl">
792         <term><command>timedatectl</command></term>
793         <listitem>
794           <para>Is used to query and change the system clock and its settings
795           </para>
796           <indexterm zone="ch-system-systemd timedatectl">
797             <primary sortas="b-timedatectl">timedatectl</primary>
798           </indexterm>
799         </listitem>
800       </varlistentry>
802       <varlistentry id="udevadm">
803         <term><command>udevadm</command></term>
804         <listitem>
805           <para>Is a generic udev administration tool which controls the udevd 
806           daemon, provides info from the Udev hardware database, monitors 
807           uevents, waits for uevents to finish, tests udev configuration, and 
808           triggers uevents for a given device</para>
809           <indexterm zone="ch-system-systemd udevadm">
810             <primary sortas="b-udevadm">udevadm</primary>
811           </indexterm>
812         </listitem>
813       </varlistentry>
815       <varlistentry id="libsystemd">
816         <term><filename class="libraryfile">libsystemd</filename></term>
817         <listitem>
818           <para>Is the main systemd utility library</para>
819           <indexterm zone="ch-system-systemd libsystemd">
820             <primary sortas="c-libsystemd">libsystemd</primary>
821           </indexterm>
822         </listitem>
823       </varlistentry>
825       <varlistentry id="libudev">
826         <term><filename class="libraryfile">libudev</filename></term>
827         <listitem>
828           <para>Is a library to access Udev device information</para>
829           <indexterm zone="ch-system-systemd libudev">
830             <primary sortas="c-libudev">libudev</primary>
831           </indexterm>
832         </listitem>
833       </varlistentry>
835     </variablelist>
837   </sect2>
839 </sect1>