这个新的 /run 文件系统是什么?

xen*_*ide 93 linux filesystems directory-structure

我刚刚跑df -h了一分钟,注意到添加了一个我不熟悉的文件系统。有谁知道为什么/run存在?这是内核添加的东西吗?通过Arch Linux

run              10M  236K  9.8M   3% /run
Run Code Online (Sandbox Code Playgroud)

jas*_*yan 66

显然,许多工具(其中包括 udev)很快就会需要一个提前安装的 /run/ 目录(如 tmpfs)。Arch 开发人员上个月引入了 /run 来为此做准备。

udev 运行时数据从 /dev/.udev/ 移动到 /run/udev/。/run 挂载点应该是在早期启动期间挂载的 tmpfs,在启动期间的任何时间都可用于所有工具并可写,它取代了 /var/run/,它应该有一天会成为一个符号链接。[1]

这里有更多细节:http : //www.h-online.com/open/news/item/Linux-distributions-to-include-run-directory-1219006.html

[1] 来自Arch Projects ML 的帖子

  • 它只适用于 Arch 还是什么?`/run` 将在 RHEL/CentOs、Ubuntu 中添加? (2认同)
  • 当进程停止运行时,文件会自动删除吗? (2认同)
  • @Ian,如果它是 tmpfs 文件系统,那么在重新启动时它将被清空。您的问题:据我所知,文件不会被自动删除,而是进程本身必须进行适当的清理。 (2认同)

max*_*zig 45

/run目录是/var/run. 例如,/bin是 的伴侣/usr/bin

这意味着像systemd和这样的守护进程udev在引导过程的早期启动——也许在/var/run可用(即挂载)之前——有/run一个标准化的文件系统位置可用,它们可以在那里存储运行时信息。

Like/bin包含重要的程序,在/usr可用之前的引导过程中可能需要这些程序(如果它在自己的文件系统上)。

这个/run想法是一个相对较新的想法/标准。

  • 这个答案具有误导性。/run 存在是因为 /var/run 是错误的位置,并且大多数发行版要么符号链接要么将它们绑定安装到彼此。它们并不打算成为单独的目录;/run 是正确的位置,保留 /var/run 以支持旧版软件。请参阅 https://lwn.net/Articles/436012/ 了解其背后的动机。 (7认同)
  • Arch 的“/var/run”目录符号链接到“/run”。 (3认同)
  • Debian 的 `/var/run` 也符号链接到 `/run` (3认同)
  • Ubuntu 16.10 也是如此。 (2认同)
  • @maxschlepzig 是的,我做到了。我的评论可能有点不具体,但如果您更具体地了解我的评论中的误导性内容,将会有所帮助。 (2认同)