FreeBSD handbook中文版 6 配置与调整( 三 )


case “$1” in
start)
/usr/local/bin/foobar

stop)
kill -9 ‘cat /var/run/foobar.pid‘

*)
echo “Usage: ‘basename $0‘ {start|stop}” >&2
exit 64

esac
exit 0
这个脚本随着系统的启动而被呼叫 , 随着系统的关闭而停止 。当一个连接被一个相配的
port 接收到时 , 一些服务会被inetd 所调用 。这个对邮件阅读服务器来说使用比较普遍
(POP,IMAP 等) 。这些服务可以通过编辑/etc/inetd.conf文件来启用 。可以看看inetd
命令的说明就可以了 。
FreeBSD 使用手册
第5 页FreeBSD 使用手册
一些额外的系统功能不太可能会被隐藏在/etc/rc.conf中 。这些通常能够使用命令来
调用它们 。就象在FreeBSD3.1 中 , 没有默认的/etc/rc.local 。如果它被系统管理员创建 ,
它将不可能以普通的形式得到尊重 。注意rc.local 通常被作为是最后一个访问的记录;如
果有一个比较好的地方能启动一个服务 , 就是在那儿 。
注意:不要把任何命令都放在/etc/rc.conf 中 。要启动后台程序 , 或在启动时运行任
何命令 , 可以在/usr/local/etc/rc.d 中添加一行脚本 。
使用cron 程序来启动系统服务也是可以的 。这种方法有很多优势 , 不仅仅是cron 能运
行这些进程 , 这些服务也可以被没有root 权限的用户来启动和操作 。
这利用了cron 的一个非正式文件的特性;时钟的形式可能会被“@reboot”这种形式所
取代 , 当系统启动以后 , cron 程序被很快执行 , 这将导致工作暂停运行 。
6.6 虚拟主机
FreeBSD 的一个非常普通的应用是虚拟主机功能 , 一台服务器可以虚拟成多台服务器来
提供网络服务 。这只需要分配多个网络地址给一个简单的接口就可以实现 。
一个给定的网络接口有一个“real”地址 , 也会有很多“alias”地址 。这些别名通常
被添加到/etc/rc.conf 中 。
一个接口“fxp0”的别名记录是这样的:
ifconfig_fxp0_alias0=“inet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx”
注意:别名记录必须用alias0 启动 , 然后按顺序向上处理 , 如_alias1,_alias2 等 。
配置进程将在第一个丢失的数字时停止 。别名的子网掩码的计算是很重要的 , 但幸运的是它
非常简单 。对于一个给定的接口 , 必须有一个正确反映网络的子网掩码的地址 。
例如:假设fxp0 接口连接到两个网络 , 10.1.1.0 的子网掩码是255.255.255.0 , 而
202.0.75.16 的子网掩码是255.255.255.240 。我们要求系统显示从10.1.1.1 到10.1.1.5
和202.0.75.17 到202.0.75.20 。
要正确配置适配器可以这样做:
ifconfig_fxp0=”inet 10.1.1.1 netmask 255.255.255.0”
ifconfig_fxp0_alias0=”inet 10.1.1.2 netmask 255.255.255.255”
第6 页FreeBSD 使用手册
ifconfig_fxp0_alias1=”inet 10.1.1.3 netmask 255.255.255.255”
ifconfig_fxp0_alias2=”inet 10.1.1.4 netmask 255.255.255.255”
ifconfig_fxp0_alias3=”inet 10.1.1.5 netmask 255.255.255.255”
ifconfig_fxp0_alias4=”inet 202.0.75.17 netmask 255.255.255.240”
ifconfig_fxp0_alias5=”inet 202.0.75.18 netmask 255.255.255.255”
ifconfig_fxp0_alias6=”inet 202.0.75.19 netmask 255.255.255.255”
ifconfig_fxp0_alias7=”inet 202.0.75.20 netmask 255.255.255.255”
6.7 配置文件
6.7.1 /etc 规划
在配置信息中有很多的目录 。这些包括:
一般的系统配置信息:这儿的数据是系统指定的 。/etc
系统配置文件的默认版本 。/etc/defaults
额外的sendmail 配置 , 其他MTA 配置文件 。/etc/mail
/etc/ppp programs.user-和kernel-ppp 程序的配置 。
/etc/namedb Bind 数据的默认定位 。通常启动文件是定位在这儿 , 在/var/db 中
参考其他数据的一个指示 。
安装应用程序的配置文件 。可以参考每个应用程序的子目录 。/usr/local/etc

推荐阅读