The /usr/local
hierarchy is for use by the
system administrator when installing software locally. It needs to be
safe from being overwritten when the system software is updated. It
may be used for programs and data that are shareable amongst a group
of hosts, but not found in /usr
.
Locally installed software must be placed within
/usr/local
rather than /usr
unless it is being installed to replace or upgrade software in
/usr
.
[28]
The following directories, or symbolic links to directories,
must be in /usr/local
Directory | Description |
---|---|
bin | Local binaries |
etc | Host-specific system configuration for local binaries |
games | Local game binaries |
include | Local C header files |
lib | Local libraries |
man | Local online manuals |
sbin | Local system binaries |
share | Local architecture-independent hierarchy |
src | Local source code |
No other directories, except those listed below, may be in
/usr/local
after first installing a FHS-compliant
system.
If directories /lib
or
<qual>
/usr/lib
exist, the equivalent
directories must also exist in <qual>
/usr/local
.
/usr/local/etc
may be a symbolic link to
/etc/local
.
The consistency of /usr/local/etc
is
beneficial to installers, and is already used in other systems. As
all of /usr/local
needs to be backed up to
reproduce a system, it introduces no additional maintenance overhead,
but a symlink to /etc/local
is suitable if
systems want all their configuration under one hierarchy.
Note that /usr/etc
is still not allowed: programs
in /usr
should place configuration files in
/etc
.
If the directory /usr/share/color
exists as
specified in this document, then the directory
/usr/local/share/color
must also exist, governed
by the same rules as /usr/share/color
.
This usage allows the sysadmin a place to install color profiles manually when necessary.
The requirements for the contents of this directory are the same
as for /usr/share
.
[28]
Software placed in /
or
/usr
may be overwritten by system upgrades
(though we recommend that distributions do not overwrite data in
/etc
under these circumstances). For this
reason, local software must not be placed outside of
/usr/local
without good reason.