Exodus - Kopier Linux-binærfiler trygt fra ett Linux-system til et annet


Exodus er et enkelt, men nyttig program for enkelt og sikkert å kopiere Linux ELF-binærfiler fra ett system til et annet. For eksempel, hvis du har htop (Linux Process Monitoring Tool) installert på din stasjonære maskin, men ikke installert på din eksterne Linux-server, gir exodus en måte å kopiere/installere htop-binæren fra stasjonærmaskinen til den eksterne serveren.

Den samler alle binærens avhengigheter, kompilerer en statisk koblet innpakning for den kjørbare filen som påkaller den flyttede linkeren direkte, og installerer bunten i ~/.exodus/-katalogen på det eksterne systemet.

Du kan se den i aksjon her.

Exodus kommer virkelig godt med i to kritiske tilfeller: 1) hvis du ikke har root-tilgang på en maskin og/eller 2) hvis pakken du vil bruke ikke er tilgjengelig for Linux-distribusjonen du kjører på en annen maskin.

Installer Exodus i Linux-systemer

Du kan installere exodus ved å bruke Python PIP-pakkebehandling, som følger. Kommandoen nedenfor vil utføre en brukerspesifikk installasjon (kun for kontoen du har logget på med).

$ 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] 

Deretter legger du til katalogen ~/.local/bin/ til PATH-variabelen i ~/.bashrc-filen, for å kjøre den kjørbare exodus-filen som enhver annen systemkommando .

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

Lagre og lukk filen. Åpne så et annet terminalvindu for å begynne å bruke exodus.

Merk: Det anbefales også sterkt at du installerer gcc og en av enten musl libc eller diet libc (C-biblioteker som brukes til å kompilere små statisk koblede lansere for de medfølgende applikasjonene), på maskinen der du skal pakke binærfiler.

Bruk Exodus til å kopiere lokal binær til et eksternt Linux-system

Når du har installert exodus, kan du kopiere en lokal binær (htop-verktøy) til en ekstern maskin ved ganske enkelt å kjøre følgende kommando.

$ exodus htop | ssh [email 

Logg deretter på den eksterne maskinen, og legg til katalogen /home/tecmint/.exodus/bin til PATH-en din i ~/.bashrc-filen, for å kjøre htop som enhver annen systemkommando.

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

Lagre og lukk filen, og kilde den deretter som følger, for at endringene skal tre i kraft.

$ source ~/.bashrc

Nå skal du kunne kjøre htop på din eksterne Linux-maskin.

$ htop

Hvis du har to eller flere binærfiler med samme navn (for eksempel mer enn én versjon av htop installert på systemet ditt, en /usr/bin/htop og en annen /usr/local/ bin/htop), kan du kopiere og installere dem parallelt med -r-flagget, det muliggjør tilordning av aliaser for hver binær på den eksterne maskinen.

Følgende kommando vil installere de to htop-versjonene parallelt med /usr/bin/grep kalt htop-1 og /usr/local/bin/htop kalt htop-2 som vist.

$ exodus -r htop-1 -r htop-2 /usr/bin/htop /usr/local/bin/htop | ssh [email 

Oppmerksomhet: Exodus har en rekke begrensninger, og den kan ikke fungere med binærfiler som ikke er ELF, inkompatible CPU-arkitekturer, inkompatible Glibc- og kjerneversjoner, driveravhengige biblioteker, program-grammatisk lastede biblioteker og ikke-biblioteksavhengigheter.

For mer informasjon, se hjelpesiden for exodus.

$ exodus -h           

Exodus Github-depot: https://github.com/intoli/exodus

Exodus er enkelt, men kraftig verktøy for å kopiere binærfiler fra en Linux-maskin til et annet eksternt Linux-system. Prøv det og gi oss din tilbakemelding via kommentarskjemaet nedenfor.