3 <!DOCTYPE refentry PUBLIC
"-//OASIS//DTD DocBook XML V4.5//EN"
4 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
5 <!-- SPDX-License-Identifier: LGPL-2.1+ -->
6 <refentry id=
"systemd-update-done.service">
9 <title>systemd-update-done.service
</title>
10 <productname>systemd
</productname>
14 <refentrytitle>systemd-update-done.service
</refentrytitle>
15 <manvolnum>8</manvolnum>
19 <refname>systemd-update-done.service
</refname>
20 <refname>systemd-update-done
</refname>
21 <refpurpose>Mark
<filename>/etc
</filename> and
<filename>/var
</filename> fully updated
</refpurpose>
25 <para><filename>systemd-update-done.service
</filename></para>
26 <para><filename>/usr/lib/systemd/systemd-update-done
</filename></para>
30 <title>Description
</title>
32 <para><filename>systemd-update-done.service
</filename> is a
33 service that is invoked as part of the first boot after the vendor
34 operating system resources in
<filename>/usr
</filename> have been
35 updated. This is useful to implement offline updates of
36 <filename>/usr
</filename> which might require updates to
37 <filename>/etc
</filename> or
<filename>/var
</filename> on the
38 following boot.
</para>
40 <para><filename>systemd-update-done.service
</filename> updates the
41 file modification time (mtime) of the stamp files
42 <filename>/etc/.updated
</filename> and
43 <filename>/var/.updated
</filename> to the modification time of the
44 <filename>/usr
</filename> directory, unless the stamp files are
47 <para>Services that shall run after offline upgrades of
48 <filename>/usr
</filename> should order themselves before
49 <filename>systemd-update-done.service
</filename>, and use the
50 <varname>ConditionNeedsUpdate=
</varname> (see
51 <citerefentry><refentrytitle>systemd.unit
</refentrytitle><manvolnum>5</manvolnum></citerefentry>)
52 condition to make sure to run when
<filename>/etc
</filename> or
53 <filename>/var
</filename> are older than
<filename>/usr
</filename>
54 according to the modification times of the files described above.
55 This requires that updates to
<filename>/usr
</filename> are always
56 followed by an update of the modification time of
57 <filename>/usr
</filename>, for example by invoking
58 <citerefentry project='man-pages'
><refentrytitle>touch
</refentrytitle><manvolnum>1</manvolnum></citerefentry>
64 <title>See Also
</title>
66 <citerefentry><refentrytitle>systemd
</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
67 <citerefentry><refentrytitle>systemd.unit
</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
68 <citerefentry project='man-pages'
><refentrytitle>touch
</refentrytitle><manvolnum>1</manvolnum></citerefentry>