8

I've read quite a number of discussions about people wanting to merge /bin and /sbin into /usr/bin. The same cannot be said for doing it the other way around.

Is there any technical reason why one would not want to merge /usr/bin and /usr/sbin into /bin, or is it mainly a personal preference/design choice?

  • 3
  • I'm well aware of what they're used for. I'm really more interested in why people (I think Fedora did that) chose to merge everything into /usr/bin rather than the other way around. Obviously, it's not really necessary to follow the original intention of /bin and /sbin anymore. At least not on the desktop. I was going to design my own, Debian based distro and this is something I have been pondering with. Just seems more elegant to me to have all applications in /bin. – user237251 Mar 24 '14 at 21:51
  • I think Fedora did that Fedora symlinked /bin, /lib, /lib64 and /sbin to /usr/bin, /usr/lib, /usr/lib64 and /usr/sbin. /bin and /sbin are still separate. – Dennis Mar 24 '14 at 23:56

4 Answers4

10

The reason that things were merged to /usr and not to / are noted in The Case for the /usr Merge:

Myth #11: Instead of merging / into /usr it would make a lot more sense to merge /usr into /.

Fact: This would make the separation between vendor-supplied OS resources and machine-specific even worse, thus making OS snapshots and network/container sharing of it much harder and non-atomic, and clutter the root file system with a multitude of new directories.

jordanm
  • 42,678
  • 1
  • What do you mean by "vendor"? 2. But there is no separation between "vendor-supplied OS resources" and machine-specific resources. 3. "And clutter the root filesystem" - on the contrary. Instead of having redundant folders on / and in /usr, we would just have folders under /, and no more arbitrary /usr prefix for files which in the far past were on some separate disk.
  • – einpoklum Apr 06 '22 at 19:32
  • @einpoklum you're 8 years too late to make a case against the /usr merge. I agree the concept of a /usr dir shared between multiple systems or even seperate partitions from / is an outdated idea, but it wasn't yet in 2014. – jordanm Apr 06 '22 at 20:17
  • @jordanm With todays clustered, networked, and virtualized environments, it it more up-to-date than ever. Atomic updates of signed, read-only system partitions are also on the rise. – Bachsau Mar 05 '23 at 14:02
  • @einpoklum etc, home, var and srv are not vendor-supplied, i.e. not really part of the distribution. – Bachsau Mar 05 '23 at 14:09
  • @Bachsau: Some of /etc is vendor-supplied; but regardless - I'm not sure how your comment bears on mine. – einpoklum Mar 05 '23 at 18:22
  • @Bachsau Can you point me to a modern project implementing those things via shared /usr? Edit: Virtualized env are also on their way out in the *nix world. Containers (eg k8s) on bare metal is replacing virtualization in a lot of areas. – jordanm Mar 06 '23 at 17:45