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