/usr/
Vendor-supplied operating system resources. Usually
read-only, but this is not required. Possibly shared between
multiple hosts. This directory should not be modified by the
administrator, except when installing or removing
vendor-supplied packages.
/usr/bin/
Binaries and executables for user commands that shall appear
in the $PATH search path. It is recommended not to place
binaries in this directory that are not useful for invocation
from a shell (such as daemon binaries); these should be
placed in a subdirectory of /usr/lib/ instead.
/usr/include/
C and C++ API header files of system libraries.
/usr/lib/
Static, private vendor data that is compatible with all
architectures (though not necessarily
architecture-independent). Note that this includes internal
executables or other binaries that are not regularly invoked
from a shell. Such binaries may be for any architecture
supported by the system. Do not place public libraries in
this directory, use $libdir (see below), instead.
/usr/lib/arch-id/
Location for placing dynamic libraries into, also called
$libdir. The architecture identifier to use is defined on
Multiarch Architecture Specifiers (Tuples)
[6] list. Legacy
locations of $libdir are /usr/lib/, /usr/lib64/. This
directory should not be used for package-specific data,
unless this data is architecture-dependent, too. To query
$libdir for the primary architecture of the system, invoke:
# systemd-path system-library-arch
/usr/share/
Resources shared between multiple packages, such as
documentation, man pages, time zone information, fonts and
other resources. Usually, the precise location and format of
files stored below this directory is subject to
specifications that ensure interoperability.
/usr/share/doc/
Documentation for the operating system or system packages.
/usr/share/factory/etc/
Repository for vendor-supplied default configuration files.
This directory should be populated with pristine vendor
versions of all configuration files that may be placed in
/etc/. This is useful to compare the local configuration of a
system with vendor defaults and to populate the local
configuration with defaults.
/usr/share/factory/var/
Similar to /usr/share/factory/etc/, but for vendor versions
of files in the variable, persistent data directory /var/.