Differences between revisions 15 and 16
Revision 15 as of 2018-11-21 14:44:08
Size: 2591
Editor: HolgerLevsen
Comment: link https://lists.debian.org/msgid-search/20181121140542.GA31273@espresso.pseudorandom.co.uk
Revision 16 as of 2018-11-22 01:31:49
Size: 2562
Editor: PaulWise
Comment: use mid macros for the mail links
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
[[https://salsa.debian.org/md/usrmerge/raw/master/debian/README.Debian|usrmerge package FAQ]], another highly recommended read is https://lists.debian.org/msgid-search/20181121140542.GA31273@espresso.pseudorandom.co.uk [[https://salsa.debian.org/md/usrmerge/raw/master/debian/README.Debian|usrmerge package FAQ]], another highly recommended read is <<mid(20181121140542.GA31273@espresso.pseudorandom.co.uk)>>

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.


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?

It does not need to be, but some other Linux distributions have done it.


  • Make more people test a merged /usr by installing usrmerge.

  • Fix the packages with conflicting files.

  • Merge the lintian checks for conflicting files (767754).

  • Push forward the policy proposal to disallow conflicting files (759492).

  • Add merged /usr support to the installer (810301). (But until all the conflicting files bugs are fixed, usrmerge will still need to be installed).

  • Enable merged /usr by default in the installer (839046).

  • Recommend installing usrmerge on upgrade (841666)

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

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

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