<refentry id="machine-id">
<refentryinfo>
- <title>/etc/machine-id</title>
+ <title>machine-id</title>
<productname>systemd</productname>
<authorgroup>
<title>Description</title>
<para>The <filename>/etc/machine-id</filename> file
- contains the unique machine id of the local system
+ contains the unique machine ID of the local system
that is set during installation. The machine ID is a
- single newline-terminated, hexadecimal, lowercase 32
- character machine ID string. (When decoded from
- hexadecimal this corresponds with a 16 byte/128 bit
- string.)</para>
+ single newline-terminated, hexadecimal, 32-character,
+ lowercase machine ID string. When decoded from
+ hexadecimal, this corresponds with a 16-byte/128-bit
+ string.</para>
<para>The machine ID is usually generated from a
random source during system installation and stays
constant for all subsequent boots. Optionally, for
- stateless systems it is generated during runtime at
+ stateless systems, it is generated during runtime at
boot if it is found to be empty.</para>
<para>The machine ID does not change based on user
- configuration, or when hardware is replaced.</para>
+ configuration or when hardware is replaced.</para>
<para>This machine ID adheres to the same format and
logic as the D-Bus machine ID.</para>
<para>Programs may use this ID to identify the host
- with a globally unique ID in the network, that does
+ with a globally unique ID in the network, which does
not change even if the local network configuration
- changes. Due to this and its greater length it is
+ changes. Due to this and its greater length, it is
a more useful replacement for the
<citerefentry><refentrytitle>gethostid</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- call POSIX specifies.</para>
+ call that POSIX specifies.</para>
<para>The
<citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
tool may be used by installer tools to initialize the
- machine ID at install time.</para>
+ machine ID at install time. Use
+ <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ to initialize it on mounted (but not booted) system
+ images.</para>
</refsect1>
<refsect1>
<para>Note that the machine ID historically is not an
OSF UUID as defined by <ulink
- url="http://tools.ietf.org/html/rfc4122">RFC
- 4122</ulink>, nor a Microsoft GUID. Starting with
- systemd v30 newly generated machine IDs however do
+ url="https://tools.ietf.org/html/rfc4122">RFC
+ 4122</ulink>, nor a Microsoft GUID; however, starting with
+ systemd v30, newly generated machine IDs do
qualify as v4 UUIDs.</para>
<para>In order to maintain compatibility with existing
<para>(This code is inspired by
<literal>generate_random_uuid()</literal> of
<filename>drivers/char/random.c</filename> from the
- kernel sources.)</para>
+ Linux kernel sources.)</para>
</refsect1>
<para>The simple configuration file format of
<filename>/etc/machine-id</filename> originates in the
<filename>/var/lib/dbus/machine-id</filename> file
- introduced by D-Bus. In fact this latter file might be a
+ introduced by D-Bus. In fact, this latter file might be a
symlink to
<varname>/etc/machine-id</varname>.</para>
</refsect1>
<citerefentry><refentrytitle>machine-info</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>os-release</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
<citerefentry><refentrytitle>sd-id128</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>sd_id128_get_machine</refentrytitle><manvolnum>3</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
</para>
</refsect1>