On Thu, 24 Mar 2022 11:13:02 +0100 Ansgar wrote:
> | FATAL ERROR:
> | Can't rename /bin: Invalid cross-device link

> I think we need to deal with this in some way. A possible solution
> might also be to skip conversion in containers for now (as Docker
> containers should probably not be upgraded from one Debian release to
> a newer).

OpenSUSE seems to have chosen this solution as well. Quoting from [1]:

+---
| Upgrading layers of containers does not work (Bug 1187027).
| This is due to overlayfs. There is no workaround. Please re-deploy
| the base image instead.
+---[ https://en.opensuse.org/openSUSE:Usr_merge#State_in_openSUSE ]

The relevant change in their conversion program:

+---
| 45 +if [ "$(stat -f -c %T "${ROOT:-/}")" = "overlayfs" ]; then
| 46 +        echo "UsrMerge conversion does not work on overlayfs"
| 47 +        exit 1
| 48 +fi
+---[ https://build.opensuse.org/request/show/898435 ]

For Debian, I think usrmerge.postinst should skip conversion in case
overlayfs is used (without error, but possibly a warning message). With
this bookworm containers should be usable, but an upgrade of
containers[1] that still use the old filesystem layout from bookworm to
trixie would not be supported / would require the admin to handle
conversion to merged-/usr in some other way.

Ansgar

  [1]: Or other environments that might use overlayfs.

Reply via email to