[systemd-devel] systemd offline-update functionality
Lennart Poettering
lennart at poettering.net
Tue Oct 16 15:27:33 UTC 2018
On Mo, 15.10.18 23:18, Uoti Urpala (uoti.urpala at pp1.inet.fi) wrote:
> > The same documentation page recommends setting “FailureAction =
> > reboot” in case the update script fails to complete. However, this
> > does not seem to reboot the machine properly (e.g. I don’t see a POST
> > screen + grub as expected). Using “reboot-force” does seem to have
> > the expected behavior. What is the difference between these two
> > methods?
>
> They're documented on the systemd.unit manpage for example. IIRC the
> "force" variant just kills processes without "properly" shutting down
> services through ExecStop actions.
Correct.
System shutdown is split into two phases. In phase #1 we'll stop
units cleanly, following the shutdown ordering defined between
them, and running all ExecStop= lines as configured. In phase #2 we'll
brutally kill/unmount/detach everything that remains in a tight
loop. Normally, phase #2 is just a safety net, that cleans up whatever
was missed in phase #1.
With FailureAction=reboot is used we enter phase #1, i.e. the clean
shutdown logic. If FailureAction=reboot-force then we skip phase #1,
entering directly phase #2.
If "FailureAction=reboot" doesn't work for you, then this suggests
some unit is stalling shutdown for some reason. You should debug what
that is and why it is doing that.
Lennart
--
Lennart Poettering, Red Hat
More information about the systemd-devel
mailing list