6 个版本
0.3.2 | 2020年10月30日 |
---|---|
0.3.1 | 2019年12月29日 |
0.3.0 | 2017年11月18日 |
0.2.1 | 2017年9月9日 |
0.1.0 | 2017年7月13日 |
#273 在 操作系统
130 每月下载量
在 deb-version 中使用
51KB
1K SLoC
此crate提供了对libapt-pkg
的绑定。
文档和示例
请参阅 examples/
文件夹以获取一些命令的部分实现。
https://docs.rs/apt-pkg-native
许可证说明
虽然此crate中的代码可在MIT许可证下使用,但没有libapt-pkg
(GPL2+),它是无用的。
构建
必须安装 libapt-pkg-dev
。使用 cc
crate 尝试查找原生编译器。
提供 ye-olde-apt
特性以支持 apt <1.2
(Ubuntu 14.04 (Trusty), Debian 7 (Jessie) (2015))。这是通过仅删除该版本中不可用的方法来实现的。请参阅 #2。
线程安全性
该crate应该可以从多个线程中使用。然而,这通常是通过单例实现的,这可能对您的用例非常恼人。
当前对单例的管理方式非常糟糕,在我学习这些问题时还没有修复。通过增加主要版本号和适当的单例,可以解决一些问题。这最终必须完成。
apt
没有并发模型:您不能使用线程。
从 apt
1.4 或 1.5(在 Debian Stretch (2017) 中,但不在 Xenial 16.04 中)开始,某些操作是线程安全的:应该可以并行初始化缓存两次。由于这些版本的 apt
并不广泛使用,此crate的API不尝试暴露此功能。
使用 docker
切换发行版
examples/on-sid
有一个 Dockerfile,它构建了一个包含典型软件包列表的最小 Debian 图像。您可以从这个目录中运行其中的工具:
(cd examples/on-sid && make)
docker run -v $(pwd):/mnt sid-sources-list /mnt/target/release/examples/sources
依赖项
~235KB