BSD东山再起--BSD的种类和人们将使用的BSD

类别:软件工程 点击:0 评论:0 推荐:
摘要:现在大家的焦点都集中在 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 的宣传似乎有意?嬖谧牌渌拿夥巡僮飨低车氖率怠T缭?991年,在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/Comput...indow_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/wc...误导。wcarchive 只是一个单一系统,只有一个CPU,也是 Pentium Pro芯?臀⑷砻刻欤叮牵碌拇淞肯啾龋瑆carchive 一般每天的传输量确高达 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 或是 SPARC station 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-9...d_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/bsdb...低嘲沧昂臀ぶ? /a> FreeBSD 不同于 Unix 家族的所有方面。   技术支持怎么样?   在商业环境中使用免费操作系统的一大争议就是技术支持。一旦出现问题,你该去找谁呢?在这方面,免费的 BSD 家族和 Linux 没有太大差别。确实存在一些商业性的技术支持,而且还会有更多的支持。然而另一个不同是还有一种商业性 BSD、BSD/OS,它可供选择的技术支持不逊于其它 Unix 成员。   传统上,免费的操作系统的技术支持是通过在邮件组中由志愿人员回答问题,通常回答都是正确的。这里的问题是"通常"。你怎么能判断你得到的建议是正确的呢?另一个方案是加入商业性的技术支持组织的帮助,可以通过这些独立项目的网站保持联络。   总而言之,现在就去亲自尝试一下 BSD 家族吧。   ·BSD/OS 是可以从 BSDI 得到的商用产品,该公司也为它提供技术支持。   ·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

本文地址:http://com.8s8s.com/it/it32960.htm