[systemd-devel] Hints for upgrading systemd on a running system
h.reindl at thelounge.net
Tue Feb 20 19:06:05 UTC 2018
Am 20.02.2018 um 20:00 schrieb Paul Menzel:
> Dear systemd folks,
> We finally are going to upgrade from a very old systemd version 27 from
> 2011 to the current systemd v237. (Historical reasons.)
hopefully you have a working backup
> Anyway, I already was told about `systemctl daemon-reexec`, and we got
> it working.
the "reexec" is misleading because it's not possible to terminate PID1
and start it again on a running system with a new binary
> After that, looking at the output of `systemctl`, there are many units
> from the old version, which were removed in the meantime.
i doubt that anybody has done such a version jump at all and even if the
environment won't match anyways - you need to reboot and hope it works
as well as be prepared for the case it won't boot - it's that easy
make at least sure that initrd has been updated with the new systemd!
> $ systemctl --state=not-found
> UNIT LOAD ACTIVE SUB DESCRIPTION
> ● dev-hugepages.automount not-found active waiting
> ● dev-mqueue.automount not-found active waiting
> ● sys-kernel-debug.automount not-found active waiting
> ● sys-kernel-security.automount not-found active waiting
> ● auditd.service not-found inactive dead
> ● console-kit-log-system-start.service not-found active exited
> ● display-manager.service not-found inactive dead
> ● hwclock-load.service not-found active exited
> ● plymouth-quit-wait.service not-found inactive dead
> ● plymouth-start.service not-found inactive dead
> ● remount-rootfs.service not-found active exited
> ● syslog.service not-found inactive dead
> ● systemd-kmsg-syslogd.service not-found active running
> ● systemd-remount-api-vfs.service not-found active exited
> ● systemd-sysusers.service not-found inactive dead
> ● udev-retry.service not-found active exited
> ● udev-settle.service not-found active exited
> ● systemd-logger.socket not-found active listening
> ● systemd-shutdownd.socket not-found active listening
> ● cryptsetup.target not-found active active
> ● syslog.target not-found active active
> LOAD = Reflects whether the unit definition was properly loaded.
> ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
> SUB = The low-level unit activation state, values depend on unit type.
> 21 loaded units listed. Pass --all to see loaded but inactive units, too.
> To show all installed unit files use 'systemctl list-unit-files'.
> Do I need to stop those manually beforehand, or is there another way to
> clean up?
> Is the recommended update procedure documented somewhere?
More information about the systemd-devel