FreeBSD 和各种Linux发行版一样,是一种免费的Unix类操作系统。由于FreeBSD的推出稍晚于Linux,因此国内介绍FreeBSD的文章较少,而且 由于某些煤体不负责任的推波助澜,Linux被过分夸大、神化了。实际上,很多大网站都在用FreeBSD,如Yahoo,甚至包括Microsoft的 Hotmail(Microsoft收购Hotmail 4年了,但直到去年11月Microsoft才宣布Hotmail向Windows/IIS迁移,而且,至今Hotmail主机群中依然包括 FreeBSD Boxes,可见Microsoft对于Windows并不是真的很放心,这一事实也证明了FreeBSD引以为耀的稳定性)等等。和Linux各种混乱 不堪的发行版相比,FreeBSD只有唯一的版本,同时,FreeBSD关注的是操作系统的稳定性、性能和品质,适合作为服务器的操作系统。当然,对于选 择FreeBSD还是某种Linux发行版本作为操作系统,不同的人肯定有不同的偏爱,但译者认为,FreeBSD作为服务器来说,比Linux更好一 些,当然,如果不考虑开发成本,仅仅考虑运行效率,也更远好于Windows。原因很多,有机会的话,我会在今后的文章中一一提到。
需要说明的是,译者不认为最近一两年之内免费操作系统阵营能够和Microsoft等商业系统阵营决出胜负高下,因为他们的操作系统的设计理念存在 差别。我自己很喜欢命令行方式的操作,然而在图形界面方面,X Window的效率是很难超过Windows的,这是因为X是以用户模式运行图形界面,而Windows则是以核心模式运行,这实际上就造成了Unix类 操作系统在图形界面上的先天不足。而且,由于Microsoft的产品是要卖钱的,因此它为了维护自己的市场地位,会为客户提供比较好的服务,而免费 Unix操作系统在这一点则比较困难,而且,它对用户的要求较高。在这里我不想给出一个确切的建议,如桌面操作系统应该选择什么,服务器操作系统应该选择 什么,一切要从实际情况出发。请大家注意这样的事实:专业人员维护的Windows服务器的安全性未必就差,非专业人员维护的*nix服务器的安全性也肯 定是无法接受。在抨击Nimda横行的同时,也请注意,Microsoft早在Nimda出现前半年的时候就已经推出了预防性的补丁;*nix一样也有非 常让人难堪的安全问题,同样的,他们也会及时推出补丁,因此,绝大多数服务器的安全问题是由于管理员的疏忽造成的。选择操作系统之前,最好是先想好:什么 样的配置对于您最有利,请考虑整体拥有成本(TCO)而不仅仅是操作系统的价格。目前很多网站采用的、非常流行的Windows 2000+Apache+Php+MySQL组合实际上就同时牺牲了IIS开发周期短和Apache+Unix组合相对比较容易定制的优点,可谓竹篮打水 一场空。
这篇文章比较客观地对FreeBSD和Linux进行了对比,值得一读,所以我决定把它介绍给国内的读者。总之,Think different,决定选择什么东西之前,最好先尝试一番,特别是那些同类产品。
简介:即使是和IT不沾什么边的企业信息技术人士大概也都听说过Linux。有些人可能用过,或正在使用它,原因五花八门,有的甚至只是为了看看那 些大肆吹嘘它的人到底说的是不是实话。然而,GNU/Linux并不是可用的唯一一个“free”的Unix类操作系统。FreeBSD和它的堂兄弟, OpenBSD和NetBSD都是商业UNIX版本——Berkeley Software Distribution免费的分支产品。这篇文章让您更多地了解FreeBSD,也帮助您更轻松地进行潜在的迁移过程。
与Linux使用的GPL授权不同,BSD家族的操作系统使用BSD风格的授权。用一句话来概括两种授权的不同就是,GPL要求源代码的任何衍生物也是公有的,并且使用GPL授权,而BSD授权没有这个要求。
FreeBSD和主要的Linux发行版本的工作方式有一定区别。这篇文章将告诉你我自己认为在把我的桌面操作系统由Linux切换到FreeBSD时的收获。
当然,肯定会有人坚持这样的观点:Linux指的仅仅是操作系统的内核,而不是其他什么东西。在你的Red Hat或Debian匣子中,每天使用的应用程序是由相应的发行版本提供的。而FreeBSD,则包括了操作系统内核和整个操作系统中的那些基本的应用程 序,例如复制、移动文件的命令等等。这一区别的结果是,Linux由不同的发行版本,例如Mandrake, SuSE, Debian和Slackware。任何使用过Mandrake和Debian的人都会告诉你这两套发行版本的世界有多么大的区别。相反,只有一个 FreeBSD,我的FreeBSD和你拥有的FreeBSD是完全一样的,只要他们的版本一样。
三中最主要的Linux发行版本,Red Hat、Mandrake和SuSE使用了RPM安装包管理器。RPM处理安装、升级、卸载,并检查安装在这些操作系统上的应用程序依赖关系。虽然在安装 程序之前检查依赖关系的错误,但RPM遗留了比我们期待的更多的问题。例如,它不能自动地下载它需要的其他RPM。我知道至少3个项目试图解决这个问题, urpmi, Debian的apt-get,当然,附带说一句,只是一个“仅Debian采用”的特性,而且是一个RPM和apt-get的混血儿。所以,除非你打算 是用上面的方法,否则你将不得不手工寻找、下载所需要的RPM。听起来很简单么?直到你用RPM安装Gnome或者升级Xfree的时候你才会知道事情有 多么严重。而且,即使你找到了正确的RPM,如果他们是为SuSE设计的,而你运行的是Red Hat,那么你的麻烦课就大了。
每一个Linux发行版本都存在一些差异,而它们之间最大的差异则在于文件系统的结构。我肯定绝大多数人都听说过SuSE把KDE放到/opt,而 Red Hat则放到/usr文件夹中。更糟糕的是,RPM不能识别从源代码中编译得到的程序。所以,如果你拥有最新编译的程序,RPM甚至无法知道他们的存在。
FreeBSD使用“包”来安装、卸载和升级应用程序。‘pkg_add’命令被用于安装一个你手工下载到计算机的包。你也可以用‘-r’开关来让 它自动的从Internet获取,当然,也包括这个包所依赖的一切。不过,FreeBSD包的真正美妙之处在于“连接点”(Ports)树。连接点树是 ——FreeBSD包含的应用程序之间的继承关系。每一个文件夹都包含Makefile,以及让特定应用程序能够在FreeBSD上正确运行所需要的补 丁。例如,如果我想安装Apache web服务器,我所需要做的只是cd到/usr/ports/www/apache文件夹,然后运行‘make && make install’,然后去小吃售卖机前。如果我拥有一台速度够快的电脑,同时拥有一个足够大方的Internet连接,当我回来的时候Apache源代码 的下载、补丁、编译和安装肯定都已经做完了。连接点树也能够处理Apache运行依赖的那些程序,无论我用连接点树安装、手工编译,还是通过安装已经编译 好的二进制包。连接点树能够通过$PATH找到它需要的东西。
Linux和FreeBSD的另一个区别在于,对于FreeBSD而言,你安装的连接点或者包99%都会被放到/usr/local,而在 Linux上有时是/usr,有时是/opt。这可能只是一个很小的区别,但你至少可以知道你的程序安装到了/usr/local,而不是扩散到了文件系 统的各个地方。
FreeBSD系统使用cvsup来保持它是最新的。一旦你建立了‘sup-file’,cvsup将会把你本地的系统和cvsup服务器上的进行 比较,并且下载那些修改过的东西。你可以用它来确保你的本地连接点树和FreeBSD源代码都是最新的。和Linux不同,Linux通常只有内核被半正 规性的下载和变异。使用cvsup,你可以很容易地下载整个FreeBSD操作系统的源代码。这样做的主要理由是,它使得FreeBSD从一个版本升级到 另一个的过程变的简单。Cvsup之后,你可以用make world来编译整个操作系统,或者编译新的操作系统内核。这些都非常的简单。
处理分区的方式也有区别。Linux将一个硬盘分为不同的分区,在这些分区中,有些又包括逻辑分去。我们常说的分区在FreeBSD中称为片断(Slices),没个片断中包括一个或多个BSD分去。BSD分区在/etc/fstab中可以找到。
也许Linux和FreeBSD的下一个最大的区别就是操作系统设计的基本理念。Linux强调最新的操作系统特性和驱动程序(例如不开放源代码的 nVidia图形卡驱动程序)。FreeBSD在这些方面比较保守。他们喜欢经过时间考验和测试过的东西,甚于最新特性。他们倾向于等待主要的bug被修 正。对于桌面操作系统来说,如果你使用最新的硬件,追求最新的驱动程序,或那些更酷的特性,保守是FreeBSD的一个毛病。然而在服务器中,你肯定希望 更加稳定的代码。另外,你会把一块价值200美元的显示卡放到你的不包括显示器的服务器上么?
另一个区别是默认安装的内容。如果你接受SuSE的默认安装选项,那么你至少会装上1GB的软件。而FreeBSD只是安装那些最基本的系统(注 意,我知道你会告诉SuSE仅仅安装‘基本系统’,但我说的是‘默认’安装)。他带给你那些最本质的东西,而你可以在以后通过连接点树安装4000多种应 用程序中的任何一个。几乎所有在Linux中运行的程序都已经被移植,并且能够正常运行于FreeBSD,唯一的区别在于在Linux上,应用程序要么被 “默认安装”,要么,除非你用Debian,你就必须手工下载它们。在FreeBSD上他们只是可选的,而且绝大多数过程已经被自动化了。另一些区别就 是,Linux上默认的命令行外壳是bash,而FreeBSD上则是tcsh。
对于商业应用程序,如Oracle或HP Openmail,FreeBSD提供了一个“Linux兼容”层。简而言之,它让FreeBSD能够以接近在Linux上运行的速度直接运行Linux 的二进制应用。应用程序是否能够在FreeBSD上全速运行完全取决于它是否真的愿意在Linux上运行。兼容层比模拟更进一步。需要的Linux库被以 二进制形式安装在BSD系统中。当你试图运行Linux程序时,FreeBSD识别它是Linux程序,并简单地指明它需要的Linux运行库的位置。同 时,FreeBSD夜提供了商业BSD、NetBSD、OpenBSD和SCO的模拟。每种不同的操作系统获得不同的支持,其中最完善的是商业BSD、 NetBSD和OpenBSD。
尽管BSD开发者更重视软件的品质和数量,但这并不意味着FreeBSD缺乏某些功能。预定于2002年11月推出的FreeBSD 5.0包括了更加精细的进程控制机制,这允许它更加有效地运行于最多32个处理器。版本5.0也将提供一个完整的DEVDFS设备文件系统。虽然这些在 Linux上已经存在了一段时间,但你也许还没有听说过。DEVDFS大体上是一个允许动态变化的设备文件系统。例如,如果你接入了一个USB键盘,它将 ‘魔术般地’加入到/dev文件夹。在日志文件系统方面,4.4稳定版提供了‘soft updates’特性。尽管在技术上它也许不能北郊做日志文件系统,但它可以做得比你对日志文件系统的要求更好。
欢迎转载:请注明转载自 http://www.7cm.org
1998-1999年.com爆炸中,Linux是真正的关键词。所有地方的电脑用户都听说了一种*免费*的,正在服务器领域和桌面领域挑战 Microsoft地位的操作系统。即使在今天,Linux的忠实用户仍然在增加。但是,很多人只是刚刚听说FreeBSD。希望这篇文章能够帮助你对 FreeBSD有一个初步的了解,并且把它作为满足你的需求的一种选择。在最后我想说的时,既然它们都是免费的,为什么不都试一试,看看谁更满足你的需要呢?
补充一句,本人虽然是Linux的拥护者,感觉这是篇不错的文章,所以也转载分享下
参考至:http://www.7cm.org/
如有错误,欢迎指正
邮箱:czmcj@163.com
相关推荐
本文主要分享了将一个项目从其他平台移植到FreeBSD操作系统上的经验和知识,这对于那些计划或正在考虑迁移到FreeBSD的开发者来说,具有很高的参考价值。 首先,FreeBSD是一个开源的类UNIX操作系统,其核心基于...
FreeBSD的内核架构基于Berkeley Software Distribution (BSD)系统,它的设计目标是提供高性能、可移植性和可靠性。内核主要由以下几个部分组成: - **调度器**:负责进程的调度,确保系统资源的公平分配。 - **内存...
了解FreeBSD下的开发环境,如GCC编译器、Make工具,以及如何将其他Unix或Linux应用程序移植到FreeBSD平台。 通过这本书的学习,读者不仅可以掌握FreeBSD 6.0的基本操作,还能深入了解系统管理的高级技巧,为成为...
9. **跨平台兼容性**: 虽然名称中包含"4Linux",但BACnet协议栈可能也支持其他POSIX兼容的操作系统,比如FreeBSD或Mac OS X。 10. **API和库文件**: Bacnet4Linux-0.3.12可能提供C语言API,供开发者在自己的应用...
总结来说,本文提供了关于MM5模式在FreeBSD上移植的详细步骤和注意事项,同时也揭示了FreeBSD相对于传统Linux系统在运行高性能计算任务时的优势。这对于想要降低成本、提高效率的气象预报机构来说,具有重要的参考...
Port是指一种被移植到FreeBSD上的软件,通常由一位或多位FreeBSD开发者维护。维护者会将软件移植到FreeBSD上,并按照Ports Collection的标准设置、编写相关脚本,实现软件下载、配置、编译和安装的自动化过程。 - **...
这个高级C/C++库提供了跨平台的支持,包括Linux、Mac、FreeBSD、Solaris(x86架构)、Windows、Android以及iOS。这使得开发者能够在多种操作系统上实现统一的权限控制策略。 ACL库的核心功能在于提供细粒度的访问...
9. **FreeBSD和OS X扩展**:针对FreeBSD 8.0和OS X 10.6.8的特点,介绍它们对UNIX API的扩展和实现差异,帮助开发者在不同平台上编写可移植代码。 10. **源码分析**:通过分析实际的代码示例,加深读者对理论知识的...
标题中的“纯C语言跨平台开发框架,支持Linux、AIX、HP-UX、Solaris、FreeBSD、MacOSX.zip”表明这是一个使用C语言编写的开发框架,它具有跨平台特性,能够在多种操作系统上运行,包括Linux、AIX、HP-UX、Solaris、...
此外,Linux的可移植性使得它能够轻松适应各种应用场景,从小型嵌入式设备到大型数据中心。 总的来说,Linux作为一种强大的开源操作系统,以其开放源代码、自由使用和高度可定制的特性,降低了个人和组织使用高级...
- **Port的维护与使用**:Port通常由FreeBSD的开发者维护,他们负责将软件移植到FreeBSD上,并按照Ports Collection的标准进行配置。用户可以通过简单的命令行指令安装Port,无需手动干预编译过程。 - **Ports ...
【Linux入门到精通】 Linux是一套开放源代码的类UNIX操作系统,主要运行在Intel X86系列CPU上,由全球众多程序员共同开发和维护。...Linux的世界广阔且深奥,但只要你愿意投入时间和精力,从入门到精通并不遥远。
Linux系统的学习和应用涵盖了从基础命令行操作到复杂的系统管理和安全维护,再到图形界面程序设计等多个方面。它不仅是操作系统学习者和开发者的乐园,也为希望提升自身IT技能的专业人士提供了广阔的学习平台。随着...
"LINUX从入门到精通模版课件完整版资料.ppt" 本资源主要讲解LINUX操作系统的基础知识和基本操作命令,涵盖了LINUX的安装、文件系统、目录结构、文件类型、命令行操作等方面的内容。 LINUX基础知识 1. LINUX简介:...
UNIX有多个商业版本,如IBM的AIX、HP的HP-UX和Oracle的Solaris,同时也有许多开源实现,如GNU/Linux的先驱——Minix和后来的FreeBSD。UNIX系统强调可移植性,采用C语言编写,使得其核心组件可以在多种硬件平台运行。...
从4.4BSD Lite开始,FreeBSD项目开始独立发展,形成了一套稳定且功能强大的操作系统。FreeBSD的发展由一个核心的Committer团队主导,他们有权直接将代码提交到主存储库,同时依赖于全球各地贡献者的不断努力和改进。...
【Linux基础知识】 Linux是一套基于Intel X86系列CPU的免费和开源的类UNIX操作系统,由全球各地的众多程序员共同开发和维护。它的开放性使得任何人都可以...对Linux的掌握需要不断实践和探索,才能真正从入门到精通。
Linux系统是一种类Unix操作系统,其核心特性包括开放性、多用户、多任务、良好的用户界面、设备独立性、丰富的网络功能、可靠的系统安全和良好的可移植性。由于Linux的开放源代码特性,它能够在不同类型的硬件平台上...