0

我读了一篇关于 Linux 系统上的 /run 目录的文章。 http://article.gmane.org/gmane.linux.redhat.fedora.devel/146976

这篇文章指出,许多 Linux 发行版都同意 /run 目录是 early-runtime-dir 问题的唯一干净解决方案。以前,他们将早期运行时数据放在 /dev/.XXX 或 /var/run 中。但他们现在采用 /run 目录来存储早期运行时数据。

我的问题:他们如何做出这种改变?具体来说,他们是否更改了内核或引导或 initscripts 中的代码?

以这篇文章 (http://article.gmane.org/gmane.linux.redhat.fedora.devel/146976) 为例,实现它需要进行哪些可能的更改?

4

2 回答 2

1

run目录对内核本身没有特殊意义,无论是它/run还是/var/run. 从内核的角度来看,它只是一个常规目录。由于前一段时间出于性能原因,它通常被挂载为tmpfs文件系统。Fedora 发行版创建了一个符号链接 /var/run 指向 /run 以实现向后兼容性:

山:

tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

ls /var:

lrwxrwxrwx.  1 root root    6 Jun  8 15:33 run -> ../run

所以实际上所有“旧”程序和脚本都可以工作。但随着惯例的改变,软件包也在进行更新以反映这一点。因此,随着时间的推移,/var/run链接中的需求将消失。

为了实现这一移动,/run初始化脚本被改变了。

于 2012-10-23T03:40:00.647 回答
1

/run由 Linux 发行版的 init 系统创建和挂载(通常作为 tmpfs 文件系统)。例如 systemd 或 OpenRC。init 系统在任何其他程序之前运行。

内核与它没有任何关系。

于 2012-10-23T03:42:55.513 回答