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".
阅读(1627) | 评论(0) | 转发(0) |