Какие инструменты могут упаковать двоичный файл Linux со всеми его зависимостями для использования в другой системе?

Какие инструменты могут упаковать двоичный файл Linux со всеми его зависимостями для использования в другой системе?

Я знаю, что такой инструмент существует, но не могу вспомнить поисковые запросы в Google.

Я ищу инструмент, который берет двоичный файл на Linux с динамическими библиотечными зависимостями и оболочками, а затем с помощью chroot помещает его в локальную копию среды, чтобы я мог скопировать этот каталог на новую машину, и все динамические библиотеки будут находиться в этом каталоге, а двоичный файл сможет их найти.

Какой инструмент мне нужен?

решение1

Вероятно, вы ищетеСтатификатор(http://statifier.sourceforge.net) иГорностай(http://www.magicermine.com).

Statifier — это свободное программное обеспечение, тогда как Ermine — проприетарное.

Если вы хотите использовать его только в том дистрибутиве, в котором вы создали файл, вы также можете взглянуть на AppImageKit (http://www.portablelinuxapps.org)

решение2

Инструмент, который покажет вам «все» зависимости, называется 'ldd'. Я не знаю ничего, что объединяло бы ldd и упаковщик.

Почему все в кавычках? Потому что ldd показывает вам зависимости при запуске. Он показывает те, которые были удовлетворены путем проверки двоичного файла, чтобы увидеть, какие из них жестко закодированы в двоичном файле как необходимые библиотеки. Но двоичный файл всегда может запросить другие библиотеки во время работы.

Кроме того, двоичный файл может вызывать файлы конфигурации, которые скомпилированы в определенных известных местах. Ldd ничего не может сделать для вас здесь.

Вероятно, вам нужно что-то вроде strace, чтобы видеть каждый файл, к которому обращается ваше приложение, а не только динамическую строку.

Связанный контент