ウェブサイト検索

Exodus - Linux バイナリをある Linux システムから別の Linux システムに安全にコピーする


Exodus は、Linux ELF バイナリをあるシステムから別のシステムに簡単かつ安全にコピーするための、シンプルかつ便利なプログラムです。たとえば、デスクトップ マシンには htop (Linux プロセス監視ツール) がインストールされているが、リモート Linux サーバーにはインストールされていない場合、exodus はデスクトップ マシンからhtop バイナリをコピー/インストールする方法を提供します。リモートサーバーに送信します。

すべてのバイナリの依存関係をバンドルし、再配置されたリンカーを直接呼び出す実行可能ファイルの静的にリンクされたラッパーをコンパイルし、バンドルをリモート システムの ~/.exodus/ ディレクトリにインストールします。

ここで実際の動作を見ることができます。

Linux システムに Exodus をインストールする

次のように、Python PIP パッケージ マネージャーを使用してexodus をインストールできます。以下のコマンドは、ユーザー固有のインストールを実行します (ログオンしたアカウントに対してのみ)。

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] 

次に、ディレクトリ ~/.local/bin/~/.bashrc ファイルの PATH 変数に追加して、 exodus は他のシステム コマンドと同様に実行可能です。

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

ファイルを保存して閉じます。次に、別のターミナル ウィンドウを開いて、exodus の使用を開始します。

: gcc と、musl libc または diet libc のいずれかをインストールすることも強くお勧めします (バイナリをパッケージ化するマシン上で、バンドルされたアプリケーション用に静的にリンクされた小さなランチャーをコンパイルするために使用される C ライブラリ。

Exodus を使用してローカル バイナリをリモート Linux システムにコピーする

exodus をインストールしたら、次のコマンドを実行するだけで、ローカル バイナリ (htop ツール) をリモート マシンにコピーできます。

exodus htop | ssh tecmint@server3

次に、リモート マシンにログインし、ディレクトリ /home/tecmint/.exodus/bin~/.bashrcPATH に追加します。ファイルを使用して、他のシステム コマンドと同様に htop を実行します。

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

ファイルを保存して閉じ、次のようにファイルをソースにして変更を有効にします。

source ~/.bashrc

これで、リモート Linux マシンで htop を実行できるようになります。

htop

同じ名前のバイナリが 2 つ以上ある場合 (たとえば、システムに複数のバージョンの htop がインストールされており、1 つは /usr/bin/htop、もう 1 つは /usr/local/bin/htop)、-r フラグを使用して並行してコピーしてインストールできます。これにより、リモート マシン上の各バイナリにエイリアスを割り当てることができます。 。

次のコマンドは、htop-1/usr/ という 2 つの htop バージョンを /usr/bin/grep と並行してインストールします。 local/bin/htop は、次のように htop-2 を呼び出します。

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

注意: Exodus には多くの制限があり、非 ELF バイナリ、互換性のない CPU アーキテクチャ、互換性のない Glibc とカーネルのバージョン、ドライバーに依存するライブラリ、Pro では動作しない可能性があります。 -文法的にロードされたライブラリと非ライブラリ依存関係。

詳細については、exodus のヘルプ ページを参照してください。

exodus -h           

Exodus Github リポジトリ: https://github.com/intoli/exodus

結論

Exodus は、ある Linux マシンから別のリモート Linux システムにバイナリをコピーするためのシンプルかつ強力なツールです。試してみて、下のコメント フォームからフィードバックをお寄せください。