Bug#838431: systemd.postinst fails because the systemd-timesync user already exists when upgrading
Grond
grond66 at riseup.net
Wed Sep 21 04:31:13 BST 2016
Package: systemd
Version: 215-17+deb8u5
Severity: grave
Justification: renders package unusable
Dear Maintainer,
I recently was upgrading my system with `aptitude upgrade`.
Everything was working fine up until dpkg tried to configure the new
version of the systemd package (215-17+deb8u5).
Here is some representative output from aptitude/dpkg:
Setting up systemd (215-17+deb8u5) ...
addgroup: The group `systemd-journal' already exists as a system group. Exiting.
dpkg: error processing package systemd (--configure):
subprocess installed post-installation script returned error exit status 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 systemd (215-17+deb8u5) ...
addgroup: The group `systemd-journal' already exists as a system group. Exiting.
dpkg: error processing package systemd (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
systemd
In spite of the error messages, which would indicate debain/systemd.postinst line 100:
addgroup --system systemd-journal
As the culprit, testing reveals that the problem is line 102:
adduser --quiet --system --group --no-create-home --home /run/systemd \
--gecos "systemd Time Synchronization" systemd-timesync
adduser --quiet --system --group --no-create-home --home /run/systemd/netif \
--gecos "systemd Network Management" systemd-network
adduser --quiet --system --group --no-create-home --home /run/systemd/resolve \
--gecos "systemd Resolver" systemd-resolve
adduser --quiet --system --group --no-create-home --home /run/systemd \
--gecos "systemd Bus Proxy" systemd-bus-proxy
`getent user systemd-timesync`:
systemd-timesync:x:100:103:systemd Time Synchronization,,,:/run/systemd:/bin/false
`getent` queries for the other systemd users referenced in the above have similar results.
Apparently, `adduser` returns a non-zero exit status when told to create a user that already
exists, even if the --quiet flag is given.
Since the whole script is run under `set -e`, when the `adduser` command fails, the entire
systemd.postist script aborts.
Fixing the problem is as simple as appending ' || true' to the end of each of the
problematic `adduser` commands
-- Package-specific info:
-- System Information:
Debian Release: 8.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 3.16.0-4-amd64 (SMP w/1 CPU core)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages systemd depends on:
ii acl 2.2.52-2
ii adduser 3.113+nmu3
ii initscripts 2.88dsf-59
ii libacl1 2.2.52-2
ii libaudit1 1:2.4-1+b1
ii libblkid1 2.25.2-6
ii libc6 2.19-18+deb8u6
ii libcap2 1:2.24-8
ii libcap2-bin 1:2.24-8
ii libcryptsetup4 2:1.6.6-5
ii libgcrypt20 1.6.3-2+deb8u2
ii libkmod2 18-3
ii liblzma5 5.1.1alpha+20120614-2+b3
ii libpam0g 1.1.8-3.1+deb8u1+b1
ii libselinux1 2.3-2
ii libsystemd0 215-17+deb8u5
ii mount 2.25.2-6
ii sysv-rc 2.88dsf-59
ii udev 215-17+deb8u5
ii util-linux 2.25.2-6
Versions of packages systemd recommends:
ii dbus 1.8.20-0+deb8u1
pn libpam-systemd <none>
Versions of packages systemd suggests:
pn systemd-ui <none>
-- no debconf information
More information about the Pkg-systemd-maintainers
mailing list