TL;DR 底部有一个对比表格。
BSD
BSD是一类建立在代码共享基础上的操作系统,在过去的20多年里,美国的顶尖学院都一直在对它进行研究。
BSD是Berkeley Software Distribution的缩写,这是一个由加州大学伯克利分校开发的软件集合。最初BSD只是作为AT&T的Unix早期版本的附加软件包出现,后来它就逐渐地发展为一个完整的,高度复杂的具有Unix风格的操作系统,它第一个集成了网络功能。
目前大多数BSD操作系统都是开源的,可以根据BSD许可证免费下载,最显著的例外是macOS和iOS。
FreeBSD
FreeBSD是从386BSD的基础上发展起来的,而386BSD是由伯克利的计算机科学家Bill Jolitz 开发的针对Intel 80386芯片的一种BSD版本。因为这个原因,FreeBSD在32位体系的x86机器上总是运行得最好。在免费的BSD中,它与PC兼容机配合得最好,而且支持的PC兼容的外部设备的数量也最多。尽管FreeBSD也可以运行在Alpha处理器上,向其他体系结构的移植也在进行当中,但是更应该把它看作是主要针对x86系统的操作系统。
在免费的BSD中,FreeBSD是名声最大的,它具有最强大的开发队伍,收到的反馈信件也最多,还拥有最多数量的用户。它还可能是所有免费操作系统中最容易安装的。
OpenBSD
OpenBSD是另外一个免费BSD的派生物,被称为世界上最安全的操作系统。OpenBSD的主页(www. OpenBSD.org)报告说OpenBSD“在默认安装情况下四年内没有一个小的安全漏洞”,在过去的四年内发布的OpenBSD版本没有一个被来自Internet的袭击攻破。前提是正确配置服务器或者没有运行那些导致入侵者进入的不安全软件。OpenBSD也完全集成了密码安全软件以保证数据安全。
OpenBSD并不是集成Unix组件功能最多的代表,它也不是运行最快的。但是在这些领域里,它也不是太差的。这个操作系统很小,但效率很高,它能在老的只有16MB内存的486机器上运行得很好——要知道这样一个硬件配置是不能运行Windows 2000的。其它的操作系统都没有任何一个享有OpenBSD在安全问题上创造的高可靠性纪录。一些远程根目录问题一般每个月都会发生在Microsoft的操作系统上,比如说Windows 2000。而最近发行的许多Linux已经成为Ramen蠕虫一类病毒的攻击对象。
像FreeBSD和NetBSD一样,OpenBSD也有很多应用软件支持,它包含了许多免费软件包的定制版本。它的软件库没有FreeBSD中的那么大,但是包含了大多数给Unix服务器或者工作站安装的工具。OpenBSD的x86版本也能够运行针对FreeBSD、Linux和Solaris创建的程序。OpenBSD支持10种计算机体系结构——比FreeBSD还多,但是没有NetBSD多。
可以通过网络来安装操作系统,只不过安装的用户界面没有FreeBSD美观。 在这三种免费BSD中,OpenBSD的开发成员最少并且对Unix新手来说是最难学的。但是如果确实需要一个牢靠的网络防火墙或者服务器的话,OpenBSD正是合适的选择。
NetBSD
NetBSD也是免费BSD的一种,它是基于BSD的最轻便的操作系统。目前能够在46种之多的不同硬件构架上运行,从原始的基于68K的Macintosh或者Amiga一直到AMD还没有发表的x86-64 Hammer结构,NetBSD都能够很好地运行。
这种便携性使得NetBSD成为嵌入式系统的最佳选择。因为编写从一个平台到另一个平台的代码最容易暴露缺陷,而来自NetBSD的代码却是少有的健壮;OpenBSD和FreeBSD在过去都曾借鉴过它。NetBSD也是许多独立类型硬件的操作系统的选择,包括曾经的Sun工作站。
像FreeBSD和OpenBSD一样,NetBSD有一个巨大的应用软件库(比FreeBSD少而比OpenBSD多),并且能够运行针对Linux和其它版本Unix编译的商业程序。
总结
| 特点 | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|
| 主要用途 | 通用服务器、工作站、桌面应用 | 安全性强调,网络防火墙、服务器 | 高度可移植,嵌入式系统 |
| 用途 | 广泛应用于服务器、网络设备和嵌入式系统 | 适用于安全关键领域,如防火墙和安全审计 | 用于各种场景,包括嵌入式设备和服务器 |
| 特点 | 强调通用性,性能优越,易于安装 | 安全性强调,小而高效,密码安全 | 高度可移植,轻便,广泛硬件支持 |
| 架构支持 | 主要针对x86,32位体系结构表现优越 | 支持多种体系结构 | 高度可移植,支持多种体系结构 |
| 安全性 | 一般 | 强调安全性,默认设置即是高安全性 | 一般 |
| 社区规模 | 大 | 相对小型,但专注于安全性 | 相对小型,但有强大的硬件支持 |
| 软件库 | 大 | 相对较小 | 较大 |
| 社区支持 | 拥有活跃的社区支持,有详尽的文档和手册 | 小而活跃的社区,强调文档和简洁 | 具有积极的社区,重视可移植性和稳定性 |
| 易用性 | 易于安装,广泛用户基础 | 安全设置高,相对小型社区 | 相对小型社区,但具有高度可移植性 |
| 硬件支持 | 通用硬件,x86体系结构表现出色 | 相对广泛,支持多种体系结构 | 高度可移植,支持多种体系结构 |
| 适用场景 | 通用服务器、工作站、桌面应用 | 网络防火墙、服务器,强调安全性 | 嵌入式系统,独立类型硬件 |
| 可移植性 | 具有很好的可移植性,支持多种架构 | 支持多种平台,但更专注于特定硬件 | 以极强的可移植性而闻名,支持众多平台 |
| 发行周期 | 没有固定的发布周期,依赖于项目进展 | 每六个月发布一个版本,包含安全和功能更新 | 有固定的发布周期,每六个月发布一个版本 |
| 虚拟化技术 | bhyve |
vmm |
Xen、QEMU等 |
| 容器支持 | FreeBSD Jail | 无 | 无 |
| 包管理系统工具 | Ports,pkg | pkg_add,pkg_info | pkg_add,pkg_info |
| 默认防火墙 | PF(Packet Filter) |
PF(Packet Filter) |
IPFilter |
| 安全补丁发布速度 | 快速 | 非常迅速 | 迅速 |
| 系统初始化管理工具 | sysrc和service |
rcctl |
rc.conf |