Translation(s): none


The Debian /usr Merge

This page tracks Debian support for the merged /usr directories scheme, i.e. the /{bin,sbin,lib}/ directories becoming symbolic links to /usr/{bin,sbin,lib}/.

The usrmerge package will convert the system it is installed on.

FAQ

For more information, please refer to the usrmerge package FAQ, another highly recommended read is <20181121140542.GA31273@espresso.pseudorandom.co.uk>

Is this about merging /usr/bin/ and /usr/sbin/?

No, there are no plans to do that.

Will switching to a merged /usr be mandatory?

In February 2021, the Technical Committee has resolved that Debian 'bookworm' should support only the merged-usr root filesystem layout, dropping support for the non-merged-usr layout. (978636)

The transition started on September 17th, 2022, by making init-system-helpers depend on usrmerge.

usrmerge is uninstallable, what do I do?

You might have run a script that installs a blocker metapackage. It needs to be removed manually, then apt will be able to upgrade the system:

TODO

Resources for developers

Conflicting files

Packages which provide compatibility symlinks must manage them in the maintainer scripts.

The packages currently in the archive use code like:

# postinst
if [ "$1" = 'configure' -a ! -e '/usr/bin/which' ]; then
  ln -s /bin/which /usr/bin/which
fi

# postrm
if [ "$1" = 'remove' -a -L '/usr/bin/which' ]; then
  rm /usr/bin/which
fi

Adoption rate

Merged /usr has been the default since debootstrap 1.0.85, reverted in 1.0.87 and re-enabled in 1.0.102.

See popcon for upgrades of older systems.

See also