我是否因构建错误的内核头而使 ZFS 处于危险状态?

我是否因构建错误的内核头而使 ZFS 处于危险状态?

在发现 OpenZFS 当前没有适用于最新 5.12 版 Fedora 33 的yum update.

我用了浩二与搜索词核心下载并安装必要的依赖项以恢复到最新的 5.11 内核,重新启动并重建 ZFS,不会出现任何问题。

但是,当从较新的内核中删除软件包时,我发现仅kernel-headersfor5.12.9-200仍然安装(kernel-headers-5.12.9-200.fc33.x86_64特别是)。

然后我意识到 Koji 为我选择的软件包列出的软件包5.11不包括kernel-headers并且我在重建 ZFS 之前忽略了恢复它。

一切似乎都运行正常,但我是否无意中将我的系统或 ZFS 置于危险的未定义状态?

annobin、、、boost-devel全靠perl-ExtUtils-CBuilder也是我最担心zfs的。kernel headerszfs

我计划安装正确的内核头文件并重建这些软件包,但想先在这里征求建议。

另外,为什么kernel-headersKoji 页面上没有列出已选择核心?由于标头并不总是跟踪实际的内核版本,因此我必须手动找到 5.11 的最后一个版本,即5.11.20-200。如果 Koji 直接将此信息与其他内核包链接起来,我会更愿意,因为手动跟踪它可能会出错。

答案1

你没有误会kernel-headerskernel-devel

kernel-headers是单例的,只能安装一个版本。如果你打算编译任何东西,你必须有一个,因为它是 的要求glibc-devel,这是 的要求gcc。它定义了/usr/include.尝试这个命令:rpm -ql kernel-headers

另一方面,kernel-devel像 一样kernel,可能安装了许多版本,并且需要编译内核模块,就像dkmss 和kmods 一样。并且生成的模块只能在具有完全相同版本的内核中运行。

顺便说一句,没有必要有一个dkms特定于任何内核的 ZFS。与 不同的是kmoddkms为每个内核编译一个新版本。特别是,由于编译器不兼容,我无法升级我的 zfs utilsdkms某些升级到fc34.我很幸运,这些不兼容性只影响用户态实用程序,而不影响内核编译 ( ),而且我很长一段时间dkms一直使用相同的 dkm 。fc33通常我倾向于直接从 github 关注 ZFS master。

相关内容