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, 系统工具, 虚拟磁盘