Module zfs not found in directory,无法安装 zfs

已 dup 到 openSUSE 最新 snapshot:Linux openSUSE 6.1.8-1-default

zypper in zfs 没报错,之后 dracut -fModule zfs not found in directory,手动 modprobe zfs 也说找不到。

大家安装也是这样么?

自己没装过,建议跟着官方 Wiki 来。

ZFS packages are not included in official openSUSE repositories, but repository of filesystems projects of openSUSE includes such packages of filesystems including OpenZFS.

就是按照官方 wiki 来的啊,就三步而已,还能搞错

@kurome 只装了用户空间(userspace)没装 kernel mdoule 吧?zfs-kmp-default 有吗?

这个我没手动装,它也没有被依赖。我待会儿在试一下

应该就是没装 zfs-kmp-default,但我内核太新了:

nothing provides 'kernel-uname-r = 6.1.7-1-default' needed by the to be installed zfs-kmp-default-2.1.9_k6.1.7_1-1.5.x86_64

一般情况下,一个我没见过的软件包,我会在 software.opensuse.org 上搜,然后点那个查看边上的子软件包…这样很容易发现漏了什么…如果子软件包名不足以让我猜出这个子包的作用,我会点查看 - 发行版 - 包名跳到 OBS 去看 specfile,里面关于子包的 summary 和 description 会告诉我一切。

1赞

找找社区软件包下面的,我看 HOF 打包的都到 6.1.8 了。filesystems 源里的还要 kernel 5.16 呢…肯定很多人为了绕过这个问题选择了自己 fork 一下

好的。你说的是这个 spec file 吗:

没搜到 kmp 描述啊


找到了

本主题在最后一个回复创建后60分钟后自动锁定。不再允许添加新回复。

因为 kmp 包比较特殊:

%kernel_module_package -n zfs -p %name-preamble -x xen

这个就是它的包定义,summary 和 description 都是通过宏定义的预设文本,你是看不到的,就跟 %lang_packages 一样,无非就是某某 lang for xxx。kmp 的意思是 kernel module package 内核模块包。

这些宏是通过

BuildRequires:  %kernel_module_package_buildreqs

引入的,其实就是 kernel-syms 包。具体 kernel_module_package 宏的定义在

https://build.opensuse.org/package/view_file/Kernel:stable/kernel-syms/kernel-module-subpackage

当然知道这些都没什么用的,只要知道至少 CentOS Fedora openSUSE 的 kmp 包都是这个意思就行了。

1赞