Frequently Asked Question

What is the /usr merge and why are /bin and /usr/bin the same now?

For most of Linux's history, /bin, /sbin, and /lib lived on the root partition and held the bare minimum needed to boot to single-user mode; /usr/bin, /usr/sbin, and /usr/lib held everything else and could live on a separate partition mounted later. This split made sense in the 1970s when disks were tiny, Ken Thompson literally ran out of space and moved files onto a second disk, but on modern systems with an initramfs the root partition no longer needs to be self-sufficient, since the initramfs already mounts /usr before the system tries to use anything from it.

The /usr merge, championed by Fedora and now standard on Arch, openSUSE, recent Debian, and Ubuntu, replaces /bin, /sbin, /lib, and /lib64 with symlinks pointing into /usr. The benefits are real: /usr can be mounted read-only (or shared over the network, or snapshotted atomically), distribution packages don't have to worry about whether /bin/grep and /usr/bin/grep are the same file, and the layout matches Solaris and the systemd ecosystem's assumptions. Existing scripts using either path keep working because the symlinks resolve transparently.

Further reading and video