zlacker

[return to "Understanding the bin, sbin, usr/bin, usr/sbin split (2010)"]
1. M95D+qx[view] [source] 2026-01-04 17:18:58
>>csmant+(OP)
Sometime around 2000 someone decided that /bin and /sbin isn't enough to boot and mount the rest of the system, so they added further complexity: an initrd/initramfs that does the basic job of /bin and /sbin. They had to complicate the kernel build process, the kernel update, the bootloader, the kernel command line and for what? Just because they didn't want the kernel to have the storage drivers built-in?

So the /bin /sbin became redundant.

Sometime around 2020 someone observed that no current Linux can boot without /usr anyway. So what did they do? Move everything from /usr to / and drop the whole /usr legacy? Noooo, that would be too simple. Move / to /usr. And because that is still too simple, also move /bin, /sbin and /usr/sbin to /usr/bin, and then keep symlinks at the old locations because who's gonna fix hardcoded paths in 99% of all Linux apps anyway??

Oh, how I wish I was born in the '60s, when the world was still sane.

◧◩
2. xaeris+dL[view] [source] 2026-01-04 18:39:32
>>M95D+qx
This is busybox, not the general linux distros.

busybox in Alpine Linux has for example `ps` builtin. If you install ps with `apk add ps` to get the full version, it will remove the symlink for /bin/ps and replace it with the one you installed.

You need to read up on the purpose of busybox. It is not something that the kernel people has decided upon. It is an initiative of an group of people who needed some tools onto a single floppy.

/bin/ps on a Debian distro is 154522 bytes. The whole busybox in Alpine Linux is 804616 bytes and contains a whole lot more than just ps.

https://en.wikipedia.org/wiki/BusyBox https://busybox.net/

◧◩◪
3. M95D+UP[view] [source] 2026-01-04 19:11:44
>>xaeris+dL
No, it's not (just) Busybox. Quotes from Gentoo: https://wiki.gentoo.org/wiki/Merge-usr

> merge-usr is a script which may be used to migrate a system from the legacy "split-usr" layout to the newer "merged-usr" layout as well as the "sbin merge".

> It is required for systemd ≥255 due to changes upstream, but it remains optional for other init systems.

[go to top]