Package and Deploy Linux Binary

3

Você pode listar todos os arquivos .so referenciados por um binário?

Isso é para empacotar e implantar um binário junto com todos os arquivos .so necessários para os servidores. Pelo que entendi você não pode estaticamente link com arquivos .so, mas você provavelmente pode fazer um arquivo de auto-extração.

    
por jcarpenter2 20.02.2017 / 03:28

1 resposta

5

Isso é o que o programa ldd faz. Dado o caminho para um executável e nenhuma outra opção, ele listará as bibliotecas compartilhadas que o programa precisa e os caminhos atuais dessas bibliotecas compartilhadas no sistema (se presentes).

Por exemplo:

$ ldd /usr/bin/bash
    linux-vdso.so.1 (0x00007ffc19b28000)
    libtinfo.so.6 => /lib64/libtinfo.so.6 (0x00007fb815da1000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fb815b9d000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fb8157d7000)
    /lib64/ld-linux-x86-64.so.2 (0x000056504b842000)

Então, sim, você pode, mas isso realmente não ajuda tanto quanto você pensa.

Em vez de criar manualmente seus próprios arquivos, você deve usar um sistema de empacotamento como rpm ou deb, dependendo da distribuição de destino ou do Flatpak mais recente (que provavelmente será como a maioria dos aplicativos será distribuída em futuras distribuições Linux) ).

    
por 20.02.2017 / 04:06