Hey, I’ve recently designed a Poster about the FHS since I often forget where I should place or find things. Do you have any feedback how to make it better?
I updated the poster: https://whimsical.com/fhs-L6iL5t8kBtCFzAQywZyP4X use the link to see online.
Dark mode
Old version
Great but what I’m missing is the information that “usr” does not stand for “user”, like many people think or even say. If it would the name could actually be “user” and not “usr”.
The chart actually does not say what exactly it stands for. It’s “user resources” AFAIK.
It’s worth clearing this up in my opinion.
Thanks for the input. Things are complicated: https://askubuntu.com/a/135679 . Apparently it originally meant “user” but then slowly was used for system stuff. So people invented backcronyms.
What do you mean by locally vs site wide? For /usr/local that’s usually stuff installed from outside of the distributions normal packaging mechanism. E.g. if you build something from source using “make”, the “make install” would install it there by default (though that is also configurable.)
Also not sure we want to say /mnt is necessarily temporary. Any mount pionts there could easily be added to fstab.
The origin is that /usr
may be network mounted or otherwise shared across multiple systems, whereas /usr/local
is local to a particular PC. That definition is not as relevant with today’s single-user machines, and now it mostly means what you said (/usr is managed by system package manager whereas /usr/local is manually managed).
Laughs in Nix
well nix still uses the same structure, the only difference is that files are symlinked to files in subfolders of the /nix/store folder.
For example you may find that /etc/hosts is just a symlink to /nix/store/69420aaabbbcccdddfffggghhhiii420-hosts
Not everything is in its FHS location, unless you use steam-run. Binaries arwn’t in /bin, for example
how is /usr/local local and not system-wide? i though it was for programs you compiled yourself?
“Local” in this context means local to this whole machine. From the perspective of a single user, it’s system-wide. But then from the perspective of a sysadmin managing dozens of such systems, it’s local.
This is a very useful, very well done chart, congratulations.
But what a mess is FHS. Easily the worst thing of linux design for me