Программно извлечение пакетов .deb
Вопрос
у меня есть .deb
Пакет, содержание которого мне нужно для извлечения программного пути. Тем не менее, я не могу найти какие-либо ресурсы по теме, например .deb
Спецификация формата пакета, которая даст мне еще несколько представлений, как подойдет к проблеме без перехода и обратного инженерия все это.
Есть идеи?
Решение
Если вы не найдете библиотеку для этого (я тоже не имею), и не могу прибегать к запуску системных команд, вы всегда можете реализовать свои собственные для чтения архивов AR. То формат файла Ar не ужасно сложен.
Другие советы
Довольно просто, на самом деле.
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 / Что у вас.
Я только что видел либархив Поддерживает ar
Формат, наряду с тонькой других.