Hetzner救援系统中ZFS自动安装失败,报configure: error错误求助
Hetzner救援系统中ZFS自动安装失败,报configure: error错误求助
我前阵子刚踩过这个坑!在Hetzner救援系统里输入zfs命令时,本来应该自动完成的ZFS工具链安装直接失败了,报错内容和你遇到的完全一致:
checking whether inode_owner_or_capable() takes user_ns... configure: error: *** None of the expected "capability" interfaces were detected. *** This may be because your kernel version is newer than what is *** supported, or you are using a patched custom kernel with *** incompatible modifications. *** *** ZFS Version: zfs-2.1.11-1 *** Compatible Kernels: 3.10 - 6.2 Install failed, please fix manually! bash: line 499: zfs: command not found
问题根源很清晰:Hetzner救援系统默认用的新内核版本超过了ZFS 2.1.11支持的最高内核版本(6.2),导致兼容性不匹配,找不到对应的内核接口。给你两个靠谱的解决方向:
办法一:切换到兼容的旧内核救援系统
这是最省心的方案,不用折腾编译:
- 重启服务器,进入Hetzner救援系统的启动选择界面
- 挑选一个版本≤6.2的内核(比如6.1系列的长期支持内核)启动
- 再次执行
zfs命令,这次应该就能自动安装成功了
办法二:手动安装适配新内核的ZFS版本
如果必须用当前的新内核,那就手动安装更高版本的ZFS(比如2.2.x系列,它支持到6.5+的内核):
- 先更新系统包并安装编译依赖:
apt update && apt upgrade -y apt install build-essential linux-headers-$(uname -r) - 卸载残留的失败安装(如果有的话):
apt purge zfs* -y - 安装适配的ZFS版本:
- 可以通过Debian的backports源获取预编译包(Hetzner救援系统一般是Debian系),或者手动编译ZFS 2.2.x的源码
- 手动编译的话,解压源码包后依次执行:
./configure make make install
- 加载ZFS模块:
之后再输入modprobe zfszfs命令就能正常使用了
注意:手动编译时一定要确保安装的内核头文件和当前运行的内核版本完全一致,不然还是会报类似的接口错误。
备注:内容来源于stack exchange,提问作者TinkerTank
相关产品推荐
相关产品推荐

