
在探索操作系统的世界时,你可能会碰到像 BSD 或者 FreeBSD 这样的名字。虽然 Linux 和 BSD 都是开源的类 Unix 操作系统,但它们的起源和本质有着很大不同。接下来,我们就来聊聊 BSD 的故事,以及它和 Linux 到底有哪些不同。
BSD 已死?不,它的精神永存!
BSD 的起源:从 Unix 到 BSD
Linux 是一个从零开始构建的类 Unix 操作系统,而 BSD 则直接继承了 Unix 的血统。Unix 的故事可以追溯到 20 世纪 60 年代末,由贝尔实验室开发。
1973 年,两位 Unix 的核心开发者在一次学术会议上发表了一篇论文,引起了广泛关注。许多人开始对这款操作系统产生浓厚兴趣,纷纷开始「索要」副本。
然而,由于 AT&T(贝尔实验室的母公司)受限于当时的贸易法规,无法将 Unix 商业化并从中营利。于是,他们「脑洞大开」:通过收取象征性的运费,将 Unix 的源代码和许可证分发给需要的人们。加州大学伯克利分校就是众多受益者之一。
伯克利的改进:从 Unix 到 BSD
Unix 的主要设计者 Ken Thompson 曾短暂离开贝尔实验室,到伯克利分校担任客座教授。在那里,他和一群研究生合作,为 Unix 添加了许多新功能和改进。其中,一位名叫 Bill Joy 的研究生(后来成为了 Sun Microsystems 的联合创始人)贡献尤为卓越,他引入了虚拟内存管理和 TCP/IP 网络协议栈等关键技术。
随着伯克利版的 Unix 越来越受欢迎,它被包装成了一个名为 Berkeley Software Distribution(BSD)的附加组件进行发布。不过,当时运行 BSD 仍然需要获得 Unix 的许可证。但后来,Keith Bostic 领导了一个项目,逐步替换掉了 AT&T 的代码,用伯克利团队自己编写的代码取而代之,最终诞生了完全自由的类 Unix 操作系统。
BSD 的进化:从学术到桌面
为了让 BSD 适配 Intel 80386 处理器,研究人员开发了一个被称为 386BSD 的版本,让 BSD 成功走入了桌面 PC 领域。而 386BSD 的一个衍生项目,正是我们今天所熟知的 FreeBSD。
虽然最初的 BSD 系统已经退出历史舞台,但它的精神通过 FreeBSD 和其他衍生版本得以延续,甚至在一些你意想不到的地方继续发光发热。
BSD 与 Linux 的不同之处
除了历史的渊源,Linux 和现存的 BSD(最著名的是 FreeBSD)也有着不少明显的区别。虽然 FreeBSD 是一个类 Unix 操作系统,但它和 Linux 一样,并没有通过 UNIX 认证。不过,有趣的是,macOS 也采用了经过大幅修改的 BSD 内核,还是一个获得了 UNIX 认证的系统。
内核之争:FreeBSD 与 Linux
FreeBSD 和 Linux 最大的区别之一就是内核。FreeBSD 使用自己开发的内核,而不是 Linux 内核。这种独立性让 FreeBSD 在设计和优化上更加灵活,但也意味着,它与 Linux 生态的兼容性需要额外考量。
命令行工具:熟悉又陌生
在 FreeBSD 中,你可以找到类 Unix 操作系统中常见的命令行工具,但它们的版本和使用方式可能与 Linux 略有不同。例如,某些工具的选项或「行为模式」可能与你在 Linux 中习惯的会有所不同。
虽然这些差异不会严重影响使用,但偶尔会让人不太习惯,甚至抓狂。所以,在使用之前,最好先查阅一下 man pages。
应用程序生态:本地 vs. 兼容层
FreeBSD 自身就拥有 3.6W+ 本地应用程序,涵盖了从开发工具到多媒体软件等多个领域。因此,你可能根本就不需要依赖 Linux 软件。不过,如果你确实需要运行 Linux 应用程序,也可以通过 Docker 镜像或安装 Linux 兼容层来使用。
安装方式:Ports 与 pkg
FreeBSD 提供了两种应用程序安装方法:
- Ports:通过源码在本地编译安装,适合需要自定义编译的用户。
- pkg:使用 FreeBSD 自带的包管理器安装现成的二进制软件包,这种方式更加快捷,更适合大众用户。
硬件兼容性:挑战与权衡
硬件兼容性可能是 FreeBSD 面临的一大挑战,尤其是在笔记本电脑上。要让蓝牙、Wi-Fi 或声音正常工作,有时需要花费不少的精力,甚至在某些情况下完全无解。不过,一旦设置好,FreeBSD 的稳定性可谓首屈一指。这也是为什么很多人即使不用 FreeBSD 当桌面系统,也会将它作为家庭服务器的原因。
开发哲学:稳健 vs. 激进
FreeBSD 的高稳定性可能与它的开发者社区相对小众有关。跟 Linux 发行版的社区相比,FreeBSD 的开发节奏要慢得多。它不追求「快速行动并打破常规」,而是走稳健路线。这种「稳如老狗」🐶的开发哲学已经取得了不俗的成绩,尤其是在需要长期稳定运行的场景中。
使用 FreeBSD
安装过程:复古但实用
FreeBSD 的安装程序采用了基于文本的用户界面,乍一看会让人有种回到了 20 世纪 90 年代的既视感(别告诉我你还没出生 🐣)。不过,千万别被它的外表所迷惑——这个界面实际上运行得非常流畅,而且提供了清晰的安装引导和提示。


整个安装过程简也单明了,只要按屏幕上的指示一步步操作即可。完成安装后,你就会拿到一个功能完整的 FreeBSD 系统,但默认只有命令行界面,没有预装任何桌面环境。
如果你打算将 FreeBSD 作为家庭服务器,通常也不需要图形界面,所以这种设计非常合理。嗯~ 就是「非常合理」。
安装桌面环境:简单快捷
如果你需要桌面环境,可以自己手动安装。我装了个 XFCE,整个过程只花了几分钟。

安装软件:使用 pkg 包管理器
在 FreeBSD 上安装软件也非常简单,尤其是使用 pkg 包管理器。它的使用方法和 pacman、dnf 或 apt 大同小异。比如,我想安装 htop,就先通过su -
命令切换到 root 用户,然后运行 pkg 命令来安装:
pkg install htop

Shell 差异:sh vs. Bash
FreeBSD 默认使用的是 sh Shell,而不是 Bash。sh 完全符合 POSIX 标准,而 Bash 并不完全符合。如果你习惯了使用 Bash,可能还会发现一些细微的差异,比如:
- Bash 中的双括号
[[ ]]
用于条件判断,但在 sh 中并不可用。 - 此外,sh 不支持 Bash 中的作业控制功能。如果你经常使用这些功能,在切换到 FreeBSD 后可能需要稍加适应。
意想不到的广泛影响
BSD 的精神能够延续至今,并且在当代各个 BSD 系统中得到体现,着实令人感叹。更有趣的是,BSD 的影响力早已超越了传统操作系统的范畴,渗透到了许多现代技术的核心。
BSD 的现代足迹:从 macOS 到 Windows
你可能不知道,macOS 和 iOS 的核心部分正是基于 BSD 内核构建的。苹果通过 Darwin 项目,将 BSD 的强大功能与自己的创新设计相结合,打造出了今天大家熟知的操作系统。
微软也曾借助 BSD 的力量。在早期开发 Windows 网络功能时,微软使用了 BSD 的 TCP/IP 协议栈来实现自己的 Winsock 库和 TCP/IP 网络功能。这不仅加速了 Windows 网络能力的发展,也为 BSD 技术的普及做出了贡献。
FreeBSD vs. Linux:选择你的体验
对比于 Linux,FreeBSD 和其他 BSD 系统都提供了一种更贴近 Unix 的原汁原味体验。如果你对 Unix 的设计哲学和历史感兴趣,BSD 无疑是一个绝佳选择。它的简洁性、稳定性以及忠实继承 Unix 传统的特点,都散发着一种独特的技术魅力。
不过,如果你更注重硬件兼容性和广泛的社区支持,Linux 可能会更适合你。Linux 在支持更多类型硬件设备的同时,往往还能提供更丝滑的使用体验,尤其是在桌面和移动设备领域。
无论你是将 BSD 作为技术探索的起点,还是将它用作稳定可靠的服务器操作系统,BSD 都展现出了独特的价值。它的影响力不仅体现在许多现代操作系统的核心设计中,更在于为我们提供了一种不同于 Linux 的技术选择。如果你想尝试一种更贴近 Unix 的体验,BSD 绝对值得一试。
最新评论
如果是刷BIOS的u盘可以看看bios里防覆写保护关没关
26100 IoT为什么LTSC好几个版本的补丁都是安装不上
我推荐使用GXDE系统,内有火星应用商店。
服务器应该没有“滚动更新”的需求吧,不过Canonical 倒是方便我们这些爱好者折腾了