2018-07-03 00:15:39 +03:00
<?xml version='1.0'?>
2019-03-14 16:40:58 +03:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
2015-06-18 20:47:44 +03:00
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
2020-11-09 07:23:58 +03:00
<!-- SPDX - License - Identifier: LGPL - 2.1 - or - later -->
2012-03-16 01:36:33 +04:00
2014-02-13 23:33:51 +04:00
<refentry id= "systemd-machine-id-setup"
2015-02-04 05:14:13 +03:00
xmlns:xi="http://www.w3.org/2001/XInclude">
<refentryinfo >
<title > systemd-machine-id-setup</title>
<productname > systemd</productname>
</refentryinfo>
<refmeta >
<refentrytitle > systemd-machine-id-setup</refentrytitle>
<manvolnum > 1</manvolnum>
</refmeta>
<refnamediv >
<refname > systemd-machine-id-setup</refname>
<refpurpose > Initialize the machine ID in /etc/machine-id</refpurpose>
</refnamediv>
<refsynopsisdiv >
<cmdsynopsis >
<command > systemd-machine-id-setup</command>
</cmdsynopsis>
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para > <command > systemd-machine-id-setup</command> may be used by
system installer tools to initialize the machine ID stored in
2015-09-23 20:36:21 +03:00
<filename > /etc/machine-id</filename> at install time, with a
provisioned or randomly generated ID. See
2015-02-04 05:14:13 +03:00
<citerefentry > <refentrytitle > machine-id</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry>
for more information about this file.</para>
2015-09-23 20:36:21 +03:00
<para > If the tool is invoked without the <option > --commit</option>
2014-08-03 09:11:12 +04:00
switch, <filename > /etc/machine-id</filename> is initialized with a
2015-09-23 20:36:21 +03:00
valid, new machined ID if it is missing or empty. The new machine
ID will be acquired in the following fashion:</para>
<orderedlist >
<listitem > <para > If a valid D-Bus machine ID is already
configured for the system, the D-Bus machine ID is copied and
used to initialize the machine ID in
<filename > /etc/machine-id</filename> .</para> </listitem>
<listitem > <para > If run inside a KVM virtual machine and a UUID
2016-10-31 15:08:08 +03:00
is configured (via the <option > -uuid</option>
2015-09-23 20:36:21 +03:00
option), this UUID is used to initialize the machine ID. The
caller must ensure that the UUID passed is sufficiently unique
and is different for every booted instance of the
VM.</para> </listitem>
2020-01-06 20:15:07 +03:00
<listitem > <para > Similarly, if run inside a Linux container environment and a UUID is configured for the
container, this is used to initialize the machine ID. For details, see the documentation of the <ulink
url="https://systemd.io/CONTAINER_INTERFACE">Container Interface</ulink> .</para> </listitem>
2015-09-23 20:36:21 +03:00
2014-08-03 09:11:12 +04:00
<listitem > <para > Otherwise, a new ID is randomly
2015-09-23 20:36:21 +03:00
generated.</para> </listitem>
</orderedlist>
<para > The <option > --commit</option> switch may be used to commit a
transient machined ID to disk, making it persistent. For details,
see below.</para>
2015-02-04 05:14:13 +03:00
<para > Use
<citerefentry > <refentrytitle > systemd-firstboot</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
to initialize the machine ID on mounted (but not booted) system
images.</para>
</refsect1>
<refsect1 >
<title > Options</title>
<para > The following options are understood:</para>
<variablelist >
2015-09-23 20:36:21 +03:00
2015-02-04 05:14:13 +03:00
<varlistentry >
2021-03-19 20:34:06 +03:00
<term > <option > --root=<replaceable > path</replaceable> </option> </term>
<listitem > <para > Takes a directory path as argument. All paths operated on will be prefixed with the
given alternate <replaceable > root</replaceable> path, including the path for
2015-09-23 20:36:21 +03:00
<filename > /etc/machine-id</filename> itself.</para> </listitem>
2015-02-04 05:14:13 +03:00
</varlistentry>
2015-09-23 20:36:21 +03:00
2021-03-19 20:34:06 +03:00
<varlistentry >
<term > <option > --image=<replaceable > path</replaceable> </option> </term>
<listitem > <para > Takes a path to a device node or refular file as argument. This is similar to
<option > --root=</option> as described above, but operates on a disk image instead of a directory
tree.</para> </listitem>
</varlistentry>
2015-09-23 20:36:21 +03:00
<varlistentry >
<term > <option > --commit</option> </term>
<listitem > <para > Commit a transient machine ID to disk. This
command may be used to convert a transient machine ID into a
persistent one. A transient machine ID file is one that was
bind mounted from a memory file system (usually
<literal > tmpfs</literal> ) to
<filename > /etc/machine-id</filename> during the early phase of
the boot process. This may happen because
2020-10-05 19:08:21 +03:00
<filename > /etc/</filename> is initially read-only and was
2015-09-23 20:36:21 +03:00
missing a valid machine ID file at that point.</para>
<para > This command will execute no operation if
<filename > /etc/machine-id</filename> is not mounted from a
2020-10-05 19:08:21 +03:00
memory file system, or if <filename > /etc/</filename> is
2015-09-23 20:36:21 +03:00
read-only. The command will write the current transient
machine ID to disk and unmount the
<filename > /etc/machine-id</filename> mount point in a
race-free manner to ensure that this file is always valid and
accessible for other processes.</para>
<para > This command is primarily used by the
<citerefentry > <refentrytitle > systemd-machine-id-commit.service</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry>
2014-08-03 09:11:12 +04:00
early boot service.</para> </listitem>
2015-09-23 20:36:21 +03:00
</varlistentry>
2016-07-22 13:21:21 +03:00
<varlistentry >
<term > <option > --print</option> </term>
2016-10-31 15:08:08 +03:00
<listitem > <para > Print the machine ID generated or committed after the operation is complete.</para> </listitem>
2016-07-22 13:21:21 +03:00
</varlistentry>
2015-02-04 05:14:13 +03:00
<xi:include href= "standard-options.xml" xpointer= "help" />
<xi:include href= "standard-options.xml" xpointer= "version" />
</variablelist>
</refsect1>
<refsect1 >
<title > Exit status</title>
<para > On success, 0 is returned, a non-zero failure code
otherwise.</para>
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > machine-id</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
2015-09-23 20:36:21 +03:00
<citerefentry > <refentrytitle > systemd-machine-id-commit.service</refentrytitle> <manvolnum > 8</manvolnum> </citerefentry> ,
2015-03-14 05:24:30 +03:00
<citerefentry project= 'dbus' > <refentrytitle > dbus-uuidgen</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
2015-02-04 05:14:13 +03:00
<citerefentry > <refentrytitle > systemd-firstboot</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
</para>
</refsect1>
2012-03-16 01:36:33 +04:00
</refentry>