Quais ferramentas podem agrupar um binário Linux com todas as suas dependências para serem usadas em um sistema diferente?

Quais ferramentas podem agrupar um binário Linux com todas as suas dependências para serem usadas em um sistema diferente?

Sei que essa ferramenta existe, mas não consigo lembrar os termos de pesquisa do Google.

Estou procurando uma ferramenta que leve um binário no Linux com dependências de biblioteca dinâmica e wrappers que binem com algum chroot em uma cópia local do ambiente para que eu possa copiar esse diretório para uma nova máquina e todas as bibliotecas dinâmicas são nesse diretório e o binário pode encontrá-los.

Que ferramenta estou procurando?

Responder1

O que você provavelmente está procurando éEstatificador(http://statifier.sourceforge.net) eArminho(http://www.magicermine.com).

Statifier é software livre, enquanto Ermine é proprietário.

Se você quiser usá-lo apenas na mesma distribuição em que criou o arquivo, você também pode dar uma olhada em AppImageKit (http://www.portablelinuxapps.org)

Responder2

A ferramenta para mostrar "todas" as dependências é chamada 'ldd'. Não conheço nada que combine ldd e um empacotador.

Por que as citações estão por aí? Porque o ldd mostra as dependências na inicialização. Ele mostra aqueles que ficaram satisfeitos verificando o binário para ver quais estão codificados no binário conforme as bibliotecas necessárias. Mas o binário sempre pode solicitar outras bibliotecas enquanto está em execução.

Além disso, o binário pode estar solicitando arquivos de configuração que são compilados em locais conhecidos específicos. Ldd não pode fazer nada por você aqui.

Você provavelmente precisará de algo mais parecido com strace e verá todos os arquivos que seu aplicativo toca, não apenas a linha dinâmica.

informação relacionada