您现在的位置: Gufang > 博客 > 学无止境 > 正文
FreeBSD和Linux到底有什么区别
首先是一系列观点
1.
要说区别freebsd和linux实在是貌合神离,看起来类似,其实是从设计思想上的不同。
linux也有成功的应用案例,只不过没有freebsd多就是了
最有名的就是google,全部是linux,实在让大家佩服的不得了
2. FreeBSD是操作系统,Linux只是一个内核而已
3. FreeBSD直接由Unix发展而来,Linux是仿Unix而写的。
4. Freebsd是由几个人疯狂做出来的.
Linux是由一个人疯狂做出来的.
5. 这个问题的N种回答:
高深的:
FreeBSD,从unix移植到x86版的一群expert hacker
Linux,从x86从零开始编写一个unix的一大群hacker
架构的:
FreeBSD是一个完整的系统架构
Linux拥有内核和各种五花八门的发行版
历史的:
FreeBSD曾经碰到过一些法律问题,阻碍了FreeBSD的顺利发展,正如Linux目前正在经历的一样
防御的:
FreeBSD在承受网络攻击方面,似乎比Linux更强壮
洁癖的:
FreeBSD的体系单一,比Linux的发行版机制更简单
学习的:
FreeBSD的体系更适合研究技术,而Linux则向所有的领域进发,甚至跑到mac/pda/汽车控制/宇航/电影等等。
许可的:
FreeBSD的BSD许可,你可以做任何事情,只需要事先大喊一声:“偶用了BSD技术”。而Linux的GPL需要你告诉别人你怎么做的。
软件的:
Linux在支持更多的软件特性上面具有优势(例如线程什么的),FreeBSD缓慢一些
硬件平台的:
NetBSD做的不错,Linux更加疯狂,甚至跑在ps2上
外设的:
Linux支持的外部设备更多
安全的:
OpenBSD是霸主,Linux追赶,不过大家似乎公认安全在人
水平的:
FreeBSD开发组成员平均教育水平更高,这与Linux质量好坏有关吗?
传统的:
FreeBSD在系统稳定性上比Linux更好,也许早就过时了。
功绩的:
FreeBSD最早实现了TCP/IP协议,在IPv4网络上优势无以伦比。
未来的:
FreeBSD:把Solaris/AIX/HP UNIX等优势都弄到x86上
Linux: 进入上述平台的领域
实用的:
FreeBSD在终端上具有传统的优势
Linux则在X体系以上获得了不少分数,足够冲击windows
FANS的:
偶就是喜欢FreeBSD
偶就是喜欢Linux
6. 美的操作系统是不存在的,正如人人都是有缺陷的。对于两个正在不断发展的操作系统–FreeBSD和Linux–没有缺陷是做不到的。但是,有缺陷并不意味着它们是垃圾。
作为服务器,FreeBSD和Linux都有太多的成功例子,任何一边的FANS都可以举出足以自豪的例子。当然,同时还会有太多的不成功例子没有人注意到,但是那并不重要。
回到5年前,Linux还在后面远远的追赶FreeBSD,那为什么还是有不少人坚持使用和开发Linux,而不是FreeBSD?也许就是为了delphij老兄所不喜欢的GPL吧。GPL确保了在自由软件社区,一个轮子无需发明两次,而且发明者不用担心轮子或者它的衍生物有朝一日成为私人财产。
现在,在2004年,Linux已经不是吴下阿蒙,现在已经不是Linux在单纯学习FreeBSD,而是开始了互有长短,相互借鉴的开发与合作。我一向不认为FreeBSD和Linux是对手,我认为它们更加像是学友,不过FreeBSD虚长几岁,是学长罢了。
做Linux的敌人,只怕会睡不好觉呢。
我从来把linux看作一套开发中的系统,不把他当敌人看,也不否认他提出的
一些技术观点.
上一帖我没说清楚,应该说买弄不成熟linux功能的那个人是垃圾.
但是有点不喜欢的是,一个ung协议口口声声是自由,却用自己去控制别人,不给别人自由,我更喜欢在自己的软件里说明是free&free授权,而不是plg.
  
对这些观点的讨论
1.
FreeBSD是操作系统,Linux只是一个内核而已
  
事到如今,要从FreeBSD里剥离掉GNU的东西恐怕不那么好用了
2.
……
学习的:  
FreeBSD的体系更适合研究技术,而Linux则向所有的领域进发,甚至跑到mac/pda/汽车控制/宇航/电影等等。
功绩的:
FreeBSD最早实现了TCP/IP协议,在IPv4网络上优势无以伦比。
……

这两个不太同意,准确的说是部分的不太同意,bsd也跑到各个领域发展呀,比如嵌入式防火墙,网络存储(如netapp),火星车(Vxworks),mac。我反而没听说火星车跟linux有什么关系
3.
FreeBSD是操作系统,Linux只是一个内核而已
事到如今,要从FreeBSD里剥离掉GNU的
FreeBSD基础系统里面GNU的东东不是太多
举个例子,虽然现在内嵌的是gcc,但是freebsd也针对icc做了很多的努力,据说已经相当的兼容了。也许多数朋友还没听说过icc,icc实际上是intel出的标准编译器,那个i其实就是intel。
另外freebsd的ls不是gnuls,df、du都不兼容gnu,甚至连awk都跟gnu的不太一样。从系统中完全去掉gnu的东西其实并不困难,因为用的并不多
我反而觉得很多bsd自己的工具比gnu的好用,比如date,比如df,大家可能不知道,hp-ux里面专门带有一个工具叫bdf,其实就是bsd版的df,因为hp-ux自己的df实在功能太弱了
4.
不认为wind river曾经收购了BSDi意味着VxWorks转向了*BSD架构。
感谢KAME项目基于SD的网络堆栈完成首个ipv6的实现。
icc很好,问题有:
支持架构少,除了x86/ia64/x86-64还有吗?
不是开源项目,当编译器产生坏的代码,难于确定问题根源。

vxworks别的部分我不敢说,至少整个网络架构是跟bsd一摸一样的,你可以下载一份Vxworks的pdf文档看一看
5. 似乎是从别的论坛转过来的吧……不太喜欢这篇,作者的倾向性很明显,而且并不是从技术角度出发的,而且它在历史、现实、未来和技术角度都有很多错误。
  
高深的:  
FreeBSD,从unix移植到x86版的一群expert hacker
Linux,从x86从零开始编写一个unix的一大群hacker

这是1993年的时候得情况。
  
架构的:  
FreeBSD是一个完整的系统架构
Linux拥有内核和各种五花八门的发行版
  
架构这个词……从架构上说,Linux跟常见的Unix类似。
  
历史的:  
FreeBSD曾经碰到过一些法律问题,阻碍了FreeBSD的顺利发展,正如Linux目前正在经历的一样
  
当年法院判决的一部分是USL不能起诉4.4BSD-Lite2的派生软件。Linux目前经历的基本上是SCO的无理取闹,但由于Linux直到最近才开始用版本控制来保存历史纪录,以及马虎的版权复审,这场官司很可能得打很久。
  
防御的:  
FreeBSD在承受网络攻击方面,似乎比Linux更强壮

Linux完全可以移植FreeBSD的那些功能。
  
洁癖的:  
FreeBSD的体系单一,比Linux的发行版机制更简单

不仅仅是单一,而且还有详细的成文规范。举例来说,即使你完全用rpm也没办法保证自己装了一个软件立即就能找到它的配置文件在哪里。
  
学习的:  
FreeBSD的体系更适合研究技术,而Linux则向所有的领域进发,甚至跑到mac/pda/汽车控制/宇航/电影等等。

Linux叫声大,炒得欢而已。Mac OS X的userland和kernel用了大量FreeBSD代码,嵌入式开发用NetBSD不在少数,宇航就更不用说了,Matrix用FreeBSD渲染集群这事儿很少有人炒作,但那是事实。
我们选择一个操作系统的理由是它合用,而不是别人对他们的看法,更不是商人的宣传。
  
许可的:  
FreeBSD的BSD许可,你可以做任何事情,只需要事先大喊一声:“偶用了BSD技术”。而Linux的GPL需要你告诉别人你怎么做的。

GPL要求的是以GPL发布。
  
软件的:  
Linux在支持更多的软件特性上面具有优势(例如线程什么的),FreeBSD缓慢一些

不谈具体的优势是没办法判断是否“合用”的。Linux的线程恐怕不是什么优势,Linux有它合适的应用领域,但这些领域Windows和Solaris恐怕做的更好。
  
硬件平台的:  
NetBSD做的不错,Linux更加疯狂,甚至跑在ps2上

几十年前伯克利因为BSD Unix在和美国国防部签约的时候一个主要原因就是BSD Unix设计科学,便于移植。NetBSD继承了这个传统。Linux是某些游戏机上的默认内核,但Linux能跑的平台NetBSD也都能跑,反过来则不然。
  
外设的:  
Linux支持的外部设备更多

但是支持的水平并不一样。支持设备多没用,支持的“我要用”的设备多、支持的好才有用。
  
安全的:  
OpenBSD是霸主,Linux追赶,不过大家似乎公认安全在人

追赶?确实它只能追赶,因为差得太远。GNU FTP和Linux自己的bk代码库都让人端了,但今天在BugTraq上面仍然能不时看到核级漏洞。我们应该对比一下*BSD(不仅仅是FreeBSD)过去几年每年总共有几个核级漏洞?以及有几个能够远程利用的root漏洞?
  
水平的:  
FreeBSD开发组成员平均教育水平更高,这与Linux质量好坏有关吗?

如果说这是对Linux的FUD,我想问的是,FreeBSD开发组的成员教育水平高低关Linux什么事?就好比,奔驰的制造者全都拿了PhD,这和大众的汽车引擎的质量有关吗?
  
传统的:  
FreeBSD在系统稳定性上比Linux更好,也许早就过时了。

Linux邮件列表和商人广告上经常出现的FUD,呵呵,一群到去年才刚刚学会怎么计算uptime的kernel hacker的内核的稳定性……
  
功绩的:  
FreeBSD最早实现了TCP/IP协议,在IPv4网络上优势无以伦比。

最早实现TCP/IP协议的是BSD/Unix。我不认为在网络上FreeBSD有那么大的优势,Linux重写了TCP/IP实现,有很多值得关注的特性,DragonFlyBSD在FreeBSD的基础上也作了相当多的扩展。FreeBSD的网络子系统有那么大的优势吗?
  
未来的:  
FreeBSD:把Solaris/AIX/HP UNIX等优势都弄到x86上
Linux: 进入上述平台的领域

FreeBSD没有把未来的赌注押在x86架构上,从来没有。
  
实用的:  
FreeBSD在终端上具有传统的优势
Linux则在X体系以上获得了不少分数,足够冲击windows

我不知道所谓“终端上的传统优势”是说什么,但Linux冲击Windows?这牛皮吹得好大啊,而且把KDE、GNOME这些项目都归在Linux身上这种往自己脸上贴金的做法是那些不肖商人的一贯做法,很少有什么好用的桌面应用能够在Linux上运行而不能跑在FreeBSD上面的。

6.
事到如今,要从FreeBSD里剥离掉GNU的东西恐怕不那么好用了
  
GNU的东西都扔掉并不影响服务。FreeBSD runtime没有一个比特的GPL’ed代码,gcc编译的结果并不需要GPL,FreeBSD不用glibc,简单说,运行FreeBSD不需要任何GPL的东西,更不用说更狭义的GNU的软件。
FreeBSD上面做一个Web服务器,加入PHP和perl支持,用PostgreSQL数据库,版本控制用subversion,一切都不需要GNU的软件。
对于用户来说GPL不GPL都无所谓,但对vendor来说,BSD意味着他们有更多的使用这些代码的机会,如果说我来写一段代码,由于授权而不是技术的原因别人拒绝使用,那我认为它没有发挥它最大的价值。商人总是贪婪的,我不指望他们能够把代码捐赠回BSD社区,但我知道他在用我的东西,我知道他做了改进,我知道我怎么改进,而不是我知道因为我的授权他从头发明了轮子,我知道他做了跟我一样的东西只是设计完全不一样,或者克隆了设计,而我只是被冠以一个“开源斗士”的虚名,我反对跳出来反对那些商业公司――他们赚钱养活了很多很优秀的开发人员,你可以不喜欢资本家,但是没有理由让那么优秀的开发人员饿死,用BSD授权给了我很多和非常优秀的开发人员交流的机会,而不是同媒体做交流,在镁光灯下向大家说,嘿,微软在赚钱,Sun在盈利,而我在搞开源――这是政治,不是学术、科学,也不是技术,有人愿意这么干那是他们的自由,但是这不是我所希望的。
很多人在不遗余力地写GNU软件的替代品并且以BSD授权发布,这包括bsdtar, TenDRA, 等等。
7.
Linux能跑的平台NetBSD也都能跑,反过来则不然

ia64 ??
Power5???
8.
不认为wind river曾经收购了BSDi意味着VxWorks转向了*BSD架构。

题外话:Wind River已经不再开发BSD产品了,BSD/OS的源代码捐给了FreeBSD,其SMPng部分的设计是DragonFly与FreeBSD的根本分歧所在。
  
icc很好,问题有:
支持架构少,除了x86/ia64/x86-64还有吗?

IA架构最大的优点就是价格便宜。
并不是没有BSD授权的C/C++编译器,只是它与传统的gnu编译环境(gnu compiler collection, gcc)的互动还不是很好,但这些的改变都只是时间的问题。
  
不是开源项目,当编译器产生坏的代码,难于确定问题根源。

如果说这儿做开发的人有100个的话,能够有能力真正确认(还不说修复)编译器bug的人家起来不会超过10个(多数人只是怀疑“哦,编译器可能有问题,做个workaround吧”),而这10个人里面能够有能力修复bug的牛人,绝不超过5个,这其中有能力且有闲功夫修正编译器问题而不是作workaround的大牛恐怕只有半个了。。。
我一直觉得有没有源代码只是对开发人员有用。编译器也许是个特例,但我过去的编程经历中(应该不算短了),最终真正被证明是编译器问题的,加起来也只是屈指可数的那么几个,而且,恕我直言,这里面GCC占了绝大多数。
其实真有能力看代码确认编译器问题的人,都有能力从现象分析确认是编译器的问题吧
开放源代码是一种精神,开放源代码的软件是很好的东西,但我从不认为他们是不可或缺的,别人愿意不愿意开放源代码是他们的事,但如果我需要用这些软件来做事,而不是仅仅满足自己的参与开放源代码开发的小爱好的话,那么有没有好的技术支持,要比有没有源代码重要的多了。
我在大学期间所作的项目的设计文档和源代码都交给客户了,他们就源代码给出的意见反馈的数目是0。真正的软件公司遇到的情况也类似,客户关心的更多的是“这东西能用,好用,合用,开发者有实力保证后期的技术支持和维护”,很多有远见的大公司在积极地支持开放源代码,然而这不代表开放源代码的东西已经能够足以取代商业软件,恐怕也没有这个必要――开放源代码项目的目的如果都变成“跟着市场走,和商业软件对着干”,而不是在技术上有所尝试、创新,如果开放源代码的项目中缺乏交流的话,那我宁可去做商业软件,因为在失去了上面这许多开放源代码的乐趣之后,至少还不至于饿死
9.
不谈具体的优势是没办法判断是否“合用”的。Linux的线程恐怕不是什么优势,Linux有它合适的应用领域,但这些领域Windows和Solaris恐怕做的更好。

NPTL较之linuxthreads算是一个进步,估计Java,mysql的用户比较满意,但实现之复杂已经令人崩溃。而作嵌入系统的工程师还要更多实时、健壮特性支持,而负责nptl开发的红帽工程师对此不感冒,恐怕还得靠OSDL协调罢。
10.
事到如今,要从FreeBSD里剥离掉GNU的东西恐怕不那么好用了
  
GNU的东西都扔掉并不影响服务。FreeBSD runtime没有一个比特的GPL’ed代码,gcc编译的结果并不需要GPL,FreeBSD不用glibc,简单说,运行FreeBSD不需要任何GPL的东西,更不用说更狭义的GNU的软件。
FreeBSD上面做一个Web服务器,加入PHP和perl支持,用PostgreSQL数据库,版本控制用subversion,一切都不需要GNU的软件。
对于用户来说GPL不GPL都无所谓,但对vendor来说,BSD意味着他们有更多的使用这些代码的机会,如果说我来写一段代码,由于授权而不是技术的原因别人拒绝使用,那我认为它没有发挥它最大的价值。商人总是贪婪的,我不指望他们能够把代码捐赠回BSD社区,但我知道他在用我的东西,我知道他做了改进,我知道我怎么改进,而不是我知道因为我的授权他从头发明了轮子,我知道他做了跟我一样的东西只是设计完全不一样,或者克隆了设计,而我只是被冠以一个“开源斗士”的虚名,我反对跳出来反对那些商业公司――他们赚钱养活了很多很优秀的开发人员,你可以不喜欢资本家,但是没有理由让那么优秀的开发人员饿死,用BSD授权给了我很多和非常优秀的开发人员交流的机会,而不是同媒体做交流,在镁光灯下向大家说,嘿,微软在赚钱,Sun在盈利,而我在搞开源――这是政治,不是学术、科学,也不是技术,有人愿意这么干那是他们的自由,但是这不是我所希望的。
很多人在不遗余力地写GNU软件的替代品并且以BSD授权发布,这包括bsdtar, TenDRA, 等等。



BSD和GPL的flame war已经太多了,公说公有理,婆说婆有理,到底谁有理,只有天知道。不管谁有理,这世上有很多人用BSD发布,也许有更多的人用GPL在发布,如果承认存在即是合理,那么两个都合理。要说谁更好,纯属个人观点,牵扯不清,说了也白说。
我不是说FBSD离了GNU便活不成,只是没那么潇洒罢了。FBSD运行的确不需要GCC,但事实上FBSD不能没有GCC,能找到一个比GCC更好的编译器吗?一个好的系统不能没有一个好的编译器。要生成一个好的运行系统,你不能没有一个好的开发环境,包括编译器(GCC),编辑器(Emacs,VIM),调试器(GDB),版本控制(CVS,subversion),这个组合也许有纯BSD的,而且我估计FBSD的core team里有用纯GNU的组合,至少他们都用GCC,CVS。没有必要排斥他们,他们是好东西,GPL授权在使用上是BSD Compatible的。
GNU原意是要clone一个UNIX,基本上已经成功了。BSD从4.4开始是个完整的BSD授权系统,到现在的FBSD,仍然是个完整的BSD授权的运行系统,我们仍然可以从它那里以BSD授权派生出完整的运行系统,BSD的初衷仍然没有改变。而改变了的是我们需要GNU来让系统更好用,更好的开发,在更多的领域使用,这是不能被忽视的。
正如当年的BSD影响了后来的OS,而现在似乎GPL在取代它这一位置,至少有这么个趋势。。。
11.
我从来把linux看一套开发中的系统,不把他当敌人看,
上一帖我没说清楚,应该说买弄不成熟linux功能的那个人是垃圾.  
但是有点不喜欢的是,一个ung协议口口声声是自由,却用自己去控制别人,不给别人自由,我更喜欢在自己的软件里说明是free&free授权,而不是plg.
  
Linux和FreeBSD最大的不同就是这个License了。GPL不给别人以某些自由,是为了保护更多的自由。看过《勇敢的心》的人应该知道,有时候自由甚至是要付出鲜血的;而在自由软件领域,保护自由也是需要责任和牺牲的。
不同的License给了我们不同的选择机会,如果不喜欢GPL的人,自然可以选择BSD,而喜欢GPL的人就可以选择Linux。
发表评论(0)
姓名 *
电子邮件
QQ
评论内容 *
验证问题 * 江苏省的省会是哪个城市?请填写正确答案
验证码 * 图片看不清?点击重新得到验证码