我有.deb
包,其内容需要以编程方式提取。但是,我无法找到有关该主题的任何资源,例如.deb
软件包格式规范,这将使我更加了解如何解决该问题,而无需执行和逆向工程整个过程。以编程方式提取.deb包
任何想法?
我有.deb
包,其内容需要以编程方式提取。但是,我无法找到有关该主题的任何资源,例如.deb
软件包格式规范,这将使我更加了解如何解决该问题,而无需执行和逆向工程整个过程。以编程方式提取.deb包
任何想法?
如果没有找到这个库(我没有,要么),而不能诉诸运行系统命令,您始终可以实现自己的读取ar档案。 ar file format不是非常复杂。
其实很简单。
ar xv [name of deb file]
从内部调用C,你可以使用system
:
system("ar xv [name of deb file]");
.deb
包格式的设计目标之一是使用现有的工具和/或库来简化提取。顶层结构确实是一个ar
文件,但在其中,您会发现另一层结构,传统上这是一对tar
文件。有关更多文档,请参阅http://en.wikipedia.org/wiki/Deb_(file_format)
如果找不到现有的库,可以使用GNU ar
源创建自己的库。我希望那里有ar/tar/cpio的通用库/你有什么。
我刚刚看到libarchive支持ar
格式,以及其他许多。
我链接到上面的维基页面提供了足够的细节来编写自己的库来提取文件。 – 2010-09-20 11:36:27