⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 usage.html

📁 Linux From Scratch的中文指导,学习LINUX很有用
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=gb2312" />
    <title>
      7.3.&nbsp;How Do These Bootscripts Work?
    </title>
    <link rel="stylesheet" href="../stylesheets/lfs.css" type="text/css" />
    <meta name="generator" content="DocBook XSL Stylesheets V1.68.1" />
    <link rel="stylesheet" href="../stylesheets/lfs-print.css" type="text/css" media="print" />
  </head>
  <body id="lfs" class="6.1">
    <div class="navheader">
      <div class="headertitles">
        <h4>
          Linux From Scratch - Version 6.1
        </h4>
        <h3>
          Chapter&nbsp;7.&nbsp;配置系统启动脚本(Bootscripts)
        </h3>
      </div>
      <ul class="headerlinks">
        <li class="prev">
          <a accesskey="p" href="bootscripts.html" title="LFS-Bootscripts-3.2.1">后退</a>
          <p>
            LFS-Bootscripts-3.2.1
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="udev.html" title="Device and Module Handling on an LFS System">前进</a>
          <p>
            Device and Module Handling on an LFS System
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="chapter07.html" title="Chapter&nbsp;7.&nbsp;配置系统启动脚本(Bootscripts)">上一级</a>.
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title="Linux From Scratch - Version 6.1">回首页</a>
        </li>
      </ul>
    </div>
    <div class="sect1" lang="zh_cn" xml:lang="zh_cn">
      <div class="titlepage">
        <h1 class="sect1">
          7.3. 启动脚本是如何工作的?</h1>
      </div>
      <p>
        Linux 使用的是基于 <span class="emphasis"><em>运行级(run-levels)</em></span> 概念的称为 SysVinit 的专用启动工具。它在不同的系统上可能是完全不一样的,所以不能认为一个脚本在某个 Linux 发行版上工作正常,于是在 LFS 中也会正常工作。LFS 有自己的一套规则,当然,LFS 也遵守一些公认的标准。</p>
      <p>
        SysVinit(从现在开始我们称之为“init”)以运行级的模式来工作,一般有 7 个运行级(从 0 到 6,实际上可以有更多的运行级,但都是用于特殊情况而且一般使用不到。 参见 <tt class="filename">init(8)</tt> 以获得更多信息),每个运行级对应于一套设定好的任务,当启动一个运行级的时候,计算机就需要执行相应的任务。默认的运行级是 3,下面是对不同运行级的描述:</p>
      <div class="literallayout">
        <p>
          0:&nbsp;停止计算机<br />
          1:&nbsp;单用户模式<br />
          2:&nbsp;无网络多用户模式<br />
          3:&nbsp;有网络多用户模式 <br />
          4:&nbsp;保留作自定义,否则同运行级 3 <br />

          5:&nbsp;同运行级 4,一般用于图形界面(GUI)登录(如 X 的 <strong class="command">xdm</strong> 或者 KDE 的 <strong class="command">kdm</strong>)<br />
          6:&nbsp;重新启动计算机</p>
      </div>
      <p>
        用来改变运行级的命令是 <span><strong class="command">init <em class="replaceable"><tt>[runlevel]</tt></em></strong></span>,这里的
        <em class="replaceable"><tt>[runlevel]</tt></em> 是目标运行级。例如,要重启计算机,用户可以运行 <span><strong class="command">init 6</strong></span> 命令, <span><strong class="command">reboot</strong></span> 其实只是这个命令的别名,同样 <span><strong class="command">halt</strong></span> 命令也只是 <span><strong class="command">init 0</strong></span> 的别名。</p>
      <p>
        在 <tt class="filename">/etc/rc.d</tt> 目录下有一些类似于 <tt class="filename">rc?.d</tt> 的目录(这里 ? 是运行级的数字)以及
        <tt class="filename">rcsysinit.d</tt> ,里面都包含许多符号链接,其中一些以 <span class="emphasis"><em>K</em></span> 字母开头,另外一些以 <span class="emphasis"><em>S</em></span> 字母开头,这些链接名在首字母后面都跟着两个数字。K 字母的含义是停止(杀死)一个服务,S 字母的含义是启动一个服务。而数字则确定这些脚本的启动顺序,从 00 到 99(数字越小执行的越早)。当 <span><strong class="command">init</strong></span> 转换到其它运行级时,一些相应的服务会停止,而另一些服务则会启动。</p>
      <p>
        真正的脚本则在 <tt class="filename">/etc/rc.d/init.d</tt>
        目录下,它们完成实际的工作,符号链接都是指向它们的。停止脚本的链接和启动脚本的链接都指向<tt class="filename">/etc/rc.d/init.d</tt> 目录下同一个脚本,这是因为调用这些脚本时可以使用不同的参数,例如 <em class="parameter"><tt>start</tt></em>, <em class="parameter"><tt>stop</tt></em>, <em class="parameter"><tt>restart</tt></em>, <em class="parameter"><tt>reload</tt></em>, <em class="parameter"><tt>status</tt></em> 当调用 K 链接时,相应的脚本用 <em class="parameter"><tt>stop</tt></em> 参数运行;当调用 S 链接时,相应的脚本用 <em class="parameter"><tt>start</tt></em> 参数运行。</p>
      <p>
        上面的说明有一个例外,在 <tt class="filename">rc0.d</tt> 和 <tt class="filename">rc6.d</tt>  目录下以
        <span class="emphasis"><em>S</em></span> 开头的链接不会启动任何东西,而是用 <em class="parameter"><tt>stop</tt></em> 参数调用,来停止某些服务。这背后的逻辑是,当用户要重启或关闭系统的时候,不会要启动什么服务,只会要系统停止。</p>
      <p>以下是脚本参数的描述:</p>
      <div class="variablelist">
        <dl>
          <dt>
            <span class="term"><em class="parameter"><tt>start</tt></em></span>          </dt>
          <dd>
            <p>启动服务</p>
          </dd>
          <dt>
            <span class="term"><em class="parameter"><tt>stop</tt></em></span>          </dt>
          <dd>
            <p>停止服务</p>
          </dd>
          <dt>
            <span class="term"><em class="parameter"><tt>restart</tt></em></span>          </dt>
          <dd>
            <p>停止服务,然后再启动</p>
          </dd>
          <dt>
            <span class="term"><em class="parameter"><tt>reload</tt></em></span>          </dt>
          <dd>
            <p>该服务的配置已更新。如果修改了某个服务的配置文件,又不必重启这个服务的时候,可以使用这个参数。</p>
          </dd>
          <dt>
            <span class="term"><em class="parameter"><tt>status</tt></em></span>          </dt>
          <dd>
            <p>显示服务的状态,如果服务正在运行,会显示该服务进程的 PID </p>
          </dd>
        </dl>
      </div>
      <p>您可以自由修改启动进程工作的方式(毕竟这是您自己的 LFS 系统),我们这里给出的文件只是它们怎样工作的一个示例而已。</p>
    </div>
    <div class="navfooter">
      <ul>
        <li class="prev">
          <a accesskey="p" href="bootscripts.html" title="LFS-Bootscripts-3.2.1">后退</a>
          <p>
            LFS-Bootscripts-3.2.1
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="udev.html" title="Device and Module Handling on an LFS System">前进</a>
          <p>
            Device and Module Handling on an LFS System
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="chapter07.html" title="Chapter&nbsp;7.&nbsp;配置系统启动脚本(Bootscripts)">上一级</a>.
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title="Linux From Scratch - Version 6.1">回首页</a>.
        </li>
      </ul>
    </div>
  </body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -