Linux启动过程

正如许多人经常想知道的那样,Linux / Unix操作系统如何启动?如何在启动过程中运行一个进程,以使我不必每次都手动启动它?为此,必须了解当前向其添加任何内容的基本环境过程。

在典型的Linux系统上,我更喜欢Debian,引导程序指向内核,而内核又指向/ etc下的文件inittab。引导加载程序和内核之间的交互对于另一篇文章来说足够复杂。

  1. / etc / inittab是一个文件,其中包含一组指令来调用/ etc目录下的特定目录。它是一个Shell脚本,看起来像这样:

    #/ etc / inittab:init(8)配置。
    #$ Id:inittab,v 1.91 2002/01/25 13:35:21 miquels Exp $

    #默认运行级别。
    id:2:initdefault:

    #引导时系统配置/初始化脚本。
    #除在紧急(-b)模式下引导外,此命令首先运行。
    si :: sysinit:/etc/init.d/rcS

  2. 然后,系统调用/etc/init.d/rcS Shell脚本。然后,该脚本执行/etc/rcS.d/目录中找到的每个Shell脚本。将应用程序添加到系统后,它将其启动脚本放置在/etc/rcS.d/或/etc/rc2.d/目录中。这组脚本最初运行,并且是特定于系统的,切勿被篡改。在这组脚本产生每个进程之后,/etc/init.d/rcS脚本然后调用/etc/rc2.d/目录下的所有文件。 /etc/rc2.d/目录通常是应用程序软件,而不是系统专用的软件。这些目录中的每个文件都有一个S(用于开始)和一个数字。例如:S43portmap。该数字并不意味着它将开始第43个进程,而是用于交错启动哪个进程。因此,如果您希望在S43portmap之前或之后开始某些事情,则可以将前缀设置为S40portmap之前的S40和S50portmap之后的S50。
  3. 如果要添加要运行的应用程序,则应始终将其添加到/etc/rc2.d/目录中。 /etc/rc2.d/是大多数Linux系统上使用的默认运行级别。
  4. 如果您在/etc/rc2.d/目录中发现自己,则可能会注意到每个文件实际上都被符号链接回/etc/init.d/目录。您实际上是正确的。如果考虑一下,它实际上很整洁,因为您可以创建一个具有不同编号的符号链接,以在不同的时间启动任何这些脚本。这也为用户提供了灵活性,使其可以轻松修改其系统的引导过程。

现在,向我展示如何在Windows中执行该操作!

有关Linux和UNIX的更多信息,请转至 http://www.lainoox.com

相关文章