Site Tools


path-usr

Table of Contents

/usr

/usr is the secondary hierarchy and holds the bulk of the system's installed software. On a fresh install the majority of disk space under / is consumed by /usr. It mirrors the top-level structure: /usr/bin for user binaries, /usr/lib for libraries, /usr/sbin for admin tools, /usr/share for architecture-independent data, and /usr/include for C header files. The constraint that applies to /bin and /lib (must be available before other filesystems mount) does not apply here: /usr can be a separate partition or even a network mount.

/usr/bin/           all user-facing binaries not needed during early boot
/usr/sbin/          all admin binaries not needed during early boot
/usr/lib/           shared libraries for /usr/bin and /usr/sbin
/usr/include/       C and C++ header files (installed by -dev packages)
/usr/share/         architecture-independent data: man pages, icons, locale data
/usr/share/man/     manual pages
/usr/share/doc/     package documentation
/usr/local/         locally installed software, outside the package manager
/usr/local/bin/     binaries installed by the local administrator

/usr/local/ is reserved for software installed by the sysadmin rather than the distribution's package manager. It has the same subdirectory layout (bin/, lib/, include/, share/) and by convention takes precedence in $PATH over /usr/bin. Installing a custom build of a tool to /usr/local/bin overrides the system version without modifying anything the package manager owns.

On distributions with merged /usr, the top-level /bin, /lib, and /sbin are symlinks into /usr, making /usr/bin the single authoritative location for all binaries.

path-usr.txt ยท Last modified: by 127.0.0.1