Ubuntu的11.10已迁移远离
/var/run
,/var/lock
并/dev/shm
与现在使用/run
,/run/lock
而/run/shm
不是(分别)。
/run
, 然后检查是否存在之外,还有更好的方法/var/run
吗?Jam*_*dge 60
目的是减少tmpfs
文件系统的数量。在 11.04 上,tmpfs
在/var/lock
、/var/run
和处有单独的文件系统/dev/shm
。如果这些目录都在一个父目录下,那么只tmpfs
需要一个。它还为进一步的运行时状态数据提供了一个明显的位置,这些数据不应在重新启动后持续存在。
除非您的应用程序依赖于文件的规范路径,否则您的应用程序应该不加修改地运行,因为旧位置将被符号链接到新位置。AppArmor 策略是一种确实依赖于真实路径名的情况,这就是为什么特别提到它的原因。
以下链接应有助于解释其基本原理:
Rin*_*ind 36
/run
是一个新的跨分布 tmpfs 位置,用于存储瞬态文件 - 即包含运行时信息的文件,这些文件可能需要或不需要在引导过程的早期写入,并且不需要在重新启动时保留。
使/run
目录可用使我们更接近于可以在根文件系统以只读方式安装的情况下正常使用系统的地步,而不需要任何笨拙的解决方法,例如aufs/unionfs
覆盖。
/run
替换文件系统层次结构标准中描述的几个现有位置:
/var/run
? /run
/var/lock
? /run/lock
/dev/shm
? /run/shm
[目前只有 Debian 计划这样做]/tmp
? /run/tmp
[可选的; 目前只有 Debian 计划提供这个]/run
还替换了一些其他用于临时文件的位置:
/lib/init/rw
? /run
/dev/.*
? /run/*
/dev/shm/*
? /run/*
/etc
?/run/*
(所以你可能会期望这些也会移动)。
来源:debian 发布目标
我建议在您的软件中创建一个部件,在其中将这些目录设置为变量,更改代码以使用这些变量,然后根据使用它的系统更改变量(但我打赌您已经知道了)。
小智 5
从我所读到的,这是关于为什么引入 /run 的原始解释。http://lwn.net/Articles/436012/