Exodus - Kopier sikkert Linux-binære filer fra et Linux-system til et andet


Exodus er et simpelt, men nyttigt program til nem og sikker kopiering af Linux ELF-binære filer fra et system til et andet. For eksempel, hvis du har installeret htop (Linux Process Monitoring Tool) på din stationære maskine, men ikke er installeret på din eksterne Linux-server, giver exodus en måde at kopiere/installere htop-binærprogrammet fra desktop-maskinen til fjernserveren.

Den bundter alle binærens afhængigheder, kompilerer en statisk sammenkædet indpakning til den eksekverbare fil, der direkte påkalder den omplacerede linker og installerer pakken i ~/.exodus/ -mappen på det eksterne system.

Du kan se det i aktion her.

Exodus er virkelig praktisk i to kritiske tilfælde: 1) hvis du ikke har rodadgang på en maskine og/eller 2) hvis den pakke, du vil bruge, ikke er tilgængelig for den Linux-distribution, du kører på en anden maskine.

Installer Exodus i Linux-systemer

Du kan installere exodus ved hjælp af Python PIP-pakkehåndtering som følger. Kommandoen nedenfor udfører en brugerspecifik installation (kun for den konto, du er 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] 

Dernæst tilføj biblioteket ~/.local/bin/ til din PATH-variabel i din ~/.bashrc -fil for at køre eksoden eksekverbar som enhver anden systemkommando. .

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

Gem og luk filen. Åbn derefter et andet terminalvindue for at begynde at bruge udvandring.

Bemærk: Det anbefales også stærkt, at du installerer gcc og en af enten musl libc eller diet libc (C-biblioteker, der bruges til at kompilere små statisk sammenkædede løfteraketter til de medfølgende applikationer) på maskinen, hvor du pakker binære filer.

Brug Exodus til at kopiere lokal binær til et eksternt Linux-system

Når du har installeret exodus, kan du kopiere et lokalt binært (htop-værktøj) til en ekstern maskine ved blot at køre følgende kommando.

$ exodus htop | ssh [email 

Log derefter på den eksterne maskine, og tilføj biblioteket /home/tecmint/.exodus/bin til din PATH i din ~/.bashrc -fil for at køre htop som enhver anden systemkommando.

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

Gem og luk filen, og kilde den som følger, for at ændringerne kan træde i kraft.

$ source ~/.bashrc

Nu skal du være i stand til at køre htop på din eksterne Linux-maskine.

$ htop

Hvis du har to eller flere binære filer med samme navn (for eksempel mere end en version af htop installeret på dit system, en /usr/bin/htop og en anden /usr/local/bin/htop ), kan du kopiere og installere dem parallelt med -r flag, det gør det muligt at tildele aliaser til hver binær på den eksterne maskine.

Den følgende kommando installerer de to htop-versioner parallelt med/usr/bin/grep kaldet htop-1 og/usr/local/bin/htop kaldet htop-2 som vist.

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

Opmærksomhed: Exodus har en række begrænsninger, og det fungerer muligvis ikke med ikke-ELF-binærfiler, inkompatible CPU-arkitekturer, inkompatible Glibc- og kerneversioner, driverafhængige biblioteker, pro-grammatisk indlæste biblioteker og ikke-biblioteksafhængigheder.

For yderligere oplysninger, se Hjælp til udvandring.

$ exodus -h           

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

Exodus er simpelt, men alligevel kraftfuldt værktøj til kopiering af binære filer fra en Linux-maskine til et andet fjernt Linux-system. Prøv det og giv os din feedback via nedenstående kommentarformular.