New top-level directory /run

This is a proposal from the Debian wiki


This is a release goal for Wheezy.

/run is a new cross-distribution location for the storage of transient state files—that is, files containing run-time information that may or may not need to be written early in the boot process and which does not require preserving across reboots.

/run is a tmpfs.

/run replaces several existing locations described in the Filesystem Hierarchy Standard:

  • /var/run → /run
  • /var/lock → /run/lock
  • /dev/shm → /run/shm [currently only Debian plans to do this]
  • /tmp → /run/tmp [optional; currently only Debian plans to offer this]

/run also replaces some other locations that have been used for transient files:

  • /lib/init/rw → /run
  • /dev/.* → /run/*
  • /dev/shm/* → /run/*
  • writable files under /etc → /run/*

Dotfiles in /dev and files stored in /dev/shm make other than the originally intended use of those locations and their names and locations are often not the same across distributions. /run provides a better, standard location for them. It also provides a location for distribution-specific purposes such as those for which Debian earlier created /lib/init/rw.

Making the /run directory available brings us a step closer to the point where it is possible to use the system normally with the root filesystem mounted read-only, without requiring any clunky workarounds such as aufs/unionfs overlays.

/run is being introduced by Fedora and SuSE and others will follow. It has been proposed to the FHS for standardization.

In addition to migrating /var/run and /var/lock, the Debian initscripts implementation also migrates /dev/shm and (optionally, if the user makes it a symlink to /run/tmp) /tmp.

About News