网站搜索

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 libcdiet libc 之一(用于在您将打包二进制文件的计算机上编译用于捆绑应用程序的小型静态链接启动器的 C 库。

使用 Exodus 将本地二进制文件复制到远程 Linux 系统

一旦安装了exodus,您只需运行以下命令即可将本地二进制文件(htop 工具)复制到远程计算机。

exodus htop | ssh tecmint@server3

然后登录到远程计算机,并将目录 /home/howtoing/.exodus/bin 添加到 ~/.bashrc 中的 PATH 中文件,以便像任何其他系统命令一样运行 htop

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

保存并关闭文件,然后按如下方式获取它,以使更改生效。

source ~/.bashrc

现在您应该能够在远程 Linux 计算机上运行 htop

htop

如果您有两个或多个同名的二进制文件(例如,系统上安装了多个版本的 htop,一个 /usr/bin/htop 和另一个 /usr/local/bin/htop),您可以与 -r 标志并行复制和安装它们,它可以为远程计算机上的每个二进制文件分配别名。

以下命令将与 /usr/bin/grep 并行安装两个 htop 版本,称为 htop-1/usr/ 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 系统。尝试一下并通过下面的评论表向我们提供您的反馈。