自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系统一样。
- 例如,回到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:
Contra BSD:
我真的很喜欢/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不会有多年前遭受的(小)许可问题。
一些实际的差异
-亚当
安全性,安全性和更多的时间安全性。
除了已经提到的一切,我想补充说,文档是非常好的。 该男子(1)页非常好!
BSD(Berkeley Software Distribution)以其稳定性着称:FreeBSD,
安全性:OpenBSD
并支持多种平台:NetBSD