Frequently Asked Question
What is /run and why did it appear in the FHS recently?
/run is a tmpfs mounted early in boot to hold runtime state: PID files, Unix domain
sockets, named pipes, lockfiles, and other small bits of state that processes need while
running but that should not survive a reboot. Before 2011 each service scattered this kind
of data across /var/run, /var/lock, /dev/shm, and /tmp, with predictable confusion
and because /var was sometimes mounted later than these files were needed, early-boot
services had to play awkward games.
/run consolidates the lot in one place that is guaranteed to be available before any
service starts, is always a tmpfs in RAM (so it's fast and always clean after reboot),
and has a clear ownership model: /run/user/$UID/ is the per-user runtime directory
(where the systemd user manager, pulseaudio, and Wayland sockets live). The older paths
/var/run and /var/lock are now symlinks into /run for backward compatibility.