Pesquisa de site

Exodus - Copie com segurança binários Linux de um sistema Linux para outro


Exodus é um programa simples, mas útil, para copiar binários do Linux ELF de um sistema para outro de maneira fácil e segura. Por exemplo, se você tiver o htop (Linux Process Monitoring Tool) instalado em sua máquina desktop, mas não instalado em seu servidor Linux remoto, o exodus oferece uma maneira de copiar/instalar o binário htop da máquina desktop para o servidor remoto.

Ele agrupa todas as dependências do binário, compilando um wrapper vinculado estaticamente para o executável que invoca o vinculador realocado diretamente e instalando o pacote no diretório ~/.exodus/, no sistema remoto.

Você pode vê-lo em ação aqui.

Instale o Exodus em sistemas Linux

Você pode instalar o exodus usando o gerenciador de pacotes Python PIP, como segue. O comando abaixo realizará uma instalação específica do usuário (apenas para a conta com a qual você efetuou login).

sudo apt install python-pip                [Install PIP On Debian/Ubuntu]
sudo yum install epel-release python-pip   [Install PIP On CentOS/RHEL]
sudo dnf install python-pip	             [Install PIP On Fedora]
pip install --user exodus-bundler          [Install Exodus in Linux] 

Em seguida, adicione o diretório ~/.local/bin/ à sua variável PATH em seu arquivo ~/.bashrc, para executar o êxodo executável como qualquer outro comando do sistema.

export PATH="~/.local/bin/:${PATH}"

Salve e feche o arquivo. Em seguida, abra outra janela do terminal para começar a usar o êxodo.

Nota: Também é altamente recomendado que você instale o gcc e um dos musl libc ou diet libc ( Bibliotecas C usadas para compilar pequenos inicializadores vinculados estaticamente para os aplicativos incluídos), na máquina onde você empacotará os binários.

Use o Exodus para copiar binário local para um sistema Linux remoto

Depois de instalar o exodus, você pode copiar um binário local (ferramenta htop) para uma máquina remota simplesmente executando o seguinte comando.

exodus htop | ssh tecmint@server3

Em seguida, faça login na máquina remota e adicione o diretório /home/tecmint/.exodus/bin ao seu PATH no seu ~/.bashrc arquivo, para executar o htop como qualquer outro comando do sistema.

export PATH="~/.exodus/bin:${PATH}"

Salve e feche o arquivo e então source como segue, para que as alterações tenham efeito.

source ~/.bashrc

Agora você deve conseguir executar htop em sua máquina Linux remota.

htop

Se você tiver dois ou mais binários com o mesmo nome (por exemplo, mais de uma versão de htop instalada em seu sistema, uma /usr/bin/htop e outra /usr/local/bin/htop), você pode copiá-los e instalá-los em paralelo com o sinalizador -r, que permite a atribuição de aliases para cada binário na máquina remota .

O comando a seguir instalará as duas versões do htop em paralelo com /usr/bin/grep chamado htop-1 e /usr/ local/bin/htop chamado htop-2 conforme mostrado.

exodus -r htop-1 -r htop-2 /usr/bin/htop /usr/local/bin/htop | ssh tecmint@server3

Atenção: Exodus tem uma série de limitações e pode não funcionar com binários não-ELF, arquiteturas de CPU incompatíveis, Glibc e versões de kernel incompatíveis, bibliotecas dependentes de driver, pro -bibliotecas carregadas gramaticalmente e dependências que não são de biblioteca.

Para obter mais informações, consulte a página de ajuda do êxodo.

exodus -h           

Repositório Exodus Github: https://github.com/intoli/exodus

Conclusão

Exodus é uma ferramenta simples, mas poderosa, para copiar binários de uma máquina Linux para outro sistema Linux remoto. Experimente e dê-nos a sua opinião através do formulário de comentários abaixo.