Bug#814240: systemd triggers break upgrades within unstable
Zack Weinberg
zackw at panix.com
Tue Feb 9 13:12:06 GMT 2016
Package: systemd
Version: 228-6
Severity: normal
libpam-systemd, systemd, and libsystemd0 have = dependencies on each
other. This invariant can be temporarily violated in the middle of a
large upgrade, and AIUI that is normal and to be expected. However,
systemd has several dpkg triggers that can fire while the = dependencies
are violated, and when this happens, the entire upgrade bombs out.
Worse, one of those triggers seems to be armed and immediately fired *by
upgrading libsystemd0*, before dpkg has had a chance to upgrade systemd
proper, so this is guaranteed to happen any time the systemd packages
are upgraded.
It's possible to recover by manually installing the new versions of
libpam-systemd, systemd, and libsystemd0, but there's got to be some
way to make apt do the Right Thing, right? (I don't really understand
triggers. I thought they were supposed to postpone work until the *end*
of a large upgrade, but they seem to go off all the time in the middle.)
Example upgrade transcript:
# aptitude safe-upgrade
[...]
Extracting templates from packages: 100%
Preconfiguring packages ...
[...snip...]
(Reading database ... 289818 files and directories currently installed.)
Preparing to unpack .../linux-image-4.3.0-1-amd64_4.3.5-1_amd64.deb ...
Unpacking linux-image-4.3.0-1-amd64 (4.3.5-1) over (4.3.3-7) ...
Preparing to unpack .../archives/udev_228-6_amd64.deb ...
Unpacking udev (228-6) over (228-5) ...
Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
Unpacking libpam-systemd:amd64 (228-6) over (228-5) ...
Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
Unpacking libsystemd0:amd64 (228-6) over (228-5) ...
Setting up libsystemd0:amd64 (228-6) ...
Processing triggers for libc-bin (2.21-7) ...
dpkg: dependency problems prevent processing triggers for systemd:
systemd depends on libsystemd0 (= 228-5); however:
Version of libsystemd0:amd64 on system is 228-6.
dpkg: error processing package systemd (--triggers-only):
dependency problems - leaving triggers unprocessed
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)
Failed to perform requested operation on package. Trying to recover:
Setting up libquadmath0:amd64 (5.3.1-8) ...
Setting up linux-image-4.3.0-1-amd64 (4.3.5-1) ...
[...snip...]
Setting up libobjc4:amd64 (5.3.1-8) ...
dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
libpam-systemd:amd64 depends on systemd (= 228-6); however:
Version of systemd on system is 228-5.
dpkg: error processing package libpam-systemd:amd64 (--configure):
dependency problems - leaving unconfigured
Setting up libx32gcc1 (1:5.3.1-8) ...
[...snip...]
Setting up udev (228-6) ...
addgroup: The group `input' already exists as a system group. Exiting.
update-initramfs: deferring update (trigger activated)
dpkg: dependency problems prevent processing triggers for systemd:
systemd depends on libsystemd0 (= 228-5); however:
Version of libsystemd0:amd64 on system is 228-6.
dpkg: error processing package systemd (--configure):
dependency problems - leaving triggers unprocessed
Setting up libx32asan2 (5.3.1-8) ...
[..snip...]
Processing triggers for libc-bin (2.21-7) ...
Processing triggers for initramfs-tools (0.122) ...
update-initramfs: Generating /boot/initrd.img-4.3.0-1-amd64
Errors were encountered while processing:
libpam-systemd:amd64
systemd
Press Return to continue.
# aptitude safe-upgrade
Performing actions...
Reading changelogs... Done
Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 289818 files and directories currently installed.)
Preparing to unpack .../acl_2.2.52-3_amd64.deb ...
Unpacking acl (2.2.52-3) over (2.2.52-2) ...
Preparing to unpack .../libacl1_2.2.52-3_amd64.deb ...
Unpacking libacl1:amd64 (2.2.52-3) over (2.2.52-2) ...
Setting up libacl1:amd64 (2.2.52-3) ...
Processing triggers for libc-bin (2.21-7) ...
dpkg: dependency problems prevent processing triggers for systemd:
systemd depends on libsystemd0 (= 228-5); however:
Version of libsystemd0:amd64 on system is 228-6.
dpkg: error processing package systemd (--triggers-only):
dependency problems - leaving triggers unprocessed
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
systemd
E: Sub-process /usr/bin/dpkg returned an error code (1)
Failed to perform requested operation on package. Trying to recover:
dpkg: dependency problems prevent configuration of libpam-systemd:amd64:
libpam-systemd:amd64 depends on systemd (= 228-6); however:
Version of systemd on system is 228-5.
dpkg: error processing package libpam-systemd:amd64 (--configure):
dependency problems - leaving unconfigured
dpkg: dependency problems prevent processing triggers for systemd:
systemd depends on libsystemd0 (= 228-5); however:
Version of libsystemd0:amd64 on system is 228-6.
dpkg: error processing package systemd (--configure):
dependency problems - leaving triggers unprocessed
Setting up acl (2.2.52-3) ...
Errors were encountered while processing:
libpam-systemd:amd64
systemd
Press Return to continue.
# dpkg -i /var/cache/apt/archives/*systemd*_228-6_amd64.deb
(Reading database ... 289815 files and directories currently installed.)
Preparing to unpack .../libpam-systemd_228-6_amd64.deb ...
Unpacking libpam-systemd:amd64 (228-6) over (228-6) ...
Preparing to unpack .../libsystemd0_228-6_amd64.deb ...
Unpacking libsystemd0:amd64 (228-6) over (228-6) ...
Preparing to unpack .../systemd_228-6_amd64.deb ...
Unpacking systemd (228-6) over (228-5) ...
Preparing to unpack .../systemd-sysv_228-6_amd64.deb ...
Unpacking systemd-sysv (228-6) over (228-5) ...
Setting up libsystemd0:amd64 (228-6) ...
Setting up systemd (228-6) ...
addgroup: The group `systemd-journal' already exists as a system group. Exiting.
Setting up systemd-sysv (228-6) ...
Setting up libpam-systemd:amd64 (228-6) ...
Processing triggers for man-db (2.7.5-1) ...
Processing triggers for dbus (1.10.6-1) ...
Processing triggers for libc-bin (2.21-7) ...
# aptitude safe-upgrade
[ ... proceeds normally ... ]
-- Package-specific info:
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (501, 'unstable'), (500, 'testing'), (101, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.3.0-1-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages systemd depends on:
ii adduser 3.113+nmu3
ii libacl1 2.2.52-3
ii libapparmor1 2.10-3
ii libaudit1 1:2.4.5-1
ii libblkid1 2.27.1-3
ii libc6 2.21-7
ii libcap2 1:2.24-12
ii libcap2-bin 1:2.24-12
ii libcryptsetup4 2:1.7.0-2
ii libgcrypt20 1.6.4-5
ii libkmod2 22-1
ii liblzma5 5.1.1alpha+20120614-2.1
ii libmount1 2.27.1-3
ii libpam0g 1.1.8-3.2
ii libseccomp2 2.2.3-2
ii libselinux1 2.4-3
ii libsystemd0 228-6
ii mount 2.27.1-3
ii util-linux 2.27.1-3
Versions of packages systemd recommends:
ii dbus 1.10.6-1
ii libpam-systemd 228-6
Versions of packages systemd suggests:
pn systemd-container <none>
pn systemd-ui <none>
Versions of packages systemd is related to:
ii udev 228-6
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list