有人使用libapt或libept列出软件包,并在debian系统中获取有关软件包的信息?
Libapt根本没有很好的记录,我发现很少有关于libept的例子和教程.有人可以解释我最好的方法
>获取apt-system中每个软件包的列表
>获取有关单个软件包的信息(如名称,版本,依赖关系,描述等)
>获取单个包安装的文件列表
直接使用apt内部文件是非常简单的,但我想使用一个库来遵循apt规范.
解决方法
在debian中有一个名为libapt-pkg-doc的包,它包含一些文档(如API参考).安装完成后,您可以访问文件:///usr/share/doc/libapt-pkg-doc/html/index.xhtml.
我只是看看libapt,这里是我迄今为止学到的:
如何列出所有包:
#include <apt-pkg/cachefile.h> #include <apt-pkg/pkgcache.h> int main() { // _config and _system are defined in the libapt header files pkgInitConfig(*_config); pkgInitSystem(*_config,_system); pkgCacheFile cache_file; pkgCache* cache = cache_file.GetPkgCache(); for (pkgCache::PkgIterator package = cache->PkgBegin(); !package.end(); package++) { std::cout << package.Name() << std::endl; } return 0; }