2009-07-28/15:31
目录
I. 现在开始I.
1 整体介绍
1.1 概要
1.2 欢迎使用FreeBSD!
1.3 关于FreeBSD 计划
=============================================================
I. 让我们开始吧!
=============================================================
FreeBSD 使用手册的这部分是专门针对FreeBSD 用户和系统管理员新手的。这些章节包括:
1. 向你介绍FreeBSD。
2. 指导你一步步地安装。
3. 教你一些UNIX 的基础知识。
4. 向你展示如何安装针对FreeBSD 的大量第三方应用程序。
5. 向你介绍X----UNIX 的视窗系统,以及如何配置一个桌面环境。
我们已经尽量压缩了介绍文本的页数,以便你在阅读这章时不至于太累。
第1章介绍
(翻译中出现的任何问题或错误,请广大读者及时反馈给我:freebsdhandbook@163.com)
---------------------------------------------------------------
1.1 概要
---------------------------------------------------------------
非常感谢你对FreeBSD 感兴趣!在下面的章节中,我们将为你介绍有关FreeBSD 计划的
各个方面,例如,它的历史、目标和开发模式等等。
读完这章,您将了解到:
. FreeBSD 与其它电脑操作系统的关系是怎样的。
. FreeBSD 计划的历史。
. FreeBSD 计划的目标。
. FreeBSD 开放源代码开发模式的基础知识。
. 当然,还有FreeBSD 这个名称的由来。
---------------------------------------------------------------
1.2 欢迎使用FreeBSD!
---------------------------------------------------------------
FreeBSD 是一个同时支持Intel 架构和DEC 架构的,以4.4BSD-Lite 为基础发展而来的
操作系统。其它架构的Ports(注)也正在发展中。如果你想对FreeBSD 有一个大致的了解,
第1 页你可以看一下下面的章节。你也可以在本手册的后面介绍中了解一下FreeBSD 的历史或者是
它的当前发行版本。如果你想为这一计划贡献点什么,你可以参看后面的“为FreeBSD 作贡
献”一节。
护。这个Port 的维护者首先将软件移植到FreeBSD 上,并将他所完成的这些移植工作按照
Ports Collection 的要求进行设置,编写相关的脚本,使下载软件、配置、编译、安装的
全过程能够自动完成,不需人工干预。每个Port 中并没有保存软件包的源代码或者二进制
代码,而只是提供了搜索它的源代码或者二进制软件包的方法。
读到这里,你可能会想FreeBSD 到底能够为你做些什么。如果你是一个FreeBSD 的新手,不
要着急,请继续我们的旅程。
1.2.1 FreeBSD 到底是什么?
(x86)的电脑上运行,也可以在DEC 的Alpha 架构上运行,当前也已经有了其它平台的版
本。注:去掉了与AT&T 有争议的代码的4.4BSD 版本,是一个不完整的版本。
.
.
.
.
.
.
.
.
.
注: 每种要被移植到FreeBSD 上的软件被称为一个Port,由某个FreeBSD 的开发者维
事实上,FreeBSD 是以4.4BSD-Lite(注)为基础的操作系统。它既可以在Intel 架构
在Internet 上,有许多国际知名的网站运行着FreeBSD,包括:
Yahoo!
Apache
Be, Inc.
Blue Mountain Arts
Pair Networks
Whistle Communications
Microsoft
Hotmail
Sony Japan
等等...
FreeBSD 使用手册
第2 页FreeBSD 使用手册
---------------------------------------------------------------
1.2.2 FreeBSD 能够做些什么?
---------------------------------------------------------------
FreeBSD 有着许多令人注目的特性。例如:
1. 动态的抢先式的多任务处理机制,使得应用程序与用户之间,即使是在巨大的负荷下,
也能够确保平滑、稳定地共享资源。
2. 一个FreeBSD 系统能够允许许多使用者同时处理各种事情。也就是说,象打印机和磁带
机这些系统周边设备可以让所有的使用者适当地分享。也可以对个别使用者或一群使用者使
用的重要系统资源予以限制,以保护系统不致被过度使用。
3. 支持完整的SLIP,PPP,NFS,DHCP,NIS 等TCP/IP 网络协议,这表明FreeBSD 提供远程文
件共享(NFS) 及电子邮件(e-mail) 等服务,可以让你的企业连上国际互联网(internet) 并
提供WWW,FTP,路由(routing)及防火墙(firewall, security)等必备服务。
4. 先进的内存保护机制能够确保程序之间不会互相干扰。一个应用程序的崩溃不会影响其
它的应用程序的执行。
5. FreeBSD 是一个纯32 位的操作系统(已经支持Alpha 的64 位系统),从一开始就是这
样设计的。
6. 业界标准的X 视窗系统(X11R6)提供了一个图形用户接口,使FreeBSD 能够在一般的
VGA 显示卡和监视器上使用图形系统,而且你还能得到全部源代码。
7. 有着跟Linux,SCO,SVR4,BSDi,NetBSD 等系统良好的二进制兼容性。
8. 数以千计的可执行应用程序,可以在FreeBSD Ports 和packages 中找到。你将不需要
再费心到网络上到处搜索所需要的软件。
9. 数以千计容易移植的应用程序都可以在Internet 上找到。FreeBSD 和许多商业化的Unix
系统保持着源代码级的兼容性,许多应用程序只需要很少的修改就可以直接进行编译执行。
10. 虚拟内存和集成的高速缓冲存储器的设计,提供了令人满意的又有效率的应用程序执行
速度。尤其是执行那些大型的应用软件时,仍能让使用者轻松地控制。
11. SMP(对称多处理技术)能够提供对多CPU 的支持(Intel only)。
12. 完全支持C,C++,Fortran,Perl 这些开发工具。许多其他的用于高级研究和开发的程序
语言也在不断地加入到FreeBSD 的软件包中去。
13. 完整的系统源代码使你能够随心所欲地控制和修改你的操作系统。让你避开让商业化操
作系统公司操控的命运。
14. FreeBSD 拥有丰富的在线文档,为你解决一切问题。
第3 页FreeBSD 使用手册
当然,还有很多很多的特性,在此不一一列举了。
FreeBSD 是在加利福尼亚大学伯克利分校的计算机系统研究组(CSRG)开发的
4.4BSD-Lite 基础上发展而来的,它一直保持着BSD 系统开发的优良传统。FreeBSD 项目组
花费了相当长的时间来调整整个系统在真实计算环境下的最大可靠性和稳定性。正当许多商
业上的巨人努力地希望能提供高效及稳定的系统时,FreeBSD 已经具备这样的素质。
FreeBSD 所能提供的应用仅仅局限于你的想象力。从软件开发到工厂自动化,从仓库管理到
卫星的远程控制;那些商业化的UNIX 系统能够做的,FreeBSD 照样也能够胜任,甚至更多。
FreeBSD 也得益于全世界的研究中心和大学为它提供令人注目的高质量的应用程序,这些应
用程序通常只需要化很少的钱(甚至免费)就可以取得。当然,许多商业化的应用程序也在
不断地出现。
因为FreeBSD 的源代码是完全公开的,所以对于某些特殊的应用或项目,可以对整个系
统进行修改以符合你的任何需求,而这些特性往往是那些商业化的操作系统所不能满足的。
以下提供了一些人们使用FreeBSD 的例子(当然还有更多的应用):
Internet 服务:用FreeBSD 建构起来的强大的TCP/IP 网络系统,使它成为能够提供多
种Internet 服务的理想平台:
FTP 服务器
Web 服务器(standard or secure [SSL])
防火墙和NAT (“IP 伪装”)网关.
电子邮件服务器
新闻组和电子公告板系统
还有其它很多...
有了FreeBSD,你可以先用便宜的386PC,然后等你的公司规模变大了以后再升级你的机
器,用带有RAID 存储设备的且具有四倍处理性能的至强(Xeon)处理器的服务器作为你的
企业级服务器。
学术上:你是一个电脑科学系或其它相关领域的学生吗?再也没有比FreeBSD 所提供的
实际操作经验更好的方法来学习操作系统、电脑结构和网络了。FreeBSD 上的许多自由使用
的CAD、数学计算、图形设计软件包能让那些在计算机应用上有兴趣的人学到更多东西。
第4 页FreeBSD 使用手册
研究上:有了完整的系统源代码,FreeBSD 就成为电脑科学研究的极好环境。具有免费
且自由取得的特性,使得一个分处两地的合作计划不必担心版权及系统开放性的问题,而能
自由地交流。
网络上:你需要一个新的路由器吗?一个域名服务器?一个能够防止外部人员入侵你内
部网络的防火墙?FreeBSD 完全可以将一些放在角落里已经不使用的386 或486 个人电脑设
置成一个高性能的路由器,甚至还具有过滤封包(packet-filter)的功能。
X 图形工作站:作为一个便宜的X 终端解决方案,无论是充当免费使用的XFree86 服务
器,还是充当提供X 服务的商业化服务器,FreeBSD 都是一个很好的选择。FreeBSD 不但可
以充当远程X 程序终端机,也可以执行本地的X 程序而减轻大型工作站的负荷。如果有一台
中央服务器的话,FreeBSD 甚至可以通过网络启动(不需本地硬盘),而变成更便宜且易于管
理的工作站。
软件开发:基本的FreeBSD 系统拥有包括非常出名的GNU C/C++编译器和调试器在内的
一整套开发工具。
FreeBSD 的发行光盘既提供系统的源代码也提供直接可执行程序,可以通过匿名ftp 的
形式在网上自由下载。请看看附录A 了解如何获得FreeBSD。
---------------------------------------------------------------
1.3 关于FreeBSD 计划
---------------------------------------------------------------
下面的部分将介绍有关这个计划的一些背景信息,包括大概的历史,计划的目标,以及
整个计划的开发方式等。
---------------------------------------------------------------
1.3.1 FreeBSD 的发展历史
---------------------------------------------------------------
FreeBSD 计划最早是从1993 开始的,那是源自于维护一组“非官方的386BSD Patchkit”
计划的三个协调维护人Nate Williams,Rod Grimes 和Jordan K. Hubbard。他们原先的计
划是做出一份386BSD 的测试版以修正一些Patchkit 无法解决的bug。你们中的一些人可能
还记得早期的计划名称叫“386BSD0.5”和“386BSD Interim”就是这个原因。
386BSD 是Bill Jolitz 的操作系统,在当时就已经有了约一年的分裂讨论。由于Patchkit
的急剧膨胀,使得很难每天都能够消化吸收,我们一致决定应该帮助比尔来改善目前的困境。
然而,比尔却在事先没有指出这个计划应该如何开展下去的情况下,突然退出这个计划,最
终这个计划只好暂时停止。
第5 页FreeBSD 使用手册
没有多久,我们决定在没有比尔支持的情况下,应该做一点有价值的事情,所以我们采
用David Greenman 提出的将这一计划命名为“FreeBSD”(该名称由David Greenman 掷铜板
所决定的)。在和当时的几个使用者进行商议后,才决定了我们最初的目标。等到一切逐步
明朗化之后,整个项目开始走上正规,这个计划也逐渐成为一个现实。为了给那些不容易访
问互联网的用户提供一个FreeBSD 的发行渠道,我们开始跟Wulnut Creek CDROM 发行商进
行联系。Wulnut Creek CDROM 发行商不仅愿意为我们发行FreeBSD 光盘,而且还为我们提
供开发这一计划所需要的电脑和快速的互联网接入。没有Wulnut Creek CDROM 的支持,我
们就没有信心去开发这一计划,也不可能看到现在的FreeBSD 会发展的那样深远、快速。
第一张FreeBSD 光盘是在1993 年12 月发布的,我们把它命名为FreeBSD1.0。这一版本是
以伯克利加州大学的4.3BSD-Lite(“Net/2”)为基础的,它带有386BSD 上的许多组件还有
自由软件基金会的许多软件。对于一个早期的产品来说,它还算成功。接着,我们在1994
年的5 月份成功地发布了FreeBSD1.1 版本。
大约就在那时,另一个意外的事情是Novell 和U.C. Berkeley 在有关Berkeley Net/2
磁带版权问题上发生了法律纠纷。最后结果,U.C. Berkeley 接受大部分的Net/2 的程序代
码都是“侵占来的”且是属于Novell 的财产这一条件------事实上是当时不久前从AT&T
取得的。Berkeley 得到的则是Novell 对于4.4BSD-Lite 的“祝福”,当最后4.4BSD-Lite
终于发行之后,便不再算是侵占行为。而所有现有的Net/2 使用者都被强烈建议更换新版本。
这包括了FreeBSD,我们被要求于1994 年6 月底前停止发布基于Net/2 的产品。在此前提
下,本计划被允许在规定期限以前作最后一次发行,也就是FreeBSD 1.1.5.1。
于是我们开始艰苦地整合4.4 Lite,因为Berkeley 的CSRG 小组在4.4 Lite 中删掉了
许多有版权问题的程序代码,而导致4.4 Lite 是一个不完整的,无法启动的系统。直到1994
年11 份,整个计划才有所改善,最终在12 月份才把FreeBSD 2.0 通过网络和CDROM 发布出
来。虽然系统很多地方还很粗糙,但是这一发行版还是很成功的。到了1995 年发行2.0.5
版的时候,它已经变得非常强大和容易安装了。
我们在1996 年8 月发布的FreeBSD 2.1.5 版已经在ISP 和一些商业团体中广泛流传。
另外一个发行版沿着2.1-stable 分支继续发展,直到1997 年2 月发行2.1.7.1 版才终止了
这一分支。对于这些发展的分支,仅仅是增强一些安全性和修补一些错误。
FreeBSD 2.2 作为一个新的分支是从1996 年的11 月的版本发展而来。作为这一分支的最早
发行版是在1997 年4 月发布的2.2.1 版,这个分支直到1998 年11 月的2.2.8 版时才宣告
结束。正式的3.0 发行版是在1998 年8 月份出现的。
第6 页FreeBSD 使用手册
整个分支结构到了1999 年1 月20 日,才发展到4.0 的当前版和3.x 的稳定版。
在3.x 的稳定版中,3.1 版是在1999 年的2 月15 日,3.2 是在1999 年3 月15 日,3.3 版
是在1999 年的7 月16 日,3.4 版是在1999 年的12 月20 日,3.5 版是在2000 年的6 月24
日发布的,几天后又加入了一些安全性方面的修补,这一分支最终发展到3.5.1 版本。这就
是3.x 分支的最后版本。
到了2000 年3 月13 日又出现了一个新的分支。我们把它称为“current–stable”分
支。这一分支有好几个发行版:4.0 版在2000 年3 月出现,4.1 版在2000 年7 月出现,4.2
在2000 年11 月出现,4.3 在2001 年4 月出现。4.4 在2001 年11 月发布。沿着4.x-stable
这一分支将不断发展直到2002 年。
有很长的开发队伍在继续着5.0-CURRENT 的开发,现在已经可以在网上下载到它的预览
版了。
---------------------------------------------------------------
1.3.2 FreeBSD 计划的目标
---------------------------------------------------------------
FreeBSD 计划的目标是为那些不管出于什么目的,不需要有任何限制的人提供软件。我
们中的许多人都为这一计划或其中的软件有相当深入的投入和研究。当然也不介意现在或是
将来能够得到财政上的补偿。我们首先和最主要的使命是为现有的任何人和即将加入的新来
者提供代码,无论它们出于什么目的,都能够使得代码能够最大范围地被使用,使尽可能多
的人受益。我相信这就是我们狂热地支持自由软件的最基本的目标。
在我们整个程序代码中,有若干是使用GNU 公用软件许可证(GPL) 或是LGPL 的版权公
告的。它们附带有许多限制性文字在其中,但还好只是允许人们可以取得该软件,而非一般
限制性的版权公告。由于使用GPL 的软件在商业用途上会增加若干复杂性,我们在适当的时
候会让这些软件改用更宽松的BSD 版权声明。
---------------------------------------------------------------
1.3.3 FreeBSD 的开发模式
---------------------------------------------------------------
FreeBSD 的开发方式是一个非常开放和灵活的方式,就象从我们的计划贡献者的列表中
看到的那样,FreeBSD 是由世界各地的许许多多的人们不断贡献它们的力量而建造起来的。
我们也经常关注着那些对我们的计划感兴趣的新开发者和新的创意,它们主要通过FreeBSD
的技术讨论邮件列表来与我们进行交流<freebsd-hackers@FreeBSD.org>。FreeBSD 发表的
邮件列表对那些希望了解我们工作所涉及到哪些领域的人也是有用的。
无论你是独立地工作,还是封闭式的团队协作,了解FreeBSD 计划的开发程序是非常有用的。
第7 页FreeBSD 使用手册
CVS 知识库
FreeBSD 的中央源代码树是通过CVS 来管理的。CVS 是一个用FreeBSD 打包而成的自
由使用的源代码控制工具。主CVS 库放置在美国加利福尼亚Concord 的一台机器上。
CVS 就象我们现在将它分为-CURRENT 和-STABLE 树一样,能够很容易地被复制到你
的机器上。请记住,在你做这之前必须要将你的源代码树与它保持一致。
维护者列表
维护者是那些可以直接修改CVS 内容的人,在被严格审定后修改的代码才被加入到
FreeBSD 的源代码中去,这是一个非常好的方法。当然如果你发现在系统中出现了
一些问题的话,你可以发Email 到<cvs-committers@FreeBSD.org>提出自己的意见。
FreeBSD 的内核团队
如果把FreeBSD 计划当作是一个公司的话,那FreeBSD 的内核团队就相当于董事会。
FreeBSD 内核团队的主要任务是提出总体上的发展计划,然后确定一个正确的方向。
邀请那些富有献身精神和可靠的开发者加入到我们维护者队伍中来也是我们的工作
之一,这些新的内核成员将作为新人和其他人一起继续前进。当前的内核团队是在
2000 年10 月从维护者侯选人队伍中选举出来的。选举每2 年举行一次。若干内核
小组的成员还负责特定的责任范围,意思是说他们必须尽力确保某个子系统如文件
说明能工作正常。
注意: 许多内核小组的成员都是自愿加入FreeBSD 开发行列的,而且没有从本计划
获得任何经济上的资助,因此“承诺”不应该被理解为“支持保证”。前面所述“董
事会”的说法并非十分精确,或许说他们是一群愿意放弃他们的生活,投身于
FreeBSD 计划而非其个人其他领域成就的人!
其他的贡献者
事实上,为我们提供反馈和错误修补的巨大的开发队伍正是用户自己。FreeBSD 的
非集中式的开发者保持联系的主要方式就是预订FreeBSD 技术讨论邮件列表
<freebsd-hackers@FreeBSD.org>,以此来对一些问题进行讨论。
那些为我们的源代码树作出贡献的人的列表已经是非常长了,而且还在不断地发展
着。所以为什么不加入到FreeBSD 计划中来作一些贡献呢?其实,提供代码并不是
为整个计划做贡献的唯一方法。有一个完整的现在需要做的事的列表,可以参看本
手册的如何做贡献章节。
第8 页FreeBSD 使用手册
总的来说,我们的开发模式好象是一组没有拘束的同心圆。这种集中式的开发模式,主
要是考虑到使用者的方便,同时让他们能很容易地维护同一份软件,而不会把潜在的贡献者
排除在外。我们的目标是提供一个包含有大量具有一致性的应用软件,以利于用户安装和使
用,这种方式在完成目标的过程中工作得非常有效。
我们对于那些要加入我们的FreeBSD 开发者的期待是,具有如同其他人一样的投入,来确保
其过去的成功!
---------------------------------------------------------------
1.3.4 当前的FreeBSD 发行版
---------------------------------------------------------------
FreeBSD 是一个自由使用且带有完整程序码的,以4.4BSD-Lite 为基础的系统,它广泛运行
于Intel i386,i486,Pentium,Pentium Pro,Celeron,Pentinm II,Pentium III(以及其它兼
容的系统上)和DEC 的Alpha 系统上。它主要以U.C. Berkeley's CSRG 的软件为基础,并加
入了NetBSD,OpenBSD,386BSD 和自由软件基金会的一些东西。
自94 年发布FreeBSD 2.0 以来,FreeBSD 的性能、可定制性、稳定性都有了令人注目
的提高。最大的变化是通过集成高速缓存修补了虚拟内存的错误,不仅提高了性能,而且减
少了FreeBSD 的内存需求,使得只要5MB 内存就可以执行FreeBSD。其它的变化主要是增加
了对NIS 客户端和服务器端的完整支持,TCP 处理的支持,PPP 拨号的支持,集成的DHCP
的支持,一个增加的SCSI 子系统,ISDN 的支持,ATM、FDDI、千兆以太网的支持,提高了
对最近的Adaptec 控制器的支持和许许多多的错误修正。
我们也采用了用户所提出的看法和建议, 以及尝试着提供更加合理且容易了解的安装
过程。我们欢迎你提出对于这个逐渐发展计划的任何建议!
除了最基本的系统软件,我们提供了一组上千个已经移植到FreeBSD 的一般用途软件。到写
作这篇文章的时候,已经包含了6000 种以上的软件,包含http (WWW)服务器,游戏,程序
语言,编辑器,和几乎所有的东西。这些收集只占了约100MB 的空间,所有的软件只提供针
对原始程序代码的修正,并不包含该软件的原始程序,这使得我们能够容易地更新软件,而
且减少了硬盘空间的浪费。如果你想要编译该软件,只要到该软件目录下,执行make install
就可以了。而几乎大多数的软件都提供事先编译好的版本以便于安装,你只要使用pkg_add
就可以轻松安装,而不需要自己编译。
你可以在/usr/share/doc下找到许多有用的文件来帮助你安装及使用FreeBSD。你可以
使用HTML 浏览器来阅读:
The FreeBSD Handbook
第9 页FreeBSD 使用手册
/usr/share/doc/handbook/index.html
The FreeBSD FAQ
/usr/share/doc/faq/index.html
你也可以访问FreeBSD 的主站http://www.FreeBSD.org/了解更多的信息。
第10 页