那些要使用公共Unix变体的机构有两个可选解决方案:Linux和BSD。人们谈论比较多的Linux阵营包含了各种发布版软件。这些软件包括不同的工具和工具集。人们很少谈及的BSD阵营也是如此。本文将提供四个主要的BSD变体的对比,并且对基于服务器和台式电脑的解决方案提供一些建议。

  BSD的历史

  有四种主要的BSD变体。其中有三种(FreeBSD、OpenBSD和NetBSD)是完全免费的。第四种(Mac OS X)在技术上是一种操作系统的核心,大多数人甚至不认为它是一种BSD的变体。要了解不同版本之间的区别,让我们先简单回顾一下BSD的历史以便了解这些不同的版本是如何开发出来的。

  今天的BSD变体是原来的AT&T Unix操作系统的开源软件版本。实际上,这些变体都来自于加州大学伯克利分校开发的Unix。BSD实际上是伯克利分校软件发布版的缩写字。原来BSD代码的很大一部分是以免费的AT&T Unix代码为基础的。在William F. Jolitz等原来的BSD开发小组的关键成员的努力之下,这个代码的最后一部分根据开源软件许可证协议开发出来了,并且制作出了386BSD。

  1993年,386BSD分裂为我们目前所知道的两个主要版本:NetBSD和FreeBSD。这两个版本是根据不同的目的和目标建立起来的。毫不奇怪,每一个版本都有自己的历史。第三个版本OpenBSD是在1996年推出的。这个版本主要是为了解决其它变体中存在的一些安全问题。

  Mac OS X操作系统中采用的BSD核心被人们称作Darwin(达尔文)。它是一个完全独立的组件。Darwin软件本身来自于NeXT公司开发的NextStep操作系统的BSD层。NeXT公司是史蒂夫•乔布斯在80年代离开苹果公司之后创建的。从技术上说,Mac OS X操作系统是以FreeBSD内核为基础的。OS X 10.3是以FreeBSD 5.x为基础的。然而,Mac OS X已经超出了基本的BSD代码,完全是个性化设计的。Mac OS X的关键优势在于其Aqua GUI(图形用户界面)。这个图形界面能够让OS X系统像原来的Mac OS X操作系统一样运行,但是同时具有一个高效率的BSD内核的全部优点和灵活性。

  通用功能

  同其它的Unix变体一样,四种BSD发布版提供了同样的基本功能。所有这四种变体都包含下列核心组件:

  •内核--工作控制的抢占式多任务处理功能。

  •安全--基本登录和授权系统。

  •外壳界面--Bourne shell、C shell、Korn和其它第三方界面。

  •网络--坚持TCP|UDP/IP标准,支持所有的基本协议(finger、telnet、NFS和FTP) 。

  •第三方网络--支持Apache、Mac文件共享(通过NetAt)和Windows文件共享(通过Samba)。

  •基本工具--丰富、内置的工具列表,包括awk、cut、paste、sed和ed。

  此外,因为它是一种类Unix操作系统,Perl、Python、Apache、MySQL、PostGreSQL、Java、C/C++和其它一些工具和应用程序都能够兼容BSD。然而,由于BSD没有替代Unix的Linux那样流行,因此很少有预包装的BSD应用程序。不过,有些BSD变体还提供兼容Linux的软件包,使这些软件能够直接在同一平台上执行Linux应用程序。

  BSD系统相对于它的竞争者,有兼容性更佳的美誉,主要原因是BSD系统是由规模较小和重点更集中的开发团队开发出来的。BSD系统还宣称具有更成熟的代码库,因为相当多的一部分BSD代码来自于Unix的非常早期的形式。

  既然各种变体都具有如此的相似性,人们如何区别不同版本的变体并且选择应用哪一种变体呢?

FreeBSD

  FreeBSD早期通过Walnut Creek公司的CD盘发布之后已经成为了最流行的BSD修改版之一。Walnut Creek是在互联网****式增长之前在CD盘上发布自由和免费软件的先驱。FreeBSD的主要平台是x86电脑,包括目前AMD和英特尔推出的64位处理器平台,FreeBSD也可以用于Sun微系统公司的SPARC平台。

  FreeBSD的重点是性能,特别是TCP/IP堆栈的性能。包括雅虎在内的许多公司都在使用FreeBSD作为互联网服务器平台。FreeBSD还有一项传输数据的非正式的记录,一台运行这个操作系统的服务器传输了2TB以上的数据。这个统计还显示,FreeBSD还是最稳定的操作系统之一。

  FreeBSD的开发人员尽了很大的努力来使这种操作系统更容易使用。因此,FreeBSD拥有一个在所有的Unix平台中最容易的安装程序。在系统安装完成后,你可以使用内置的ports系统,来方便的下载,编译并安装附加的软件包。ports是一个将软件安装过程自动化的第三方解决方案,它使用Ports Collection(Ports 连接,本质上是 /usr/ports 目录下的一堆 Makefile、补丁和描述文件)自动下载需要的文件,检查文件完整性,编译并安装应用程序。这大大减少了在机器上布置应用所需的时间。下面是FreeBSD特性的一个简表。

   FreeBSD概览 主页 [url]http://www.freebsd.org/[/url]
平台 i386, Alpha, IA-64, AMD64, and UltraSPARC
最早发布时间 1993年12月
特点: 高性能计算、使用方便、稳定性


  NetBSD

  NetBSD是比FreeBSD早几个月发布的。与FreeBSD重点集中在目标平台的性能和最佳质量的支持不同,NetBSD旨在支持尽可能多的平台。要列出NetBSD所有可用的版本是很困难的。但是,NetBSD能够在50多个平台上运行,包括从x86和SPARC等主流的平台到世嘉公司的Dreamcast和很多业余爱好者、以及掌上和嵌入设备等较少见的产品。

  这种可移植性为NetBSD提供了优势。也给这种操作系统带来了不同,支持大量的平台意味着这种代码是有效率和安全的,各种平台上广泛的开发经验整体上提高了操作系统的功能。

  这种广泛的支持还意味着NetBSD能够在比其它的发布版软件支持的更强大的硬件平台上运行。Sun、惠普等公司的高端专用工作站和老式的Digital/Compaq Alpha平台都可以使用NetBSD提供BSD平台的全部稳定性和性能,同时给较老的可用的平台带来新的生命。

  这种可移植性也是吸引人们在组装自己的计算机或者使用嵌入式硬件设备解决方案的时候一再选择这种平台的原因。这种便携性使NetBSD成为大学和科学实验室的一个受欢迎的选择。


主页
[url]http://www.netbsd.org/[/url]
平台 适用于所有平台
原来发布时间 1993年12月
重点 可移植性和稳定性

OpenBSD

  OpenBSD是在对NetBSD代码的发展前途问题上发生分歧之后由Theo de Raadt开发出来的。OpenBSD的开发是从重点制作非常安全的操作系统开始的,这种方法一直持续到了现在。

  与其它BSD变体和大多数Unix的特点不同,OpenBSD安装了一切功能,但是禁用了绝对重要的服务。习惯于在Linux安装之后就拥有NFS、Telnet、finger、FTP和其它功能用户将发现,他们必须要具体地启用而不是禁用OpenBSD中的这些服务。OpenBSD采取的这种设计是防止这些功能意外地打开,从而造成潜在的安全突破。

  OpenBSD还包括RSA、Blowfish、DES等各种内置的加密标准,全面支持IPSec TCP/IP安全系统。支持加密标准进一步提高了对许多硬件加速器的支持,包括支持许多第三方的PCI卡和支持更新的系统,如最新的VIA C3系列处理器内置的随机数发生器和高级加密标准。OpenBSD非常适合用于网络路由器、防火墙和安全互联网服务解决方案中,因为它具有高水平的内置安全和加密功能。

  OpenBSD的整体安全性通过严格的代码测试和审计将进一步增强。这种代码实际上将经过逐行的检查以便找到这个系统中潜在的错误。因此,这个操作系统的漏洞,无论是真实的还是潜在的,都将在被人利用之前被堵住。

  这样做的结果就是,这种操作系统使用多年以来从来没有发生过其它操作系统经常出现的“remote-root exploit”(远程根漏洞)这类安全问题。

OpenBSD 概览 主页
[url]http://www.openbsd.org/[/url]
平台 i386, Alpha, AMD64, sparc, sparc64, hp300, hppa, mac68k, macppc, mvme68k, mvme88k,和 vax
原来发布时间 1995年11月
重点 安全和代码的纯洁性

  Mac OS X

  作为Mac OS X基础内核的Darwin软件本身是以FreeBSD代码为基础的,在标准的BSD内核的位置采用了定制的Mac内核。Darwin的重点是提供一个让Mac OS X环境的其它方面能够运行的基础。虽然Darwin根据设计并不是要替代其它的BSD产品,但是,Darwin在BSD领域确实占有一席之地。

  大多数远程登录OS X计算机的用户如果不仔细的观察很难注意到登录环境与真正的FreeBSD环境有什么差别,可以使用的工具软件和环境与真正的FreeBSD环境基本完全一样。

  Darwin计划完全是开放源代码的工程。苹果在网络上公开了这个系统和源代码,而且Darwin代码的修改历史可以追溯到FreeBSD的源码树。PowerPC和x86平台都支持Darwin平台。对x86平台的支持通常使人们感到意外。

  Darwin与其他三个BSD发布版软件不同的地方是它构成了Mac OS X操作系统的基础。一套专有的工具和在Darwin内核基础之上建立的用户环境提供了与Mac OS 9和使苹果闻名的早期界面没有很大不同的用户界面。正是通过了Aqua图形用户界面才使大多数定制的和商用的应用程序能够使用,这包括Adobe公司的InDesign和Illustrator以及微软的Office软件。

  如果不使用Aqua和Mac OS X支持额外的应用程序和界面,下面的FreeBSD内核仍是可用的。你可以通过终端程序打开一个shell界面,也可以获得基于X Windows系统的应用程序的支持,你还可以访问Perl、Python、MySQL、Apache和其它兼容Unix的工具。

  Darwin内核是一个开源软件计划。苹果和Darwin团体的成员提高了Darwin代码的性能并且扩大了这个操作系统的工作范围和功能。最后,对于Darwin内核做出的任何修改都可以应用到BSD家族的其它成员中。苹果还帮助支持整个BSD团体。因此,对于BSD平台的改进是在苹果和开源社区阵营之间流动的。

Darwin/OS X概览 网页
[url]http://developer.apple.com/darwin/[/url]
平台 x86 (仅是Darwin) 和Mac (Darwin+OS X)
原来发布时间 1999年3月
重点 使用方便

  选择一个台式电脑解决方案

  你选择BSD的哪一种特色应该主要取决于这个台式电脑使用什么硬件。在基于英特尔和AMD处理器的PC上,FreeBSD是一种稳定的和广泛支持的选择。对于比较老的硬件或者非主流的硬件来说,NetBSD也许是更好的解决方案。如果你正在开发部署针对多种嵌入式系统的解决方案,NetBSD应该是很好的选择,因为它可以方便的应用于你的各种目标平台。

  如果你需要一个Unix环境并且还想使用微软的Office或者Adobe、Alias和其它公司的商业应用软件,Mac OS X在这两方面都能够提供最佳的性能。这种类似于FreeBSD的内核提供了一套完整的标准Unix工具和库,让你同时使用BSD和OS X组件。

  因此,OS X是我的平台选择。我在运行OS X操作系统的Power book G4笔记本电脑上使用Perl、MySQL和其它语言开发Web应用程序,同时还使用微软的Word写文章和写书。

  选择一个服务器解决方案

  OpenBSD显然是服务器的选择,因为它有非常高的安全政策。拥有这样的安全环境,很容易部署基于OpenBSD的服务器,而不比太担心这个系统或者网络被攻破。OpenBSD用于网络的公共方面、提供防火墙和互联网与内部网络之间的代理服务是特别理想的。

  对于纯Web服务器来说,FreeBSD也是一个很好的选择,因为它在x86等关键的硬件平台上具有很好的稳定性。硬盘和网络堆栈的质量意决定了服务器的可用性。特别是通过关闭你不需要支持的服务,还能使FreeBSD更加安全。

  如果你喜欢在BSD平台的普通安全环境中工作,但是,还需要更友好的设置和管理环境,可以考虑使用Mac OS X服务器。这种服务器提供了FreeBSD平台所有的好处,拥有更友好的前端。Mac OS X服务器提供的功能还包括:对Apache的更广泛的支持、通过NFS、AppleTalk和Samba实现的文件共享、内置的防火墙和虚拟专用网、通过OpenLDAP提供的目录服务以及通过QuickTime提供的音频/视频流。这种功能可预先设置并且可以使用。

  所有这些功能都是有代价的。与其它产品不同,Mac OS X服务器是一种商业性产品。虽然Darwin是免费的,但是,OS X服务器内置的设置和管理工具使Darwin比其它的BSD选择更容易使用。

  总之,在评估Linux以外的基于Unix的操作系统的时候,所有这些BSD变体都是不相上下的。