最近在忙于假设自己的流媒体服务器以及bsdplus.cn的博客站点,这里已久未更新。今天转贴一篇,凑个数吧。
其实关于操作系统的争论很多,我赞成这种观点:
操作系统没有优劣之分,只看哪个更适合你的需求或你的喜好。
OpenBSD的官网即明确告诫用户不要与别人争论OpenBSD的优劣问题。
=================================================================
*BSD迷思
英文网址:http://www.freebsd.org/advocacy/myths.html
原作者:Rhodes <trhodes@FreeBSD.org>
原文出自FreeBSD官方网站。
目录
一 、*BSD 项目采用封闭模式进行开发
二、你不能只做你自己的发行版或者从*BSD派生出一些工作
三、*BSD可以作为一个很棒的服务器,但是是拙劣的桌面
四、*BSD的codebase已经过于陈旧、过时,并且正在死去。
五、*BSD诸项目彼此在斗争,每星期都分化出不同群体
六、你不能使用*BSD作集群系统(并行计算)
七、*BSD没有商业支持
八、*BSD没有应用程序
九、*BSD比。。。更好
十、。。。比*BSD更好
一、*BSD 项目采用封闭模式进行开发
在那篇名为《大教堂与集市》的论文中,雷蒙德(Eric Raymond)以linux的开发模式也就是他用来开发fetchmail的模式为例,说明了开源开发应当如何进行。与此相对应,*BSD的开发模式一般被定性为封闭的。
这里隐藏的价值判断是:“集市“(开源)开发模式是好的,而“大教堂”(封闭)开发模式是坏的。事实上如果说有什么区别的话,*BSD的开发模式大概更像雷蒙德描述的linux或者fetchmail的开发模式。
让我们考虑如下事实:
对于所有的*BSD项目:当前,FreeBSD,NetBSD,以及OpenBSD释出的源代码,任何人都可以24小时地从互联网上下载。你无需等待他人的释出。
对于FreeBSD,NetBSD项目:每天24小时制作一个表明项目当前进展可安装的快照。这些快照就像正常的release版操作系统一样可以安装,并不需要安装在现有的系统上。
对于OpenBSD:可安装的快照也是每天都产生的,并且如果Theo认为快照足够好的话,他会把它们上传到OpenBSD的镜像站点上。
译者注:
1、当前开源/免费的BSD可以认为有四个,即FreeBSD,NetBSD,OpenBSD,DragonFlyBSD.后者是2003年从FreeBSD 4.x分化出来的
2、release:FreeBSD版本共有三种,current,release,statble.current版是项目当前正在开发中版本,有大量 的新特性,增强,不过不保证稳定,如果是为学习研究,这是比较合适的版本;stable,是稳定本,可以放心地使用了,只是技术可能不是最新; release,是当前开发到比较成熟的阶段以后释出的版本,已经接近稳定,可以生产使用,事实上很多商业网站就是用的release版。NetBSD, 情况请参考www.NetBSD.org
2、Theo,OpenBSD项目的创始人、领导者。
与之不同的是:linux的新内核发布是随心所欲的,linux的发行频率是基于individual vendor心血来潮的行动。
对于*BSD用户来说,linux新内核的每次发布都是不值得宣传的,因为那是每天都在发生的事情。
所有的*BSD项目都使用CVS来管理他们的源代码。
所有的*BSD项目:都制作了一棵CVS树,来让任何人24小时地浏览、下载。我们可以使用匿名的CVS,CVSupip,CTM(通过电子邮件),或者通过FTP,来检索源代码。
任何人都可以使用安装在他们*BSD系统上的名为send-pr程序,或者使用一个基于web的工具来提交补丁、错误报告、文档,或者做出其他的贡献。
当然并不是每个人都可以把他对*BSD源代码的修改写入CVS树的。为此你需要先成为一个拥有CVS树写权限的人。一般来说,他们使用send-pr或者其他工具向项目做出了若干经过深思熟虑才产生的贡献,才能成为一个拥有CVS树写权限的人。
这与linux的机制其实是一样的。理论上说只有一个人允许改变内核---李纳斯。只是一些特定领域比如网络部分的代码才委托给其他人。
另外:Nik(nik@FreeBSD.org)是一个相关的例子。当他对FreeBSD文档项目和网页做出了一定的贡献之后,虽然他从没有要求成为有CVS树写权限的人,他们大方地给与了该权限,以免他老是麻烦别的有CVS写权限的人来把那些变更写入CVS树.
二、你不能做你自己的发行版或者从*BSD派生出一些工作
其实,你可以。你只需在文档和源代码中说明代码源自何处。有一系列派生项目:
DragonFlyBSD
自FreeBSD4.x起步,不过现在他现在已经有了自己的社区和开发目标。
TrustedBSD
对FreeBSD提供了一套可信扩展,目标是实现CC。该项目仍在开发中,并且它的很多代码都已经反馈回FreeBSD操作系统,只是二者的开发是独立进行的。
译者注:Common Criteria,信息安全标准,详情参见安全方面相应著作。
FreeSBIE
运行在CD-ROM上的完整的桌面操作系统,他也能被安装,对那些没有硬盘的计算机极其有用。
Frenzy
另一个“生活”(live-cd)发行版,只是为系统管理任务进行了定制。
PicoBSD
经过裁减定制的适应软盘的FreeBSD发行版。特别适合于把没有硬盘的386 PC机改造成一个路由器或者网络打印机。它是FreeBSD源代码树的一部分,参见/usr/src/release/picobsd
NanoBSD
又一个来自FreeBSD的项目,它裁减自FreeBSD以放在Compact Flash card或者其他大容量存储器中。它是FreeBSD源代码树的一部分,参见/usr/src/tools/tools/nanobsd
TinyBSD
shell脚本组成的工具包,以方便基于FreeBSD 5.x,6.x的嵌入式开发。
ThinBSD
一个很小的基于FreeBSD的引导镜像,允许标准PC作为微软windows RDP server 或者X 终端的无盘瘦客户机。它完全通过DHCP(动态主机配置协议)来配置。
PC-BSD
继承自FreeBSD,面向桌面,它被社区设计成易于安装、受到较好的支持的操作操作系统
DesktopBSD
另一个继承自FreeBSD,强调桌面易用性的操作系统。
Gentoo/FreeBSD
Gentoo项目移植他们自己的管理工具,发挥FreeBSD的可信内核、userland长处的成果。该项目完全不成熟,是实验性质的。
m0n0wall
一个基于FreeBSD的具有很多昂贵防火墙才具有的特性的防火墙系统。
pfSense
源自m0n0wall项目,具有很多不同目标和特性的开源防火墙。这些特性有:OpenBSD的Packet Filter (PF)等等。
Whistle Interjet
可以作为路由器、web服务器以其用途的网络工具,并且可以配置成一个web浏览器,mailhost。它基于FreeBSD,并且在保持足够私有权以保持商业生存的条件下向FreeBSD项目回馈了大量增强代码。
与DragonflyBSD相似,OpenBSD不是一个从新发起的项目,他源自NetBSD项目,并且自分化出来那一天就一直在沿着自己的路径在发展。
三、*BSD可以作为一个很棒的服务器,但是只是一个拙劣的桌面
*BSD可以作为一个很棒的服务器,同样可以做为很优秀的桌面。服务器必需要的很多东西(迅速响应用户请求,稳定性,系统资源的有效使用)对于一个桌面机器来说同样是需要的。
*BSD可以像linux那样使用相同的桌面工具,比如KDE,GNOME,火狐浏览器,windowmanagers,以及OpenOffice套件等办公应用程序。
四、*BSD的codebase已经过于陈旧、过时,并且正在死去。
虽然BSD的codebase 已经20多年了,不过他既没有过时,更没有死去。很多专业使用者喜爱FreeBSD提供的久经考验的稳定性。
技术方面的增强仍在不断地被加入到*BSD系统,这些包括但是不限于:
SMP
使用多CPU
SoftUpdates:
使得BSD的文件系统至少像linux的文件系统一样快,却并不需要激活“异步写”以及与之相关的风险。
虚拟内存系统
虚拟内存子系统仍在改进。添加的虚拟内存/缓存设计帮助wcarchive.cdrom.com承受住了成千上万个并发连接。
支持的平台
FreeBSD当前主要支持七种平台:Alpha,AMD64,i386,安腾,PC-98,PowerPC 以及UltraSPARC。将该项目移植到其他平台的工作仍在进行中。参见www.FreeBSD.org的支持的平台。
MAC Framework
FreeBSD支持强制访问控制,一般在昂贵的可信的操作系统才能见到的特性。
译者注:这里的“可信”(trusted),并不是开发者随便说的一个形容词,国际上在信息安全上是有一定标准的(见前面的CC.),达到一定安全程度才可称为“可信”。
GEOM classess
GEOM is a modular disk framework that lets you concatenate, mirror, stripe, or encrypt disks. It is rich in functionality and keeps your data safe.
五、*BSD诸项目彼此在斗争,每星期都分化出不同群体
不!除了各自的拥护者偶尔激烈的争论以外,*BSD的开发者仍旧在彼此合作的工作着。比如FreeBSD的alpha平台的移植最初就是高度基于 NetBSD团队的工作的。NetBSD,OpenBSD都使用FreeBSD的ports来管理各自的移植软件库。FreeBSD,NetBSD都把 OpenBSD团队的安全模块集成到自己的系统中了。
FreeBSD和NetBSD“分家”十年多了,OpenBSD与DragonflyBSD是过去的十年中仅有的分化出来的项目。
*BSD项目在各个领域都合作的非常好。比如,每月一次的出版物DaemonNews就是四大项目成员合作的成果。
六、你不能使用*BSD作集群系统(并行计算)
如下的网址给出了反证:
http://www.epm.ornl.gov/pvm/
http://www.scl.ameslab.gov/Projects/old/ClusterCookbook/
http://people.freebsd.org/~brooks/papers/bsdcon2003/fbsdcluster/
http://www.onlamp.com/pub/a/bsd/2004/07/01/freesbie.html/
http://www.openbsd.org/faq/pf/carp.html
http://www.countersiege.com/doc/pfsync-carp
http://pf4freebsd.love2party.net/carp.html
需要指出的是:关于FreeBSD在集群方面的深入讨论,FreeBSD集群邮件列表可以参考。
七、*BSD没有商业支持
FreeBSD:
FreeBSD的商业支持者网页列出了所有为FreeBSD提供商业支持的公司。(见http://cnsnap.cn.freebsd.org/commercial/consult_bycat.html)
FreeBSDMall 也提供商业支持,诸如衬衫、帽子、书籍、软件,宣传等等。
培训方面,你可以试试BSDMall.com,他们也卖其他的东西,比如衬衫、帽子、书籍、软件等等。相当值得一看。
OpenBSD
OpenBSD的商业咨询业面列出了所有为OpenBSD提供商业支持的公司。(见http://www.openbsd.org/support.html)
八、*BSD没有应用程序
自由软件都可以在SunOS以及类似的主流的BSD上系统运行。*BSD用户一般情况下可以无需作任何修改即可编译那些为其他类unix系统编写的软件。
另外,每一个BSD项目都使用ports系统来管理软件,使得编译移植软件库中软件极其简单。
FreeBSD
当前移植软件库中有13000多个应用程序可以下载和安装。在i386和AMD64平台,有linux模拟层能够运行决多数linux的应用软件。AMD64和安腾平台,拥有一个兼容层来运行32位的FreeBSD二进制程序。
NetBSD
linux模拟层可以运行大部分i386平台linux的应用程序,并且大部分SunOS4应用程序能在SPARC工作站上运行。
OpenBSD:
当前移植软件库中大概有400多应用程序可以下载与使用。linux模拟层运行大部分i386平台的linux程序,大部分SunOS4应用程序能在SPARC工作站上运行。
用户只需很少的努力,NetBSD与OpenBSD就能够运行FreeBSD的移植软件库的程序。他们很少的移植程序也说明了这一点。
大部分公司把它们的工作迁移到PC unix平台时最先选择linux,这是事实。幸运地是,BSD的linux模拟层能够运行这些程序,比如Acrobat,StarOffice, Mathematica,WordPerfect, Quake, Intel ICC compiler, Compaq's Alpha compiler 等。即使出了问题,也容易解决。
作为一个有历史意义的注记:带有java支持的第一版Netscape Navigator是linux版的。不过,现在你可以使用带有本地版java插件的本地版Mozilla的,那都可以很方便地从移植软件库编译!
九、*BSD比。。。更好
这仅是部分用户的观点。
十、。。。比*BSD更好
这仅是部分用户的观点。