1 <html><head><meta http-equiv=
"Content-Type" content=
"text/html; charset=UTF-8"><title>systemd-update-done.service
</title><meta name=
"generator" content=
"DocBook XSL Stylesheets V1.78.1"></head><body bgcolor=
"white" text=
"black" link=
"#0000FF" vlink=
"#840084" alink=
"#0000FF"><style>
11 background-color: #c60f0f;
15 h1:hover
> a.headerlink, h2:hover
> a.headerlink, h3:hover
> a.headerlink, dt:hover
> a.headerlink {
18 </style><a href=
"index.html">Index
</a>·
19 <a href=
"systemd.directives.html">Directives
</a>·
20 <a href=
"../python-systemd/index.html">Python
</a>·
21 <a href=
"../libudev/index.html">libudev
</a>·
22 <a href=
"../libudev/index.html">gudev
</a><span style=
"float:right">systemd
219</span><hr><div class=
"refentry"><a name=
"systemd-update-done.service"></a><div class=
"titlepage"></div><div class=
"refnamediv"><h2>Name
</h2><p>systemd-update-done.service, systemd-update-done — Mark
<code class=
"filename">/etc
</code> and
<code class=
"filename">/var
</code> fully updated
</p></div><div class=
"refsynopsisdiv"><h2>Synopsis
</h2><p><code class=
"filename">systemd-update-done.service
</code></p><p><code class=
"filename">/usr/lib/systemd/systemd-update-done
</code></p></div><div class=
"refsect1"><a name=
"idm139688827063568"></a><h2 id=
"Description">Description
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#Description">¶
</a></h2><p><code class=
"filename">systemd-update-done.service
</code> is a
23 service that is invoked as part of the first boot after the vendor
24 operating system resources in
<code class=
"filename">/usr
</code> have been
25 updated. This is useful to implement offline updates of
26 <code class=
"filename">/usr
</code> which might requires updates to
27 <code class=
"filename">/etc
</code> or
<code class=
"filename">/var
</code> on the
28 following boot.
</p><p><code class=
"filename">systemd-update-done.service
</code> updates the
29 file modification time (mtime) of the stamp files
30 <code class=
"filename">/etc/.updated
</code> and
31 <code class=
"filename">/var/.updated
</code> to the modification time of the
32 <code class=
"filename">/usr
</code> directory, unless the stamp files are
33 already newer.
</p><p>Services that shall run after offline upgrades of
34 <code class=
"filename">/usr
</code> should order themselves before
35 <code class=
"filename">systemd-update-done.service
</code>, and use the
36 <code class=
"varname">ConditionNeedsUpdate=
</code> (see
37 <a href=
"systemd.unit.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd.unit
</span>(
5)
</span></a>)
38 condition to make sure to run when
<code class=
"filename">/etc
</code> or
39 <code class=
"filename">/var
</code> are older than
<code class=
"filename">/usr
</code>
40 according to the modification times of the files described above.
41 This requires that updates to
<code class=
"filename">/usr
</code> are always
42 followed by an update of the modification time of
43 <code class=
"filename">/usr
</code>, for example by invoking
44 <a href=
"http://man7.org/linux/man-pages/man1/touch.1.html"><span class=
"citerefentry"><span class=
"refentrytitle">touch
</span>(
1)
</span></a>
45 on it.
</p></div><div class=
"refsect1"><a name=
"idm139688823448720"></a><h2 id=
"See Also">See Also
<a class=
"headerlink" title=
"Permalink to this headline" href=
"#See%20Also">¶
</a></h2><p>
46 <a href=
"systemd.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd
</span>(
1)
</span></a>,
47 <a href=
"systemd.unit.html"><span class=
"citerefentry"><span class=
"refentrytitle">systemd.unit
</span>(
5)
</span></a>,
48 <a href=
"http://man7.org/linux/man-pages/man1/touch.1.html"><span class=
"citerefentry"><span class=
"refentrytitle">touch
</span>(
1)
</span></a>
49 </p></div></div></body></html>