http://www.ddcode.com/info/html/q17185092172_1.htm
本书是为初步接触FreeBSD的用户和管理员们准备的,旨在帮助那些没有充分
的UNIX背景知识的朋友能顺利使用FreeBSD。不论是作为桌面系统,还是Internet
服务器,FreeBSD都有足够的能力和灵活性来满足哪怕是最苛刻的要求,但是,
同时也需要比某些“零售商品”化的
付出更多的管理方面的努力。不过
另一方面需要指出的是,我们为了实现同样功能而付出的努力仍然比Windows95
和其他某些
要少。如果你学会了正确的管理方法,就会发现维护运行一
个FreeBSD系统十分简单而充满乐趣。
即使你只在台式机上跑FreeBSD,他仍然具有服务器的功能,而你也可被称做“
系统管理员”。在Win95机器上工作的时候,你恐怕很难觉得自己是个“管理员”
虽然从技术上讲(Win95)的确是个“系统”,而你也的确是在“管理”它,你
觉得“管理员”这个称呼奇怪的原因在于Win95是个单用户系统,只有你一个人在
使用。
FreeBSD则是个多用户的系统:同一时间一台机器可以为多个用户服务.这种
服务可不光是文件共享服务(如WinNT和Netware提供的),连上FreeBSD的用户
可以使用服务器上所有的功能,就好象他坐在系统控制台上一样.如果允许
的话,用户之间还能实时互动.(译注:比如talk) FreeBSD也能提供比DOS和
Windows95更多的控制能力给你,在FreeBSD上你可以”热更新”系统参数,它
们则需要重新启动一下更新才能生效.比如,你可以更改机器的IP地址,然后
马上就可以投入使用.你不必等上5分种reboot来看效果.
现在,Internet正成为我们生活中越来越重要的组成部分,Internet也改变着我
们的商业模式,公司和个体都在寻找能廉价地增强他们竞争力的手段.尤其是公
司,他们正在提供各种Internet和Intranet服务以吸引客户,提高办事效率.与
此同时,尽管计算机硬件的价格不断下调,软件和支持的费用却不断上涨.对个
体来说,Internet更是一个开展业务的乐园,不过他们的启动经费往往只够买硬
件,他们也必须找到廉价的软件来提供服务.
UNIX是Internet的标准系统,极其重要的Internet标准协议--TCP/IP,DNS,HTTP,FTP
SMTP/POP3/IMAP......绝大部分都是在UNIX系统上开发或调试的.
FreeBSD刚好满足了上面两方面的需要:它基于UNIX的标准代码基(BSD 4.4),优化
运行于通用而廉价的Intel硬件平台,而且是自由的(正如其名).
FreeBSD上Internet标准协议的实现刚好是它的强项.它有众多的WWW/DNS/email
服务软件,也有大量的基于TCP/IP协议的软件包.
FreeBSD有着广泛的应用领域:
●服务器类应用
◎“装好就用”(turnkey)型的WWW服务器
◎ 电子邮件服务器(POP3和IMAP)
◎ 域名服务器(DNS)
◎ PPP拨号服务器
◎ WinXX用户的文件和打印共享服务()
◎ 用来当路由器
◎ 用来做Internet防火墙或网关
◎ 提供Novell Netware文件服务的互操作性
◎ 翻译网络地址(NAT),节约你的合法分配地址
● 普通应用
◎ 作为廉价的 UNIX X Window工作站
◎ 运行大量的FreeBSD桌面应用程序:
○ 文字处理
○ 电子表格
○ 数据库处理
○ 多媒体
○ 视频会议
◎ 运行其他系统上的应用:
○ Linux
○ BSDi
○ SCO
○ Windows 3.1/DOS
○ Windows 95/NT
◎ 单个用户的安全管理
● 大量的定制开发应用
□ 网络上的FreeBSD资源
有关FreeBSD的信息大都可以在网上找到,且有多种格式。
Web网站:
网络上的FreeBSD站点很多,最好的寻找方法是从正式的FreeBSD站点开始浏览:
● http://www.freebsd.org (正式站点)
● http://www.freebsd.org/handbook/handbook.html (手册)
● http://www.freebsd.org/FAQ/FAQ.html (常见问答)
● http://www.de.freebsd.org/de/cgi/man.cgi (联机手册)
上面是进行中的FreeBSD文档计划的一部分,内有FreeBSD专家们撰写的应用指南,
还有一些参考书。
另外,也有不少站点是总体介绍FreeBSD和其他UNIX系统的。如:
● http://www.ugu.org (Unix 高手世界)
freebsd.org的人们也搭建了讨论FreeBSD的邮件列表,可以在上面报告bug、提问、
更新源代码等等你需要的所有服务,但你并不需要支付咨询服务费给任何人。关
于服务支持,你可以到http://www.freebsd.org/support.html了解详情。
CDROM:
其实大部分的文档在FreeBSD的安装光盘上已经包含了,可以在DOS或Windows下阅
读,安装前看看文档是个好主意,要是你拿不准,可以把相关章节打印出来随时备
查。
你的系统:
在一个已经装好了的FreeBSD系统上,有如下文档:
● 全部的联机手册(man pages)
● HTML格式的手册(handbook)和常见问答(FAQ),它们放在/usr/share/doc
下面,可以用netscape或者lynx来查阅。
● 系统自带的例子。(译注:可能指的是各种配置文件里面的注解)
□ FreeBSD邮件列表
邮件列表是一群人保持互相联系的一种简单方法。一旦你订阅了某个邮件列表,
你就会收到所有送往该列表的邮件。这样你就能看到人们提出的问题和解答。
FreeBSD有专门的邮件列表来解答问题,报告bug,还有新版本的发布。
向相应邮件列表提问是获得正确快速解答的方便途径,回复信往往在几个小时
内就能收到。要是订阅列表的其他人中刚好有知道答案的,他立即回答你的话,
几分钟之内就能收到回音了。你得到的不仅仅是答案,而将是完整的解决方法,
因为列表订阅者中很可能碰到过跟你一样的问题,甚至,你碰到问题的软件的
作者都有可能在这个列表当中,他们给你的答案,自然是最有价值的。
在你提问之前,你可能想去看看这个问题是否已经被提出过,要是能直接在邮件
档案中搜索到答案的话,你就不必麻烦别人了:
http://www.freebsd.org/search.html
要是在这个地方搜不到你想问的东西,那么找个正确的邮件列表,发封email。
有若干主题的FreeBSD邮件列表可供自由订阅。你最好先只订阅一个跟你目前使
用的系统和环境密切相关的列表,一次订阅多个列表的话要小心你的邮件流量超
载。
无论何时,你应该避免“重复张贴”(cross-posting),尽量只在跟你的问题相
关的那个列表上提问,重复张贴是对带宽的浪费,也是对无关列表的读者精力
的浪费。如果你错了,人们一般会指点你应该把这个问题发到哪个列表上去。
(译注:使用邮件列表要注意网络道德,要是你敢乱发广告等无关邮件,那
可就不是"指点"了,肯定会被人家骂个狗血喷头!)
如果你是个新手,那么freebsd-questions列表很可能是你最需要的了。所有关于
安装运行FreBSD的问题都可以在这个列表上提出来。
当发信到列表上去提问的时候,请记得详细描述你的问题,附带上尽量多的信息,
好方便大家帮助你解决问题,包括:
● 你运行的FreeBSD版本号
● 机器上有多少内存
● 硬盘类型和大小
● 硬件型号
● 所有跟你问题相关的配置情况
● 出错信息的详细拷贝
注意:如果你自己参考了某些联机文档来试图解决过问题,也请把你的尝试告诉
大家,这样,如果你遗漏了某些资料没有看,他们会很快地告诉你要查找些什么
资料。
□ 订阅邮件列表
下面列出一部分FreeBSD邮件列表,你可以从这些列表开始订阅。随着FreeBSD开发
和应用的发展,新的列表也会加入进来。
当订阅列表的时候要注意,订阅信和讨论信的邮件地址是不同的。订阅信是你要求
加入到某个列表中去的信,这种信一般是由一个叫做majordomo的列表管理程序来
自动处理的:你需要发送到 majordomo@freebsd.org
每个不同主题的列表都有其“列表地址”,你往这个地址发的信会被复制分发到每个
订阅者的邮箱里去,他们并不能帮你完成订阅申请,所以不要把你的订阅请求发到
这些列表地址:
● freebsd-newbies@freebsd.org 新手问题讨论
● freebsd-questions@freebsd.org 一般性问题讨论
● freebsd-isp@freebsd.org FreeBSD在ISP方面的应用讨论
● freebsd-current@freebsd.org 最新current用户问题
● freebsd-bugs@freebsd.org 报告BUGs
● freebsd-chat@freebsd.org 随意瞎聊(当然要跟FreeBSD有关的)
● freebsd-announce@freebsd.org 新版本发布通告(一般是只读的)
● freebsd-stable@freebsd.org FreeBSD稳定版应用问题
要想订阅某个列表,往majordomo@freebsd.org发一封请求信,其内容举例如下:
subscribe frebsd-questions
subscribe freebsd-announce
END
这样,majordomo程序会把你加入到 freebsd-questions和freebsd-announce两个
列表里面。很快,你就会收到这两个列表上的往来邮件了。在请求信的最后加上
end字样是个好习惯,它告诉majordomo忽略邮件的后面内容,否则,你的签名档
也会被majordomo分析一通。(译注:没有太大问题,没有这么巧的,但是我们还
是加上这个"END"好些,不要去"测试"majoedomo了)
majordomo收到请求信后会给你发封确认信,以确认你的邮件地址是正确的,里面
有你的名字和地址,还有确认密码。你要做的很简单,直接"reply"这封邮件给
majordomo就行了。之所以采用这种确认程序,是为了防止别人冒用你的名义,
给你订上一大堆的邮件列表。
(译注:原文没有讲取消订阅,这里补充一下:再给majordomo写请求信,格式跟
订阅请求一样,不过把subscribe换成unsubscribe就行了)
内容
1. 配置你的.cshrc文件
2. 设置更多的虚拟控制台(Virtual Terminals)
3. 增加一个硬盘
4. 系统配置文件选项
5. 添加和安装软件
6. 怎样安装Linux模拟器
1. 配置你的.cshrc文件
这是系统自带的.cshrc文件.
#csh .cshrc file
alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lA
alias su su -m
setenv EDITOR vi
setenv EXINIT 'set autoindent'
setenv PAGER more
set path = (~/bin /bin /usr/{bin,games} /usr/local/bin /usr/X11R6/bin)
if ($?prompt) then
# An interactive shell -- set some stuff up
set filec
set history = 1000
set ignoreeof
set mail = (/var/mail/$USER)
set mch = `hostname -s`
set prompt = "${mch:q}: {!} "
umask 2
endif
path语句告诉你的shell哪里能找到你要执行的程序. 它从列出的第一个目录
开始寻找与你输入的命令相匹配的文件. 如果找到就开始执行那个程序.
它不会在没有列出的目录里寻找可执行文件. 哪怕就在你的当前目录下. 所以
如果你的当前目录没在path的列表里, 即使你要执行的文件就在这里也不能被找
到.
如果要执行当前目录下的文件, 你得在命令前面加一个"./" . 例如, 你在
/usr/local/www/cgi-bin/目录里要测试一个编好的程序. 它名叫getdata.pl,
你输入getdata.pl, 然而并没有你期待的HTML输出, 你只是得到了一条错误信
息, getdata.pl: Command not found. 这是因为你的path语句里没有包含"."
目录. 要想这个文件被执行你得输入:
./getdata.pl
现在你会看到期待的HTML. 除非你编的程序有误, 输出的是你所用的编程语言
的错误信息.
一个 TCSH 的例子
就象前面提及的, tcsh在csh的基础上增加了很多特性使得命令行界面更加易用.
这是一个能够体现出tcsh优越性的.cshrc文件的例子:
#tcsh .tcshrc file
alias h history 25
alias j jobs -l
alias la ls -a
alias lf ls -FA
alias ll ls -lF
#alias su su -m -- bad for su'ing to root..
setenv EDITOR vim
setenv PAGER less
set path = ( ~/bin /usr/local/bin /bin /usr/{bin,games} /usr/sbin /sbin /usr/local/samba/bin /usr/X11R6/bin /usr/local/java/bin .)
setenv IRCNICK ringzero
setenv IRCSERVER irc2.magic.ca
setenv NNTPSERVER news.sentex.ca
if ($?prompt) then
# An interactive shell -- set some stuff up
set filec
set fignore = .o # ignore object files for filec
set showmatch # for programming
set history = 100
set savehist = 75 # tcsh version of history..
set ignoreeof
set mail = (/var/mail/$USER)
set prompt="vinyl:{%h}%~ %% " # tcsh version of above!
set watch = (1 gabor any mike any adrian any pwardrop any)
umask 2
endif
第一点值得注意的是有关setenv的行. 在这个例子里, 它们设置了使用新的阅读
软件和irc客户端软件的环境变量. 另一个感兴趣的地方是set fignore = .o , 它
使得file completion(set filec)(译者注: 我对tcsh不太熟悉,我猜想这里的file
completion 是指类似bash的命令补齐的东西,但又不敢确定,所以照搬下来了)忽略
结尾是".o"的文件. 如果你是一个C程序员的话这很有用, 因为你要编辑的是一个
".c"文件而不是".o"文件. set showmatch 是 tcsh 特有的另一个file completion
机制. 至于它的用途, 自己试试吧! set prompt 选项为你的shell设置了一个很
友好的提示符. 它会在任何时候显示你的当前目录. 看起来会象这样:
mark:{123}~ % cd /usr/src
mark:{124}/usr/src %
注意波浪号表示你的home目录. 现在你已经知道了很多tsch和csh选项了, 如果想
知道更多,最好的方法是man tcsh! 所有两种shells的特征(比如tcsh的"watch"特征)
都在man page里. 自己去体验一下你所喜欢的那些窍门吧!
注意:
如果你更改了你的.cshrc文件, 你可以用source .cshrc来使你的
变动立即生效!
2. 设置更多的虚拟控制台(Virtual Terminals)
(译者注: 想来想去还是决定把Virtual Terminals译为虚拟控制台,
因为记得有人把Pseudo terminals称作虚拟终端的)
一个虚拟控制台是一个内建在服务器主控制台上的终端. 它使你能同时打开好
几个屏幕, 当然一次只能看到一个. 缺省情况下设置了4个虚拟终端, 但只有3个
能用.按ALT加F2或F3(F1是一开始的那个)可以切换到第二或第三个虚拟控制台.
现在你会在屏幕上看到登录画面, 这和第一个虚拟控制台看起来没有什么不同.
按ALT加F1回到原来的屏幕.
要增加虚拟控制台, 你必须以超级用户身份访问/dev目录. 然后运行MAKEDEV
程序. MAKEDEV是一个shell脚本, 所以你得用sh shell解释器来执行它. 在提示符
下输入:
cd /dev
sh MAKEDEV vty 16
注意:
(全部用大写输入MAKEDEV, 大小写有本质的区别)
这将建立16个虚拟控制台. 它们可以用ALT+F?来访问. (译者注: 但是F键只有12个)
但是在你能使用它们之前你还要在/etc/ttys文件里激活它们. 去到/etc/目录里然后
用vi来编辑/etc/ttys文件.
cd /etc
vi ttys
#
# $Id: ttys,v 1.2 1998/09/02 01:34:57 brian Exp $
# @(#)ttys 5.1 (Berkeley) 4/17/89
#
# name gettytype status comments
#
# This entry needed for asking password when init goes to single-user mode
# If you want to be asked for password, change "secure" to "insecure" here
console noneunknown off secure
#
ttyv0 "/usr/libexec/getty Pc" cons25 on secure
# Virtual terminals
ttyv1 "/usr/libexec/getty Pc" cons25 on secure
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
#ttyv3 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
ttyv3 "/usr/libexec/getty Pc" cons25 on secure
ttyv4 "/usr/libexec/getty Pc" cons25 on secure
ttyv5 "/usr/libexec/getty Pc" cons25 on secure
ttyv6 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure
# Serial terminals
# The 'dialup' keyword identifies dialin lines to login, fingerd etc.
ttyd0 "/usr/libexec/getty std.9600" dialup off secure
ttyd1 "/usr/libexec/getty std.9600" dialup off secure
ttyd2 "/usr/libexec/getty std.9600" dialup off secure
ttyd3 "/usr/libexec/getty std.9600" dialup off secure
# Pseudo terminals
ttyp0 none network secure
ttyp1 none network secure
ttyp2 none network secure
ttyp3 none network
(译者注: 原文里是一个图, 所以用我的/etc/ttys文件来代替)
如果你运行X window, 必须保留一个关掉的虚拟控制台. 缺省情况下,
ttyv4 是关闭的.
你要在标着Virtual Terminals的部分添加几行. 如果你制造了16个虚拟
控制台设备, 那么你现在有16个虚拟控制台要配置. 也就是说在/etc/ttys
文件里要有16行有关虚拟控制台的内容; 现在还只有4行. 你可以通过拷贝
粘贴这些行来完成:
ttyv2 "/usr/libexec/getty Pc" cons25 on secure
把光标移到这行后按yy然后按j使光标下移再按12p来使这行被粘贴12次.现在
你有了ttyv2的12份拷贝, 你得把它们改为二进制数字. 从4开始,然后是5,6,
7,8,9,a,b,c,d,e,f.
完成后你就在/etc/ttys里配好了从ttyv1 - ttyvf的虚拟控制台.
在vi里你能用简单的方法来完成替换,把光标移到你要改变的数字上按r键再
输入要替换成的数字,然后按j使光标下移再重复前面的工作.
结束编辑后按ZZ退出vi. 现在要重起init进程. 以超级用户身份输入:
kill -HUP 1
现在你的虚拟控制台已经随时待命了.
3. 增加一个硬盘
先要从物理上安装硬盘. 保证电缆已经接好, 从第一针到电源插头.(注意,
数据线上的红带要与电源线相邻). 再确保有电供给驱动器.
然后重新启动FreeBSD,FreeBSD在启动的时候会检测出这个驱动器. 如果没有
的话用"-c"参数reboot. 在启动提示符下进入visual config使合适的控制器被
激活. 最可能的情况是你使用的核心是自己建立的并且附加的IDE驱动器以被核
心禁止,或者在一个SCSI被核心禁止的系统上添加第一个SCSI驱动器. 如果控制
器只是被核心*禁用*而不是删除, 只须在visual config里把它激活就行了. 否
则你必须重建核心以加入适当的控制器和驱动.
如果你错过了启动时的信息, 登录后在提示符下敲dmesg. 这将重现你的启动
信息.
/usr/> dmesg | more
如果安装的是SCSI驱动器, 要确保驱动器已被SCSI BIOS找到并且用了适当的
SCSI termination.
一旦所有东西都被找到, 就可以开始FreeBSD下的配置了.
******************************************************************
要做的第一件事就是清扫干净磁盘上原有的任何东西. 很多硬盘驱动器厂商已
把新的驱动器分好区并且已格式化成DOS FAT文件系统. 在余下的部分, 我们假
设找到的硬盘驱动器是sd1, 也就是电缆上的第二个SCSI驱动器(用SCSI ID 1).
下面是如何清除FAT垃圾:
dd if=/dev/zero of=/dev/rsd1 count=100
然后要为驱动器准备一个"disk label". 假设你计划整个硬盘都在FreeBSD下
使用:
disklabel -Brw sd1 auto
*把rsd1和sd1替换成你添加的硬盘,不要在一个正在使用的磁盘上进行这些操作.
这将清除磁盘上的每样东西, 为FreeBSD能使用它做好准备. 一切顺利的话将不需要
使用fdisk.
如果你计划在FreeBSD下把整个硬盘分成一个区, 那么用刚才 disklabel 建立的
缺省的单一分区就行了, 否则的话你要用disklabel编辑器来创建更小的分区.你也
许需要在磁盘上增加一个交换分区, 例如.
编辑第一个IDE盘的disklabel:
disklabel -e wd0
# /dev/rwd0c:
type: ESDI
disk: wd0s1
label:
flags:
bytes/sector: 512
sectors/track: 51
tracks/cylinder: 13
sectors/cylinder: 663
cylinders: 722
sectors/unit: 479298
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # milliseconds
track-to-track seek: 0 # milliseconds
drivedata: 0
8 partitions:
# size offset fstype [fsize bsize bps/cpg]
a: 65536 0 4.2BSD 0 0 0 # (Cyl. 0 - 98*)
b: 85936 65536 swap # (Cyl. 98*- 228*)
c: 479298 0 unused 0 0 # (Cyl. 0 - 722*)
e: 61440 151472 4.2BSD 0 0 0 # (Cyl. 228*- 321*)
f: 266386 212912 4.2BSD 0 0 0 # (Cyl. 321*- 722*)
这部分需要动动脑筋,以使那些数字正确. 给一个分区分配容量,较容易的方法是
给你要分配的分区一个通过计算得出的柱面(cylinders)数. size 是分区的扇区数
目. offset 是前一个分区的最后一个扇区. 分区 a 从扇区0开始. 分区必须在你
所分配给分区的柱面的范围内开始和结束. 计算分区大小的方法是, tracks/cylinder
(每柱面的磁道数)乘以sectors/cylinder(每柱面的扇区数)再乘以你分配给分区的
柱面数.(扇区数*磁道数*柱面数=分区大小) 计算offset的方法是, 上个分区的大
小加上个分区的offset.(Size+Offset=下个分区的Offset)
fstype是你在分区上使用的文件系统的类型. FreeBSD通常使用的文件系统是
4.2BSD. swap是交换文件使用的文件系统. FAT是DOS分区使用的文件系统.分区a
为启动扇区保留,它为空表示不需要启动扇区.
分区 b 保留作交换文件. 它不能从offset 0开始. 它的前面必须要有一个分
区. 分区 e 可以从offset 0 开始并且可以是任意大小, 所以交换分区可以放在
分区 e 的后面.
分区 c 不会被改变. 要从分区c开始制造你的文件系统.
现在要用newfs命令在磁盘创建一个文件系统. 如果你使用的是整个磁盘, 可以
用disklabel 自动建立的c分区.
newfs /dev/rsd1c
c分区总是整个驱动器 - 所以这种情况下你建立的文件系统也就包括了整个磁盘.
如果你把磁盘分的更小, 你必须在每个分区上使用newfs来建立文件系统,交换分
区除外.
最后,你需要mount驱动器. 在这里我们假设你已用mkdir创建了"mount point"
/d2 .
mount /dev/sd1c /d2
顺利的话, 你可以看到象这样的东西:
#vinyl % df -k
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/sd0a 31775 13530 15703 46% /
/dev/sd0s1f 1913091 1086207 673837 62% /usr
/dev/sd0s1e 29727 12663 14686 46% /var
procfs 4 4 0 100% /proc
/dev/sd1c 4108717 616594 3163426 16% /d2
现在你要在/etc/fstab文件里创建一个条目以使它在每次启动时都被mount.
否则你每次都要手工执行mount. 你要为创建的每个分区建立fstab条目,包括
交换分区.
此外可以在man page里参考: fstab mount disklabel dmesg dd 和 newfs
4. 系统配置文件选项
4.1 重要的启动时初始化选项
4.2 网络配置子项
4.3 (其他)网络daemon & NFS选项
4.4 网络时间服务选项
4.5 网络信息服务(NIS)选项
4.6 网络路由选项
4.7 系统控制台选项
4.8 其他管理选项
4.9 Allow local configuration override at the very end here
注意:
所有参数都必须括在单引号或双引号里. 多个条目间用空格格开
4.1 重要的启动时初始化选项
swapfile="NO"
# 设定交换文件的名字,如果希望使用辅助交换文件的话.
# Set to name of swapfile if aux swapfile desired.
apm_enable="NO"
如果希望激活APM(高级电源管理)设为YES
pccard_enable="NO"
要配置PCCARD设备的话设为YES.
pccard_mem="DEFAULT"
如果ccard_enable=YES, 这是卡的内存地址.
pccard_ifconfig="NO"
以太网pccard的特殊配置(否则 NO).
local_startup="/usr/local/etc/rc.d /usr/X11R6/etc/rc.d"
本地启动目录.在启动期间,FreeBSD会搜索某些目录,并执行里面的任何
程序.有些象Windows里的"启动"文件夹.local_startup选项让你指定那
些目录在启动期间会被搜索.可以列多个目录,中间用空格格开.它们将按
顺序被搜索,每个文件都会被执行.这是除/etc/rc.local外另一个启动程
序的方法.
4.2. 网络配置子项
基本网络选项:
hostname="myname.my.domain"
这是你的主机名. 如果你连在Internet上的话还要包括域名.这个名字
也会出现在你的DNS表里.
nisdomainname="NO"
设定 NIS 域 如果使用 NIS (否则 NO).
firewall="NO"
防火墙类型 (参见 /etc/rc.firewall) 否则 NO.
tcp_extensions="YES"
# 允许 RFC1323 & RFC1544 扩展 (否则 NO).
network_interfaces="lo0"
这是你配置你的所有网卡的地方.每块网卡都要有一项.lo0
是环路(loopback)设备也称作"localhost".网卡,比如ed0
(NE2000)和fxp0(Intel Ether Express)在上面加入.
ifconfig_lo0="inet 127.0.0.1"
在这里配置你上面列出的每块网卡.
ifconfig_lo0_alias0="inet 127.0.0.254 netmask 0xffffffff"
通过lo0为localhost设置一个别名.
4.3. (其他)网络daemon & NFS选项:
syslogd_enable="YES"
Syslog 是你的登录服务.它把所有的错误记录在/var/log/.它用
/etc/syslog.conf来配置.
syslogd_flags=""
# syslogd 的命令参数 (如果被允许).
inetd_enable="YES"
这是你所有的网络服务. 如果它被禁止你将不能telnet到这台计算机
上. 它通过/etc/inetd.conf来配置. 它管理着所有动态服务, 也就是
说在需要时才会被启动的服务, 比如: finger, telnet,rlogin, ftp,
pop3 等等...
inetd_flags=""
# inetd 的参数.
named_enable="NO"
这将运行你的Internet域名服务, 或者说, BIND. 如果你已经有了一个
DNS你就不必把它打开了.它通过 /etc/namedb/named.boot来配置, 除非
你专门指定了另一个. 你将会有至少两个DNS servers.
named_flags="-b /etc/namedb/named.boot"
这是你指定给named的配置文件.
kerberos_server_enable="NO"
# 运行一个kerberos主服务程序 (否则 NO).
# Run a kerberos master server(or NO).
rwhod_enable="NO"
# 运行 rwho daemon (否则 NO).
amd_enable="NO"
# 以$amd_flags运行amd服务. (否则 NO).
amd_flags="-a /net -c 1800 -k i386 -d my.domain -l syslog /host /etc/amd.map"
例子
nfs_client_enable="NO"
# 这台主机是一台 NFS 客户机 (否则 NO).
nfs_client_flags="-n 4"
# nfsiod 的参数 (如果被允许).
nfs_server_enable="NO"
# 这台主机是一台 NFS 服务器 (否则 NO).
nfs_server_flags="-u -t 4"
# nfsd 的参数 (如果被允许).
weak_mountd_authentication="NO"
# 运行 PCNFSD / 其他 non-root nfsd (否则 NO).
nfs_reserved_port_only="NO"
# 仅在安全端口上提供NFS (否则 NO).
rpc_lockd_enable="NO"
# 运行 NFS rpc.lockd (*broken!*) 如果 nfs_server.
rpc_statd_enable="YES"
# 运行 NFS rpc.statd 如果 nfs_server (or NO).
portmap_enable="YES"
# 运行 portmapper 服务 (否则 NO).
portmap_flags=""
# portmap 的参数(如果被允许).
xtend_enable="NO"
# 运行 X-10 电源控制器 daemon.
xtend_flags=""
# xtend 的参数(如果被允许).
4.4. 网络时间服务选项:
timed_enable="NO"
运行时间 daemon (否则 NO).
timed_flags=""
timed 的参数(如果被允许).
ntpdate_enable="NO"
运行ntpdate 使时间同步 (or NO).
ntpdate_flags=""
ntpdate 的参数(如果被允许).
xntpd_enable="NO"
允许 xntpd 网络时间协议 (否则 NO).
xntpd_flags=""
xntpd 的参数(如果被允许).
tickadj_enable="NO"
运行 tickadj (否则 NO).
tickadj_flags="-Aq"
tickadj 的参数(如果被允许).
4.5. 网络信息服务(NIS)选项:
nis_client_enable="NO"
我们是一台NIS客户机 (否则 NO).
nis_client_flags=""
ypbind 的参数 (如果被允许).
nis_ypset_enable="NO"
在启动时运行ypset (否则 NO).
nis_ypset_flags=""
ypset 的参数(如果被允许).
nis_server_enable="NO"
这是一台NIS服务器 (否则 NO).
nis_server_flags=""
ypserv 的参数(如果被允许).
nis_ypxfrd_enable="NO"
启动时运行rpc.ypxfrd(否则 NO).
nis_ypxfrd_flags=""
rpc.ypxfrd 的参数(如果被允许).
nis_yppasswdd_enable="NO"
启动时运行rpc.yppasswdd(否则 NO).
nis_yppasswdd_flags=""
rpc.yppasswdd 的参数(如果被允许).
4.6. 网络路由选项:
defaultrouter="NO"
这里设置你的缺省网关.这是你连接Internet的路由器的IP地址.如果
你没有设置这项,你将仅能ping通同一子网内的地址.如果你的IP地址
是10.1.1.3,子网掩码是255.255.255.0,你将能看到10.1.1.2而不能
看到10.1.2.2,因为没有设置缺省的路由.
static_routes=""
静态路由是作为路由器位于两个不同网络间的机器的高级选项.
gateway_enable="NO"
如果你的机器要当作网关的话设成YES.如果你机器上有不只一块网卡并
把它们用作路由,网桥,ipnat或者当作拨号服务器时设定为YES.
router_enable="YES"
设置为 YES 以允许一个路由daemon.
router="routed"
&nbs