Control: reassign -1 systemd Michael Biebl, le mar. 05 août 2025 11:43:39 +0200, a ecrit: > On Tue, 5 Aug 2025 01:28:27 +0200 Samuel Thibault <[email protected]> > wrote: > > Package: systemd-sysv > > And then I lost the box. On restart I am getting: > > > > /sbin/init: error while loading shared libraries: libsystemd-core-252.so: > > cannot open shared object file: No such file or directory > > > > ... > > > So it upgraded libsystemd-shared but didn't upgrade systemd-sysv > > alongside, and thus /sbin/init is now broken... > > > > systemd-sysv must have a versioned dependency on libsystemd-shared to > > avoid such situation.
> I'm curious about this line: > > Suppression de sysvinit (2.88dsf-59) ... > > Do you have some sysvinit left-overs which could have prevented the upgrade > of systemd? There were some leftovers yes (initscripts insserv startpar sysv-rc) but the full-upgrade properly dropped them and let systemd upgrade. Once full-upgrade was finished, the reboot went completely fine. > The systemd-sysv package only provides a bunch of compat symlinks, no actual > binaries. Ah, right, didn't check that /sbin/init is actually a symlink. > The actual binaries are shipped in the systemd package, which it has a > strictly versioned dependency on. > The systemd binary package itself has a strictly versioned dependency on > libsystemd-shared. Indeed... Unfortunately, the corresponding dpkg.log didn't get written, all I know is that the system somehow rebooted by itself, the apt log is all I have left. That being said, it does say what happens: Dépaquetage de libsystemd-shared:amd64 (257.7-1) sur (252.38-1~deb12u1) ... Préparation du dépaquetage de .../9-libc6_2.41-11_amd64.deb ... Checking for services that may need to be restarted... Checking init scripts... Dépaquetage de libc6:amd64 (2.41-11) sur (2.36-9+deb12u10) ... Paramétrage de libc6:amd64 (2.41-11) ... Checking for services that may need to be restarted... Checking init scripts... Restarting services possibly affected by the upgrade: postgresql: restarting...done. ssh: restarting...done. exim4: restarting...done. cron: restarting...done. Services restarted successfully. [... and spontaneous reboot after some time] It's upgrading libsystemd-shared before upgrading libc6, and the configuration of libc6 rightfully restarts some daemons, but then systemd is at a loss because at that point libsystemd-shared is upgraded but systemd is not (yet). I can reproduce from a fresh bookworm system by doing the following to force the ordering that happened on my system: sed -i s/bookworm/trixie/ /etc/apt/sources.list apt install base-files apt install --download-only libsystemd-shared cd /var/cache/apt/archives dpkg -i locales_* dpkg -i libsystemd-shared_* dpkg -i libc6_* and there it restarts cron, and the machine does not respond any more at all. On system reset, I then get the /sbin/init: error while loading shared libraries: libsystemd-core-252.so: cannot open shared object file: No such file or directory error. Setting a Pre-Depends on libc6 (>= 2.39) in the libsystemd-shared package would help make it ordered like systemd, and avoid the libc6 configuration in-between, but there is no real guarantee that something else won't slip in-between and try to restart a service... Samuel

