自 Warty Warthog 以来,我一直在断断续续地使用 Ubuntu。我正在考虑尽快安装 Jaunty;但是我注意到周末NetBSD 5.0、Dragonfly BSD 2.2.1、OpenBSD 4.5和FreeBSD 7.2都发布了,所以我很好奇:
BSD 有什么好处?为什么我应该或不应该安装其中之一而不是 Ubuntu?他们的主要卖点是什么?表现?稳定?硬件兼容性?便于使用?安全?它们在旧硬件上运行良好吗?它是什么?
编辑:这是从(主要是 Java)桌面开发人员的角度来看的,但我很想知道其他人的利弊是什么。它们是否更多地针对服务器?对于企业用户?或者是什么?
Con*_*lls 65
BSD 的优势
*BSD 系统系列(恕我直言)比 Linux 有几个关键优势,特别是对于服务器 O/S。
简单性和控制性:没有一个 *BSD 发行版必须添加 Linux 发行版所展示的功能。因此,大多数 BSD 派生系统的默认安装相对简单。
稳定性:部分受简单性的驱动,BSD 往往是最稳定的 O/S 平台之一。 FreeBSD(它是“现代”BSD 中较旧的一种)为许多著名的 .com 提供支持,例如Yahoo和(在某一点上)hotmail。 事实上,微软一度因为无法将 Hotmail 从 FreeBSD 迁移到 Windows 而遭受了很多尴尬。
安全性:尤其是OpenBSD在安全性方面有着非常强大的记录,他们的大部分工作都在 *BSD 社区中产生了影响。
可移植性:特别是NetBSD具有到数十个平台的端口,并且以非常容易移植而著称。
一些弱点
与 Linux 相比,对大型 SMP 配置的支持较少。随着具有大量核心的盒子变得普遍,这将成为一个更大的问题。然而,大多数真正属于 BSD 主场的网络服务应用程序并不都是 CPU 饥渴的 (1)。
在过去十年中,BSD 内核上的 SMP 性能得到了显着提高。提高 SMP 性能是Dragonfly BSD的主要目标之一,而FreeBSD SMPng 项目在该平台上显着提高了 SMP 性能,在 8 核平台上优于 Linux。 这意味着人们可以期望在主流 2 和 4 插槽服务器上获得良好的性能。
一些辩论并且在 FreeBSD 上提供 NUMA 支持的早期工作存在,因为系统当前不支持用于内存分配、亲和性管理的 API 或其他用于显式 NUMA 支持的设施。可以在此处找到有关 NUMA 支持的良好入门。
比 Linux 更小的硬件支持范围:实际上,这实际上仅意味着您需要检查硬件兼容性列表中的组件。 对于服务器,这在大多数情况下不是问题,但在随机台式 PC 上安装这有点棘手。如果您想在一台机器上安装 BSD,您仍然需要逐个组件地进行检查,而 Linux 不太可能发生这种情况。
不太重视桌面:Linux 的桌面发行版(如 Ubuntu)往往对多媒体、仿真和捆绑应用程序有更丰富的桌面支持。虽然许多此类应用程序确实具有到各种 BSD 平台的端口,但桌面 Linux 发行版的开箱即用支持通常会更好。
软件方面的一些差距: 相当多的商业 Linux 软件没有 BSD 端口。例如,没有一个主要的 JVM 供应商为任何 BSD 平台维护其 Java 运行时的本机端口。在某些情况下,第三方维护端口,但在任何 BSD 上都没有对(例如)Oracle 的官方支持。这种类型的差距出现在 BSD 的某些地方;如果您在存在此类差距的空间中工作,BSD 可能不是您的平台。
一些要点
90 年代最伟大的宗教战争之一是 GPL 与 BSD。BSD 是在 BSD 许可下获得许可的,它具有与 GPL 不同的权利集。本质上,BSD 许可证不要求您重新分发 BSD 许可软件的修改版本的源代码。
像 Oracle 这样的商业供应商并不像他们支持 Linux 那样支持 BSD。因此,如果您想使用这样的产品,那么使用 Linux 可能会更好。但是,大多数提供跨 Linux、System V、Solaris 等的二进制兼容性,因此您通常可以为另一个 O/S 运行二进制文件。
BSD 社区的运行方式往往与 Linux 不同,而且通常更小(尽管在许多情况下不再有礼貌——Theo De Raadt有一些臭名昭著的大嘴)。
一些 BSD 变体是利基市场项目,针对特定目标进行了优化。例如,OpenBSD 专门针对在面向 Internet 的计算机上提供安全网络基础设施进行了优化,在检查安全漏洞(如缓冲区溢出漏洞)方面投入了大量精力。许多具有安全意识的组织正是出于这个原因使用它。NetBSD 是为可移植性而设计的,可移植到数十个平台,并在嵌入式系统中得到了相当广泛的应用。对于这些系统之一的最佳位置中的应用程序,它很可能是平台的最佳选择。
*BSD 的主业是网络服务——电子邮件和网络服务器、基础设施等。你可以用任何 BSD 设置一个完美的极客桌面,理论上可以产生像 Ubuntu 一样温暖和蓬松的东西。然而,这并不是大多数 BSD 产品的核心焦点,尽管一些如PC-BSD确实旨在提供桌面系统。
如果你想制作一个传统的 unix geek 桌面,BSD 会像任何其他 unix-oid 系统一样做到这一点。
- 例如,在 1980 年代的 VAX/4.2BSD 时代,像 VAX-11/750 这样的机器可以为整个系或大学校园提供电子邮件服务,并且可能还会做其他工作(尽管人们应该注意大多数电子邮件都是纯文本的,附件不像今天那么普遍——这台机器上使用的磁盘驱动器的容量通常为 120-450MB)。现代服务器的 CPU 功率和内存增加了 3-4 个数量级,磁盘子系统的吞吐量可能增加了 2 个数量级,空间增加了 3-4 个数量级。
Nat*_*han 15
我认为 BSD 不像桌面 Linux 那样成熟,但对于服务器来说,它坚如磐石。
是否要安装 BSD 完全取决于您使用机器的目的。虽然很多东西与 Linux 相似,但很多东西也不同。
然而,这里是不同 BSD 的简述
OpenBSD:如果它的邮件目标是成为最安全的操作系统(而且可能是)
NetBSD :它的座右铭是“当然它会运行 NetBSD”。这必须是最便携的操作系统之一。许多人也在台式机上运行它。
FreeBSD:在服务器上非常流行,尽管很多人也在桌面上运行它。可能是所有 BSD 中最受欢迎的
DragonFly BSD:一个相对较新的人(2003),它是 FreeBSD 4.8 的一个分支。我自己没有使用过它,但显然很稳定。
Mic*_*uch 11
在 Linux 世界中,发行版往往缺乏那种……凝聚力的感觉。它们通常以分散的方式构建,这往往会导致这种情况。
BSD 通常由一个人管理,因此您会感觉每个变体都是实际产品,背后有很多计划。一切都很好地协同工作,所有组件都有很好的文档记录。你很少会发现杂物。
这奠定了非常坚实的基础,使 BSD 成为易于维护的平台,因此有可能导致更安全和可管理的环境。
我已经使用 Linux 13 年了,虽然我仍然认为它是一个可行的平台,但出于上述原因,我已将所有生产和个人服务器移至 BSD。
然而,由于其前沿驱动程序支持,Linux 仍然可能是桌面的更好选择。
通过禁用除核心服务之外的所有服务,BSD 通常被认为是安全的。它也非常稳定,您可以通过查看众多正常运行时间监控服务之一来判断这一点。
但是请注意,Linux 与 BSD 不同......有一个学习曲线,所以不要指望直接进入它。例如,您会找到所有核心命令,例如ls
具有不同的标志,这些标志一开始可能会令人困惑,并且可能需要一段时间才能打破使用 Linux 标志的旧习惯。
我真的很喜欢/usr/ports
。这并不是说我也不太喜欢apt-get
,但是知道您的安装是在您的特定机器上构建的,并且进行了任何优化,您感觉就像投入 makefile 默认值一样,这是一种令人愉快的感觉。
有多少被认为的好处是迷信,我还没有做过研究去发现,但我喜欢它。:)
*BSD 是一个完整的 OS,这意味着内核和用户空间是从同一个源代码树开发的,而 Linux 发行版是从不同的源头拼凑起来的。这就是为什么 BSD 系统感觉更具凝聚力和稳固性的原因。也有更好的文档记录。
只是几个问题:
专业版(免费)BSD:
反对BSD:
作为 Java 开发人员,最大的问题是 *BSD 没有主流的 JVM。在每个人都把我从存在中烧掉之前,我的意思是,目前没有来自 Sun 或任何其他主要供应商(IBM、BEA/Oracle)的 JDK,所以你将永远是 linux 和 windows 用户的次要角色。
许可
BSD 和 Linux 之间的主要区别在于许可。
您可以使用 BSD 代码库,对其进行任何您想要的更改,然后分发生成的二进制文件、出售它等,而无需打开您所做的源代码更改。
这对苹果公司等公司非常有吸引力,因为在这些公司中,对其股东的法律义务可能要求他们保持专有知识产权的“安全”。例如,Apple 的一些内核基于 FreeBSD。
如果 Tivo 建立在 BSD 而不是 Linux 之上,它们就不会遇到多年前遇到的(次要)许可问题。
一些实际差异
-亚当
归档时间: |
|
查看次数: |
9457 次 |
最近记录: |