Chinaunix首页 | 论坛 | 博客
  • 博客访问: 516430
  • 博文数量: 174
  • 博客积分: 4377
  • 博客等级: 上校
  • 技术积分: 1933
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-31 22:40
文章分类

全部博文(174)

文章存档

2013年(15)

2012年(25)

2011年(40)

2010年(94)

分类: BSD

2013-01-06 10:26:38

OpenBSD 
------------------------------------
10.3  怎样让守护进程随系统启动?(rc(8)概览)
------------------------------------
OpenBSD使用rc(8)来控制随系统启动的守护进程。这涉及到以下文件:

./etc/rc  -- 最主要的控制脚本.请勿修改。
./etc/rc.conf  -- 这个脚本被/etc/rc用来控制系统启动的参数.请勿修改.
./etc/rc.conf.local  -- 此文件中的配置将会覆盖/etc/rc.conf中的设置,这样你就不需要修

改/etc/rc.conf了,这个特点在升级系统的时候非常重要.
./etc/netstart  - 这个脚本用于初始化网络.请勿修改.
./etc/rc.local  - 这个脚本用于本地系统管理.存放了新的守护进程或者主机的特定信息.
./etc/rc.securelevel  -- 在安全级别改变之前,这个脚本中的命令将会被运行.更多请参考init(8).
./etc/rc.shutdown  -- 系统关闭前运行的脚本.更多请参考rc.shutdown(8).


rc(8)是怎样工作的?
----------------------
系统管理员需要关注的几个主要文件分别是/etc/rc.conf(重要),/etc/rc.conf.local(实际修改配置

用),/etc/rc.local和/etc/rc.shutdown.下面我们来大致了解一下rc(8)是怎样运转的:

在系统核心引导起来后,/etc/rc启动:

.检查文件系统是否正常.
.读入/etc/rc.conf中的默认变量,然后从/etc/rc.conf.local中被再读入本地设置的变

量.rc.conf.local中的设置将会覆盖rc.conf中的设置.
.文件系统被mount
.清空/tmp,保存任何编辑器处理的文件.
.使用/etc/netstart配置网络
-配置并启动所有网络接口.
-设置主机名,域名称等等
.启动系统守护进程.
.执行其它的检查(磁盘配额,核心转储等等)
.通过/etc/rc.local,启动本地守护进程


启动OpenBSD的守护进程和服务
-----------------------
绝大多数随OpenBSD安装的守护进程和服务的启动被/etc/rc.conf中设置的变量控制.在/etc/rc.conf

中我们会看到如下的内容:

ftpd_flags=NO #for non-inetd use:ftpd_flags="-D"

这表示ftpd(8)没有随系统启动(最少不是通过rc(8)作为守护进程启动的);ftpd常常在inetd(8)之外运

行,请参考(Anonymous FTP FAQ)以获取更多信息).每一行都有注释说明在一般情况下该怎样配置这些

标志参数,用于控制相应的守护进程和服务.但这不意味着你必须使用这些参数配置这些守护进程或者

服务.请阅读相关的手册部分来更好的按照自己的意愿控制它们的启动.

强烈建议你不要修改/etc/rc.conf本身,而是新建一个/etc/rc.conf.local文件,把你想修改的内容复

制过去并进行相应的修改.这会使得将来的系统升级变的更容易--所有的变化都在一个文件中.事实上,

标准的升级过程都假定你没有修改/etc/rc.conf,并且会使用新版本的文件来覆盖它.

例如,这是httpd(8)默认的相关配置内容.

httpd_flags=NO #for normal use:""(or "-DSSL" after reading ssl(8))

这里你可以看到正常情况下启动httpd不需要参数,可以看到在/etc/rc.conf.local中有这样一行

httpd_flags=""就可以了.但是如果想随httpd同时启用ssl功能(更多请参考SSL FAQ或者ssl(8)),你将

需要使用如下的配置 httpd_flags="-DSSL",也许你会为了别的原因而设置其它的参数.


启动本地守护进程和配置
-------------------------
对于自行使用packages或者其它方法安装的守护进程,应该使用/etc/rc.local文件来进行配置.例如,

我们在/usr/local/sbin/daemonx下安装了一个守护进程.我们需要这个守护进程随系统启动,那么需要

在/etc/rc.local中加入类似下面的配置内容:

if [ -x /usr/local/sbin/daemonx ]; then
            echo -n ' daemonx';       /usr/local/sbin/daemonx
fi
(如果守护进程没有随系统启动,记住在命令的最后加上一个"&".)

从现在开始这个守护进程将会随系统启动.如果启动过程中出现任何错误,你都能看到;没有发生错误将

会显示如下一行文字:

Starting local daemons: daemonx.


rc.shutdown
-------------------------
/etc/rc.shutdown在系统关闭时运行.想要在关机时进行的操作请在此文件中进行配置.如果你使用了

apm(高级电源管理),你可以设置"powerdown=YES",这将会等同于运行"shutdown -p".

阅读(1576) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~