1<?xml version="1.0"?>
2<!--*-nxml-*-->
3<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
4  "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5<!--
6  SPDX-License-Identifier: LGPL-2.1-or-later
7
8  Copyright © 2014 Didier Roche
9-->
10<refentry id="systemd-machine-id-commit.service">
11
12  <refentryinfo>
13    <title>systemd-machine-id-commit.service</title>
14    <productname>systemd</productname>
15  </refentryinfo>
16
17  <refmeta>
18    <refentrytitle>systemd-machine-id-commit.service</refentrytitle>
19    <manvolnum>8</manvolnum>
20  </refmeta>
21
22  <refnamediv>
23    <refname>systemd-machine-id-commit.service</refname>
24    <refpurpose>Commit a transient machine ID to disk</refpurpose>
25  </refnamediv>
26
27  <refsynopsisdiv>
28    <para><filename>systemd-machine-id-commit.service</filename></para>
29  </refsynopsisdiv>
30
31  <refsect1>
32    <title>Description</title>
33
34    <para><filename>systemd-machine-id-commit.service</filename> is an
35    early boot service responsible for committing transient
36    <filename>/etc/machine-id</filename> files to a writable disk file
37    system. See
38    <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>
39    for more information about machine IDs.</para>
40
41    <para>This service is started after
42    <filename>local-fs.target</filename> in case
43    <filename>/etc/machine-id</filename> is a mount point of its own
44    (usually from a memory file system such as
45    <literal>tmpfs</literal>) and /etc is writable. The service will
46    invoke <command>systemd-machine-id-setup --commit</command>, which
47    writes the current transient machine ID to disk and unmount the
48    <filename>/etc/machine-id</filename> file in a race-free manner to
49    ensure that file is always valid and accessible for other
50    processes. See
51    <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>
52    for details.</para>
53
54    <para>The main use case of this service are systems where
55    <filename>/etc/machine-id</filename> is read-only and initially
56    not initialized. In this case, the system manager will generate a
57    transient machine ID file on a memory file system, and mount it
58    over <filename>/etc/machine-id</filename>, during the early boot
59    phase. This service is then invoked in a later boot phase, as soon
60    as <filename>/etc/</filename> has been remounted writable and the
61    ID may thus be committed to disk to make it permanent.</para>
62  </refsect1>
63
64  <refsect1>
65    <title>See Also</title>
66    <para>
67      <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
68      <citerefentry><refentrytitle>systemd-machine-id-setup</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
69      <citerefentry><refentrytitle>machine-id</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
70      <citerefentry><refentrytitle>systemd-firstboot</refentrytitle><manvolnum>1</manvolnum></citerefentry>
71    </para>
72  </refsect1>
73
74</refentry>
75