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
を ~/.bashrc
の PATH に追加します。ファイルを使用して、他のシステム コマンドと同様に 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 システムにバイナリをコピーするためのシンプルかつ強力なツールです。試してみて、下のコメント フォームからフィードバックをお寄せください。