FreeBSD系统启动脚本

1 2 下一页
内核探测过系统硬件之后 , 就启动进程0和进程1 , 进程0用于清除内存 , 将所有的内存单元置零 , 进程1为init 进程 , 将负责启动系统和各种守护进程 。init将系统带入多用户状态 , 并按照/etc/rc启动脚本启动服务程序 。
/etc/rc启动脚本将完成很多非常重要的工作 , 包括设置磁盘交换、检查磁盘错误、设置网络界面 , 启动网络服务程序等非常重要的工作 。/etc/rc文件将也将执行另外的rc文件 , 如执行rc.conf用于大部分系统参数的设置 , rc.network用于网络设置 , rc.firewall用于设置防火墙 , 以及rc.local , 用于管理员对本机特定的启动设置等 。其中rc.conf文件中包含了用户能够更改的很多设置参数 , 这些设置参数在其他rc文件中使用 , 用于配置系统的参数 , 因此对系统管理来讲最为重要 。
由于大部分服务器程序都是网络程序 , 因此如果系统的网络设置不正确 , 这些服务程序将不能正常执行(例如 sendmail) 。而且有些程序的超时设置的很长 , 因此出现错误时会出现系统停留在某个程序上不再继续执行 。一般可以不必理会 , 等待程序超时退出即可 , 或者可以尝试使用Ctrl-C中断该程序 。如果启动脚本真的出现无法继续执行的错误 , 如果能够通过网络登录 , 可以先登录进系统再更改启动脚本,而大部分正在执行启动脚本的情况下 , 网络服务并没有启动 , 那么就必须重新启动系统进入单用户状态 , 再修改启动脚本来纠正错误 。
#! /bin/sh
swapfile="NO" # Set to name of swapfile if aux swapfile desired.
apm_enable="NO" # Set to YES if you want APMenabled.
pccard_enable="NO" # Set to YES if you want to configure PCCARD devices.
pccard_mem="DEFAULT" # If pccard_enable=YES, this is card memory address.
pccard_ifconfig="NO" # Specialized pccard ethernet configuration (or NO).
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d" # startup script dirs.
【FreeBSD系统启动脚本】上面是/etc/rc.conf的部分内容 , 可以看出参数的设置形式 , 相应的设置值都给出了提示 , 使得更改这些参数设置非常容易 。rc.onf中的大部分设置可以通过/stand/sysinstall系统安装程序来进行设置 , 但也有部分参数不能通过sysinstall进行设置 , 必须通过手工修改这个文件来完成 。按照FreeBSD的习惯 , 这些rc文件 , rc.conf用于参数配置 , 可以由sysinstall安装程序和管理员更改 , rc.local中定义这台计算机特定的启动命令 , 可以由管理员重新设置 , 而其他rc文件应该保留不变 。这只是一种习惯做法 , 而非硬性规定 , 然而遵从习惯的好处是系统设置比较清晰 , 便于系统维护和管理 , 并且当管理员进入一个新系统中 , 能立即找到需要的配置文件 。

    推荐阅读