我有.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