FreeBSD完全新手指南
2005年05月05日 10:48 来源:ChinaUnix博客 作者:bitmilong 编辑:周荣茂

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