Question about /usr

What /usr stands for?

  • Unix System Repository

  • Unix Standard Repository

  • User System Repository

  • User Standard Repository

  • Unix Source Repository

  • Unix System Resources

  • Another thing complitely different


Results are only viewable after voting.
According to the Filesystem Hierarchy Standard it was "Unix Source Repository" and "Unix System Resources". But I think the real answer has been lost to time. I typically pronounce /usr as slash user.

The /usr directory (which has stood both for UNIX source repository and UNIX system resources) is intended to be a read-only directory that stores files that aren't required to boot the system. In general, when you install additional software from your distribution, its binaries, libraries and supporting files go here in their corresponding /usr/bin, /usr/sbin or /usr/lib directories, among some others. When storage was at a premium, you often would mount this directory separately on its own larger disk, so it could grow independently as you added new software.
 
It actually means "elephant" (you know, large animal with long nose), but the original authors of Unix had a rare disease, pachydermdyslexia.

By the way, I highly recommend the Elephant file system: it never forgets. And unlike the previous sentence, this one is not a joke. The joke is on the authors of Elephant, who wrote a follow-up system, which implements forgetting.
 
Very far back in history, it wasn't uncommon to have users' home directories direcly below /usr, so that's most likely what it originally was: a clumsy abbreviation for "user". When it became more common to have a complete "tree" with binaries, libraries and their data below /usr (I can only guess the original reason was to have that on a different device for anything not completely crucial to booting the system), users' home directories commonly moved to /usr/home, and nowadays, most systems put them directly in /home, either completely moved there or using a symbolic link to /usr/home.
 
Very far back in history, it wasn't uncommon to have users' home directories direcly below /usr, so that's most likely what it originally was: a clumsy abbreviation for "user".

Indeed. This from dmr's UNIX notes.

In particular, in our own version of the system, there is a directory "/usr" which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk.
 
Very far back in history, it wasn't uncommon to have users' home directories direcly below /usr
Still the case on Plan9. 386bsd also put user home dirs in /usr. This seems to have changed to /home in FreeBSD on Jan 3 1995 when jhk replaced adduser poerl script with the version from Wolfram Schneider. Personally I prefer /usr (one less letter to type)!
 
My recollection of early Unix systems is that all the things needed to boot the system were put in the root, and everything else was put in /usr. It was desirable to keep the root as small as possible, not just because that made repair easier, but also because disks were very small and /usr was often a mount point to a separate (larger) spindle.

Account creation was entirely manual (edit the password file, make the home directory). Home directories were put where there was space. But there were conventions.

V6 Unix had /usr/ken in the password file.

V7 Unix had /usr/dmr in the password file.

V8 continued the tradition.

4BSD was the same.

By the time 4.2BSD was released, /usr had inexorably accumulated a lot of stuff besides home directories, and the accounts had moved to /usr/guest.

The concept of single user mode is somewhat deprecated today. But in the early days, you would boot into single user mode, manually check the file systems and then "go multi-user".

So to answer the question is that /usr stands for the stuff you didn't need in single user mode, when there are no users to service. Removing the double negatives, the things needed (in addition to the root) by ordinary users...
 
Today that would prevent us from creating users with names bin, local, src and so on.
First of all, actually no. The basename of the home directory does not have to match the user name, it's just a (very much recommended) convention. But then, using any of these names would be insanely confusing as everyone would expect them to be "system users". Speaking of which, at least one of them already exists anyways: bin:*:3:7:Binaries Commands and Source:/:/usr/sbin/nologin.

Thanks for adding a source quickly! TBH, I was too lazy to look for one ?

So, anyone who "tpically pronounces it as user" has to the point intuition on this ?. All these backronyms are just attemtps to fix the semantics afterwards, as the purpose nowadays doesn't have anything to do with the name any more.

The concept of single user mode is somewhat deprecated today.
I wouldn't say so. Failures that can only be fixed in single user mode can still exist. E.g. on FreeBSD, you can remove some problematic module from kld_list again that would otherwise just crash the kernel during boot. Even storage issues requiring single user mode to fix are still possible, although very rare/unlikely.
 
I probably should have chosen my words a little more carefully. In the early days, it was quite usual to be in single user mode for a variety of reasons, e.g.
  • any crash required a reboot into single user mode to run fsck (and that was not uncommon); and
  • getting a good backup of a file system required it to be quiesced, which almost always meant backups were done in single user mode.
An ordinary system would typically be in single user mode for several hours each week -- which is not the case these days.
 
Wow, great thread, I learned a lot already. Nice.

Very far back in history, it wasn't uncommon to have users' home directories direcly below /usr, so that's most likely what it originally was: a clumsy abbreviation for "user". When it became more common to have a complete "tree" with binaries, libraries and their data below /usr (I can only guess the original reason was to have that on a different device for anything not completely crucial to booting the system), users' home directories commonly moved to /usr/home, and nowadays, most systems put them directly in /home, either completely moved there or using a symbolic link to /usr/home.
That's explain why FreeBSD puts home in /usr.

Thank you mate ;-)

Still the case on Plan9. 386bsd also put user home dirs in /usr. This seems to have changed to /home in FreeBSD on Jan 3 1995 when jhk replaced adduser poerl script with the version from Wolfram Schneider. Personally I prefer /usr (one less letter to type)!
Interesting.

So, anyone who "tpically pronounces it as user" has to the point intuition on this ?. All these backronyms are just attemtps to fix the semantics afterwards, as the purpose nowadays doesn't have anything to do with the name any more.
Yeah, I got the same idea. But it still interesting to know the rationale behind those decisions made back then, even if it is just for curiosity sake.
 
Back
Top