17611538698
webmaster@21cto.com

FreeBSD 14.2 正吸引 Docker 的粉丝

运维 0 143 2024-12-07 11:56:23

图片

导读:FreeBSD 14.2 是当今业界使用最广泛的 BSD 的最新版本,它带来了一些新功能,想以此来吸引 Docker 的粉丝。

各位小伙伴,FreeBSD 14.2-RELEASE于本周二正式发布了。

这是FreeBSD版本 14 的最新次要版本,这意味着用户是时候开始考虑从 14.1 升级了。

FreeBSD 14.1于去年 6 月发布,将在 14.2 发布三个月后终止使用。所以说,时间也是甚为紧迫。再老一点的FreeBSD 14.0 于 10 月初正式终止使用,不再提供更新。

FreeBSD  14.2版本将献给已故的迈克尔·J·卡雷拉斯(Michael J Karels) ,他从 PDP-11 上的 2.9 BSD 开始就是 BSD 项目的长期贡献者。

图片

迈克尔·J·卡雷拉斯是 4.3 BSD 的系统架构师,4.3 BSD 是有史以来最具影响力的 Unix 版本之一,他也是 BSD/OS 的系统架构师,BSD/OS 是第一个用于 x86 PC 的 BSD 商业系统。

图片

FreeBSD 控制台,许多用户似乎更喜欢旧式风格

FreeBSD  14.2 版包含OpenZFS 2.2.6和OpenSSL 3.0.15,这两个版本都是三个月前发布的。

https://github.com/openzfs/zfs/releases/tag/zfs-2.2.6

https://github.com/openssl/openssl/releases/tag/openssl-3.0.15

完整的14.2 版发布说明列出了所有更改和更新的组件,README 中有一些有用的入门信息。在安装过程中,一个有趣的新功能是能够自动下载和安装任何必要的固件,例如网络适配器的固件。

https://www.freebsd.org/releases/14.2R/relnotes/

https://www.freebsd.org/releases/14.2R/readme/

https://cgit.freebsd.org/src/commit/?id=03c07bdc8b31

除了提供适用于四种主要架构的九种变体的多种版本和格式外,此版本还显著改进了容器支持。

并不是因为它现在支持容器——FreeBSD 已经以Jails的形式支持容器24 年了。它最早出现在 2000 年的第 4 版中,比 Solaris 获得 Zones 早了四年。

https://www.freebsd.org/platforms/#_supported_platforms

https://freebsdfoundation.org/freebsd-project/resources/introduction-to-freebsd-jails/

不同之处在于,FreeBSD 现在可以以符合OCI 规范的方式处理容器。开放容器计划是一个由 Linux 基金会支持的公司间联盟,旨在标准化容器的打包、交付、部署和管理方式。

这些方法均是 Linux 上容器领域广大行业人士最熟悉的方法。

https://opencontainers.org/about/overview/

https://opencontainers.org/

关于Podman

Podman是一个全自由开源软件 ,无守护进程的容器管理系统,与 Docker 兼容。

FreeBSD 14.2 的 x86-64 和 Arm64 版本现在包含一个与Podman 兼容的工具包,用于处理 FreeBSD 上的 OCI 容器。

https://podman.io/

https://people.freebsd.org/~dch/posts/2024-12-04-freebsd-containers/

正如该网站所述:

它向 SamuelKarp@ 和 dfr@ 致以敬意,是他们完成了所有这些工作,从构建https://github.com/samuelkarp/runj(第一个适用于 FreeBSD 的容器友好型端口),到移植整个 podman 套件并获取必要的内核更改以支持它。非常感谢!

为了清楚起见,除非使用Linuxulator之类的东西,否则这并不意味着可以获取 Linux 容器并直接在 FreeBSD 上运行它。也不意味着您可以在 Linux 上的容器中直接运行 FreeBSD。

图片

全新 FreeBSD 上的老式 X11:一个窗口管理器和一堆 xterm。

目前,OCI 支持完全是在 FreeBSD 本身上运行 FreeBSD 容器。FreeBSD 包含一个名为Linuxulator 的Linux 模拟器,除了在其上运行一些单独的 Linux 二进制文件外,还可以在 Linuxulator 上运行现有发行版的用户空间,这种设置称为Linux Jail。

FreeBSD 对 OCI 的支持仍然很新,目前仍然必须以这样的方式运行它— — 尽管无root操作是 Podman 在 Linux 上的卖点之一。这种情况可能会随着时间的推移而改变,而且在 FreeBSD 上直接运行 Linux 容器具有很有意思的理论前景。

目前,仍然是现有的、经过时间考验的 FreeBSD-on-FreeBSD 容器。不同之处在于,无需使用 FreeBSD 自己的独特命令来管理你的 jail,而是可以使用与 Docker 兼容的语法、与 Docker 兼容的容器文件格式、标准 JSON 配置文件等。

一方面,这将使可能正在迁移到 FreeBSD 的经验丰富的 Docker 爱好者的工作更加轻松,另一方面,它将简化与现有工具的集成,这些工具知道如何管理标准工具,例如 Podman、用于生成 OCI 容器映像的Buildah和用于处理远程容器注册表的Skopeo,这些工具可以从存储库检索映像、从一个存储库复制到另一个存储库、检查映像等等。

值得注意的是,在今年的 Euro BSD Con上,我们发现管理 FreeBSD 容器通常使用 Ansible。

https://buildah.io/

https://2024.eurobsdcon.org/

https://github.com/containers/skopeo

很快地,使用主要针对 Linux 的现有工具来管理 FreeBSD 服务器上的容器就会变得容易。

笔者将 FreeBSD 测试机(联想 ThinkPad T420)升级到了新版本。这台旧笔记本电脑从 FreeBSD 13.3 升级到 14 时遇到了一些麻烦。虽然它只有 CPU 内置的 Intel HD 3000 GPU,但升级 FreeBSD 会删除部分 Intel DRM 驱动程序和 Slim 显示管理器,X11为此停止工作。我们在不久前修复了这个问题,但在尝试 14.2 之前,我们须将机器从 14.0 先升级到 14.1:

freebsd-update -r 14.1 upgradefreebsd-update install

然后我们重新启动,再运行freebsd-update install一次,然后再次重新启动。升级过程会非常顺利,一切正常。

然后对 14.2 重复了该过程:

freebsd-update -r 14.2 upgradefreebsd-update install

情况似乎不太好,虽然机器仍能工作,但控制台却不能用:内核初始化 GPU 时屏幕变黑。可以盲登并键入startx来启动 Xfce 4.18,但我们必须通过 SSH 进入机器才能发现它仍在运行。

我们从许多热情的 FreeBSD 宣传者那里听到的说法是,升级非常安全,几乎无趣,但如果你运行的是带有 GUI 的笔记本电脑,则不大适用。

图片

如果你更喜欢一些现代化的设施,还可以选择各种各样的桌面,可通过可选的“桌面安装程序”工具进行安装。

几个月前,FreeBSD 基金会已经获得了一笔资金来改善桌面体验。我们希望它能明智地花这笔钱,因为这才是人们急需的。开发们还注意到,虽然 Wi-Fi 工作正常,但它只能看到并连接到我们的 2.4 GHz 家庭网络。仍然缺少 5 GHz 支持。另一方面,尝试将新副本安装到我们的测试平台 Thinkpad W520 上,将其安装到与 Windows 10 和两个 Linux 发行版并排的分区中却失败了。在多启动设置中,即使是最新版本似乎也无法与其他版本很好地兼容。

我们在 VirtualBox VM 中安装它时取得了成功。我们在 EuroBSD Con 上学到的一条提示是,尽管 VirtualBox 仍然表示 UEFI 支持“仅适用于特殊操作系统”,但它对 FreeBSD 来说很重要。显然,在使用 MBR 分区的磁盘上的 BIOS 系统上从 ZFS 启动时,它存在一些已知问题。选择 UEFI 并允许操作系统选择自己的分区方案非常完美,并且为我们提供了一个在 GPT 分区的 16 GB 虚拟驱动器上毫无问题地运行的系统。

结语

FreeBSD 14.2 具有一些有用的新功能,这些功能应该有助于它更好地与现有的企业基础架构集成,同时为未来的一些激动人心的可能性奠定基础。但是,尽管它的固件处理有所改进,但不要指望这个版本能带来奇迹。与当代 Linux 系统相比,它仍然不是一款易于安装的操作系统。

作者:聆听音乐的鱼

相关网址:

https://www.freebsd.org/releases/14.2R/announce/

评论