[Bug 2047975] Re: package systemd-resolved 253.5-1ubuntu7 failed to install/upgrade: installed systemd-resolved package post-installation script subprocess returned error exit status 1 [cp: '/etc/resolv.conf' and '/run/systemd/resolve/stub-resolv.conf' are the same file]

Nick Rosbrook 2047975 at bugs.launchpad.net
Fri May 17 09:53:35 UTC 2024


** Description changed:

+ [Impact]
+ 
+ For users that disabled the stub-resolver, and in doing so also created
+ a symlink /etc/resolv.conf -> /run/systemd/resolve/resolv.conf (note
+ this is not the correct way to disable the stub-resolver), upgrading
+ from Jammy to Noble will fail with:
+ 
+ cp: '/etc/resolv.conf' and '/run/systemd/resolve/stub-resolv.conf' are
+ the same file
+ 
+ This logic in systemd-resolved.postinst is guarded by a version check,
+ and is only run on upgrades from systemd versions before 251.4-2 (which
+ in practice means only upgrades from Jammy), and on new installs.
+ 
+ [Test Plan]
+ 
+ Start a VM or container running Jammy. Disable the stub-resolver, and
+ create the symlink /etc/resolv.conf -> /run/systemd/resolve/resolv.conf:
+ 
+ $ mkdir -p /etc/systemd/resolved.conf.d/
+ $ cat > /etc/systemd/resolved.conf.d/no-stub-resolver.conf << EOF
+ [Resolve]
+ DNSStubListener=no
+ EOF
+ 
+ $ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
+ $ sudo systemctl restart systemd-resolved
+ 
+ Then, run an upgrade to Noble:
+ 
+ $ do-release-upgrade --devel
+ 
+ NB that currently, even devel upgrades are disabled to from Jammy to
+ Noble, so the upgrade would need to be run as:
+ 
+ $ wget http://archive.ubuntu.com/ubuntu/dists/noble-proposed/main/ $ tar xf noble.tar.gz 
+ $ ./noble 
+ 
+ Inspect the relevant output and logs to ensure that systemd-resolved was
+ upgraded successfully during the upgrade.
+ 
+ [Where problems could occur]
+ 
+ The fix is to make such a failure non-fatal. This is safe because
+ although manually creating this symlink is not necessary, it will not
+ impact the operation of systemd-resolved. Hence, failing to make this cp
+ will not impact the user. Later in the postinst, we force the new
+ symlink anyways.
+ 
+ If something was wrong with the change, it would likely cause the
+ systemd-resolved.postinst to fail a different way.
+ 
+ [Original Description]
+ 
  upgraded from 22.04 -> 24.04
  
  ProblemType: Package
  DistroRelease: Ubuntu 24.04
  Package: systemd-resolved 253.5-1ubuntu7
  ProcVersionSignature: Ubuntu 6.2.0-39.40~22.04.1-generic 6.2.16
  Uname: Linux 6.2.0-39-generic x86_64
  ApportVersion: 2.27.0-0ubuntu6
  Architecture: amd64
  CasperMD5CheckResult: pass
  CloudArchitecture: x86_64
  CloudID: none
  CloudName: none
  CloudPlatform: none
  CloudSubPlatform: config
  Date: Wed Jan  3 21:06:55 2024
  ErrorMessage: installed systemd-resolved package post-installation script subprocess returned error exit status 1
  InstallationDate: Installed on 2023-02-27 (311 days ago)
  InstallationMedia: Ubuntu-Server 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809)
  Python3Details: /usr/bin/python3.11, Python 3.11.7, python3-minimal, 3.11.4-5
  PythonDetails: N/A
  RebootRequiredPkgs: Error: path contained symlinks.
  RelatedPackageVersions:
-  dpkg 1.22.1ubuntu5
-  apt  2.7.6
+  dpkg 1.22.1ubuntu5
+  apt  2.7.6
  SourcePackage: systemd
  Title: package systemd-resolved 253.5-1ubuntu7 failed to install/upgrade: installed systemd-resolved package post-installation script subprocess returned error exit status 1
  UpgradeStatus: Upgraded to noble on 2024-01-03 (0 days ago)
  mtime.conffile..etc.systemd.resolved.conf: 2023-02-27T21:16:55.869158

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to systemd in Ubuntu.
https://bugs.launchpad.net/bugs/2047975

Title:
  package systemd-resolved 253.5-1ubuntu7 failed to install/upgrade:
  installed systemd-resolved package post-installation script subprocess
  returned error exit status 1 [cp: '/etc/resolv.conf' and
  '/run/systemd/resolve/stub-resolv.conf' are the same file]

Status in systemd package in Ubuntu:
  Fix Committed
Status in systemd source package in Noble:
  Triaged

Bug description:
  [Impact]

  For users that disabled the stub-resolver, and in doing so also
  created a symlink /etc/resolv.conf -> /run/systemd/resolve/resolv.conf
  (note this is not the correct way to disable the stub-resolver),
  upgrading from Jammy to Noble will fail with:

  cp: '/etc/resolv.conf' and '/run/systemd/resolve/stub-resolv.conf' are
  the same file

  This logic in systemd-resolved.postinst is guarded by a version check,
  and is only run on upgrades from systemd versions before 251.4-2
  (which in practice means only upgrades from Jammy), and on new
  installs.

  [Test Plan]

  Start a VM or container running Jammy. Disable the stub-resolver, and
  create the symlink /etc/resolv.conf ->
  /run/systemd/resolve/resolv.conf:

  $ mkdir -p /etc/systemd/resolved.conf.d/
  $ cat > /etc/systemd/resolved.conf.d/no-stub-resolver.conf << EOF
  [Resolve]
  DNSStubListener=no
  EOF

  $ sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf
  $ sudo systemctl restart systemd-resolved

  Then, run an upgrade to Noble:

  $ do-release-upgrade --devel

  NB that currently, even devel upgrades are disabled to from Jammy to
  Noble, so the upgrade would need to be run as:

  $ wget http://archive.ubuntu.com/ubuntu/dists/noble-proposed/main/ $ tar xf noble.tar.gz 
  $ ./noble 

  Inspect the relevant output and logs to ensure that systemd-resolved
  was upgraded successfully during the upgrade.

  [Where problems could occur]

  The fix is to make such a failure non-fatal. This is safe because
  although manually creating this symlink is not necessary, it will not
  impact the operation of systemd-resolved. Hence, failing to make this
  cp will not impact the user. Later in the postinst, we force the new
  symlink anyways.

  If something was wrong with the change, it would likely cause the
  systemd-resolved.postinst to fail a different way.

  [Original Description]

  upgraded from 22.04 -> 24.04

  ProblemType: Package
  DistroRelease: Ubuntu 24.04
  Package: systemd-resolved 253.5-1ubuntu7
  ProcVersionSignature: Ubuntu 6.2.0-39.40~22.04.1-generic 6.2.16
  Uname: Linux 6.2.0-39-generic x86_64
  ApportVersion: 2.27.0-0ubuntu6
  Architecture: amd64
  CasperMD5CheckResult: pass
  CloudArchitecture: x86_64
  CloudID: none
  CloudName: none
  CloudPlatform: none
  CloudSubPlatform: config
  Date: Wed Jan  3 21:06:55 2024
  ErrorMessage: installed systemd-resolved package post-installation script subprocess returned error exit status 1
  InstallationDate: Installed on 2023-02-27 (311 days ago)
  InstallationMedia: Ubuntu-Server 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809)
  Python3Details: /usr/bin/python3.11, Python 3.11.7, python3-minimal, 3.11.4-5
  PythonDetails: N/A
  RebootRequiredPkgs: Error: path contained symlinks.
  RelatedPackageVersions:
   dpkg 1.22.1ubuntu5
   apt  2.7.6
  SourcePackage: systemd
  Title: package systemd-resolved 253.5-1ubuntu7 failed to install/upgrade: installed systemd-resolved package post-installation script subprocess returned error exit status 1
  UpgradeStatus: Upgraded to noble on 2024-01-03 (0 days ago)
  mtime.conffile..etc.systemd.resolved.conf: 2023-02-27T21:16:55.869158

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/2047975/+subscriptions




More information about the foundations-bugs mailing list