"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
-
Another large subdirectory-structure begins here,
containing libraries, 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
-
This directory contains the vast majority of binaries
(executables) on your system.
- /usr/doc
-
In older releases, this was the central documentation
directory. Current releases use '/usr/share/doc'.
- /usr/etc
-
Theoretically, that's another directory for configuration
files. Practically, I've yet to see a reason to use it.
- /usr/games
-
Once upon a time, this directory contained network
games files. It's rarely used nowadays.
- /usr/i586-mandrake-linux/
-
Used to store some compiler related files.
- /usr/include
-
The directory for 'header files', needed for compiling
source code.
- /usr/info
-
In older releases, this directory contained the
files of the info documentation
system. Now they are in '/usr/share/info'.
- /usr/lib
-
This directory contains program libraries. Libraries
are collections of frequently used program routines.
- /usr/libexec
-
I would lie if I'd say I'd know what this directory
is good for.
- /usr/local
-
The original idea behind '/usr/local' was to have
a separate ('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
-
In older releases, this directory contained the
man pages.
Has been moved to '/usr/share/man'.
- /usr/sbin
-
This directory contains programs for administering
a system, meant to be run by 'root'. Like '/sbin', it's not part of a user's
$PATH.
- /usr/share
-
This directory contains 'shareable', architecture-independent
files (docs, 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."
(From the File system Hierarchy Standard)
- /usr/src
-
The 'linux' sub-directory holds the Linux kernel
sources, header-files and documentation. 'RPM/' provides a substructure for
building RPMs from SRPMs.
- /usr/tmp
-
Hey, look, another directory for temporary files!
;-) It's just a link to 'var/tmp/', though.
Well, I hope this was exhaustive enough for you. It
sure was for me ;-).
section index top
|