主题:【原创】linux 还是 freebsd? -- 铁手
桌面应用,WINDOWS再受人诟病,也是绝大多数人的选择。或者也可以考虑 APPLE 的 OSX,或者用 UBUNTU LINUX。桌面操作系统不难选择,这里主要讨论作为服务器的操作系统。
服务器应用和桌面不一样,有它的特殊性,我这里大致罗列几个我认为比较重要的方面,以便比较讨论。也请大家补充。
1、安全性:
网络上的服务器往往是处于公开状态,也就是大家都能知道它的存在,都能对它捣鼓点什么,安全性至关重要。我的考虑,安全性不单单是服务器操作系统本身对安全的重视程度,以及安全措施的实施是否充足,能不能以适当便利的方式来实现这些措施也很重要。如果一个服务器需要追加大量的补丁或者是应用程序后才能达到必要的安全保护,也是一件很让人头痛的事情。服务器的安全应该是操作系统本身应该注意的。一个操作系统本身的安全性如何,需要管理员多少额外的操作才能放心的放到公开的网络上,是关注的重点。
2、性能:
比如说,作为一个网站,在网络上的一个最重要的目的,就是让更多的人知道并利用你的网站。网站所在的服务器的性能就很重要。虽然现在服务器、带宽、空间什么的价格已经很低,但是面对大量的用户,以及可能的多媒体应用(图片、视频等等),服务器的性能还是不可忽视。特别是现在所谓 WEB2.0 背后所需要的动态内容产生对服务器性能的要求。性能方面,需要考虑提供动态内容、静态内容的速度,也需要考虑负荷增大后若干台服务器之间协作提供内容的性能。
3、开发支持
一个操作系统也许很好,但是用的人很少,就很可能因为用户群的缺乏而导致系统维护更新缓慢,甚至是终止操作系统的开发和更新。操作系统是以什么样的方式来维护,怎样的方式来发布新的补丁,新的版本,有多大的用户群,等等,也很重要。另外,应用软件的丰富程度也很重要。虽然说,作为服务器大多数都是一些基本应用,比如 WEB SERVER, SQL SERVER,MAIL SERVER 等等,但也有很多应用不常用,必要时候也很重要,比如说用于 IM 的 JABBER、用于语音的 TEAMSPEAK,ICECASE, SHOUTCAST,防火墙软件 等等。更新主要的应用软件,和增添新应用软件的的便利程度就很重要。
4、稳定性:
一般情况下,服务器一旦开始运行,往往需要尽可能避免所提供服务的中断,要尽可能避免系统重启。稳定的系统,应该在长时间内没有重启的必要。
5、易用性:
这个似乎有些勉强。大多数情况下,服务器因为应用的特殊性,往往只需要文本的命令行的方式来工作。所有的管理操作也都可以通过命令行来完成,易用性似乎并不被强调或者不突出。
从以上五点来考虑,LINUX 和 BSD,比如 FREEBSD相比较,到底哪个优势更大一些呢?
安全性的角度来看,两者都很重视。据说 FREEBSD 的缺省安装就已经有相当的安全措施,而 LINUX 的则往往需要一个 initial hardening 的过程。
性能方面,早期的说法,往往是认为 BSD 比 LINUX 的性能好,特别是作为 WEB SERVER 的时候,同样的硬件,FREEBSD 的服务器能比 LINUX 的服务器应付更多的用户访问。但是随着 LINUX 的不断成熟,这个差距已经缩小。也有看到说法是 LINUX 比 FREEBSD 只好不差了。
开发支持方面,FREEBSD 是通过一个团队来更新核心和用户应用,LINUX 则是由一个人 (LINUS)来发布核心的补丁和更新,在此基础上,由很多的发布商来综合形成不同风味的 LINUX 谱系。LINUX 大家庭由于发布商的数量众多以及各种包装而逐渐的吸引越来越多的用户。GOOGLE 上搜索 LINUX 返回 353,000,000 个,BSD 返回 41,800,000个。看起来 LINUX 要比 BSD 热门一些。这个差别也许只是因为桌面应用的差别。BSD 的桌面似乎没多少人关心。LINUX 里的 UBUNTU 则有相当的口碑。
稳定性方面,FREEBSD 的稳定性似乎要好一些。
易用性,两者各有千秋,很多时候恐怕要看使用的习惯了。LINUX里的RPM, YUM, APT 都给软件安装、更新提供了很大的方便。BSD 中有 PORT 和 PACKAGE 的安装。对服务器应用而言,易用性应该是程度相当。
LINUX,FREEBSD 到底那个更好呢?还是已经好到没有区别了呢?
本帖一共被 1 帖 引用 (帖内工具实现)
特别是低端和中小企业应用。其服务的稳定性,可靠性都非常出色。从前年开始,开始了无偿化和开放源代码。这在商用UNIX中,还是头一家,而且,不象有些LINUX,用户免费版和商用企业版是分开的,其提供的是完全版本,并且对于安全系统也是免费更新的。如果配合SUN的SPARC工作站或者使用64位AMD的Opteron芯片的x86工作站的话,应该可以构筑相当理想的企业级网站的。另外,关于SunOS或者Solaris的书很多,也有许多有这方面经验的专家,所以,对于系统的维护,应该是不应该太担心的吧。当然,本人也是初学者,抱着抛砖引玉的想法,随便说几句的。疏漏之处,恳请指教。
对单个服务器而言,FreeBSD, Solaris, HPUX, IRIX, Redhat, Suse, Mandriva,甚至于CentOS,Scientific等这些Free的操作系统各有所长吧。但是对于多个服务器组成的Cluster来讲,好像对FreeBSD的支持不是很好,无论是IBM,HP,SUN,由Beowulf内核发展的收费系统还是免费的Clustermatic, OSCAR,一般底层用的是Unix/Linux,好像不太用BSD。
好像社会上基本不需要再做一个操作系统了。如果只是搞维护,那也太没劲了点。
但是,相比FreeBSD和其他操作系统,Linux有一个非常大的优势:越来越多的自由软件开发团队把Linux作为了首要的开发平台。这意味着新功能、补丁等等往往先在Linux上出现,然后再移植到其他操作系统。这个时间差,有可能带来意想不到的结果。
其实,如果是做中、小型公用服务器,就操作系统本身来说,FreeBSD和Linux的差别微不足道。决定取舍的因素往往是技术层面之外的,比如,能不能找到合格的管理员,决策人自己的喜好,等等。
另外,Linux的开发可不是Linus Torvalds的独角戏。他仍然参与某些细节的开发工作,但更多的时候,他起着协调和折中的作用。与他紧密联系的大概有20个不同子系统的负责人,在这20个子系统负责人周围,又有数目不等的活跃分子和数目更大的偶尔参与贡献的“群众演员”。这些子系统负责人和活跃分子,加上Linus Torvalds自己,构成了Linux内核的开发团队。
绝大部分的技术决策是由子系统负责人来做。只有在涉及系统间接口,或者出现争议,或者需要有人来“下决心”时,Linus Torvalds的意见才会是最后的决定。
所有的决策过程都是公开、透明的。新概念、新想法、新功能、改错、清理,等等一切代码变动都以补丁(patch)的形式发布到公用电子邮件列表上,所有感兴趣的人都可以提出疑问、意见和建议。
一般说来,好的主意和高质量的代码很快就能得到大部分人的赞同。争议性的补丁,则往往要经过多个回合的提交-审阅-改动-再提交。。。有时,这个过程可以长达数年。如果其他人认为自己能做得更好,甚至可以提交自己的补丁来“竞争上岗”。
平常时候,Linus Torvalds的看法和主意同其他的资深Linux内核开发人员的没什么两样,都要经过大家的评审、讨论。Linus的主意和代码也有被“枪毙”的时候。
另外,眼光放长些,那些数不清的嵌入式系统,游戏机、手机、mp3播放器、数字相机、机顶盒、ATM、kiosk、智能冰箱、轮船上用的、飞机上用的、汽车上用的、等等等等,基本上每一个硬件系列都要有自己的操作系统,每个这样的操作系统都会有自己的特点。
这么看起来,学操作系统的机会还是很多的。
如果是用若干台机子建一个cluster,系统级的,虚拟机,用openMosix或Mosix.
应用程序级的,MPI编程,用Oscar或Rocks建cluster.这些好象都是对linux支持的最好.
MS,Intel都有建cluster的东西.
Google 的那个几万台机子的cluster不知道用的什么系统建的.
http://en.wikipedia.org/wiki/Google_platform
每月估计电费200万美刀!
不知道西西河每个月的电费帐单多少?
本帖一共被 1 帖 引用 (帖内工具实现)
我比较担心的是,LINUX 各种发行版本的不同,会很可能导致人为的漏洞。在服务器市场占主导地位的 RED HAT / fedora 被人批评说不够 open source 了。这总让人担心哪天 red hat 也搞成类似微软了。
不过,你说的很对,linux 的用户群的优势很明显,这点也应该可以保证 linux 的稳定和发展吧。
最近看到 ubuntu 在桌面和服务器的应用上都相当有前途的样子。对 linux 也算是好消息了。
有一点算是对 freebsd 非常有利的是,yahoo 用的是 freebsd 。不知道 yahoo 是不是也用 freebsd cluster?
到网上搜了搜,freebsd 的 cluster 好像的确不多。不过有看到有专门的论文。应该可以借鉴一下。
具体的数字不知道,但是看起来 solaris 的用户群比较小,将来会怎样恐怕比较玄。不知道有谁对 solaris 比较熟悉,可以聊一聊。
问题,站主感兴趣的话,可以看看。外链出处应该是在最近半年内的帖子里。
这儿有一个有关ROCKS和FREEBSD的page,站主感兴趣的话可以看看
有什么关系。
我的理解是,按照 linux 的版权规定, red hat 的版本是必须公开,centos 基本上就是 red hat 的企业版本去掉 red hat 的字样。具体怎么做不知道。就免费的linux enterprise server 里,centos 应该是首选了。