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

Download history 3018/week @ 2024-03-14 2915/week @ 2024-03-21 2274/week @ 2024-03-28 2156/week @ 2024-04-04 2085/week @ 2024-04-11 2064/week @ 2024-04-18 1997/week @ 2024-04-25 2142/week @ 2024-05-02 2262/week @ 2024-05-09 2497/week @ 2024-05-16 2136/week @ 2024-05-23 2109/week @ 2024-05-30 1744/week @ 2024-06-06 1737/week @ 2024-06-13 1963/week @ 2024-06-20 1559/week @ 2024-06-27

7,314 每月下载量
用于 远程软件包

MIT 许可

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

Actions Status Rust Docs Crates.io Link

一个用于解析二进制 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