File System Hierarchy IV
Summary:
- /usr
usr
"In the original Unix implementations, /usr was where the home directories of the users were placed (that is to say, /usr/someone was then the directory now known as /home/someone ). In current Unices, /usr is where user-land programs and data (as opposed to 'system land' programs and data) hang out. The name hasn't changed, but it's meaning has narrowed and lengthened from "everything user related" to "user usable programs and data"." (Lew Pitcher on /.)
The '/usr' directory contains the vast majority of files on every Linux box. All the programs go there, their documentation, their libraries, their header files etc.
At a first glance, the listing of this directory is really frightening. It is very easy to get lost in here.
/usr/X11R6
executables, docs, fonts and much more concerning the X Window System.
Its inclusion here is somewhat inconsistent and so is the difference between '/usr' and '/usr/X11R6' directories. One would assume that programs that run on X only have their files in the '/usr/X11R6' hierarchy, while the others use '/usr'. Regrettably, it isn't so. KDE and GNOME put their files in the '/usr' hierarchy, whereas the window manager Window Maker uses '/usr/X11R6'.
Documentation files for X11R6 are not in '/usr/X11R6/doc', but primarily in '/usr/X11R6/lib/X11/doc' (one might not have guessed that, hum? ;-)).
This mess is due to the fact that in contrast to other operating systems, the graphical desktop isn't an integral part of the system. Linux is still primarily used on servers, where graphical systems don't make sense.
/usr/bin
your system.
/usr/doc
releases use '/usr/share/doc'.
/usr/etc
Practically, I've yet to see a reason to use it.
/usr/games
rarely used nowadays.
/usr/i586-mandrake-linux/
/usr/include
/usr/info
Now they are in '/usr/share/info'.
/usr/lib
frequently used program routines.
/usr/libexec
/usr/local
'/usr' directory on every machine besides '/usr', which might be just mounted read-only from somewhere else. It copies the structure of '/usr'. These days, '/usr/local' is widely regarded as a good place to keep self-compiled or third-party programs in.
/usr/man Has been moved to '/usr/share/man'.
/usr/sbin
run by 'root'. Like '/sbin', it's not part of a user's $PATH.
/usr/share
icons, fonts etc).
Note, however, that '/usr/share' is generally not intended to be shared by different operating systems or by different releases of the same operating system.
Any program or package which contains or requires data that doesn't need to be modified should store that data in '/usr/share' (or '/usr/local/share', if installed locally). It is recommended that a subdirectory be used in /usr/share for this purpose. Source
/usr/src
documentation. 'RPM/' provides a substructure for building RPMs from SRPMs.
/usr/tmp
'var/tmp/', though.
Well, I hope this was exhaustive enough for you. It sure was for me ;-).
Related Resources:
Document data
- Lost account?
- Join the community, be part of the Club: it's free!
- Get the PWP Download Subscription!