BSD 有什么好处?

mmy*_*ers 35 bsd

自 Warty Warthog 以来,我一直在断断续续地使用 Ubuntu。我正在考虑尽快安装 Jaunty;但是我注意到周末NetBSD 5.0Dragonfly BSD 2.2.1OpenBSD 4.5FreeBSD 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 系统一样做到这一点。

  1. 例如,在 1980 年代的 VAX/4.2BSD 时代,像 VAX-11/750 这样的机器可以为整个系或大学校园提供电子邮件服务,并且可能还会做其他工作(尽管人们应该注意大多数电子邮件都是纯文本的,附件不像今天那么普遍——这台机器上使用的磁盘驱动器的容量通常为 120-450MB)。现代服务器的 CPU 功率和内存增加了 3-4 个数量级,磁盘子系统的吞吐量可能增加了 2 个数量级,空间增加了 3-4 个数量级。

  • 特别好的配对:OpenBSD 和 BIND。如果我运行的是公共 DNS 服务器,它将在 OpenBSD 上绑定。DNS 服务器经常受到攻击,而 OpenBSD 可能是最安全的通用 Unix。 (9认同)
  • 我听说如果你让一个 Unix 程序员编写一个 PC 操作系统,你会得到 BSD,而如果你让一个 Windows 程序员编写一个 Unix 操作系统,你会得到 Linux。 (3认同)
  • 我认为将 Theo 称为大嘴巴是不对的。他确实有强烈的意见,而且他对这些意见并不外交,但他不发誓。Theo De Raadt 最令人讨厌的事情是他要么有一个好观点,要么他是对的 :-P (3认同)
  • 很棒的答案。我要补充的两个方面:BSD 比 Linux 小(因此可以在较小的环境中运行),并且有更好的文档记录(FreeBSD 中的每个命令都有一个手册页 - *每个*一个!) (2认同)

Nat*_*han 15

我认为 BSD 不像桌面 Linux 那样成熟,但对于服务器来说,它坚如磐石。

是否要安装 BSD 完全取决于您使用机器的目的。虽然很多东西与 Linux 相似,但很多东西也不同。

然而,这里是不同 BSD 的简述

  • OpenBSD:如果它的邮件目标是成为最安全的操作系统(而且可能是)

  • NetBSD :它的座右铭是“当然它会运行 NetBSD”。这必须是最便携的操作系统之一。许多人也在台式机上运行它。

  • FreeBSD:在服务器上非常流行,尽管很多人也在桌面上运行它。可能是所有 BSD 中最受欢迎的

  • DragonFly BSD:一个相对较新的人(2003),它是 FreeBSD 4.8 的一个分支。我自己没有使用过它,但显然很稳定。

  • BSD 是最成熟的架构之一 - 4.xBSD 代码库的一部分比许多 Serverfault 海报还要老。您可以轻松制作基于 BSD 的传统 Unix 极客桌面。然而,大多数人不会像 Canonical 使用 Ubuntu 那样尝试生产消费者或商业桌面。废话废话年轻的鞭打者......;-} (5认同)

Mic*_*uch 11

在 Linux 世界中,发行版往往缺乏那种……凝聚力的感觉。它们通常以分散的方式构建,这往往会导致这种情况。

BSD 通常由一个人管理,因此您会感觉每个变体都是实际产品,背后有很多计划。一切都很好地协同工作,所有组件都有很好的文档记录。你很少会发现杂物。

这奠定了非常坚实的基础,使 BSD 成为易于维护的平台,因此有可能导致更安全和可管理的环境。

我已经使用 Linux 13 年了,虽然我仍然认为它是一个可行的平台,但出于上述原因,我已将所有生产和个人服务器移至 BSD。

然而,由于其前沿驱动程序支持,Linux 仍然可能是桌面的更好选择。


Ada*_*ins 9

通过禁用除核心服务之外的所有服务,BSD 通常被认为是安全的。它也非常稳定,您可以通过查看众多正常运行时间监控服务之一来判断这一点。

但是请注意,Linux 与 BSD 不同......有一个学习曲线,所以不要指望直接进入它。例如,您会找到所有核心命令,例如ls具有不同的标志,这些标志一开始可能会令人困惑,并且可能需要一段时间才能打破使用 Linux 标志的旧习惯。


cha*_*aos 8

我真的很喜欢/usr/ports。这并不是说我也不太喜欢apt-get,但是知道您的安装是在您的特定机器上构建的,并且进行了任何优化,您感觉就像投入 makefile 默认值一样,这是一种令人愉快的感觉。

有多少被认为的好处是迷信,我还没有做过研究去发现,但我喜欢它。:)

  • Gentoo 的“移植”来自 BSD,其他东西也是如此。然而,大多数 BSD 也有额外的二进制包。例如,OpenBSD 既有端口又有包。事实上,它们实际上是同一回事。 (6认同)

Ant*_*ina 8

*BSD 是一个完整的 OS,这意味着内核和用户空间是从同一个源代码树开发的,而 Linux 发行版是从不同的源头拼凑起来的。这就是为什么 BSD 系统感觉更具凝聚力和稳固性的原因。也有更好的文档记录。


Pai*_*dhi 8

只是几个问题:

专业版(免费)BSD:

  • ZFS 文件系统/卷管理
  • 用于跟踪/分析的 Dtrace
  • 优秀且易于查找的文档(FreeBSD 手册、OpenBSD 常见问题解答、手册页非常好,并且确实有有用的示例)
  • 干净和坚如磐石的操作系统版本升级过程
  • 将核心操作系统与其他软件分离(“端口集合”)
  • BSD 许可证(这里没有许可证十字军)
  • 伟大的防火墙/数据包过滤器:PF(Linux iptables 让我头爆炸)

反对BSD:

  • 不支持虚拟化(VM 主机)产品(VMware、KVM、Xen、VirtualBox)

  • 关于虚拟化的更新。看起来 FreeBSD 已经决定使用 VirtualBox。它现在在端口树中。更多信息请访问:http://miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports/ http://wiki.freebsd.org/VirtualBox http://www.virtualbox.de /wiki/FreeBSD%20build%20instructions (3认同)

Dav*_*ney 7

作为 Java 开发人员,最大的问题是 *BSD 没有主流的 JVM。在每个人都把我从存在中烧掉之前,我的意思是,目前没有来自 Sun 或任何其他主要供应商(IBM、BEA/Oracle)的 JDK,所以你将永远是 linux 和 windows 用户的次要角色。


Ada*_*vis 5

许可

BSD 和 Linux 之间的主要区别在于许可。

您可以使用 BSD 代码库,对其进行任何您想要的更改,然后分发生成的二进制文件、出售它等,而无需打开您所做的源代码更改。

这对苹果公司等公司非常有吸引力,因为在这些公司中,对其股东的法律义务可能要求他们保持专有知识产权的“安全”。例如,Apple 的一些内核基于 FreeBSD。

如果 Tivo 建立在 BSD 而不是 Linux 之上,它们就不会遇到多年前遇到的(次要)许可问题。

一些实际差异

  • BSD 不像 Linux 那样流行,因此没有用于尖端硬件的驱动程序。
  • 与 Linux 发行版相比,BSD 更少,而且它们的定义非常明确,因此您通常知道什么时候应该使用一个而不是另一个。
  • 它们都比许多其他因素更注重稳定性,因此通常用于高可靠性的情况。

-亚当

  • 很高兴看到这句话的一些证据:“基准测试的事实是 bsds 表现不佳......” (4认同)