BSD有什么好处?

自Warty Warthog以来,我一直在使用Ubuntu。 我正在考虑尽快安装Jaunty; 但是我注意到,在NetBSD 5.0的周末, Dragonfly BSD 2.2.1 , OpenBSD 4.5和FreeBSD 7.2都已经发布了,所以我很好奇:

BSD有什么好处? 为什么要或不应该安装其中的一个而不是Ubuntu? 他们的主要卖点是什么? 性能? 稳定性? 硬件兼容性? 使用方便? 安全? 他们在旧硬件上运行良好吗? 它是什么?

编辑:这是从一个(主要是Java)的桌面开发人员的angular度来看,但我有兴趣知道别人也有什么优点和缺点。 他们是针对更多的服务器? 对于企业用户? 或者是什么?

BSD的优点

* BSD家族系统(IMHO)比Linux有一些关键优势,特别是对于服务器O / S。

  • 简单和控制:* BSD发行版都没有必要添加Linux发行商展示的function。 因此,大多数BSD派生系统的默认安装相对简单。

  • 稳定性:部分由简单驱动,BSD往往是周围最稳定的操作系统平台之一。 FreeBSD (这是“现代”BSD的老一代之一)为许多知名的.com提供支持,比如Yahoo和Hotmail。 事实上,微软曾经因为无法将Hotmail从FreeBSD迁移到Windows而受到很多的尴尬 。

  • 安全性:特别是OpenBSD在安全性方面有着非常好的logging,大部分的工作都是在BSD社区进行的。

  • 可移植性:特别是NetBSD有几十个平台的端口,并且非常容易移植。

有些弱点

  • 对 Linux的大型SMPconfiguration支持较less 。 由于大量核心的盒子已经广泛存在,这将成为一个更大的问题。 然而,真正BSD的主要networking的大多数networking服务应用程序并不是所有的CPU都渴望(1)。

    BSD内核上的SMP性能在过去的十年里有了很大的提高。 提高SMP性能是Dragonfly BSD的主要目标之一, FreeBSD SMPNg项目在该平台上显着改善了SMP性能 , 优于8核平台上的Linux。 这意味着可以期望在主stream的2路和4路服务器上获得良好的性能。

    关于在FreeBSD上提供NUMA支持的一些争论和早期工作存在,因为该系统目前不支持用于存储器分配,相关性pipe理或用于显式NUMA支持的其他设施的API。 NUMA支持的一个很好的入门可以在这里find。

  • 比Linux更小的硬件支持范围:实际上,这仅仅意味着您需要检查硬件兼容性列表中的组件。 对于一台服务器来说,这在大多数情况下是不成问题的,但是安装在一个随机台式电脑上,这有点棘手。 如果你想要一台机器安装BSD,你仍然需要做一个逐个组件的检查,而这种情况不太可能发生在Linux上。

  • 不那么重视桌面:Linux的桌面分布(比如Ubuntu)倾向于拥有丰富的多媒体,模拟和捆绑应用程序的桌面支持。 尽pipe许多这样的应用程序确实已经连接到各种BSD平台,但桌面Linux发行版的开箱即用支持通常会更好。

  • 软件方面存在一些差距:相当多的商用Linux软件没有BSD端口。 例如,主要的JVM供应商都没有为任何BSD平台维护其Java运行时的本地端口。 在某些情况下,第三方维护端口,但是在任何BSD上没有(例如)Oracle的官方支持。 这种types的差距在BSD的一些地方出现; 如果你在这种types的差距存在的空间工作,BSD可能不是你的平台。

一些要点

  • GPL与BSD之间的90年代伟大的宗教战争之一。 BSD使用BSD许可证进行许可,BSD许可证拥有与GPL不同的一组权限。 实质上,BSD许可证不要求您重新分发BSD许可软件的修改版本的源代码。

  • 像Oracle这样的商业供应商不支持BSD,就像支持Linux的程度一样。 因此,如果你想使用这样的产品,你可能更适合使用Linux。 但是,大多数Linux提供了跨Linux,System V,Solaris等的二进制兼容性,因此您可以经常为其他操作系统运行二进制文件。

  • BSD社区的运行方式往往与Linux不同,而且通常比较小(尽pipe在很多情况下没有更多的上stream社会 – Theo De Raadt有一些不错的口碑 )。

  • 一些BSD变种是利基市场项目,针对特定目标进行了优化。 例如,OpenBSD特别针对在面向互联网的计算机上提供安全的networking基础设施而进行了优化,在检查缓冲区溢出漏洞等安全漏洞方面进行了大量的努力。 正是出于这个原因,许多有安全意识的组织才使用它。 NetBSD被devise用于将端口移植到数十个平台,并且在embedded式系统中被广泛使用。 对于其中一个系统的甜蜜点应用,它可能是平台的最佳select。

* BSD的主页是networking服务 – 电子邮件和networking服务器,基础设施等。 你可以用任何一个BSDbuild立一个完美的怪杰桌面,理论上可以产生像Ubuntu一样温暖蓬松的东西。 然而,这不是大多数BSD产品的核心重点,尽pipe一些例如PC-BSD的目标是提供桌面系统。

如果你想做一个传统的unix geek,桌面BSD就可以和其他任何unix-oid系统一样。

  1. 例如,回到1980年代的VAX / 4.2BSD时代,像VAX-11/750这样的机器可以为整个部门或大学校园提供电子邮件服务,并且可能也在做其他工作(尽pipe应该注意到大多数电子邮件只是文本,附件不如今天普遍 – 在这台机器上使用的磁盘驱动器通常范围从120 – 450MB容量)。 现代服务器的CPU功率和内存要多3-4个数量级,而磁盘子系统的吞吐量可能要多2个数量级,而且空间要多3-4个数量级。

我不认为BSD在桌面系统上和Linux一样成熟,但是对于服务器来说它是稳定的。

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

然而,这是不同的BSD运行

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

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

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

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

在Linux世界里,分布往往缺乏那种凝聚力的感觉。 他们往往是build立在一个分散的方式,这往往导致这一点。

BSD通常由一个人来pipe理,所以你会感觉到每个变体都是一个实际产品,而且这个产品背后有很多计划。 事情一起工作得很好,所有组件都有很好的文档logging。 你很less发现杂物。

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

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

但是,由于其先进的驱动程序支持,Linux仍然可能是桌面的更好select。

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

不过要注意的是,Linux和BSD是不一样的……有一个学习曲线,所以不要期望直接跳到它。 例如,你会发现所有的核心命令,比如ls有不同的标志,一开始可能会引起混淆,可能需要一段时间才能打破使用Linux标志的旧习惯。

* BSD是一个完整的操作系统 ,这意味着内核和用户空间是从同一个源代码树开发的,而Linux发行版则是从各种来源共同屠杀的。 这就是为什么BSD系统感觉更有凝聚力和坚固性的原因。 也更好地logging。

只是几个问题:

Pro(免费)BSD:

  • ZFS文件系统/卷pipe理
  • Dtrace用于追踪/分析
  • 优秀且易于查找的文档(FreeBSD手册,OpenBSD常见问题解答,手册页非常好,实际上有有用的例子)
  • 清理和坚实的操作系统版本升级过程
  • 将核心操作系统与其他软件分离(“端口集合”)
  • BSD许可(这里没有许可十字军)
  • 伟大的防火墙/包filter:PF(Linux的iptables让我的头爆炸)

Contra BSD:

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

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

这种迷信的好处有多less是迷信,我没有做过调查研究,但我喜欢。 🙂

作为一名Java开发人员,大问题是没有* BSD的主streamJVM。 在所有人烧毁我之前,我的意思是说,目前没有Sun或任何其他主要供应商(IBM,BEA / Oracle)的运输JDK,因此您将永远为Linux和窗口用户打第二个提琴。

许可

BSD和Linux的主要区别在于授权。

您可以采用BSD代码库,根据需要进行任何更改,然后分发生成的二进制文件,销售它等,而无需打开您所做的源代码更改。

对于像苹果公司这样的公司来说,这是非常有吸引力的,对于股东的法律义务可能要求他们保护专有知识产权“安全”。 例如,Apple基于FreeBSD上的一些内核。

如果Tivobuild立在BSD而不是Linux的基础之上,Tivo不会有多年前遭受的(小)许可问题。

一些实际的差异

  • BSD并不像Linux那样受欢迎,所以没有驱动程序的边缘硬件。
  • 与Linux发行版相比,BSD的数量更less,而且它们的定义非常清晰,所以一般情况下,您应该知道何时使用它们。
  • 它们都比其他因素更注重稳定性,因此经常用于高可靠性的情况。

-亚当

安全性,安全性和更多的时间安全性。

除了已经提到的一切,我想补充说,文档是非常好的。 该男子(1)页非常好!

BSD(Berkeley Software Distribution)以其稳定性着称:FreeBSD,
安全性:OpenBSD
并支持多种平台:NetBSD