收起左侧

【修复】关于升级后依赖存在zfs问题的补丁

0
回复
56
查看
[ 复制链接 ]

4

主题

46

回帖

65

牛值

社区共建团

fnOS1.0上线纪念勋章社区上线纪念勋章社区共建团荣誉勋章

🛠️ OpenZFS (libzpool6) 非官方修复指南

本指南旨在指导用户如何使用提供的修复包解决 openzfs-libzpool6 相关依赖或版本冲突问题。


⚠️ 免责声明(请务必仔细阅读)

  1. 非官方性质:本修复方案及脚本均为非官方社区提供,未经过操作系统官方(飞牛官方、debian等验证,仅通过脚本提取飞牛官方版本1.1.26现有版本依赖)
  2. 已通过X86虚拟机,部分物理机测试。
  3. 数据风险:由于涉及 ZFS 内核模块、文件系统挂载及核心库(libzpool6)的替换,操作不当可能导致 ZFS 池无法导入、数据丢失或系统无法启动
  4. 后果自负:执行本脚本即表示您已了解相关风险。作者及分发者对因使用本修复包导致的任何直接或间接损失不承担任何责任。
  5. 强烈建议:在执行任何操作前,请务必对重要数据进行全量备份,并确保手头有可用的系统恢复介质。

🚨 核心注意事项:操作前的“清空”步骤

在执行安装脚本之前,您必须手动确保没有任何进程正在使用 ZFS 存储。即使安装脚本中有停止服务的命令,手动执行以下步骤也是最稳妥的:

1. 卸载所有 ZFS 文件系统

sudo zfs unmount -a

确认没有文件正在被访问。如果有“device is busy”报错,请关闭正在使用 ZFS 目录的终端或服务(如 Samba, NFS, Docker 等)。

*如果创建有zfs存储池可以正确通过飞牛web存储管理正常卸载(卸载不是删除)。

image.png

2. 导出(释放)所有存储

这是最重要的一步。导出存储池会写入最后的数据并解除内核对磁盘的控制。

sudo zpool export -a

验证:执行 zpool list 应显示“no pools available”。


🚀 修复流程

第一步:环境解压与定位(必须是root提权后修复)

在终端进入修复包所在的目录:

cd \update\openzfs_libzpool6_fix
chmod +x check_risk.sh

第二步:执行风险评估(推荐)

在正式修改系统前,运行风险检查脚本:

bash check_risk.sh
  • 重点检查:如果脚本提示“根分区在 ZFS 上”或“有 ZFS 池正在使用”,请返回上一步进行卸载/导出。

第三步:执行修复安装

确认存储池已导出后,使用 root 权限运行安装脚本:

chmod +x install_libzpool6.sh
./install_libzpool6.sh

脚本执行说明:

  1. 停止服务与卸载模块:自动停止相关 ZFS 服务并尝试卸载内核驱动。
  2. 卸载冲突包:强制移除旧版 libzpool5linuxlibnvpair3linux 等冲突组件。
  3. 顺序安装:按照依赖链(nvpair -> uutil -> zpool -> zfs -> modules -> utils -> zed)自动安装 7 个 DEB 包。
  4. 恢复环境:自动尝试重新加载内核模块并启动服务。

修复包地址:

版本说明:OpenZFS 2.3.3-c-1 | 修复目标:libzpool6 兼容性修复

📂 附件下载点击下载:
飞牛修复文件(文件路径及文件名称:/飞牛修复/强制升级1.26/openzfs_libzpool6_fix.zip)

收藏
送赞
分享
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则