当前位置:Linux教程 - Linux - BSD东山再起

BSD东山再起

摘要:  现在大家的焦点都集中在 Linux上,可是另外一种
可以免费获得的操作系统又怎么样了呢?在这篇对BSD家族
的综述中,Greg Lehey回顾了不同BSD项目的历史,描述了
他们的特征,并且对你为什么将会在你的Sun计算机上运行
BSD或者你甚至会在BSD与 Linux中决定选择BSD作了
一番考量。(3,000字)

———————————————————————————

经历了很长时间以后,人们最终开始接受了基于System V上的
Solaris系统,它取代了 SunOS 4。尽管六年是一段很长的时
间,但是如果 Sun当初继续维护SunOS 4 ,那也许会花费更长
的一段时间。人们为什么会对旧系统如此忠诚呢?毕竟它们都
是属于Unix家族呀。

我绝不是想在这里重新点燃 SunOS与Solaris 的争论,但是我
想让大家注意下 SunOS 4与 SunOS 5的最大一点区别,今天的
Solaris 操作系统的组件:SunOS 4 是基于4.2 BSD的,这
是由加州大学Berkeley分校开发的Unix版本,也是第一个支持
TCP/IP的操作系统。相反,SunOS 5 (通常称为Solaris ,虽
然这种称呼不太准确),是基于AT&T的Unix System V.4 的。
BSD和System V的显著差异使得就算是在 SunOS 4“死亡”
六年以后,它仍然拥有大量的支持者。它不能在现代硬件上运
行实在是太可惜了。

当 SunOS 4不能在现代硬件上运行的时候,其它种类的BSD
却可以。此外,它们还是免费的。最近的对 Linux的宣传似乎

有意模糊存在着其它的免费操作系统的事实。早在1991年,在
Linux 计划尚未付诸实施之时,Berkeley人就在准备发布运行
于Intel 平台上的免费的4.3 BSD了。另外,Berkeley软件
设计公司(BSDI)也在写一个商用的版本。但是Unix系统
实验室(USL)对BSDI的起诉,说他们非法使用了AT&T
的源码,使得这些努力受到了严重的阻碍。

这件案子在1994年得到解决。解决办法中只有一项条款为公众
所知:BSDI请求将它的codebase移至4.4 BSD Lite,这是
Berkeley的计算机科学研究小组解散前发布的最后一个BSD
系列的版本。AT&T认可这个版本不包含它的源码。就这样,免
费BSD项目也移至4.4 BSD-Lite的基础上。

● 现代的BSD

大家停止使用 SunOS 4的一个主要原因是因为它过时了,特别
是它不支持现代的硬件。那么4.4 BSD的家族成员呢?它们
各自拥有各自的重点:

BSD/OS

BSD/OS是BSDI的产品。尽管曾尝试将它引入 SPARC
结构,但是它目前只能在Intel 上运行。看起来BSDI已经
认定 SPARC的版本已经越来越不值得做了。作为唯一一种商业
销售的BSD产品,它提供优良的售后服务。

FreeBSD

FreeBSD是目前最流行的BSD产品。与其它成员相比,
它更注重用户安装和使用的方便。它原来只是面向Intel 平台,
但是最近又发布了Compaq/DEC Alpha结构的版本。其它项目包
括UltraSPARC的版本,不过这个版本还没有显著进展。

NetBSD

NetBSD从一开始发展方向就不一样,它希望能支持尽可
能多的硬件平台。在写本文的时候,它支持几乎任何你能想到
的平台,包括从 Sun 3开始的所有Sun 的硬件,虽然有些是有
限的支持。比如,写本文的时候,UltraSPARC版本尚不支持基
于PCI 的主板或多处理器,不过它在不久的将来就很可能支持
这些硬件了。

OpenBSD

OpenBSD在1995年由NetBSD分化而来。它比其它
成员更多重视安全方面,它支持多种平台,但比NetBSD
要少一些。例如,现在它还没有UltraSPARC版本。

● 为什么有这么多版本?

看下这些操作系统的目录,你也许会问,为什么有这么多相似
的操作系统。难道有一个不就够了吗?

历史上,每个项目的建立都是由于在组建一个好的操作系统时
产生了意见分歧。因为这个软件是免费的,任何人都可以决定
根据自己的需要建立自己的操作系统。如果它行不通,人们可
以到此为止。实际上,所有现在的BSD成员,包括BSDI,
都来源于Bill Jolitz 的386 BSD 项目,它到1994年时就逐渐
被淡忘了。

表面上看来,分化瓦解不是一种好的趋势,为什么不能敢于行
动,大家相互妥协呢?实际中,BSD系统表现出了很明显的
“自治”趋向:所有成员中只有 386 BSD关门大吉,而它的后
代都很健康并且积极地相互借鉴。每个版本都有一个不同的内
核就意味著适者生存同样适用于内核代码,而对Linux 来说,
这只适用于用户代码。例如,年轻的FreeBSD SPARC 版本并非
白手起家:它始于NetBSD的实现并且直接提出以下的问题:我
们在哪些地方可以做得更好?这个过程自然提高了要成功所必
需的标准。结果是,许多这样的尝试失败了,而那些没有创造
“世界级”代码的却成功了。

当选择一个BSD版本的时候,你应该首先考虑平台。很多情
况下,平台将决定所选择的操作系统。象在所有BSD都支持
的PC平台上,作出选择也许更难,但是实际上没有一种选择
是绝对错误的。

● 它们的感觉如何?

BSD成员间最大的区别和系统本身无关,而在于你使用它的
方式。现在所有工作站都使用某种形式的图形界面(GUI)。
所有的BSD都包括 XFree86,这是一种 X11实现,Linux 中
也有提供。一方面,这个界面有很强的统一性:仅从屏幕上看
过去,很难讲系统运行的是BSD,Linux 或甚至是 Solaris。
另一方面,选择PC硬件的广泛性使得可靠安装X变得相对困
难,花一些时间来为XFree86 选择显示硬件是值得的。

除了硬件的选择之外,XFree86 令人在选择软件时感到迷惑,
特别是显示和桌面管理器,这就使通过看屏幕上的显示来猜测
下面的平台变得更为困难。有关更多window管理器的讯息,请
看“开放目录项目”.
http://directory.mozilla.org/Computers/Software/X_Windows/Window_Managers/
你甚至可以使用OpenLook Window Manager 让它看上去象是个
OpenWindows 。http://www.plig.org/xwinman/screenshots/olwm.gif

尽管很多时候你可能不想用到GUI。BSD系统特别适合于
域名服务器,网页服务器,邮件服务器,新闻服务器,等等。
这些系统不需要图形界面。实际上,它们可能连显示器都不用。

● 你会得到什么?

所有的免费BSD都可以从光碟获取,包含了完整的源码和工
具。许多工具和Linux 中使用的工具都是基于同样的GNU工
具的,还有一些是基于旧的BSD工具的。所有版本都包括完
整的软件开发工具,这些工具也是以GNU工具为中心的。前
面已经提到,它们还包括了 XFree86对X11 的实现,并且很多
平台可以执行 Linux和SCO的可执行代码。

此外,我们将在下面看到,BSD还附带有大量的第三方软件。

● BSD能干什么?

首先,BSD/OS和FreeBSD 看上去可能不如NetBSD和OpenBSD 那
样具有吸引力,因为它们不能在SPARC硬件上运行。事实
上,在SPARC硬件上运行的能力有点被夸大了。这可能是
BSDI决定停止支持SPARC版本的原因。我们已经有了
一个在SPARC上得到很好支持的操作系统 Solaris, Sun
对其孤注一掷。尽管NetBSD和OpenBSD 在某些地方比 Solaris
表现更好,但是很难与它全面竞争,而且目前的UltraSPARC支
持中也有一些不足。特别是,PCI支持仍在研发中,现在也
还不能支持多处理器。

事实上,很多对BSD家族的兴趣都来自PC硬件的低价位。
比如说,如果你想建立一个大型的FTP服务器,你大概有四
种选择:

·买一台带有 Solaris 7的Sun SPARC 机。它很贵,不过它工
作上没问题,而且你不会遇到很多麻烦。

·买一台PC并为其安装微软的软件。如果是一台大型服务器,
你需要NT。对于这种应用来说,你只需要基本的NT服务器
软件,它的$809的价格相对比较便宜。微软的解决方案和最佳
作法的网页(网址见文尾)上面,声称你可以从三台Compaq的
ProLiant 5000s或5500s 上每天转移6GB数据,三台机器每
台都装有Pentium Pro 处理器和512 MB的内存记忆体。为保证
服务不中断,微软建议你安装多套备用系统。

·买一台PC并为其安装 FreeBSD。硬件上的价格可能一样,
但是你无须为该软件花费一分钱。正如 wcarchive.cdrom.com
的硬件配置所显示的,ftp://ftp.cdrom.com/archive-info/wcarchive.txt
微软的说法是误导。wcarchive 只是一个单一系统,只有一个
CPU,也是 Pentium Pro芯。和微软每天6GB的传输量相
比,wcarchive 一般每天的传输量确高达700GB以上,并
可同时接待 3,600个用户。这样的表现比三台大型的NT机加
在一起还要高100倍以上。1998年12月 2日,wcarchive 共
传送了 820,097,694,368 bytes的数据,使其成为世界上最忙
的FTP服务器。

·买一台PC并为其安装商用的Unix系统。在很多方面,适用
于 FreeBSD的优点也适用于这样的配置。但是商用的Unix实现
非常昂贵,而且很多证据显示他们在性能上比不过BSD的。

wcarchive 不是唯一的BSD成功的实例。另一个杰出的用户
是Yahoo!,它几乎用 FreeBSD来做所有的事情。此外,至少有
两台Internet根域名服务器运行BSD,而且大多数ISP用
BSD来完成某些功能。

除了这样的高级应用以外,NetBSD和OpenBSD 也是老式 Sun硬
件的很好选择,包括早期的不堪运行Solaris 2 和 7的 SPARC
硬件,以及 Sun 3系统。支持的水平各异:NetBSD和OpenBSD
包含有为Sun 3 设计的代码,但是OpenBSD 说它的代码没有得
到积极维护。两种BSD都积极支持 Sun 4,Sun 4c和Sun 4m
系统。

为什么要在 Sun机器上运行BSD呢?很多情况下,旧的硬件
更适合完成一些功能;你可以方便地使用一台旧的 Sun 3或是
SPARCstation I作为邮件服务器或域名服务器。这虽然也可以
用 SunOS去做,但是内核的陈旧将在网络堆栈的某些方面表现
出来,然后你必须将所有现在版本的网络客户程序移植过去,
这显然将比安装BSD和BSD的最新客户端软件要多花成倍
的时间。具有讽刺意味的是,这些“返老还童术”对PC硬件
来说更甚。常常见到的是,一台跑不动单一微软桌面系统的旧
386 机在安装BSD以后可以集Internet网关,邮件服务器,
域名服务器和网页服务器于一身而重获青春。


● 移植软件

是我刚说过“移植”吗?几十年来,移植是Unix系统管理员的
生活方式之一,但是过去移植可不容易了。而 FreeBSD的移植
软件库,它也被 OpenBSD采用了,完全改变了这种情况。比如
说,你想在自己的系统上安装 xarchie吗?这很简单:

# cd /usr/ports/net/xarchie
# make install

你会说,“不错”,只要你把源码装到了你的机器上,一切就
很简单了。但是直到你发现在/usr/ports/net/xarchie下只包
括六个文件——最大的也不过 691 bytes,你才会意识到其中
定有非常复杂的内涵。

FreeBSD 移植软件库目前包含近2,000种移植的软件产品。它
们中的任何一个都不包含软件本身,而只有一个如何获取这个
软件,如何建立和如何安装的说明。这让BSD用户可以轻易
得到用于任何平台上的最多的可安装软件,所有这一切的花费
仅仅是两行命令和从Internet上传送该软件时的一段短暂时间。

人们可能低估了这套方法的优势。你运行的Sendmail是什么版
本的?很可能是你的系统附带的版本,如果你最近有升级系统
的话,也许是 8.8.8。而当前的版本应该是 8.9.1,它包含了
一系列为阻止邮件乱用所做的改进,特别是防止非法转发和封
杀某些域名的设计。但是移植Sendmail始终是一件苦差,哪怕
是对Sendmail原本面向的BSD平台也是一样。而利用软件移
植库的话,一切都很简单。

再说说 named吧。几个月前,CERT发布了的一个建议里说
http://www.cert.org/advisories/CA-98.05.bind_problems.html
named ,name daemon 有可能带有影响Unix系统的几个薄弱点。
当这个建议发布的时候,BSD项目已经发布了针对这一问题
的补丁;而 Sun公司仅仅是有说要在未来发布针对不同系统的
补丁。

● 为什么要BSD,不要 Linux?

Linux 比BSD更广为人知。如果你想安装免费的Unix,为什
么不要随波逐流地去选择 Linux呢?

这个问题没有一个很好的答案。Linux 适合的很多工作BSD
也一样适合。有些人说BSD比 Linux更稳定——那种说法在
面向服务器的应用方面更合适,而 Linux更适合于桌面系统。
FreeBSD 的标语词是“服务的实力”。

其他人则说BSD的纯正Unix血统使它比新兴的 Linux更加成
熟。还有人说,BSD的开发人员中包括了来自Berkeley的计
算机科学研究小组的知名人物,这意味著它的codebase更好。

但这只是其中的一部分原因,而且没有确凿的根据。事实是,
Linux 同样是一个好的操作系统。象其它操作系统一样,它也
有它的弱点和它的强项。有些人说 Linux的弱点包括它的虚拟
内存系统,而这方面是FreeBSD 和NetBSD的长处,但是对此目
前还没有进行过结论性的性能对比试验。

BSD和 Linux的一点不同在它们的立足点。Linux 和BSD
一样,一开始都是平民发展项目,但是近两年来它变得越发商
业化了。你听到那么多关于 Linux的消息的一个主要原因在于
有人通过销售 Linux而获利。而BSD在商业销售上比较不受
到关注。

那么为什么要选BSD呢?哦,其中一个原因是,BSD来自
和运行于你的 Solaris机上的相同的codebase,所以感觉上会
比较熟悉。此外,尽管没有确凿的证据证明BSD比 Linux更
稳定或表现更好,但是来自于 Linux阵营的相反的指称也异乎
寻常的少。

● 获取BSD

FreeBSD ,NetBSD和OpenBSD 都是免费发行的,能从Internet
下传。因为软件很大,而且网络问题可能使这种形式的安装很
麻烦,所以这或许不是最佳方案。所有三种操作系统都有光碟
版本,而且 FreeBSD的版本还附有一本书《完全FreeBSD 》,
http://www.cdrom.com/titles/os/bsdbook2.htm
它覆盖了在系统安装和维护中 FreeBSD不同于Unix家族的所有
方面。

● 技术支持怎么样?

在商业环境中使用免费操作系统的一大争议就是技术支持。一
旦出现问题,你该去找谁呢?在这方面,免费的BSD家族和
Linux 没有太大差别。确实存在一些商业性的技术支持,而且
还会有更多的支持。然而另一个不同是还有一种商业性BSD,
BSD/OS,它可供选择的技术支持不逊于其它Unix成员。

传统上,免费的操作系统的技术支持是通过在邮件组中由志愿
人员回答问题,通常回答都是正确的。这里的问题是“通常”。
你怎么能判断你得到的建议是正确的呢?另一个方案是加入商
业性的技术支持组织的帮助,可以通过这些独立项目的网站保

持联络。

总而言之,现在就去亲自尝试一下BSD家族吧。

·BSD/OS是可以从BSDI http://www.bsdi.com/
 得到的商用产品,该公司也为它提供技术支持。

·FreeBSD 可以从Internet下传ftp://ftp.freebsd.org/pub/FreeBSD
 也可以从Walnut Creek CDROM公司购得光碟版
 http://www.cdrom.com/titles/os/bsdthree.htm
 FreeBSD 的咨询人员提供技术支持。
 http://www.freebsd.org/commercial/consulting.html

·你可以从Internet下传NetBSD http://www.netbsd.org/Sites/net.html
 或是获得光碟版 http://www.netbsd.org/Sites/cdroms.html
 NetBSD没有正式的顾问名单,但很多 FreeBSD和OpenBSD
 的咨询人员也支持NetBSD。

·你可以从Internet下传OpenBSD  http://www.openbsd.org/ftp.html
 或索取光碟版 http://www.openbsd.org/orders.html
 也有商业性的技术支持 http://www.openbsd.org/support.html

———————————————————————————

◆ 资源目录

·Berkeley Software Design Inc. (BSDI)
 http://www.bsdi.com
·BSD/OS
 http://www.bsdi.com
·FreeBSD
 http://www.FreeBSD.org
·NetBSD
 http://www.NetBSD.org
·OpenBSD
 http://www.OpenBSD.org
·XFree86
 http://www.xfree86.org/
·Open Directory Project
 http://directory.mozilla.org/Computers/Software/X_Windows/Window_Managers/

·OpenLook Window Manager
 http://www.plig.org/xwinman/screenshots/olwm.gif
·Microsoft''s Solutions/Best Practices page
 http://www.microsoft.com/misc/backstage/solutions.htm
·Hardware configuration for wcarchive.cdrom.com
 ftp://ftp.cdrom.com/archive-info/wcarchive.txt
·The FreeBSD Ports Collection
 http://www.freebsd.org/handbook/ports.html
·CERT advisory
 http://www.cert.org/advisories/CA-98.05.bind_problems.html
·CERT advisory on named
 http://www.cert.org/advisories/CA-98.05.bind_problems.html
·The Complete FreeBSD
 http://www.cdrom.com/titles/os/bsdbook2.htm
·FreeBSD download
 ftp://ftp.FreeBSD.org/pub/FreeBSD
·FreeBSD on CD-ROM
 http://www.cdrom.com/titles/os/bsdthree.htm
·FreeBSD''s consultants
 http://www.freebsd.org/commercial/consulting.html
·NetBSD download
 http://www.netbsd.org/Sites/net.html
·NetBSD on CD-ROM
 http://www.netbsd.org/Sites/cdroms.html
·OpenBSD download
 http://www.openbsd.org/ftp.html
·OpenBSD CD-ROM
 http://www.openbsd.org/orders.html
·OpenBSD commercial support
 http://www.openbsd.org/support.html
·""Getting help with free software,"" December 1998 SunWorld feature story
 http://www.sunworld.com/swol-12-1998/swol-12-support.html
·""The story on FreeBSD,"" December 1998 LinuxWorld feature story
 http://www.linuxworld.com/linuxworld/lw-1998-12/lw-12-freebsd.html




--------------------------------------------------------------------------------
作者:
Greg Lehey是一位独立的计算机顾问和BSD Unix方面的专业作
家。他现居住在澳大利亚的Adelaide,著有
《移植Unix软件》(O''Reilly and Associates, 1995 ),
《安装和运行FreeBSD 》(Walnut Creek, 1996),和
《完全FreeBSD 》(Walnut Creek, 1997 and 1998 )
他的电子信箱是在 [email protected]