0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

一文知道FreeBSD和Linux的区别

h1654155282.3538 来源:与非网 作者:与非网 2020-10-23 15:47 次阅读

我们首先要来了解一下什么是FreeBSD,什么又是linux

FreeBSD是一种类UNIX操作系统,是由经过BSD、386BSD和4.4BSD发展而来的Unix的一个重要分支。FreeBSD为不同架构的计算机系统提供了不同程度的支持。并且一些原来BSDUNIX的开发者后来转到FreeBSD的开发,使得FreeBSD在内部结构和系统API上和UNIX有很大的兼容性。由于FreeBSD宽松的法律条款,其代码被其他很多系统借鉴,包括苹果公司的macOS,正是由于macOS的UNIX兼容性,使得macOS获得了UNIX商标认证

FreeBSD支持amd64(x86_64)、X86(i386)、ARM、AArch64、IA-64、PowerPC、PC-98、SPARC等架构(不同版本支持有所不同)(详细情况见官方文档)。

FreeBSD和Linux的相似处

FreeBSD和Linux是两个自由开源的软件。实际上,它们的用户可以很容易的检查并修改源代码,用户拥有绝对的自由。而且,FreeBSD和Linux都是类Unix系统,它们的内核、内部组件、库程序都使用从历史上的AT&TUnix继承来的算法。FreeBSD从根基上更像Unix系统,而Linux是作为自由的类Unix系统发布的。许多工具应用都可以在FreeBSD和Linux中找到,实际上,他们几乎有同样的功能。

此外,FreeBSD能够运行大量的Linux应用。它可以安装一个Linux的兼容层,这个兼容层可以在编译FreeBSD时加入AACCompactLinux得到,或通过下载已编译了Linux兼容层的FreeBSD系统,其中会包括兼容程序:aac_linux.ko。不同于FreeBSD的是,Linux无法运行FreeBSD的软件。

FreeBSD和Linux的区别

许可证

两个系统的区别首先在于它们的许可证。Linux以GPL许可证发行,它为用户提供阅读、发行和修改源代码的自由,GPL许可证帮助用户避免仅仅发行二进制。而FreeBSD以BSD许可证发布,BSD许可证比GPL更宽容,因为其衍生著作不需要仍以该许可证发布。这意味着任何用户能够使用、发布、修改代码,并且不需要维持之前的许可证。

您可以依据您的需求,在两种许可证中选择一种。首先是BSD许可证,由于其特殊的条款,它更受用户青睐。实际上,这个许可证使用户在保证源代码的封闭性的同时,可以售卖以该许可证发布的软件。再说说GPL,它需要每个使用以该许可证发布的软件的用户多加注意。

如果想在以不同许可证发布的两种软件中做出选择,您需要了解他们各自的许可证,以及他们开发中的方法论,从而能了解他们特性的区别,来选择更适合自己需求的。

控制

由于FreeBSD和Linux是以不同的许可证发布的,LinusTorvalds控制着Linux的内核,而FreeBSD却与Linux不同,它并未被控制。我个人更倾向于使用FreeBSD而不是Linux,这是因为FreeBSD才是绝对的自由软件,不存在控制者。Linux和FreeBSD还有其他的不同之处,我建议您先不急着做出选择,等读完本文后再做出您的选择。

操作系统

Linux主要指内核系统,这与FreeBSD不同,FreeBSD的整个系统都被维护着。FreeBSD的内核和一组由FreeBSD团队开发的软件被作为一个整体进行维护。实际上,FreeBSD开发人员能够远程且高效的管理核心操作系统。

而Linux方面,在管理系统方面有一些困难。由于不同的组件由不同的源维护,Linux开发者需要将它们汇集起来,才能达到同样的功能。

FreeBSD和Linux都给了用户大量的可选软件和发行版,但他们管理的方式不同。FreeBSD是统一的管理方式,而Linux需要被分别维护。

硬件支持

说到硬件支持,Linux比FreeBSD做的更好。但这不意味着FreeBSD没有像Linux那样支持硬件的能力。他们只是在管理的方式不同,这通常还依赖于您的需求。因此,如果您在寻找最新的解决方案,FreeBSD更适应您;但如果您在寻找更多的普适性,那最好使用Linux。

原生FreeBSDVs原生Linux

两者的原生系统的区别又有不同。就像我之前说的,Linux是一个Unix的替代系统,由LinusTorvalds编写,并由网络上的许多极客一起协助实现的。Linux有一个现代系统所需要的全部功能,诸如虚拟内存、共享库、动态加载、优秀的内存管理等。它以GPL许可证发布。

FreeBSD也继承了Unix的许多重要的特性。FreeBSD作为在加州大学开发的BSD的一种发行版。开发BSD的最重要的原因是用一个开源的系统来替代AT&T操作系统,从而给用户无需AT&T许可证便可使用的能力。

许可证的问题是开发者们最关心的问题。他们试图提供一个最大化克隆Unix的开源系统。这影响了用户的选择,由于FreeBSD使用BSD许可证进行发布,因而相比Linux更加自由。

支持的软件包

从用户的角度来看,另一个二者不同的地方便是软件包以及从源码安装的软件的可用性和支持。Linux只提供了预编译的二进制包,这与FreeBSD不同,它不但提供预编译的包,而且还提供从源码编译和安装的构建系统。使用它的ports工具,FreeBSD给了您选择使用预编译的软件包(默认)和在编译时定制您软件的能力。(LCTT译注:此处说明有误。Linux也提供了源代码方式的包,并支持自己构建。)

这些ports允许您构建所有支持FreeBSD的软件。而且,它们的管理还是层次化的,您可以在/usr/ports下找到源文件的地址以及一些正确使用FreeBSD的文档。

这些提到的ports给予你产生不同软件包版本的可能性。FreeBSD给了您通过源代码构建以及预编译的两种软件,而不是像Linux一样只有预编译的软件包。您可以使用两种安装方式管理您的系统。

FreeBSD和Linux常用工具比较

有大量的常用工具在FreeBSD上可用,并且有趣的是他们由FreeBSD的团队所拥有。相反的,Linux工具来自GNU,这就是为什么在使用中有一些限制。(LCTT译注:这也是Linux正式的名称被称作“GNU/Linux”的原因,因为本质上Linux其实只是指内核。)

实际上FreeBSD采用的BSD许可证非常有益且有用。因此,您有能力维护核心操作系统,控制这些应用程序的开发。有一些工具类似于它们的祖先-BSD和Unix的工具,但不同于GNU的套件,GNU套件只想做到最小的向后兼容。

标准Shell

FreeBSD默认使用tcsh。它是csh的评估版,由于FreeBSD以BSD许可证发行,因此不建议您在其中使用GNU的组件bashshell。bash和tcsh的区别仅仅在于tcsh的脚本功能。实际上,我们更推荐在FreeBSD中使用shshell,因为它更加可靠,可以避免一些使用tcsh和csh时出现的脚本问题。

一个更加层次化的文件系统

像之前提到的一样,使用FreeBSD时,基础操作系统以及可选组件可以被很容易的区别开来。这导致了一些管理它们的标准。在Linux下,/bin,/sbin,/usr/bin或者/usr/sbin都是存放可执行文件的目录。FreeBSD不同,它有一些附加的对其进行组织的规范。基础操作系统被放在/usr/local/bin或者/usr/local/sbin目录下。这种方法可以帮助管理和区分基础操作系统和可选组件。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    87

    文章

    11292

    浏览量

    209333
  • freebsd
    +关注

    关注

    0

    文章

    37

    浏览量

    10777
收藏 人收藏

    评论

    相关推荐

    盘点Linux系统中的常见命令

    作为运维同学怎能不知道Linux系统中的lsmod、lsof、lspci、lsscsi命令呢,今天就来盘盘她及实例。
    的头像 发表于 12-03 09:48 220次阅读
    盘点<b class='flag-5'>Linux</b>系统中的常见命令

    RTOS与Linux到底有什么区别

    很多做嵌入式开发的小伙伴都存在这样的疑惑:RTOS与Linux到底有什么区别
    的头像 发表于 10-29 09:53 422次阅读

    linux开发板与树莓派的区别

    定义和用途 Linux开发板:Linux开发板是种基于Linux操作系统的嵌入式开发板,通常用于工业自动化、物联网、智能家居等领域。 树莓派:树莓派(Raspberry Pi)是
    的头像 发表于 08-30 15:34 937次阅读

    linux开发板和单片机开发的区别

    硬件架构 Linux开发板和单片机开发在硬件架构上有很大的区别Linux开发板通常基于ARM、x86或其他处理器架构,具有较高的处理能力和内存容量。而单片机开发则基于微控制器,如8051、AVR
    的头像 发表于 08-30 15:30 732次阅读

    Linux 驱动开发与应用开发,你知道多少?

    Linux驱动开发与应用开发的区别开发层次不同:Linux驱动开发主要是针对硬件设备进行编程,处于操作系统内核层,直接与硬件交互,为上层应用提供设备访问的接口。
    的头像 发表于 08-30 12:16 749次阅读
    <b class='flag-5'>Linux</b> 驱动开发与应用开发,你<b class='flag-5'>知道</b>多少?

    RTOS与Linux有什么区别

    RTOS(Real-Time Operating System,实时操作系统)与Linux是两种在不同应用场景下发挥重要作用的操作系统,它们在设计理念、功能特性、应用场景以及性能表现等方面存在显著差异。以下是对RTOS与Linux区别
    的头像 发表于 08-20 16:05 3452次阅读

    freebsdlinux哪个好用

    的。 开源许可证: FreeBSD使用自己的BSD许可证,这是种宽松的许可证,允许用户自由地使用、修改和分发代码。Linux使用GNU通用公共许可证(GPL),这是种更严格的许可证
    的头像 发表于 08-08 10:29 626次阅读

    linux--LED子系统读懂

    Linux内核中,LED子系统扮演着控制LED灯的核心角色,它通过套规范化的驱动架构,简化了LED驱动程序的开发流程,让开发者能够更专注于功能实现而非硬件层面的复杂性。
    的头像 发表于 08-02 16:09 2470次阅读
    <b class='flag-5'>linux</b>--LED子系统<b class='flag-5'>一</b><b class='flag-5'>文</b>读懂

    TDK最新xEV解决方案,知道

    TDK最新xEV解决方案,知道! TDK致力于为各类xEV提供广泛的产品组合,进而推动未来汽车的发展。 TDK在汽车行业中发挥着至关重要的作用,尤其是在电动汽车时代,从先进的电力电子器件
    的头像 发表于 06-16 13:49 391次阅读
    TDK最新xEV解决方案,<b class='flag-5'>一</b><b class='flag-5'>文</b>全<b class='flag-5'>知道</b>!

    linux和windows的区别 linux系统般用来干嘛

    Linux和Windows是两种不同的操作系统,有着不同的设计理念和用途。本文将对Linux和Windows的区别进行详细分析,并介绍Linux系统的常见用途。
    的头像 发表于 02-05 14:06 942次阅读

    fpga开发板与linux开发板区别

    FPGA开发板与Linux开发板是两种不同的硬件开发平台,各自具有不同的特点和应用场景。在以下的文章中,我将详细介绍FPGA开发板和Linux开发板的区别。 基本概念和原理 FPGA
    的头像 发表于 02-01 17:09 2230次阅读

    读懂宽带、带宽、网速之间的区别与关系

    读懂宽带、带宽、网速之间的区别与关系  宽带、带宽和网速是在网络领域中经常使用的术语,它们之间有定的区别和关系。在深入理解宽带、带宽和
    的头像 发表于 01-31 09:11 7031次阅读

    FreeBSD也要 “锈化”?

    FreeBSD 开发者正在考虑允许在 FreeBSD 基础系统中使用 Rust 编程语言的好处和成本。
    的头像 发表于 01-24 10:22 556次阅读
    <b class='flag-5'>FreeBSD</b>也要 “锈化”?

    知道光纤尾纤和光纤跳线的区别吗?

    知道光纤尾纤和光纤跳线的区别吗? 光纤尾纤和光纤跳线是两种常见的光纤连接组件,它们在光纤通信中起到非常关键的作用。虽然它们都是用于连接光纤设备的,但在很多方面有着明显的区别。下面将详细介绍光纤尾纤
    的头像 发表于 12-27 16:11 1307次阅读

    了解3D视觉和2D视觉的区别

    了解3D视觉和2D视觉的区别 3D视觉和2D视觉是两种不同的视觉模式,其区别主要体现在立体感、深度感和逼真度上。本文将详细阐述这些区别
    的头像 发表于 12-25 11:15 3017次阅读