[Bug 1988300] Re: systemd-resolved in kinetic image tries to replace resolv.conf
Athos Ribeiro
1988300 at bugs.launchpad.net
Wed Aug 31 12:11:52 UTC 2022
Thanks for filing this bug, Peter.
The issue here is not related to /etc/resolv.conf being read-only (it is
actually a RW file) [1]. The issue lies in the fact that it is always
mounted in a running container by docker itself [2].
During a package installation process, dpkg performs backups of existing
files through hard links. Hard links cannot be performed across mounts,
hence, dpkg fails to install systemd-resolved when it tried to backup
/etc/resolv.conf
$ apt-file search /etc/resolv.conf
...
systemd-resolved: /etc/resolv.conf
Now, while I am unsure where this bug belongs, this should be a good
place to start a discussion.
For further context, this is the bug where systemd-resolved split and
/etc/resolv.conf ownership were discussed [3].
[1] https://github.com/moby/moby/pull/5129/files
[2] https://docs.docker.com/storage/#good-use-cases-for-bind-mounts
[3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939904
** Bug watch added: Debian Bug tracker #939904
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=939904
** Also affects: dpkg (Ubuntu)
Importance: Undecided
Status: New
** Also affects: systemd (Ubuntu)
Importance: Undecided
Status: New
** Summary changed:
- systemd-resolved in kinetic image tries to replace resolv.conf
+ systemd-resolved is not installable in Docker images
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to dpkg in Ubuntu.
https://bugs.launchpad.net/bugs/1988300
Title:
systemd-resolved is not installable in Docker images
Status in Ubuntu Docker Images:
New
Status in dpkg package in Ubuntu:
New
Status in systemd package in Ubuntu:
New
Bug description:
Since 30 August (going by my daily CI builds, I do see the changelog
entry for resolved is a few days older), I get this:
Selecting previously unselected package systemd-resolved.
Preparing to unpack .../321-systemd-resolved_251.4-1ubuntu1_amd64.deb ...
Unpacking systemd-resolved (251.4-1ubuntu1) ...
dpkg: error processing archive /tmp/apt-dpkg-install-NS2Yvi/321-systemd-resolved_251.4-1ubuntu1_amd64.deb (--unpack):
unable to make backup link of './etc/resolv.conf' before installing new version: Invalid cross-device link
The reason this fails is that Docker mounts resolv.conf, readonly,
from the host system, so dpkg is not allowed to move/replace it.
(To be clear, I do not need systemd-resolved in my container. "apt
install devscripts" pulled it in, and debtree does not tell me why.
"apt install --no-install-recommends devscripts" does not pull it in,
and I'll likely adjust my builds [for PowerDNS] to do that because
it's a good idea anyway).
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-docker-images/+bug/1988300/+subscriptions
More information about the foundations-bugs
mailing list