This morning, while doing a routine apt update followed by apt full-upgrade of 3 packages (dpkg, dpkg-dev, libdpkg-perl) on my RPi Zero 2W, I received the following message:
dpkg: warning: This system uses merged-usr-via-aliased-dirs, going behind dpkg's
dpkg: warning: back, breaking its core assumptions. This can cause silent file
dpkg: warning: overwrites and disappearances, and its general tools misbehavior.
dpkg: warning: See https://wiki.debian.org/Teams/Dpkg/FAQ#broken-usrmerge.
I've read the linked wiki article, but it makes little sense to me:
Q: Does dpkg support merged-/usr-via-aliased-dirs?
A: No. This approach is considered broken by design and breaks many common expectations.
In dpkg the expected breakage includes:
failing to notice file conflicts with the subsequent silent file overwrites by f.ex. dpkg, dpkg-divert and update-alternatives,
files disappearing during package upgrades or diversion installation,
failing to activate triggers on pathnames,
failing to find pathnames on dpkg-query -S searches,
failing to install packages shipping the same filename in real and aliased directories (with rather cryptic errors), f.ex. to be able to install otherwise dependency satisfiable packages needed by old software,
completely messing up the filesystem by simply using dpkg-deb -x or tar -x.
If you have a system that has been installed recently (since Debian buster) or switched via the usrmerge hack, you might want to consider using the dpkg-fsys-usrunmess program (but beware that it should not be used in systemd's emergency mode) or reinstalling. For further information see Teams/Dpkg/MergedUsr.
Debian officially only supports merged-/usr-via-aliased-dirs systems. Converting to an unmerged-/usr
setup might break the system in unexpected ways in the future, including data loss or failure to boot.
On the surface, this warning appears to contradict itself; i.e. the first line:
Q: Does dpkg support merged-/usr-via-aliased-dirs? Answer: No ...
And then the last line:
Debian officially only supports merged-/usr-via-aliased-dirs systems. Converting to an unmerged-/usr setup might break the system in unexpected ways in the future, including data loss or failure to boot.