4个版本 (2个破坏性版本)
0.3.1 | 2023年5月9日 |
---|---|
0.3.0 | 2023年5月9日 |
0.2.0 | 2021年10月6日 |
0.1.0 | 2021年8月31日 |
#14 in #disk-image
每月下载量 30次
250KB
1.5K SLoC
qcow-rs
一个用于处理qcow图像的Rust库。
示例
// open qcow
let qcow = qcow::open(PATH).unwrap();
// print out list of snapshots in the qcow
for snapshot in qcow.snapshots() {
println!(
"Snapshot {:?}: {:?} (size = {})",
snapshot.unique_id,
snapshot.name,
snapshot.vm_state_size
);
}
// create a reader for accessing the virtual hard disk
let mut file = BufReader::new(File::open(PATH)?);
let qcow2 = qcow.unwrap_qcow2();
let mut reader = qcow2.reader(&mut file);
// read the first 10 bytes of the virtual hard disk
let mut buf = [0; 10];
reader.read_exact(&mut buf)?;
库功能
- 解析qcow文件
- 完全支持qcow版本1
- 支持解析头部和一些相关数据
- 完全支持qcow版本2-3
- 解析头部,包括额外的版本3头部数据
- 解析头部扩展,允许您使用它们提供的数据
- 查找表(L1和L2)解析,仅在需要时加载L2表
- 解析快照,包括快照L1查找表
- 支持读取虚拟磁盘的内容
- 包含压缩支持(适用于zlib和zstd)
- 集群查找缓存,缓存未命中时回溯
- 允许在客户机内任意定位
- 支持“递归”qcow,其中磁盘作为后端文件存储的qcow
命令行界面
还有一个用于与qcow交互的CLI。
qcow-cli 0.2.0
A utility for querying information about qcow files
USAGE:
qcow <qcow> <SUBCOMMAND>
FLAGS:
-h, --help Prints help information
-V, --version Prints version information
ARGS:
<qcow>
SUBCOMMANDS:
get-file Output a file within the qcow to stdout
help Prints this message or the help of the given subcommand(s)
info Output info about the given qcow
partitions Display a list of partitions in the qcow image
tree Display a tree listing of the contents of the qcow
安装
cargo install qcow-cli
屏幕截图
列出qcow的信息
查看文件树
查看镜像分区
使用get-file提取或查看文件
依赖项
~26–36MB
~491K SLoC