zlacker

[return to "Understanding the bin, sbin, usr/bin, usr/sbin split (2010)"]
1. behnam+Cm[view] [source] 2026-01-04 16:12:40
>>csmant+(OP)
This is what happens when a system is designed by multiple people and companies over a long period of time. An amalgam of ideas which are there just because. There's no reason Linux should be like this. e.g., see https://gobolinux.org/ which has more sane dirs.
◧◩
2. jmclnx+Yo[view] [source] 2026-01-04 16:27:01
>>behnam+Cm
Not really, back then disks were very expensive and you had no choice but to split. And disk sizes were very small.

But, I in a way int kind of makes sense.

/bin and /sbin, needed for system boot. /usr/bin and /usr/sbin for normal runtime.

's' for items regular users do not need to run, remember, UN*X is a multi-user system, not a one person system like macs, windows and in most cases Linux.

◧◩◪
3. kokada+Tp[view] [source] 2026-01-04 16:33:15
>>jmclnx+Yo
> /bin and /sbin, needed for system boot. /usr/bin and /usr/sbin for normal runtime.

Nowadays most Linux systems boot with initramfs, that is a compressed image that includes everything the system needs to boot, so you're basically saying /bin and /sbin is useless.

◧◩◪◨
4. schmuc+nz[view] [source] 2026-01-04 17:29:06
>>kokada+Tp
> initramfs, that is a compressed image that includes everything the system needs to boot

Not always (raise your hand if you've had an unbootable system due to a broken or insufficient initrd).

In retrospect, the whole concept of the initrd seems like an enormous kludge that was thrown together temporarily and became the permanent solution.

◧◩◪◨⬒
5. kees99+RG[view] [source] 2026-01-04 18:13:48
>>schmuc+nz
> initrd seems like an enormous kludge that was thrown together temporarily and became the permanent solution.

Eh, kinda. That's where "essential" .ko modules are packed into - those that system would fail to boot without.

Alternative is to compile them into kernel as built-ins, but from distro maintainers' perspective, that means including way too many modules, most of which will remain unused.

If you're compiling your own kernel, that's a different story, often you can do without initrd just fine.

[go to top]