[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: How to undo a merged-user installation?



On Tue, 2020-02-18 at 17:58:30 +0100, Svante Signell wrote:
> I recently installed Debian/bullseye/sid in a VM from a snapshot. After
> running that image I realized the I got a merged-user installation.
> 
> As for now I have:
> bin -> usr/bin
> lib -> usr/lib
> lib32 -> usr/lib32
> lib64 -> usr/lib64
> libx32 -> usr/libx32
> sbin -> usr/sbin
> 
> Is there some way to achieve a non-merged-user system from the current
> situation? 

Unfortunately you'll have to consider the damage from the default
installer layout irreversible. You could, while not running the system,
remove the symlinks, then move things around based on the pathnames known
to dpkg, but that would still miss all the mess with compat symlinks that
need to be generated by maintainer scripts due to having to support the
merged-/usr-via-symlinks hack. :/

My recommendation is to reinstall from scratch:

 * If using d-i, you'll need to install in expert mode, and proceed just
   before the “install the base system” (or similarly named) step,
   execute a shell and edit «/var/lib/dpkg/info/bootstrap-base.postinst»
   and add «--no-merged-usr» to the «run-debootstrap» call. Then exit the
   shell and proceed with the installation. I've done this recently
   and it works fine.

 * If you are using raw debootstrap then just pass that option. Or
   just switch to use mmdebstrap which does not have a broken default,
   and is way way faster anyway.

 * Otherwise you'll need to fix whatever is generating those snapshots.

> The Debian Installer does not seem to have an option for a non-merged-user
> installation. Is that true?

That would be #923091 with a patch provided by Colin Watson
<https://salsa.debian.org/installer-team/base-installer/merge_requests/1>,
which unfortunately missed the buster release.

Thanks,
Guillem


Reply to: