Dear Lennart and others,

Thank you for your prompt replies.


Am 20.02.2018 um 23:12 schrieb Lennart Poettering:
On Di, 20.02.18 20:00, Paul Menzel (pmenzel+systemd-de...@molgen.mpg.de) wrote:

We finally are going to upgrade from a very old systemd version 27 from 2011
to the current systemd v237. (Historical reasons.)

Anyway, I already was told about `systemctl daemon-reexec`, and we got it
working.

While we try to ensure that live upgrades of PID 1 like that work
quite well, this is generally tested only for small steps. Jumping 6
years ahead in one go is not something people typically test.

Indeed, but it seems to work. During the upgrade you have to make sure, that both versions are installed in parallel when doing `systemctl daemon-reexec`, so the old systemd still finds it dependencies/libraries and can terminate properly. Then the old version can be removed.

After that, looking at the output of `systemctl`, there are many units from
the old version, which were removed in the meantime.

```
$ 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

My recommendation: simply reboot. That should clean up everything
properly.

Note that PID 1 itself is probably pretty Ok with such a massive
update in one step, but the unit files have been rearranged quite a
bit since then. Downstream distributions generally expect you to
reboot even between single-step distro updates, but this becomes much
more of a necessity if you jump even further.

But if reboot wouldn’t be an option, is there a way to get rid of not-found services?

Note that systemd upstream currently requires kernel 3.13 at least
which was released in 2014. Hence, if you update from a 2011 system
you have to reboot anyway, already to update the kernel...

We already run later Linux Kernels, so that is not a problem. But thank you for mentioning it.

Do I need to stop those manually beforehand, or is there another way to
clean up?

Is the recommended update procedure documented somewhere?

Usually distributions document that invididually as systemd is just
one component of many that make up the distribution.

Understood.


Kind regards,

Paul
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to