Debian中/ lib / init / rw有什么用?

我刚刚安装了Debian 5(Lenny),我注意到/ lib / init / rw被报告为RAM磁盘(tmpfs)。 我只有Fedora的经验,所以我很好奇这个目录在Debian里有什么function。 用户编写的shell脚本可以使用它来caching什么东西,还是只能被操作系统使用? 谢谢。

正如其他人指出的(这可能是对他们的回复发表评论,但是太长了以至于不能适应评论框),这被一些初始使用者所使用,一般在启动过程中,当你的其他文件系统可能是只读的,甚至不是还没有安装。

在启动完成之后,文件系统将被挂载,因为可能在其他时间运行的脚本(如果您手动重新启动服务或切换运行级别)。 如果device / filesystem /lib/init变为只读状态,则不应强制卸载它。 它不消耗任何可观的资源,而不是实际存储数据,所以不是一个性能问题。

虽然如果你的脚本经过了很好的testing,并且可以保证不能完全填充它,以至于脚本不能在需要的时候写在脚本上, 那么我认为在你自己的脚本中使用脚本是没有什么坏处的,但是创build你自己的脚本会更安全tmpfs挂载(理论上,你可以拥有任意数量的存储空间),或者只是使用/tmp并将其挂载为tmpfs文件系统而不是磁盘。

如果你使用临时数据的tmpfs文件系统,请注意,这将消耗内存,如果你的内存不足,可能会导致交换。 这就是为什么我通常使用一个单独的挂载而不是/tmp (这是许多进程将放置东西的地方,所以它比单独的脚本更可能使用更多的内存)。 如果你在大部分时间里有足够的内存“空闲”,这不是一个问题。 在tmpfs文件系统中保存的数据所使用的freetop和类似工具的输出中,通常以“高速caching”计数 – 请参阅在Linux中,free命令报告的“buffers”和“cache”有什么不同? 有关更多的细节。

编辑:我忘了添加…创build自己的基于tmpfs的挂载,而不是使用一个Debian为他们的标准脚本创build的另一个原因是,你正在使你的脚本较less依赖于分布特定的属性,这意味着你有一个如果您的脚本迁移到其他configuration,则需要更多的更改。

在/ sbin / init运行的时候,它被initscript使用,需要一个可写的命名空间。 请记住,那时你的根分区可能是只读的。

安德斯

显然它在启动时被启动程序使用,请参阅此链接