代码之家  ›  专栏  ›  技术社区  ›  Adi

以编程方式提取.deb包

  •  1
  • Adi  · 技术社区  · 14 年前

    我有 .deb 我需要以编程方式提取其内容的包。但是,我找不到关于这个主题的任何资源,例如 德伯 包格式规范,这将给我更多的想法,如何解决问题,而不去反向工程的整个事情。

    有什么想法吗?

    4 回复  |  直到 9 年前
        1
  •  1
  •   Ville Laurikari    14 年前

    如果您没有为此找到库(我也没有),并且无法使用运行系统命令,那么您可以始终实现自己的读取AR存档。这个 ar file format 不是很复杂。

        2
  •  3
  •   Delan Azabani    14 年前

    其实很简单。

    ar xv [name of deb file]
    

    从C内呼叫,您可以使用 system :

    system("ar xv [name of deb file]");
    
        3
  •  1
  •   tripleee    13 年前

    设计目标之一 .deb 包格式是为了使用现有的工具和/或库方便地提取。高层结构确实是 ar 文件,但在其中,您将找到另一个层次的结构,传统上是一对 tar 文件夹。有关更多文档,请参见例如 http://en.wikipedia.org/wiki/Deb_(file_format )

    你可以使用GNU 应收账 如果找不到现有库,则生成自己的库的源。我希望有AR/TAR/CPIO/What Have的通用库。

        4
  •  0
  •   wormsparty    13 年前

    我刚看到 libarchive 支持 ar 格式,以及大量其他格式。