3 ms·
/usr/local is for all users of the multi-user server you're on, which you have installed locally. ~/... is for your personal user account /bin (and /usr/bin,
by froh 3y ago
/usr/local is for all users of the multi-user server you're on, which you have installed locally.
~/... is for your personal user account
/bin (and /usr/bin, /sbin, /usr/sbin ) is for system software (from your distro of choice)
and /opt is for third party packages from third party providers
we tend to forget the "Unix" precursor of Linux comes from the data centre server world.
so "a mess" is relative
- theandrewbailey 3y ago> /bin (and /usr/bin, /sbin, /usr/sbin ) is for system software (from your distro of choice) Don't most/popular distros symlink many of those together?
- NekkoDroid 3y agoMost distros use a mostly hermetic-usr, where a majority of "distro stuff" is shipped in /usr/{bin,sbin,lib,lib<bitness>,share}. The folders in root mostly symlink to these directories (/usr/sbin might also symlink to /usr/bin).
- yjftsjthsd-h 3y agoYes, ex. https://wiki.debian.org/UsrMerge https://wiki.debian.org/UsrMerge
- HankB99 3y agoYes https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/ https://www.freedesktop.org/wiki/Software/systemd/TheCaseFor... (Not sure if popularity matters.)
- froh 3y agoyes they do, because the original purpose and value of the separation has gone. "back in the days" before there was an initrd you needed a small disk. that was /bin and /sbin. into that disk some /etc/rc.d/ file would mount a separate /use partition (and /home and /opt), often from network. however with pivot_root and initrd we don't need that dance any more and do another one... likewise the distinction between sbin and bin is gone. that's why they today just symlink together.
- cbm-vic-20 3y ago> we tend to forget the "Unix" precursor of Linux comes from the data centre server world. Indeed. When I first encountered Unix back in the Dark Ages, not only was it common to be working on the same machine with a dozen other people simultaneously, we also had an environment where many programs were hosted on NFS filesystems, and we would have paths like /usr/nfs/alpha-dec-osf1 for Alpha binaries, /usr/nfs/decstation-ultrix for MIPS binaries, /usr/nfs/sparc-sun-solaris, etc. You would make sure your profile scripts included the right architecture path. Even modern UNIXes (like Darwin/MacOS) include write(1), if you want to start a chat with someone else logged into your MacBook, I suppose.