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.