📄 configtuning-rcng.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="generator" content="HTML Tidy, see www.w3.org" /><title>在 FreeBSD 5.X 下使用 rc</title><meta name="GENERATOR" content="Modular DocBook HTML Stylesheet Version 1.7" /><link rel="HOME" title="FreeBSD 使用手册" href="index.html" /><link rel="UP" title="设置和调整" href="config-tuning.html" /><link rel="PREVIOUS" title="配置 cron" href="configtuning-cron.html" /><link rel="NEXT" title="设置网卡" href="config-network-setup.html" /><link rel="STYLESHEET" type="text/css" href="docbook.css" /><meta http-equiv="Content-Type" content="text/html; charset=GB2312" /></head><body class="SECT1" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#840084"alink="#0000FF"><div class="NAVHEADER"><table summary="Header navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><th colspan="3" align="center">FreeBSD 使用手册</th></tr><tr><td width="10%" align="left" valign="bottom"><a href="configtuning-cron.html"accesskey="P">Prev</a></td><td width="80%" align="center" valign="bottom">Chapter 6. 设置和调整</td><td width="10%" align="right" valign="bottom"><a href="config-network-setup.html"accesskey="N">Next</a></td></tr></table><hr align="LEFT" width="100%" /></div><div class="SECT1"><h1 class="SECT1"><a id="CONFIGTUNING-RCNG" name="CONFIGTUNING-RCNG">6.7. 在 FreeBSD 5.X下使用 rc</a></h1><i class="AUTHORGROUP"><span class="CONTRIB">Contributed by</span> Tom Rhodes.</i> <p>FreeBSD 最近整合了 NetBSD 的 <tt class="FILENAME">rc.d</tt>系统以完成系统初始化。用户要注意 <tt class="FILENAME">/etc/rc.d</tt>目录下的文件。这些文件中的很多都是可以接受 <var class="OPTION">start</var>, <varclass="OPTION">stop</var> 和 <var class="OPTION">restart</var>选项的基本服务。例如,<span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">sshd</span>(8)</span> 可以用下面的命令重启:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">/etc/rc.d/sshd restart</kbd></pre><p>其它的服务跟这个过程相似。当然,在 <span class="CITEREFENTRY"><spanclass="REFENTRYTITLE">rc.conf</span>(5)</span>指定的服务通常可以自动启动。例如,让网络地址转换(NAT)守护进程在系统启动的时候启动可以简单的在<tt class="FILENAME">/etc/rc.conf</tt> 中添加下面一行:</p><pre class="PROGRAMLISTING">natd_enable="YES"</pre><p>如果 <var class="OPTION">natd_enable="NO"</var> 行已经存在,只要简单的把 <varclass="OPTION">NO</var> 改成 <var class="OPTION">YES</var> 即可。rc脚本在下次重新启动的时候会自动的装载所需要的服务,像下面所描述的那样。</p><p><tt class="FILENAME">rc.d</tt>系统在系统启动/关闭时首先启动/停止服务;如果适当的 <ttclass="FILENAME">/etc/rc.conf</tt> 变量被设置,标准的 <varclass="OPTION">start</var>,<var class="OPTION">stop</var> 和 <varclass="OPTION">restart</var> 选项将会执行他们的动作。例如 <tt class="COMMAND">sshdrestart</tt> 命令只在 <tt class="FILENAME">/etc/rc.conf</tt> 中的 <varclass="VARNAME">sshd_enable</var> 设置成 <var class="OPTION">YES</var>的时候工作。不管是否在 <tt class="FILENAME">/etc/rc.conf</tt> 中设置了,要 <varclass="OPTION">start</var>, <var class="OPTION">stop</var> 或者 <varclass="OPTION">restart</var> 一个服务,命令前可以加上一个 ``force'' 前缀。例如要不顾当前<tt class="FILENAME">/etc/rc.conf</tt> 的设置重新启动 <ttclass="COMMAND">sshd</tt>,执行下面的命令:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">/etc/rc.d/sshd forcerestart</kbd></pre><p>用选项 <var class="OPTION">rcvar</var> 可以简单来的检查 <ttclass="FILENAME">/etc/rc.conf</tt> 中用适当的 <tt class="FILENAME">rc.d</tt>脚本启动的服务是否被启用。从而管理员可以运行这样的程序来检查 <ttclass="COMMAND">sshd</tt> 是否真的在 <tt class="FILENAME">/etc/rc.conf</tt>中被启动了:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">/etc/rc.d/sshd rcvar</kbd># sshd$sshd_enable=YES</pre><div class="NOTE"><blockquote class="NOTE"><p><b>Note:</b> 第二行 (<var class="LITERAL"># sshd</var>) 是从 <ttclass="COMMAND">sshd</tt> 命令中输出的;不是 <tt class="USERNAME">root</tt> 控制台。</p></blockquote></div><p>为了确定一个服务是否真的在运行,可以用 <var class="OPTION">status</var> 选项。例如验证<tt class="COMMAND">sshd</tt> 是否真的启动了:</p><pre class="SCREEN"><samp class="PROMPT">#</samp> <kbd class="USERINPUT">/etc/rc.d/sshd status</kbd>sshd is running as pid 433.</pre><p><var class="OPTION">reload</var>一个服务也是可以的。这将要尝试发送一个信号给一个单独的服务,强制这个服务重新装载它的配置文件。大多数情况这意味着给服务发送一个<var class="LITERAL">SIGHUP</var> 信号。</p><p><b class="APPLICATION">rcNG</b>结构不仅仅是给网络服务提供的,它也给很多系统初始化提供服务。例如,处理 <ttclass="FILENAME">bgfsck</tt> 文件。当这个脚本执行的时候,它会输出下列信息:</p><pre class="SCREEN">Starting background file system checks in 60 seconds.</pre><p>这个文件用做后台文件系统检查,系统初始化的时候完成。</p><p>很多系统服务依赖其他服务提供的相应功能。例如,NIS 和其他基于 RPC 的服务启动可能在 <ttclass="COMMAND">rpcbind</tt>服务启动之前失败。要解决这个问题,依赖关系信息和其他头信息当作注释被包含在每个启动脚本文件的前面。程序在系统初始化时分析这些注释以决定调用其他系统服务来满足依赖关系。下面的字句可能会包含在每个启动脚本文件的前面:</p><ul><li><p>PROVIDE: Specifies the services this file provides.</p></li><li><p>REQUIRE: Lists services which are required for this service. This file will run <spanclass="emphasis"><i class="EMPHASIS">after</i></span> the specified services.</p></li><li><p>BEFORE: Lists services which depend on this service. This file will run <spanclass="emphasis"><i class="EMPHASIS">before</i></span> the specified services.</p></li><li><p>KEYWORD: FreeBSD or NetBSD. This is used for *BSD dependent features.</p></li></ul><p>通过这种方法,系统管理员可以容易的控制系统而不用像其他一些 <spanclass="TRADEMARK">UNIX</span>® 操作系统一样要用 ``runlevels'' 来控制。</p><p>FreeBSD5.X 的附加信息: <tt class="FILENAME">rc.d</tt> 系统可以在 <spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">rc</span>(8)</span> 和 <spanclass="CITEREFENTRY"><span class="REFENTRYTITLE">rc.subr</span>(8)</span>手册页中找到。</p></div><div class="NAVFOOTER"><hr align="LEFT" width="100%" /><table summary="Footer navigation table" width="100%" border="0" cellpadding="0"cellspacing="0"><tr><td width="33%" align="left" valign="top"><a href="configtuning-cron.html"accesskey="P">Prev</a></td><td width="34%" align="center" valign="top"><a href="index.html"accesskey="H">Home</a></td><td width="33%" align="right" valign="top"><a href="config-network-setup.html"accesskey="N">Next</a></td></tr><tr><td width="33%" align="left" valign="top">配置 <tt class="COMMAND">cron</tt></td><td width="34%" align="center" valign="top"><a href="config-tuning.html"accesskey="U">Up</a></td><td width="33%" align="right" valign="top">设置网卡</td></tr></table></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -