Linux distributions to include /run/ directory
On the Fedora project's developer list, systemd developer Lennart Poettering has announced the introduction of a
/run directory in the root directory and provided detailed background explanations. Similar to the existing
/var/run/ directory, the new directory is designed to allow applications to store the data they require in order to operate. This includes process IDs, socket information, lock files and other data which is required at run-time but can't be stored in
/tmp/ because programs such as tmpwatch could potentially delete it from there.
/var/run/ isn't a readily available choice for tools such as systemd, udev or mdadm that are required early in the boot process, because
/var can be implemented as a separate file system to be mounted at a later stage in the start-up process. As a result, these programs have had to resort to such trickery as using the
/dev/.mount directories, even though the device directory isn't intended for such data.
Poettering says that the introduction of the new directory wasn't just his own idea but that it has been discussed among the Debian, Fedora, Suse and Upstart developers; Colin Watson said that he is happy to support the use of the new directory in Ubuntu. Poettering indicated that many developers working in this area may have wanted something like /run for quite a while, but that they may have feared the potential political consequences and discussions. Indeed, a prolonged discussion of the various aspects of /run is still ongoing on the Fedora list. Among the discussed points is the question whether the approach violates the Filesystem Hierarchy Standard (FHS) – various well-known developers don't think this is the case.
Poettering has already adjusted systemd to implement and use a tmpfs in
/run/ in Fedora 15, which is still in development and has recently been postponed by a further week. The versions of dracut and udev in Fedora, as well as systemd in OpenSuse's development branch, will also soon begin to use /run.