qcow-rs

docs.rs/qcow crates.io 100% documented MIT Licensed

A Rust library for working with qcow images.

Example

```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.uniqueid, snapshot.name, snapshot.vmstate_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)?; ```

Library Features

Command Line Interface

Also present is a cli for interfacing with qcows.

``` qcow-cli 0.1.0 A utility for querying information about qcow files

USAGE: qcow

FLAGS: -h, --help Prints help information -V, --version Prints version information

ARGS:

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 ```

Install

cargo install qcow-cli

Screenshots

Listing info about the qcow:

info command

Viewing the file tree:

tree command

Viewing the image partitions:

partitions command

Extracting or viewing a file using get-file:

get-file command