BSD有什么好处?


35

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

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

编辑:这是从(主要是Java)桌面开发人员的角度来看的,但是我很想知道其他人的优缺点。它们是否更针对服务器?对于企业用户?或者是什么?


1
BSD的优点是主观的吗?如果是这样,那就解释了为什么我个人不认识任何尝试过的人。:D
mmyers,2009年

17
BSD有什么好处?要粉碎你的敌人,看到他们在你之前被驱赶,并听到他们的女人的哀叹。
混乱

1
@mmyers-您的朋友有没有使用过Hotmail或Yahoo?
ConcernedOfTunbridgeWells,2009年

嗯,几个。为什么?
mmyers,2009年

1
@mmeyers-因为Hotmail和Yahoo都使用FreeBSD作为其Web应用程序的主要服务器操作系统。(或者至少是Hotmail曾经使用过它,多年来他们一直无法将其从FreeBSD移到Windows上-我不确定他们是否仍然可以使用)。
ConcernedOfTunbridgeWells,2009年

Answers:


65

BSD的优点

* BSD系列系统(IMHO)与Linux相比具有一些关键优势,尤其是对于服务器O / S。

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

  • 稳定性:BSD在一定程度上受到简单性的推动,因此一直是周围最稳定的O / S平台之一。 FreeBSD(这是“现代” BSD的较旧版本之一)为许多知名的.com(例如Yahoo和(有时)hotmail)提供了支持。 实际上,有一次微软因无法将Hotmail从FreeBSD迁移到Windows而遭受了很多尴尬

  • 安全性:尤其是OpenBSD在安全性方面有着非常良好的记录,其大部分工作在* BSD社区中普遍存在。

  • 可移植性:特别是NetBSD具有可移植到数十个平台的端口,并且以易于移植而著称。

一些弱点

  • 对大型SMP配置的支持少于Linux。随着具有大量内核的盒子越来越普及,这将成为一个问题。但是,实际上,大多数网络服务应用程序实际上都是BSD的主场,并不需要CPU负担(1)。

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

    一些辩论由于该系统当前不支持用于内存分配,相似性管理的API或其他用于显式NUMA支持的工具,因此存在有关在FreeBSD上提供NUMA支持的早期工作。在此处可以找到有关NUMA支持的良好入门。

  • 硬件支持范围比Linux小:实际上,这仅意味着您需要检查硬件兼容性列表组件 对于服务器而言,在大多数情况下这不是问题,但将其安装在随机台式PC上则比较棘手。如果要在计算机上安装BSD,仍然必须逐个组件进行检查,而Linux不太可能这样。

  • 不太强调桌面:Linux的桌面发行版(例如Ubuntu)往往具有对多媒体,仿真和捆绑应用程序的更丰富的桌面支持。尽管许多此类应用程序确实具有到各种BSD平台的端口,但是桌面Linux发行版的开箱即用支持通常会更好。

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

一些要点

  • GPL与BSD是90年代最伟大的宗教战争之一。BSD是根据BSD许可获得许可的,BSD许可与GPL拥有不同的权利。本质上,BSD许可证不需要您重新分发BSD许可软件的修改版本的源代码。

  • 像Oracle这样的商业供应商并不像支持Linux那样支持BSD。因此,如果您想使用这样的产品,那么使用Linux可能会更好。但是,大多数提供跨Linux,System V,Solaris等的二进制兼容性,因此您通常可以为另一个O / S运行二进制文件。

  • BSD社区往往以不同的方式对Linux上运行,而且往往更小(尽管在许多情况下,没有更安静- 西奥德若特拥有的东西美誉便盆口)。

  • BSD的某些变体是针对特定目标而优化的利基市场产品。例如,OpenBSD经过专门优化,可在面向Internet的计算机上提供安全的网络基础结构,并且要花费大量的精力来检查诸如缓冲区溢出漏洞之类的安全漏洞。许多安全意识强的组织正是出于这个原因使用它。NetBSD设计为可移植到数十个平台的端口,并且在嵌入式系统中得到了广泛的使用。对于这些系统之一的最佳应用场合,它可能是平台的最佳选择。

* BSD的主要领域是网络服务-电子邮件和Web服务器,基础架构等。您可以使用任何BSD设置一个完美的极客桌面,并且理论上可以产生与Ubuntu一样温暖而蓬松的东西。但是,尽管某些PC-BSD确实旨在提供台式机系统,但这并不是大多数BSD产品的核心焦点。

如果您想做一个传统的unix geek桌面,BSD会像其他任何unix-oid系统一样做。

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

9
配对特别好:OpenBSD和BIND。如果我正在运行公共DNS服务器,它将在OpenBSD上绑定。DNS服务器受到了很多攻击,OpenBSD可能是最安全的通用UNIX。
理查德·加兹登2009年

2
很棒的答案。我要添加两个方面:BSD比Linux小(因此可以在较小的环境中运行),并且文档化更好(FreeBSD中的每个命令都有一个手册页- 每个都有!)
Mei

3
我听说有人说,如果您要求Unix程序员编写PC操作系统,您将得到BSD,而如果您要求Windows程序员编写Unix OS,则将获得Linux。
gbjbaanb

1
好答案!当我尝试各种操作系统时,它是像mangrova marsh(过时的不完整文档,许多不一致的哲学)之类的linux,当我尝试FreeBSD时,就像进入一个库-有序,单一一致的哲学,所有文档都记录了下来(最新!)。也许不那么令人兴奋,但肯定很容易理解。
斯洛伐克,

3
我认为将Theo称为便盆是不正确的。他确实有很强的见解,并且对这些观点并不外交,但他不发誓。关于西奥·德·拉德(Theo De Raadt)最令人讨厌的事情是,他要么有观点,要么是对的:-P
DutchUncle 2011年

15

我不认为BSD会像台式机上的Linux那样成熟,但是对于服务器来说,它是坚如磐石。

是否要安装BSD完全取决于机器的用途。尽管许多事物与Linux类似,但许多事物也有所不同。

但是这里是不同BSD的精简版

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

  • NetBSD:座右铭是“当然它将运行NetBSD”。这必须是周围最可移植的操作系统之一。很多人也在桌面上运行它。

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

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


5
BSD是最成熟的体系结构之一-4.xBSD代码库的某些部分比许多Serverfault张贴者要老。您可以轻松地基于BSD制作传统的unix geek桌面。但是,大多数人都不打算像Canonical在Ubuntu上那样生产消费者或企业台式机。Blah blah young whippersnappers ...;-}
ConcernedOfTunbridgeWells,2009年

11

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

BSD通常是由一个人管理的,因此您会感觉到每个变体都是一个实际产品,需要大量计划。事情可以很好地协同工作,并且所有组件都有很好的文档记录。您很少会找到k脚。

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

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

但是,由于最新的边缘驱动程序支持,Linux仍然可能是台式机的更好选择。


1
实际上,如果您想获得最新的桌面支持,最好的选择是在Windows的VirtualBox中运行BSD或Linux ;-)
vartec

@OP,这是从[linux distro]切换到* bsd的最引人注目的原因
theman_on_osx 2009年

1
或者去像Slackware一样的单人发行;)
旅行者

9

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

但是请注意,Linux与BSD不一样...存在学习曲线,因此不要指望直接跳入其中。例如,您将找到所有核心命令,例如ls具有不同的标志,这些标志起初可能会造成混淆,并且可能需要一段时间才能打破使用Linux标志的旧习惯。


8

* BSD是一个完整的OS,这意味着内核和用户域是从同一源代码树开发的,而Linux发行版是从各种源头拼凑而成的。这就是为什么BSD系统感觉更有凝聚力和坚固性的原因。也有据可查。


8

只是几个问题:

Pro(免费)BSD:

  • ZFS文件系统/卷管理
  • Dtrace进行跟踪/分析
  • 优秀且易于查找的文档(FreeBSD手册,OpenBSD FAQ,手册页非常好,并且确实有一些有用的示例)
  • 干净而坚如磐石的OS版本升级过程
  • 核心操作系统与其他软件的分离(“端口收集”)
  • BSD许可(此处没有许可十字军)
  • 出色的防火墙/数据包筛选器:PF(Linux iptables使我大跌眼镜)

BSD相反:

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

3
有关虚拟化的更新。看来FreeBSD已经决定使用VirtualBox。现在在端口树中。此处的更多信息:miwi.bsdcrew.de/2009/06/virtualbox-is-now-available-in-ports wiki.freebsd.org/VirtualBox virtualbox.de/wiki/FreeBSD%20build%20instructions
Paidhi

8

我真的很喜欢/usr/ports。这并不是说我也不是很喜欢apt-get,但这是一种令人愉悦的感觉,因为您知道自己的安装是针对特定机器构建的,并且针对您想要的任何优化放入了makefile默认值。

迷信有多少可感知的好处,我没有做过研究来找出,但是我喜欢。:)


1
所以有点像Gentoo?听起来一段时间后可能会变得乏味(这是我从未尝试过Gentoo的原因之一)。
mmyers

6
Gentoo的“ portage”来自BSD,其他方面也是如此。但是,大多数BSD都另外提供二进制软件包。例如,OpenBSD同时具有端口和软件包。实际上,它们实际上是同一回事。
09年

7

作为Java开发人员,最大的难题是* BSD没有主流的JVM。在每个人都把我淘汰之前,我的意思是说,目前没有Sun或其他主要供应商(IBM,BEA / Oracle)提供的JDK,因此您将永远是Linux和Window用户的第二大提琴手。


知道这很有用。有人在移植OpenJDK或其他东西吗?
mmyers

是的,请查看openjdk.java.net/projects/bsd-port。但是,此端口尚未完成,不太可能获得商业支持。我们在一家基于Java的软件公司工作,我们不但支持Sun JVM,而且还支持Bea和JRocket。我们无法扩展支持资源来帮助想要在IceTea,Blackdown或GCJ等上运行我们的软件的人
Dave Cheney

是的,我明白你的意思。(顺便说一句,您在第一句话中省略了“否”。:)
mmyers,2009年

刚刚看到此“ OpenJDK BSD端口进度”帖子:robilad.livejournal.com/49303.html
mmyers

5

发牌

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

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

这对于像Apple这样的公司非常有吸引力,因为对股东的法律义务可能要求他们保持专有IP的“安全”。例如,苹果公司的某些内核基于FreeBSD。

如果Tivo建立在BSD之上而不是Linux之上,那么Tivo就不会遇到数年前遇到的(较小)许可问题。

实际差异

  • BSD不如Linux流行,因此没有驱动边缘硬件的驱动程序。
  • BSD的数量少于Linux发行版,它们的定义非常明确,因此通常您应该何时使用一个。
  • 他们比其他因素更多地关注稳定性,因此经常用于高可靠性情况。

-亚当


1
+1。基准测试的事实是,bsds的性能不佳,并且仍然缺少linux和solaris已经拥有的许多内核功能。bsd许可证是bsd最好(或最坏)的部分。
添马修斯

基准测试的好处是有很多可供选择。对于网络/过滤任务,我使用BSD的结果要比Linux要好-在数字建模方面,我将Linux或Solaris与Sun Studio编译器套件一起使用。。。。工作工具。
比尔B 2009年

4
很高兴看到这一说法的证据:“基准测试的事实是bsds的性能不佳……”
Josh Brower 2009年


1

除了已经提到的所有内容,我还要补充一点,该文档非常好。man(1)页面非常好!


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.