minit 概览

作者:Johan Thelin

Sys-V init 长期以来一直是标准的启动解决方案。它易于使用,也的确能工作,并且每个人都比较熟悉它。但是,为了保持开放的心态,让我们来看看另一种方法。

有很多替代方案。它们都专注于缩短启动时间。这是通过同时和异步地启动和运行不同的进程来实现的。 这种类型的启动尝试同时使用硬件的所有(更多)部分,并避免等待缓慢的硬件。

在嵌入式环境中,需要考虑的另一个因素是保持较小的体积和进程数量(每个进程都会带来开销 - 尽管很小)。

我研究过的替代方案之一是由 diet-libc 的 Felix von Leitner 编写的 minit。 它可以做什么? 最基本的功能是它可以启动服务并考虑依赖关系,例如,它会等待网络启动后再启动 Web 服务器。它还进行进程重启并处理 ctrl+alt+delete。

作为 von Leitner 的智慧结晶,它也非常简约(到了极致?),并且可以与 diet-libc 一起使用。 那么,它是如何工作的呢?

配置位于 /etc/minit 中,每个子目录包含一个或多个服务。每个服务都通过多个符号链接和文本文件进行配置,所有这些都在 这个指南 中详细列出。基本上,您创建一个名为 "run" 的符号链接,指向要启动的程序,创建一个名为 "depends" 的文本文件,其中包含任何先决服务的名称,创建一个名为 "respawn" 的空文件(如果该服务在终止后要重新启动),等等。

配置完所有服务后,创建一个名为 "default" 的目录,并在其中添加一个 depends 文件,列出您的服务。 这将启动系统。

图片由 http://www.flickr.com/photos/livingos/ 提供 / CC BY-SA 2.0. 原始图片:在 Flickr.

加载 Disqus 评论