2014-07-01 02:16:17 +04:00
<?xml version="1.0"?>
<!-- * - nxml - * -->
2019-03-14 16:40:58 +03:00
< !DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"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 -->
2014-07-01 02:16:17 +04:00
<refentry id= "systemd-update-done.service" >
2015-02-04 05:14:13 +03:00
<refentryinfo >
<title > systemd-update-done.service</title>
<productname > systemd</productname>
</refentryinfo>
<refmeta >
<refentrytitle > systemd-update-done.service</refentrytitle>
<manvolnum > 8</manvolnum>
</refmeta>
<refnamediv >
<refname > systemd-update-done.service</refname>
<refname > systemd-update-done</refname>
2020-10-05 19:08:21 +03:00
<refpurpose > Mark <filename > /etc/</filename> and <filename > /var/</filename> fully updated</refpurpose>
2015-02-04 05:14:13 +03:00
</refnamediv>
<refsynopsisdiv >
<para > <filename > systemd-update-done.service</filename> </para>
2015-06-18 20:47:44 +03:00
<para > <filename > /usr/lib/systemd/systemd-update-done</filename> </para>
2015-02-04 05:14:13 +03:00
</refsynopsisdiv>
<refsect1 >
<title > Description</title>
<para > <filename > systemd-update-done.service</filename> is a
service that is invoked as part of the first boot after the vendor
2020-10-05 19:08:21 +03:00
operating system resources in <filename > /usr/</filename> have been
2015-02-04 05:14:13 +03:00
updated. This is useful to implement offline updates of
2020-10-05 19:08:21 +03:00
<filename > /usr/</filename> which might require updates to
<filename > /etc/</filename> or <filename > /var/</filename> on the
2015-02-04 05:14:13 +03:00
following boot.</para>
<para > <filename > systemd-update-done.service</filename> updates the
file modification time (mtime) of the stamp files
<filename > /etc/.updated</filename> and
<filename > /var/.updated</filename> to the modification time of the
2020-10-05 19:08:21 +03:00
<filename > /usr/</filename> directory, unless the stamp files are
2015-02-04 05:14:13 +03:00
already newer.</para>
<para > Services that shall run after offline upgrades of
2020-10-05 19:08:21 +03:00
<filename > /usr/</filename> should order themselves before
2015-02-04 05:14:13 +03:00
<filename > systemd-update-done.service</filename> , and use the
<varname > ConditionNeedsUpdate=</varname> (see
<citerefentry > <refentrytitle > systemd.unit</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> )
2020-10-05 19:08:21 +03:00
condition to make sure to run when <filename > /etc/</filename> or
<filename > /var/</filename> are older than <filename > /usr/</filename>
2015-02-04 05:14:13 +03:00
according to the modification times of the files described above.
2020-10-05 19:08:21 +03:00
This requires that updates to <filename > /usr/</filename> are always
2015-02-04 05:14:13 +03:00
followed by an update of the modification time of
2020-10-05 19:08:21 +03:00
<filename > /usr/</filename> , for example by invoking
2015-02-04 05:14:13 +03:00
<citerefentry project= 'man-pages' > <refentrytitle > touch</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
on it.</para>
2020-05-14 10:55:57 +03:00
<para > Note that if the <varname > systemd.condition-needs-update=</varname> kernel command line option is
used it overrides the <varname > ConditionNeedsUpdate=</varname> unit condition checks. In that case
<filename > systemd-update-done.service</filename> will not reset the condition state until a follow-up
reboot where the kernel switch is not specified anymore.</para>
2015-02-04 05:14:13 +03:00
</refsect1>
<refsect1 >
<title > See Also</title>
<para >
<citerefentry > <refentrytitle > systemd</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry> ,
<citerefentry > <refentrytitle > systemd.unit</refentrytitle> <manvolnum > 5</manvolnum> </citerefentry> ,
<citerefentry project= 'man-pages' > <refentrytitle > touch</refentrytitle> <manvolnum > 1</manvolnum> </citerefentry>
</para>
</refsect1>
2014-07-01 02:16:17 +04:00
</refentry>