100

I just ran df -h a minute ago and noticed a filesystem has been added that I'm not familiar with. Does anyone know why /run exists? Is this something that's been added by the kernel? By Arch Linux?

run              10M  236K  9.8M   3% /run
2

2 Answers 2

67

Apparently, many tools (among them udev) will soon require a /run/ directory that is mounted early (as tmpfs). Arch developers introduced /run last month to prepare for this.

The udev runtime data moved from /dev/.udev/ to /run/udev/. The /run mountpoint is supposed to be a tmpfs mounted during early boot, available and writable to for all tools at any time during bootup, it replaces /var/run/, which should become a symlink some day. [1]

There is more detail here: http://www.h-online.com/open/news/item/Linux-distributions-to-include-run-directory-1219006.html

[1] From thread on the Arch Projects ML

4
  • 2
    is it only for Arch or what ? /run will be add in RHEL/CentOs, Ubuntu ? Apr 7, 2013 at 18:59
  • 3
    Do files get automatically deleted when the process stops running? Dec 8, 2016 at 9:49
  • 2
    @Ian, if it's a tmpfs filesystem, then on reboot it will be emptied. Your question: as I know, files would not be automatically deleted, rather process itself has to do proper cleanup.
    – Bulat M.
    Feb 5, 2017 at 5:49
  • @BulatM. tmpfs is explicitly RAM-backed (it will swap though if not all fits in RAM), so on power off everything in /run is lost by design, and no process has to go and clean up previous files.
    – joonas.fi
    Sep 12, 2021 at 9:15
50

The /run directory is the companion directory to /var/run. Like for example /bin is the companion of /usr/bin.

That means that daemons like systemd and udev, which are started very early in the boot process - and perhaps before /var/run is available (i.e. mounted) - have with /run a standardized file system location available where they can store runtime information.

Like /bin contains important programs, which may be needed in the boot process before /usr is available (in case it is on its own filesystem).

The /run idea is a relatively new idea/standard.

6
  • 2
    Arch's /var/run directory is symlinked to /run.
    – user26112
    Apr 20, 2013 at 22:24
  • 2
    Debian's /var/run is also symlinked to /run
    – naoko
    Jan 16, 2016 at 14:04
  • 1
    So is Ubuntu 16.10's. Mar 27, 2017 at 18:01
  • 3
    This answer is misleading. /run exists because /var/run was the wrong location, and most distros either symlink or bind mount them to each other. They are not intended to be separate directories; /run is the correct location, /var/run is kept around to support legacy software. See lwn.net/Articles/436012 for the motivation behind it. Dec 24, 2020 at 4:48
  • 2
    @maxschlepzig Yes I did. My comment was probably a bit non-specific, but it would help if you were more specific about what is misleading in my comment. Dec 26, 2020 at 19:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.