6 个版本 (重大更新)
0.6.0 | 2022年5月25日 |
---|---|
0.5.0 | 2021年3月20日 |
0.4.0 | 2020年1月2日 |
0.3.0 | 2019年12月15日 |
0.1.0 | 2019年11月19日 |
#816 in Unix API
7,314 每月下载量
用于 远程软件包
120KB
562 行
包含 (Debian 软件包, 83KB) tests/debs/xz-utils_5.2.4-1_amd64.deb, (Debian 软件包, 23KB) tests/debs/libgssglue1_0.3-4_amd64.deb
DebPkg
一个用于解析二进制 Debian 软件包的 Rust 库。
此库提供了解析 二进制 Debian 软件包 的实用程序,这些实用程序在读取器上进行了抽象。此 API 提供了一个流式接口,以避免将整个 Debian 软件包加载到 RAM 中。
此库仅解析二进制 Debian 软件包。它不会尝试写入二进制 Debian 软件包。
支持的 Debian 软件包版本
此软件包仅支持 Debian 软件包的 2.0 版本。旧版本目前不受支持。
示例
解析 Debian 软件包
let file = std::fs::File::open("test.deb").unwrap();
let mut pkg = debpkg::DebPkg::parse(file).unwrap();
let mut control_tar = pkg.control().unwrap();
let control = debpkg::Control::extract(control_tar).unwrap();
println!("Package Name: {}", control.name());
println!("Package Version: {}", control.version());
let arch = control.get("Architecture").unwrap();
println!("Package Architecture: {}", arch);
let mut data = pkg.data().unwrap();
let dir = tempfile::TempDir::new().unwrap();
data.unpack(dir).unwrap();
依赖项
~8–16MB
~221K SLoC