DigitalCyberSoft/libvhdi-copr

GitHub: DigitalCyberSoft/libvhdi-copr

该项目为 Fedora 提供 libvhdi(VHD 虚拟磁盘访问库及工具)的 COPR 自动构建 RPM 软件包,解决 Fedora 用户无法直接通过官方仓库安装 libvhdi 的问题。

Stars: 1 | Forks: 0

# 适用于 Fedora 的 libvhdi COPR 此仓库通过 COPR 为 Fedora 40、41、42 和 rawhide 提供 libvhdi 软件包。 ## 什么是 libvhdi? libvhdi 是一个用于访问 Virtual Hard Disk (VHD) 镜像格式的库,被以下场景使用: - Microsoft Hyper-V - Xen Orchestra(用于 VHD 操作) - 数字取证工具 - 虚拟磁盘管理实用程序 ## 快速安装 启用 COPR 仓库后: ``` # 启用 COPR repository(将 YOUR_USERNAME 替换为实际用户名) sudo dnf copr enable YOUR_USERNAME/libvhdi # 安装 libvhdi tools sudo dnf install libvhdi-tools # 验证安装 vhdiinfo -V ``` ## 仓库内容 - `libvhdi-simple.spec` - 主 spec 文件(独立构建,不包含 Python) - `libvhdi-standalone.spec` - 尝试包含 Python 支持的替代版本 - `libyal-bundle.spec` - libyal 库集合(未来计划) - `.copr/Makefile` - COPR 构建自动化 - `build.sh` - 用于测试的本地构建脚本 ## 本地构建 ### 前置条件 ``` sudo dnf install -y gcc make autoconf automake libtool \ gettext-devel fuse-devel zlib-devel \ rpm-build rpmdevtools ``` ### 构建过程 ``` # 克隆此 repository git clone https://github.com/YOUR_USERNAME/libvhdi-copr cd libvhdi-copr # 运行构建脚本 ./build.sh # 或手动构建 rpmdev-setuptree curl -L -o ~/rpmbuild/SOURCES/libvhdi-alpha-20240509.tar.gz \ https://github.com/libyal/libvhdi/releases/download/20240509/libvhdi-alpha-20240509.tar.gz cp libvhdi-simple.spec ~/rpmbuild/SPECS/ rpmbuild -bb ~/rpmbuild/SPECS/libvhdi-simple.spec ``` ## COPR 设置说明 ### 1. 创建 COPR 账号 - 访问 https://copr.fedorainfracloud.org/ - 使用您的 Fedora Account System (FAS) 凭据登录 ### 2. 创建新项目 - 点击“New Project” - 填写以下信息: **基本信息:** - **Project Name:** `libvhdi` - **Description:** `libvhdi library and tools for Virtual Hard Disk (VHD) format - Required for Xen Orchestra VHD operations` - **Homepage:** `https://github.com/libyal/libvhdi` - **Contact:** 您的电子邮件 - **Disable build:** 保持未勾选 **构建选项:** - **Chroots:** 启用: - `fedora-40-x86_64` - `fedora-41-x86_64` - `fedora-42-x86_64` - `fedora-rawhide-x86_64` - **External repositories:** 留空 - **Bootstrap:** 保持默认 - **Multilib:** 保持未勾选 - **Module hotfixes:** 保持未勾选 ### 3. 添加软件包 创建项目后: - 转到“Packages”标签页 - 点击“New Package” **软件包设置:** - **Package name:** `libvhdi` - **Clone URL:** `https://github.com/YOUR_USERNAME/libvhdi-copr.git` - **Subdirectory:** 留空(COPR 会自动找到 .copr/Makefile) - **Spec File:** 留空(由 Makefile 处理) - **Type:** 选择 `make srpm` - **Build dependencies:** 留空 ### 4. 触发构建 - 点击该软件包上的“Rebuild” - 选择所需的 chroots - 点击“Submit” ## 软件包信息 ### 提供的软件包 - **libvhdi** - 主库 - 用于 VHD 访问的共享库 - **libvhdi-devel** - 开发文件 - 头文件和 pkg-config 文件 - **libvhdi-tools** - 命令行工具 - `vhdiinfo` - 显示 VHD 文件信息 - `vhdimount` - 使用 FUSE 挂载 VHD 文件 ### 使用示例 ``` # 获取有关 VHD 文件的信息 vhdiinfo disk.vhd # 挂载 VHD 文件 mkdir /mnt/vhd vhdimount disk.vhd /mnt/vhd ls /mnt/vhd/ # 卸载 fusermount -u /mnt/vhd ``` ## 与 Xen Orchestra 集成 此软件包旨在与为 Fedora 修改过的 XenOrchestraInstallerUpdater 配合使用: 1. 从此 COPR 安装 libvhdi-tools 2. 运行修改后的 XO 安装程序 3. XO 将检测并使用 vhdimount 进行 VHD 操作 ## 已知问题 - 由于路径问题,目前已禁用 Python 绑定 - 仅支持 x86_64 架构 - XO 中的某些 VHD 操作在没有 libvhdi 的情况下也可能工作,但功能将受到限制 ## 许可证 libvhdi 采用 LGPL-3.0-or-later 许可证 ## 支持 - **COPR 问题:** 在此仓库中提交 issue - **libvhdi 问题:** 在 https://github.com/libyal/libvhdi/issues 向上游报告 - **XO 安装程序:** 参见 https://github.com/ronivay/XenOrchestraInstallerUpdater ## 相关项目 - [XenOrchestraInstallerUpdater](https://github.com/ronivay/XenOrchestraInstallerUpdater) - XO 安装程序(需要 Fedora 支持 PR) - [libyal/libvhdi](https://github.com/libyal/libvhdi) - 上游 libvhdi - [Xen Orchestra](https://github.com/vatesfr/xen-orchestra) - 实际的 XO 项目 ## 更新日志 ### 20240509-1 - 面向 Fedora 40、41、42 和 rawhide 的初始版本 - 基于上游 libvhdi-alpha-20240509 - 禁用了 Python 绑定(构建问题) - 包含 vhdiinfo 和 vhdimount 工具
标签:COPR, Cutter, Fedora, libyal, RPM打包, VHD, 系统工具, 虚拟磁盘