在探索操作系统的世界时,你可能会碰到像 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 绝对值得一试。
最新评论
应用安装器在哪里?怎么找不到啊
改主板?意义何在呢?
那主板的能改吗
每天都BSOD,快崩溃了。。。