i always thought /usr stood for “user”. Please tell me I’m not the only one
I was just about to post the same thing. I’ve been using Linux for almost 10 years. I never really understood the folder layout anyway into this detail. My reasoning always was that /lib was more system-wide and /usr/lib was for stuff installed for me only. That never made sense though, since there is only one /usr and not one for every user. But I never really thought further, I just let it be.
Ken Thompson and Dennis Ritchie created Unix on a PDP-7 in 1969. Well around 1971 they upgraded to a PDP-11 with a pair of RK05 disk packs (1.5 megabytes each) for storage.
When the operating system grew too big to fit on the first RK05 disk pack (their root filesystem) they let it leak into the second one, which is where all the user home directories lived (which is why the mount was called /usr). They replicated all the OS directories under there (/bin, /sbin, /lib, /tmp…) and wrote files to those new directories because their original disk was out of space. When they got a third disk, they mounted it on /home and relocated all the user directories to there so the OS could consume all the space on both disks and grow to THREE WHOLE MEGABYTES. And thereafter /usr is used to store user programs while /home is used to store user data.
source: http://lists.busybox.net/pipermail/busybox/2010-December/074114.html
THREE WHOLE MEGABYTES
Me in 2024 holding a 4TB NVMe stick: Still not enough (it’s never enough)
I think it originally did under old Unix, it was what /home is nowadays; “Unix System Resources” is a backronym.
You are correct and this can be seen in some of the old AT&T demos from the '80s floating around on YouTube. There is even a chart that specifically labels a directory like /usr/bwk
as the user’s home.
Plan 9 also uses this old convention; users live under /usr
and there is no /home
.
I thought it was United System Resources.
And I still don’t know what’s the point in separating /bin, /sbin, /usr/bin and /usr/sbin.
Also /mnt and /media
Or why it’s /root and not /home/root
And I still don’t know what’s the point in separating /bin, /sbin, /usr/bin and /usr/sbin.
This goes back to the olden days when disk space was measured in kilo and megabytes. /sbin/ and /usr/sbin have the files needed to start a bare bone Unix/Linux system, so that you could boot from a 800kb floppy and mount all other directories via network or other storage devices as needed.
Is there a reason to keep this structure other than „we’ve always been doing it like that“/backwards compatibility?
They hold “system binaries” meant for root user. It’s not a hard distinction but many if not most Linux fundamentals have their roots in very early computing, mainframes, Bell and Xerox, and this good idea has been carried into the here&now. Not sure about the provenance of this one, but it makes sense. isn’t /mnt /media different between distros? These aren’t hard and fast rules - some distros choose to keep files elsewhere from the “standard”.
/bin and /usr/bin, one is typically a symbolic link to another - they used to be stored on disks of different size, cost, and speed.
https://refspecs.linuxfoundation.org/FHS_3.0/fhs/ch03s16.html
https://unix.stackexchange.com/questions/5915/difference-between-bin-and-usr-bin
Mostly historical reasons, /home was often a network mounted directory, but /root must be local.
And only regular users have their home in /home
Idk why I feel compelled to add this info, but / doesn’t have to be local as long as the necessary kernel modules for mounting it are available in the initrd or built into the kernel.
/home is often on a separate volume. You’d want root to be available in a maintenance situation where /home may not be mounted.
I don’t recall the reasons for the addition but /media is newer than /mnt.
I don’t recall the reasons for the addition but /media is newer than /mnt.
Something to do with hard-coded mounts in /etc/fstab
vs. dynamically-mounted removable media (USB drives etc.), I think.
/sbin are system binaries, eg root only stuff, dunno the rest but I would guess there are some historical reasons for the bin usr/bin separation
I know the distinction between /bin and /sbin, I just don’t know what purpose it serves.
Historically, /bin contained binaries that were needed before /usr was mounted during the boot process (/usr was usually on a networked drive).
Nowadays that’s obsolete, and most distros go ahead and merge the directories.
I think /mnt is where you manually mount a hard drive or other device if you’re just doing it temporarily, and /media has sub folders for stuff like cdrom drives or thumb drives?
Yeah, but why?
You can mount a hard drive anywhere, and why not put all the cdrom and thumbdrive folders in /mnt, too?