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 • Rust 包仓库 3018/week @ 2024-03-14 • Rust 包仓库 2915/week @ 2024-03-21 • Rust 包仓库 2274/week @ 2024-03-28 • Rust 包仓库 2156/week @ 2024-04-04 • Rust 包仓库 2085/week @ 2024-04-11 • Rust 包仓库 2064/week @ 2024-04-18 • Rust 包仓库 1997/week @ 2024-04-25 • Rust 包仓库 2142/week @ 2024-05-02 • Rust 包仓库 2262/week @ 2024-05-09 • Rust 包仓库 2497/week @ 2024-05-16 • Rust 包仓库 2136/week @ 2024-05-23 • Rust 包仓库 2109/week @ 2024-05-30 • Rust 包仓库 1744/week @ 2024-06-06 • Rust 包仓库 1737/week @ 2024-06-13 • Rust 包仓库 1963/week @ 2024-06-20 • Rust 包仓库 1559/week @ 2024-06-27 • Rust 包仓库

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