让我们尝试 BSD,第 6 部分(共 7 部分):和我一起跳入未知领域,安装 DragonFlyBSD! 让我们尝试 BSD,第 6 部分(共 7 部分):和我一起跳入未知领域,安装 DragonFlyBSD!

让我们尝试 BSD,第 6 部分(共 7 部分):和我一起跳入未知领域,安装 DragonFlyBSD!

DragonFlyBSD这是我们关于 BSD 系列操作系统的七部分系列文章的第六部分。

第 6 部分:让我们尝试 BSD,第 6 部分(共 7 部分):和我一起跳入未知领域,安装 DragonFlyBSD!

我对 DragonFlyBSD一无所知。我的印象是它源自 FreeBSD,源于一场关于如何处理多进程的争论。根据维基百科的说法,

[Matt] Dillon 创建 DragonFly 的初衷是认为 FreeBSD 5 中采用的线程和对称多处理技术会导致性能低下和维护困难。他试图在 FreeBSD 项目中解决这些预期的问题。由于与其他 FreeBSD 开发者在实现其想法方面存在分歧,他最终被剥夺了直接修改代码库的权限。尽管如此,DragonFly BSD 和 FreeBSD 项目仍然保持合作,共享错误修复、驱动程序更新和其他改进。

所以有点像 NetBSD/de Raadt 的故事,只是更友好一些。

就开发者数量而言,这是我们考察过的所有 BSD 项目中规模最小的(我认为)。

我正在安装 DragonFlyBSD 6.4

很遗憾,我没有截图可以提供。macOS 的截图命令(例如 command-shift-4)会与 Vultr 控制台中的 DragonFlyBSD 安装程序发生交互。它们的作用类似于“双重退出”,所以当我截图时,安装程​​序会回退,从而导致问题。

安装程序非常简单。无需选择软件。您可以配置所有您期望的选项。

第一次安装 DragonFlyBSD 时,它无法启动。第二次,我选择了“传统 BIOS”而不是 UEFI,然后就正常启动了。这很合理。

我使用了 DHCP。默认情况下,/etc/ssh/sshd_config 文件不允许密码验证。这很好,但是安装过程中没有办法安装 SSH 密钥,所以除非你打算通过控制台输入密钥,否则你需要手动切换这个设置。

第二次安装时,pkg 完全无法工作。我深入研究了好几遍,最后才发现是 bug 导致的。

软件包一开始运行正常……

 # pkg 搜索 wget
wget-1.21.4 通过 HTTP(S) 和 FTP 从网络检索文件
wget2-2.0.0_4 文件和递归网站下载器
wgetpaste-2.33 通过 bash 脚本将内容粘贴到多个 pastebin 服务
root@dragonflybsd:~ # pkg update
正在更新 Avalon 存储库目录……
正在获取 meta.conf:100% 163 B 0.2kB/s 00:01
正在获取 packagesite.txz:100% 6 MiB 1.1MB/s 00:06
正在处理条目:100%
Avalon软件仓库更新完成。已处理31890个软件包。
所有代码库均已更新。
然后当我准备安装某些东西时:
 root@dragonflybsd:~ # pkg install wget
正在更新 Avalon 存储库目录……
Avalon存储库已是最新版本。
所有代码库均已更新。
检测到新版本的软件包;需要先安装。
以下 1 个软件包将受到影响(已检查 0 个):

待升级的已安装软件包:
 
软件包:1.14.4 -> 1.20.9 [Avalon]

待升级软件包数量:1
该过程将需要额外 2 MiB 的空间。
待下载3 MiB。
是否继续执行此操作?[y/N]:y
[1/1] 正在获取 pkg-1.20.9.pkg:100% 3 MiB 871.8kB/s 00:04
检查完整性...完成(0 个冲突)
[1/1] 正在将软件包从 1.14.4 升级到 1.20.9...
[1/1] 正在提取 pkg-1.20.9:100%
pkg:执行 lua 脚本失败:[string "-- args: etc/pkg.conf.sample..."]:12:尝试调用 nil 值(字段 'stat')
pkg:lua脚本失败
pkg:在软件仓库中未找到与“wget”匹配的可安装软件包。
root@dragonflybsd:~ # pkg update
未配置任何活动的远程存储库。
root@dragonflybsd:~ # pkg search wget
未配置任何活动的远程存储库。
所以升级过程中的某些环节破坏了软件包本身,导致所有功能都无法运行。这显然是一个已知问题。我是在重装 DragonFlyBSD 系统之后才找到这篇文章的,所以我重新安装了一遍。但这次我遇到了不同的问题。这实际上是我在这台机器上输入的第一条命令。
 root@dragonflybsd:~ # pkg install wget
正在更新 Avalon 存储库目录……
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
pkg:https://mirror-master.dragonflybsd.org/dports/dragonfly:6.4:x86:64/LATEST/meta.txz:身份验证错误
Avalon 存储库没有元文件,使用默认设置
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
证书验证失败,证书 ID 为 /CN=mirror-master.dragonflybsd.org
34392535556:错误:14FFF086:SSL例程:(未知)SSL_internal:证书验证失败:/usr/src/lib/libressl/../../crypto/libressl/ssl/tls13_client.c:609:
pkg:https://mirror-master.dragonflybsd.org/dports/dragonfly:6.4:x86:64/LATEST/packagesite.txz:身份验证错误
无法更新 Avalon 存储库
更新仓库时出错!
df-latest.conf 文件没有被修改过,所以这是一个完全不同的问题。
 root@dragonflybsd:/usr/local/etc/pkg/repos # ls -l
总共8
-rw-r--r-- 1 root wheel 3223 2022年12月30日 df-latest.conf
-rw-r--r-- 1 root wheel 3223 2022年12月30日 df-latest.conf.sample
我对 pkg 的了解还不够深入,无法诊断这个问题,所以很遗憾,我的 DragonFlyBSD 之旅将就此结束。
真可惜,考虑到 6.4 版本早在 2022 年就发布了,这种情况也挺让人意外的。我确实很喜欢安装程序。我本可以做得更好吗?我想是的。
好的,再试一次。
全新安装。这次,在最后阶段,出现了这个错误,而通常情况下,它会在询问是否要配置系统之前出现:
DragonFlyBSD
那么日志里写了什么?
DragonFlyBSD 查看日志
好吧,DragonFlyBSD,这都是你的责任。
各种奇怪的错误。更新失败。无法稳定安装。感觉要么是我们还没准备好大规模使用,要么是虚拟机环境对 DragonFlyBSD 不太友好。