自从 Warty Warthog 以来,我断断续续地使用过 Ubuntu。我本来想很快安装 Jaunty;但我注意到周末NetBSD 5.0,Dragonfly BSD 2.2.1,OpenBSD 4.5, 和FreeBSD 7.2已经全部发布,所以我很好奇:
BSD 有什么好处?为什么我应该或不应该安装它们而不是 Ubuntu?它们的主要卖点是什么?性能?稳定性?硬件兼容性?易用性?安全性?它们在旧硬件上运行良好吗?它是什么?
编辑:这是从(主要是 Java)桌面开发人员的角度看的,但我也想知道其他人的利弊。它们更适合服务器吗?适合企业用户吗?还是其他?
答案1
BSD 的优势
*BSD 系列系统(在我看来)比 Linux 有几个关键优势,尤其是对于服务器操作系统而言。
简单和控制:*BSD 发行版都不需要添加 Linux 发行版所具有的功能。因此,大多数 BSD 衍生系统的默认安装都相对简单。
稳定性:部分由于其简单性,BSD 往往是最稳定的操作系统平台之一。 FreeBSD(现代 BSD 中较老的一个)为许多著名的 .com 提供支持,例如雅虎并且(在某一时刻)hotmail。 事实上,微软曾一度遭受相当尴尬他们无法将 Hotmail 从 FreeBSD 迁移到 Windows。
安全:OpenBSD特别是有一个非常拥有良好的安全记录,他们的大部分工作都对整个 *BSD 社区产生了影响。
可移植性:网络BSD特别是它有数十个平台的端口,并且非常容易移植。
一些弱点
对大型 SMP 配置的支持较少比 Linux 更严重。随着具有大量内核的机器越来越普及,这将成为一个更大的问题。但是,大多数真正属于 BSD 主场的网络服务应用程序并不那么耗 CPU (1)。
在过去十年中,BSD 内核上的 SMP 性能得到了显着改善。提高 SMP 性能是 BSD 的主要目标之一。蜻蜓 BSD和FreeBSD SMPNg 项目已经大大提高 SMP 性能在这个平台上,在 8 核平台上的表现优于 Linux。 这意味着人们可以期望在主流的 2 和 4 插槽服务器上获得良好的性能。
一些争论由于 FreeBSD 目前不支持内存分配、关联管理或其他显式 NUMA 支持工具的 API,因此在 FreeBSD 上提供 NUMA 支持的早期工作已经存在。可以找到有关 NUMA 支持的良好入门资料这里。硬件支持范围比Linux小:实际上,这实际上只意味着你需要检查硬件兼容性列表。 对于服务器来说,这在大多数情况下不是问题,但在随机台式电脑上安装则有点棘手。如果您想要在一台机器上安装 BSD,您仍然需要逐个组件进行检查,而对于 Linux 来说,这种情况不太可能发生。
不太注重桌面:Linux 的桌面发行版(如 Ubuntu)往往对多媒体、仿真和捆绑应用程序有更丰富的桌面支持。虽然许多此类应用程序确实有移植到各种 BSD 平台的功能,但桌面 Linux 发行版的开箱即用支持通常会更好一些。
软件方面的一些差距:相当多的商业 Linux 软件没有 BSD 端口。例如,没有一家主要的 JVM 供应商为任何 BSD 平台维护其 Java 运行时的本地端口。在某些情况下,第三方维护端口,但任何 BSD 上都没有对 Oracle 的官方支持(例如)。这种差距在 BSD 的某些地方出现;如果您在存在这种差距的地方工作,BSD 可能不适合您。
一些要点
20 世纪 90 年代最大的宗教战争之一是 GPL 与 BSD 之间的战争。BSD 是根据 BSD 许可证授权的,该许可证的权利与 GPL 不同。本质上,BSD 许可证不要求您重新分发 BSD 许可软件的修改版本的源代码。
像 Oracle 这样的商业供应商对 BSD 的支持程度远不及对 Linux 的支持程度。因此,如果您想使用这样的产品,最好还是使用 Linux。但是,大多数产品都提供跨 Linux、System V、Solaris 等的二进制兼容性,因此您通常可以运行其他操作系统的二进制文件。
BSD 社区的运作方式与 Linux 不同,而且通常规模较小(尽管在很多情况下并不比 Linux 更文雅 -西奥·德·若特有点满口脏话的名声)。
一些 BSD 变体是针对特定目标而优化的小众市场产品。例如,OpenBSD 专门针对面向互联网的计算机提供安全的网络基础设施进行了优化,并投入大量精力检查缓冲区溢出漏洞等安全漏洞。许多注重安全的组织正是出于这个原因而使用它。NetBSD 的设计具有可移植性,移植到数十个平台并且被广泛用于嵌入式系统。对于这些系统的最佳应用来说,它可能是最佳的平台选择。
*BSD 的主场是网络服务 - 电子邮件和网络服务器、基础设施等。您可以使用任何 BSD 设置一个完美的极客桌面,理论上可以产生像 Ubuntu 一样温暖和轻松的东西。然而,这并不是大多数 BSD 产品的核心重点,尽管有些产品如PC-BSD旨在提供桌面系统。
如果你想制作一个传统的 unix geek 桌面,BSD 可以像任何其他 unix-oid 系统一样做到这一点。
- 例如,在 20 世纪 80 年代的 VAX/4.2BSD 时代,像 VAX-11/750 这样的机器可以为整个部门或大学校园提供电子邮件服务,并且可能还会执行其他工作(尽管应该注意,大多数电子邮件都是纯文本的,附件并不像今天那么普遍 - 该机器上使用的磁盘驱动器的容量通常在 120-450MB 之间)。现代服务器的 CPU 能力和内存要高出 3-4 个数量级,磁盘子系统的吞吐量可能要高出 2 个数量级,空间要高出 3-4 个数量级。
答案2
我认为 BSD 在桌面上不如 Linux 成熟,但对于服务器来说它非常稳定。
是否要安装 BSD 完全取决于您的机器用途。虽然很多方面与 Linux 相似,但也有很多不同之处。
以下是不同 BSD 的概述
OpenBSD:其邮件目标之一是成为最安全的操作系统(而且很可能是)
NetBSD:它的座右铭是“当然可以运行 NetBSD”。这一定是最便携的操作系统之一。许多人也在台式机上运行它。
FreeBSD :在服务器上非常流行,尽管也有很多人在桌面上运行它。可能是所有 BSD 中最受欢迎的
DragonFly BSD :相对较新(2003 年),它是 FreeBSD 4.8 的一个分支。我自己没用过,但显然很稳定。
答案3
在 Linux 世界中,发行版往往缺乏那种……凝聚力。它们通常以分散的方式构建,这往往会导致这种情况。
BSD 通常由一个人管理,因此您会感觉每个变体都是经过大量规划的实际产品。所有组件都很好地协同工作,并且所有组件都记录得非常详细。您很少会发现临时解决方案。
这奠定了非常坚实的基础,使 BSD 成为一个易于维护的平台,因此有可能带来更安全和更易于管理的环境。
我已经成为 Linux 用户 13 年了,虽然我仍然认为它是一个可行的平台,但出于上述原因,我已将我的所有生产和个人服务器迁移到 BSD。
然而,由于其先进的驱动程序支持,Linux 仍然可能是桌面的更好选择。
答案4
*BSD 是完整的操作系统,这意味着内核和用户空间是从同一源代码树开发的,而 Linux 发行版则来自不同的源代码。这就是为什么 BSD 系统感觉更加有凝聚力和坚固。文档也更好。