第21章 其他文件系统
附录 D. OpenPGP 密钥
1.2.欢迎来到 FreeBSD!
FreeBSD 是一个开源的、符合类 Unix 标准的操作系统,适用于 x86(包括 32 和 64 位)、ARM®、AArch64、RISC-V®、MIPS®、POWER®、PowerPC® 和 Sun UltraSPARC® 架构的计算机。它提供了如今所有被认为是理所当然的功能,如抢占式多任务、内存保护、虚拟内存、多用户设施、SMP 支持、不同语言和框架的所有开源开发工具,以及以 X Window System、KDE 或 GNOME 为中心的桌面功能。它的特殊优势在于:
  • 自由的开源许可证,它授予你自由修改和扩展其源代码的权力,并将其纳入开源项目和封闭的产品中,而不会施加典型的复制许可的限制,同时也避免了潜在的许可证不兼容的问题。
  • 强大的 TCP/IP 网络 - FreeBSD 实现了工业标准协议,并具有不断提高的性能和可扩展性。这使得它在服务器和路由/防火墙方面都是一个很好的选择——事实上,许多公司和供应商正是为此而使用它。
  • 完全集成的 OpenZFS 支持,包括 root-on-ZFS、ZFS 启动环境、故障管理、管理授权、对 Jail 的支持、FreeBSD 特定的文档,以及系统安装程序支持。
  • 广泛的安全功能,从强制访问控制框架到 Capsicum 能力和沙盒机制。
  • 超过 3 万个预置软件包,适用于所有支持的体系结构,而 Ports Collection 则使你可以轻松地建立自己的、定制的软件包。
  • 文档 - 除了来自不同作者的手册和书籍,涵盖了从系统管理到内核内部的主题,还有 man(1) 页面,不仅有用户空间守护程序、实用程序和配置文件,还有内核驱动 API(第 9 节)和单个驱动(第 4 节)。
  • 简单而一致的资源库结构和联编系统 - FreeBSD 对其所有组件,包括内核和用户空间,都使用一个单一的资源库。这一点,加上统一的、易于定制的联编系统和经过深思熟虑的开发流程,使得将 FreeBSD 与你自己的产品的联编基础架构整合起来变得容易。
  • 忠实于 Unix 的理念,更倾向于可组合性,而不是硬编码行为的单体“一体化”守护程序。
  • 与 Linux 的二进制兼容,这使得不需要虚拟化就可以运行许多 Linux 二进制文件成为可能。
FreeBSD 基于加州大学伯克利分校计算机系统研究组 (CSRG) 发布的 4.4BSD-Lite,并继承了 BSD 系统开发的杰出传统。除了 CSRG 提供的精细工作外,FreeBSD 项目还投入了成千上万的工时来扩展功能并对系统进行微调,以便在实际的负载情况下获得最大的性能和可靠性。FreeBSD 提供了与其他开源和商业产品相同的性能和可靠性,并结合了其他系统所没有的最先进的功能。

1.2.1.FreeBSD 能做些什么?

FreeBSD 的应用真的只受限于你的想象力。从软件开发到工厂自动化,从库存控制到远程卫星天线的方位角校正;一项工作如果可以用商业 UNIX® 产品来完成,那么很可能也可以用 FreeBSD 来做。FreeBSD 还从世界各地的研究中心和大学开发的数以千计的高质量的应用程序中获益颇多,这些应用程序通常只需要很少的费用就可以获得。
由于 FreeBSD 本身的源代码是免费提供的,系统也可以为特殊的应用或项目进行定制,其程度几乎是闻所未闻的,这在大多数主要商业供应商的操作系统中是不可能实现的。以下是目前人们使用 FreeBSD 的一些应用的例子:
  • 互联网服务。FreeBSD 内置的强大的 TCP/IP 网络使其成为各种互联网服务的理想平台,例如:
    • 网络服务器
    • IPv4 和 IPv6 路由
    • 防火墙和 NAT(“IP 伪装”)网关
    • FTP 服务器
    • 电子邮件服务器
    • 还有更多...
  • 教育。你是计算机科学或相关工程领域的学生吗?学习操作系统、计算机结构和网络的最好方式莫过于通过 FreeBSD 提供的亲身体验。一些免费提供的 CAD、数学和图形设计软件包也使它对那些对计算机的主要兴趣在于完成其他工作的人非常有用。
  • 研究。由于可以获得整个系统的源代码,FreeBSD 是一个很好的操作系统研究平台,同时也是计算机科学的其他分支。FreeBSD 自由使用的性质也使得远程团体在想法或共享开发上的合作成为可能,而不必担心特殊的许可协议或在公开论坛上讨论的内容的限制。
  • 网络。需要一个新的路由器?一个域名服务器(DNS)?一个防火墙来阻止人们进入你的内部网络?FreeBSD 可以很容易地将那台闲置在角落里的 PC 变成一个具有复杂的数据包过滤能力的高级路由器。
  • 嵌入式。FreeBSD 是构建嵌入式系统的一个优秀平台。通过对 ARM®, MIPS® 和 PowerPC® 平台的支持,再加上强大的网络堆栈、最先进的功能和宽松的 BSD 许可,FreeBSD 成为构建嵌入式路由器、防火墙和其他设备的绝佳基础。
  • 桌面。对于使用免费提供的 X11 服务器的廉价桌面解决方案来说,FreeBSD 是一个不错的选择。FreeBSD 提供了许多开源的桌面环境,包括标准的 GNOME 和 KDE 图形用户界面。FreeBSD 甚至可以从中央服务器上“无盘”启动,使单个工作站更便宜,更容易管理。
  • 软件开发。FreeBSD 基本系统带有全套的开发工具,包括完整的 C/C++ 编译器和调试器套件。对许多其他语言的支持也可以通过 port 和软件包集合来实现。
可以免费下载 FreeBSD,也可以通过 CD-ROM 或 DVD 获得。请参阅获得 FreeBSD 的更多信息。

1.2.2.谁在使用 FreeBSD?

FreeBSD 以其网络服务能力而闻名——在 FreeBSD 上运行的网站包括 Hacker News, Netcraft, NetEase, Netflix, Sina, Sony Japan, Rambler, Yahoo! 和 Yandex。
FreeBSD 先进的功能、经过验证的安全性、可预测的发布周期和宽松的许可证,使得它被用作构建许多商业和开源设备、装置和产品的平台。许多世界上最大的 IT 公司都使用 FreeBSD。
  • Apache - Apache 软件基金会在 FreeBSD 上运行其大部分面向公众的基础设施,包括可能是世界上最大的 SVN 存储库之一,有超过 140 万的提交。
  • Apple - OS X 的网络堆栈、虚拟文件系统和许多用户区组件都大量借用了 FreeBSD。苹果的 iOS 也包含了从 FreeBSD 借来的元素。
  • Cisco - IronPort 网络安全和反垃圾邮件设备运行修改过的 FreeBSD 内核。
  • Citrix - NetScaler 系列安全设备提供了 4-7 层的负载平衡、内容缓存、应用防火墙、安全 VPN 和移动云网络访问,以及强大的 FreeBSD shell。
  • Dell EMC Isilon - Isilon 的企业存储设备是基于 FreeBSD 的。极为自由的 FreeBSD 许可允许 Isilon 在整个内核中整合他们的知识产权,并专注于建立他们的产品而不是操作系统。
  • Quest KACE - KACE 系统管理设备运行 FreeBSD,因为它的可靠性、可扩展性和支持其继续发展的社区。
  • iXsystems - TrueNAS 系列的统一存储设备是基于 FreeBSD 的。
  • Juniper - 为所有 Juniper 网络设备(包括路由器、交换机、安全和网络设备)提供动力的 JunOS 操作系统是基于 FreeBSD 的。Juniper 是展示该项目与商业产品供应商之间共生关系的众多供应商之一。在 Juniper 产生的改进被上传到 FreeBSD,以减少将来从 FreeBSD 集成新功能到 JunOS 的复杂性。
  • McAfee - SecurOS,包括 Sidewinder 在内的 McAfee 企业防火墙产品的基础是基于 FreeBSD。
  • NetApp - Data ONTAP GX 系列的存储设备是基于 FreeBSD 的。此外,NetApp 还贡献了许多功能,包括新的 BSD 授权管理程序 bhyve。
  • Netflix - Netflix 用来向其客户传输电影的 OpenConnect 设备是基于 FreeBSD 的。Netflix 对代码库做出了广泛的贡献,并努力保持与主线 FreeBSD 的零差距。Netflix 的 OpenConnect 设备负责提供北美所有互联网流量的 32% 以上。
  • Sandvine - Sandvine 使用 FreeBSD 作为其高性能实时网络处理平台的基础,这些平台构成了其智能网络策略控制产品。
  • Sony - PlayStation 4 游戏机运行的是修改过的 FreeBSD 版本。
  • Sophos - Sophos Email Appliance 产品基于经过加固的 FreeBSD,扫描入站邮件中的垃圾邮件和病毒,同时也监控出站邮件中的恶意软件以及敏感信息的意外丢失。
  • Spectra Logic - nTier 系列档案级存储设备运行于 FreeBSD 和 OpenZFS。
  • Stormshield - Stormshield 网络安全设备是基于一个加固的 FreeBSD 版本。BSD 许可证允许他们将自己的知识产权与系统集成,同时将大量有趣的开发成果返还给社区。
  • The Weather Channel - IntelliStar 设备安装在每个本地有线电视供应商的头端,负责将本地天气预报注入有线电视网络的节目中,该设备运行 FreeBSD。
  • 威瑞信 - 威瑞信负责运营 .com 和 .net 根域名注册处,以及相应的 DNS 基础设施。他们依靠一些不同的网络操作系统,包括 FreeBSD,以确保在他们的基础设施中没有共同的故障点。
  • Voxer - Voxer 使用 FreeBSD 上的 ZFS 为其移动语音信息平台提供动力。Voxer 从 Solaris 的衍生系统转向 FreeBSD,因为 FreeBSD 有更好的文档,更大和更活跃的社区,以及更友好的开发者环境。除了像 ZFS 和 DTrace 这样的关键特性外,FreeBSD 还为 ZFS 提供了 TRIM 支持。
  • Fudo Security - FUDO 安全设备使企业能够监视、控制、记录和审计在其系统上工作的承包商和管理员。基于 FreeBSD 的所有最佳安全特性,包括 ZFS、GELI、Capsicum、HAST 和 auditdistd。
FreeBSD 还催生了一些相关的开源项目:
  • BSD Router - 一个基于 FreeBSD 的大型企业路由器的替代品,旨在运行在标准 PC 硬件上。
  • TrueNAS 是一个网络附加存储(NAS)软件,可以共享和保护数据免受现代威胁,如勒索软件和恶意软件。TrueNAS 使用户和客户端设备可以通过几乎所有的共享协议轻松访问共享数据。
  • GhostBSD - 源自 FreeBSD,使用 GTK 环境,在现代 BSD 平台上提供漂亮的外观和舒适的体验,提供一个自然和原生的 UNIX® 工作环境。
  • mfsBSD - 一个用于构建完全从内存中运行的 FreeBSD 系统镜像的工具包。
  • XigmaNAS - 一个基于 FreeBSD 的文件服务器发行版,带有 PHP 驱动的网络界面。
  • OPNSense - OPNsense 是一个开源的、易于使用的、易于构建的基于 FreeBSD 的防火墙和路由平台。OPNsense 包括了昂贵的商业防火墙的大部分功能,而且在许多情况下还包括更多的功能。它将商业产品的丰富功能与开放和可验证的来源的好处结合起来。
  • MidnightBSD - 是一个以桌面用户为中心开发的 FreeBSD 衍生操作系统。它包括所有你所期望的日常工作的软件:邮件、网页浏览、文字处理、游戏等等。
  • NomadBSD - 是一个基于 FreeBSD 的 USB 闪存驱动器的持久性活系统。加上自动硬件检测和设置,它被配置为一个开箱即用的桌面系统,但也可以用于数据恢复,用于教育目的,或测试 FreeBSD 的硬件兼容性。
  • pfSense - 一个基于 FreeBSD 的防火墙发行版,拥有大量的功能和广泛的 IPv6 支持。
  • ZRouter - 一个基于 FreeBSD 的嵌入式设备的开源替代固件。旨在取代现成的路由器上的专有固件。
在 FreeBSD 基金会的网站上可以找到基于 FreeBSD 的产品和服务的公司的推荐信列表。维基百科也有一个基于 FreeBSD 的产品列表。