[systemd-devel] Hints for upgrading systemd on a running system
Reindl Harald
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-hugepages.automount
> ● dev-mqueue.automount not-found active waiting
> dev-mqueue.automount
> ● sys-kernel-debug.automount not-found active waiting
> sys-kernel-debug.automount
> ● sys-kernel-security.automount not-found active waiting
> sys-kernel-security.automount
> ● auditd.service not-found inactive dead
> auditd.service
> ● console-kit-log-system-start.service not-found active exited
> console-kit-log-system-start.service
> ● display-manager.service not-found inactive dead
> display-manager.service
> ● hwclock-load.service not-found active exited
> hwclock-load.service
> ● plymouth-quit-wait.service not-found inactive dead
> plymouth-quit-wait.service
> ● plymouth-start.service not-found inactive dead
> plymouth-start.service
> ● remount-rootfs.service not-found active exited
> remount-rootfs.service
> ● syslog.service not-found inactive dead
> syslog.service
> ● systemd-kmsg-syslogd.service not-found active running
> systemd-kmsg-syslogd.service
> ● systemd-remount-api-vfs.service not-found active exited
> systemd-remount-api-vfs.service
> ● systemd-sysusers.service not-found inactive dead
> systemd-sysusers.service
> ● udev-retry.service not-found active exited
> udev-retry.service
> ● udev-settle.service not-found active exited
> udev-settle.service
> ● systemd-logger.socket not-found active listening
> systemd-logger.socket
> ● systemd-shutdownd.socket not-found active listening
> systemd-shutdownd.socket
> ● cryptsetup.target not-found active active
> cryptsetup.target
> ● syslog.target not-found active active
> syslog.target
>
> 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
mailing list