以编程方式提取.deb包

时间:2010-09-20 09:33:44

标签: c++ c linux packages deb

我有.deb个软件包,其内容需要以编程方式提取。但是,我无法找到关于该主题的任何资源,例如.deb包格式规范,这将使我更加了解如何在不进行逆向工程的情况下解决问题。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

实际上非常简单。

ar xv [name of deb file]

要在C内拨打电话,您可以使用system

system("ar xv [name of deb file]");

答案 1 :(得分:1)

如果你没有为此找到一个库(我也没有找到它),并且不能求助于运行系统命令,你可以随时实现自己来读取ar档案。 ar file format并不是非常复杂。

答案 2 :(得分:1)

.deb包格式的设计目标之一是使用现有工具和/或库轻松提取。顶级结构确实是ar文件,但在其中,您将找到另一级结构,传统上是一对tar文件。有关更多文档,请参阅例如http://en.wikipedia.org/wiki/Deb_(file_format

如果找不到现有的库,您可以使用GNU ar源来构建自己的库。我希望有ar / tar / cpio的通用库/你有什么。

答案 3 :(得分:0)

我刚刚看到libarchive支持ar格式以及其他一些格式。