Frequently Asked Question
What is /usr actually for if it's not user data?
/usr is the secondary hierarchy: it holds the great majority of installed software;
/usr/bin for general user programs, /usr/sbin for non-essential admin tools, /usr/lib
for the shared libraries those programs need, /usr/include for C header files,
/usr/share for architecture-independent data like manual pages and icons, and
/usr/local for software installed by the administrator outside the package manager.
Despite the name (which originally meant "user", as in /usr/ken for Ken Thompson's home
directory), it has not held user data for half a century.
The FHS describes /usr as static and shareable: nothing here changes during normal
operation, and the same /usr could in principle be mounted on many identical machines
over the network. That property is exploited by read-only embedded systems, by atomic
updates in Fedora Silverblue and openSUSE MicroOS, and by container images where most of
the immutable parts of the userspace live under /usr and the configuration sits under
/etc.