【译文】 NetBSD 10 证明老技术在三十年后仍能傲视群雄

FOSDEM 2024 NetBSD 10 标志着这一古老的开源 Unix 系统达到了一个新的成熟水平。

根据我们的计算,包括次要的点版本在内,NetBSD 10.0 是 NetBSD 操作系统的第 71 个版本。按照项目自己的标准,NetBSD 10 是第 18 个主要版本。换句话说,这是一个成熟操作系统的重要版本。

该版本的亮点包括:改进的 SMP 性能、更快的虚拟内存、改进的调度程序(可感知性能和效率内核)、大幅改进的密码学和安全性(包括 WireGuard VPN 支持和 ARMv8-A 安全特性支持),以及对系统代码消毒器、测试和 QA 的广泛改进。

NetBSD 10 的默认图形环境是非常复古的 Ctwm,但它运行速度快,效果好 – 点击放大

团队一直在以适度的方式庆祝,包括在今年布鲁塞尔举行的 FOSDEM 会议上发表演讲,The Reg FOSS Desk 也参加了此次会议–NetBSD 10:三十年,依然强劲!– 并配有 Google 幻灯片。在演讲中,NetBSD 开发人员 Benny Siegert 提出了几个观点,其中包括尽管 NetBSD 0.8 于 1993 年 4 月发布,但 BSD 本身的工作始于 1974 年,因此整个项目已有 50 年历史。

NetBSD 是最古老的 BSD 项目,在某些方面与最初的 BSD 最接近。它支持大量活跃的 “端口”。这是 NetBSD 对其可以运行的不同类型计算机的称呼:8 个 “一级 “支持平台,另外还有 47 个也是 10 版本的平台。该项目的座右铭之一是 “它当然能运行 NetBSD!”这也是公平的–世界上没有其他操作系统能在如此多不同的架构和平台上运行。

Siegert 在演讲中谈到了 NetBSD 与 Linux 相比的许多优缺点,我们建议大家至少阅读一下幻灯片。不过,有一个问题让他一时无法回答,这给我们留下了深刻印象:”为什么选择 NetBSD 而不是 FreeBSD?他犹豫了一下,然后说 NetBSD 用户和开发者社区比 FreeBSD 社区更小、更友好,因此更受欢迎。他向 The Reg 解释说,重要的是:

贡献机会的数量。在规模较小的项目和社区中,更容易找到可以贡献的内容,也更容易在社区中找到贡献者的位置。与此相反,如果社区就像一台运转良好的机器,那么你甚至很难找到一个可以做出贡献的角度。

我们还采访了内核开发人员兼发布工程师马丁-胡斯曼(Martin Husemann),他提到了第 10 版延长发布流程的一个附带好处:

作为奖励,我们在 evbppc 移植中添加了对任天堂 Wii 的支持(这主要是意外,而且很简单)。

他对 BSD 之间比较的看法让我们大吃一惊。当我们提出比 FreeBSD 提供更广泛的硬件支持,但与 OpenBSD 不相上下时,他说:

他说:”现在的情况变得模糊了–这在过去是一件简单得多的事情,但现在,FreeBSD 的可移植性比过去要强得多(这可能主要归功于 OS X 和苹果公司的相关工作),而 OpenBSD 也发生了很大的变化(而且与 NetBSD 的差异越来越大)。当然,NetBSD 并不相信 OpenBSD 关于其安全重点的传说,我们认为 NetBSD 至少和 OpenBSD 一样安全(只是少了一些巫术),但这很难在技术层面上证明或验证。

试用

上次我们在 VirtualBox 中安装 NetBSD 9.3 版本时,对它进行了测试。有了这次熟悉的经验,我们决定在裸机上试用新版本。我们认为,使用与上周测试 OpenBSD 7.5 相同的测试平台进行比较是公平的。这台测试平台是一台古老的 Thinkpad W500,速度相当快,酷睿 2 双核,配备 ATI Mobility FireGL V5700 GPU,最大内存为 8 GB,固态硬盘为 256 GB。虽然这已经不再是一台强大的机器,但我们希望它的旧硬件能得到良好的支持,而此前它在使用 Haiku beta 4 和 Alpine Linux 3.18 时的反应速度也令人惊讶。

NetBSD 9.0 发布至今已有四年多的时间,我们很高兴地发现,在上一版本中遇到的一些小问题已经不复存在。光标键如我们所期望的那样工作,包括在文本控制台中。NetBSD 无法从 Ventoy USB 密钥启动,但写入自己的密钥后却能正常运行。安装程序第一次就完美地启动了 Wi-Fi,比 OpenBSD 在通过以太网获取固件之前的启动速度还要快。

安装程序依然繁琐。它针对的是最普通的硬件,因此主要通过按字母和数字来控制(我们猜测是因为并非所有终端都有光标键)。我们不知道如何重新格式化空的 32 GB FAT32 主分区,尽管 OpenBSD 可以轻松做到这一点。我们甚至找不到删除它的方法。最后,我们重新启动了 Linux 系统,并从那里删除了它。

NetBSD 很高兴地在由此产生的空隙中为自己创建了一个分区,尽管它坚持向我们询问有关圆柱、磁头和磁道的信息,而我们的固态硬盘不具备这些信息。安装程序在新的主分区中创建了自己的子分区,并将自己安装到这些分区中。

我们只遇到了一件事。我们不想把 NetBSD 引导加载程序放在 MBR 中。除了 OpenBSD 之外,这台机器上还有 Windows XP64、Q4OS 和 Bodhi Linux。为了避免覆盖 GRUB,我们根本没有 NetBSD 引导加载程序。没有明显的选项可以像 OpenBSD 那样把它放到根分区。我们重新启动,进行就地升级(即从 10.0 升级到 10.0,关闭所有软件包集),这次接受了默认引导加载器选项。它运行正常,并按照我们的要求将 NetBSD 自己的引导加载程序安装到根分区。如果你使用 Linux 进行双启动,那么就像在同一台机器上使用 OpenBSD 一样,你需要从 GRUB 链式加载 NetBSD 引导加载器,例如,这里介绍了如何从 Ubuntu 上进行链式加载

这一次,我们知道在安装完成后,我们必须在 sysinst 程序中多停留一会儿,并完成更多的步骤,这意味着在第一次重启时,我们已经有了一个可用的软件包管理器,并配置了在线软件仓库、主机名等。这种体验要顺畅得多,第一次启动时,我们看到了一个图形登录屏幕和一个 “轻量级、相当简约的窗口管理器“。我们尝试性地安装了一些小工具,如 htop 和 neofetch。一切都很顺利,于是我们又安装了更大的工具:

pkgin -y install firefox

这也成功了,尽管与我们预期的不太一样。我们得到的是夜间版本,而不是最新发布的 124 版本,而且它还引入了一些意想不到的依赖项,比如 Python 3 和 Wayland,尽管 NetBSD 并不支持 Wayland。这些似乎都与 Firefox 无关,我们不禁想起了 Poul-Henning Kamp 的经典文章《A Generation Lost in the Bazaar》。

添加其他相对较多的软件包,如 Abiword、Gnumeric、VLC,甚至是 MATE 系统监视器,效果都差不多。我们还使用与 NetBSD 9.3 相同的过时指南安装了 Xfce。我们尝试的一切都运行正常,Xfce 为我们提供了一个更熟悉、更灵活的环境,还提供了可调节字体大小等豪华功能。

NetBSD 10 与现代 Linux 形成了鲜明的对比。它运行良好。例如,Thinkpad 的声音芯片和 ATI GPU 都能被检测到,并自动安装了 radeon 驱动程序。我们在 2022 年看到的一些粗糙边缘,如光标键和打包工具,似乎已经被磨平了。

它比轻量级 Linux 略小,但也不是很大。默认安装仅需几 GB,而安装 Xfce、Firefox 和一些应用程序则需要 7.1 GB。在 Ctwm 窗口中,仅使用了 189 MB 内存,这已经很不错了,但在 Xfce 终端窗口中,内存使用量高达 433 MB。我们没有尝试对它进行基准测试,但在 Xfce 下,它的响应速度与机器上的轻量级 Linux 发行版相当。

与现代 Linux 相比,NetBSD 更像是一种传统的 Unix 体验。默认情况下,即使安装了 Xfce 这样的现代 Linux 桌面,也没有用于网络连接、声音设置或软件包管理的图形工具。尽管 NetBSD 拥有自己的管理程序 NVMM,但在标准软件源中找不到容器之类的现代功能。

与 OpenBSD 相比,NetBSD 更大、更完整。虽然这两个操作系统都提供 CD 大小的安装 ISO,但 NetBSD 还提供 USB 安装镜像,大小为 2.62 GB,其中包括 Wi-Fi 固件等内容。这也意味着安装速度更快,因为软件包是本地的,所以从互联网上获取的资源更少。

OpenBSD 对软件包的选择明显更为严格,但如此精挑细选也是有代价的。例如,NetBSD 支持蓝牙,而 OpenBSD 却不支持。我们猜想很多人会认为在软件包依赖关系中看到一些可能无关的东西是可以接受的代价。NetBSD 还提供了对 ZFS 的可选支持,虽然是比 FreeBSD 更老的版本,但包括对 ZFS 上 root 的初步支持

试用 NetBSD 的理由有很多。对于厂商或现代 Linux 不再支持的老旧但仍能正常运行的硬件,如老旧的 RISC 计算机(如 PowerMac 或 SPARC 机器)来说,NetBSD 是个不错的选择。而且,请记住,很快 32 位 x86 硬件也将被纳入其中。

如果你想提高或扩展自己的 Unix 技能,它也是一个不错的选择。现在,Linux 已成为主流,但仍有许多老式 Unix 机器潜伏在大型企业中;还有一些机器支撑着互联网。如果你想了解底层操作系统的内部工作原理,或者想了解如何在社区驱动的开发项目中工作,那么没有什么比在裸机上运行命令行驱动的操作系统更好了。虚拟机是无法替代的。

在 BSD 的世界里,有一个范围。FreeBSD 相对主流,功能丰富,主要支持现代或最新硬件,支持容器、虚拟机,并与 ZFS 紧密集成。Dragonfly BSD 是实验性的,仅支持 x86-64。OpenBSD 近乎极端主义,对代码的简洁性和设计的安全性要求极高,即使这意味着要放弃蓝牙等整个功能领域。

NetBSD 处于中间位置。它是一个相对小巧、简洁的操作系统。它比 FreeBSD 小,但比 OpenBSD 功能更全面、更严谨。即便如此,它们都是现代操作系统,拥有现代浏览器等。它们都比现代 Linux 更小、更干净、更简单。即便如此,尽管它们偏重于服务器,但都可以作为完整的桌面操作系统使用。它们不像 Redox OS 或 9Front 那样具有实验性和限制性。当 Linux 继续被代码淹没时,知道还有一个安全的避难所是件好事。®

本文文字及图片出自 NetBSD 10 proves old tech can still kick apps and take names three decades later

余下全文(1/3)
分享这篇文章:

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注