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.

Further reading and video