Exodus - Luwas nga Kopyaha ang mga Binary sa Linux Gikan sa Usa ka Sistema sa Linux ngadto sa Lain


Ang Exodo usa ka yano apan mapuslanon nga programa alang sa dali ug luwas nga pagkopya sa mga binary sa Linux ELF gikan sa usa ka sistema ngadto sa lain. Pananglitan, kung ikaw adunay htop (Linux Process Monitoring Tool) nga na-install sa imong desktop machine, apan wala ma-install sa imong hilit nga Linux server, ang exodus naghatag ug paagi sa pagkopya/pag-instalar sa htop binary gikan sa desktop machine ngadto sa remote server.

Gi-bundle niini ang tanang dependency sa binary, nag-compile og statically linked wrapper para sa executable nga direktang nagtawag sa relocated linker, ug nag-install sa bundle sa ~/.exodus/ directory, sa remote system.

Makita nimo kini sa aksyon dinhi.

Ang Exodo magamit gyud sa duha ka kritikal nga mga kaso: 1) kung wala kay root access sa usa ka makina ug/o 2) kung ang pakete nga gusto nimong gamiton dili magamit alang sa pag-apod-apod sa Linux nga imong gipadagan sa laing makina.

I-install ang Exodus sa Linux Systems

Mahimo nimong i-install ang exodus gamit ang Python PIP package manager, ingon sa mosunod. Ang sugo sa ubos maghimo sa usa ka piho nga pag-instalar sa user (alang lamang sa account nga imong gi-log in).

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

Sunod, idugang ang direktoryo nga ~/.local/bin/ sa imong PATH variable sa imong ~/.bashrc file, aron mapadagan ang exodus executable sama sa ubang command system .

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

I-save ug isira ang file. Dayon ablihi ang laing terminal window aron magsugod sa paggamit sa exodo.

Pahinumdom: Girekomenda usab kaayo nga imong i-install ang gcc ug usa sa musl libc o diet libc (C libraries nga gigamit sa pag-compile sa gagmay nga statically linked launcher para sa mga gi-bundle nga aplikasyon), sa makina diin ikaw mahimong packaging binary.

Gamita ang Exodus aron Kopyahon ang Lokal nga Binary Ngadto sa Remote Linux System

Kung na-install na nimo ang exodus, mahimo nimong kopyahon ang usa ka lokal nga binary (htop tool) sa usa ka hilit nga makina pinaagi lamang sa pagpadagan sa mosunod nga mando.

$ exodus htop | ssh [email 

Dayon pag-log in sa remote nga makina, ug idugang ang direktoryo /home/tecmint/.exodus/bin sa imong PATH sa imong ~/.bashrc file, aron mapadagan ang htop sama sa bisan unsang ubang command system.

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

I-save ug isira ang file, dayon i-source kini ingon sa mosunod, aron ma-epekto ang mga pagbag-o.

$ source ~/.bashrc

Karon kinahanglan nimo nga makadagan ang htop sa imong hilit nga makina sa Linux.

$ htop

Kung ikaw adunay duha o daghan pa nga binary nga adunay parehas nga ngalan (pananglitan, labaw sa usa ka bersyon sa htop nga na-install sa imong sistema, usa ka /usr/bin/htop ug lain nga /usr/local/ bin/htop), mahimo nimong kopyahon ug i-install kini nga susama sa bandila nga -r, kini makahimo sa pag-assign sa mga alias para sa matag binary sa remote nga makina.

Ang mosunod nga sugo mag-instalar sa duha ka htop nga bersyon nga susama sa /usr/bin/grep nga gitawag og htop-1 ug /usr/local/bin/htop nga gitawag og htop-2 isip gipakita.

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

Atensyon: Ang Exodo adunay ubay-ubay nga mga limitasyon ug kini mahimong mapakyas sa pagtrabaho uban sa non-ELF binaries, dili compatible CPU architectures, dili compatible Glibc ug kernel versions, driver dependent libraries, pro-grammatically loaded libraries ug non-library dependencies.

Para sa dugang nga impormasyon, tan-awa ang exodo help page.

$ exodus -h           

Exodo Github repository: https://github.com/intoli/exodus

Ang Exodo usa ka yano apan gamhanan nga himan alang sa pagkopya sa mga binary gikan sa usa ka makina sa Linux ngadto sa laing hilit nga sistema sa Linux. Sulayi kini ug ihatag kanamo ang imong feedback pinaagi sa comment form sa ubos.