Understanding the bin, sbin, usr/bin, usr/sbin split (2010)
4 months ago
- #Filesystem
- #Unix
- #History
- The split between /bin, /sbin, /usr/bin, and /usr/sbin originated from Unix's early days when disk space was limited.
- Initially, /usr was used to extend the root filesystem when the primary disk ran out of space.
- Rules were created to manage dependencies during system boot, such as keeping essential commands like 'mount' outside /usr.
- Modern systems use initrd or initramfs to handle early boot dependencies, making the original split obsolete.
- Shared libraries introduced dependency issues between /lib and /usr/bin, complicating the split further.
- Hard drive advancements in the 1990s rendered the space-saving rationale irrelevant.
- Additional directories like /usr/local and /opt were introduced for site-specific and third-party software, adding complexity.
- Different distributions have inconsistent rules for directories like /tmp and /var/tmp.
- Standards bodies have perpetuated the split without understanding its historical context.
- BusyBox follows traditional placement for compatibility, though the split lacks practical justification today.