Exodus - 安全地将Linux二进制文件从一个Linux系统复制到另一个Linux系统

Exodus是一个用于将Linux ELF二进制文件从一个系统复制到另一个系统的工具,当远程Linux发行版上不提供软件包时,这非常有用。

Exodus是一个简单而有用的程序,可以轻松安全地将Linux ELF二进制文件从一个系统复制到另一个系统。 例如,如果您的桌面计算机上安装了htop(Linux进程监视工具) ,但未安装在远程Linux服务器上,则exodus会提供一种方法将htop二进制文件从桌面计算机复制/安装到远程服务器。

它捆绑了所有二进制文件的依赖关系,为直接调用重定位链接器的可执行文件编译一个静态链接包装器,并将该包安装在远程系统的~/.exodus/目录中。

你可以在这里看到它的行动。

在两种严重的情况下,Exodus确实派上用场: 1)如果您在计算机上没有root权限,和/或2)您想使用的软件包不适用于您在另一台机器上运行的Linux发行版。

在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}"
在Bashrc中添加Exodus路径

在Bashrc中添加Exodus路径

保存并关闭文件。 然后打开另一个终端窗口开始使用出埃及记。

注意 :强烈建议您在要打包二进制文件的机器上安装gccmusl libcdiet libc (用于编译捆绑应用程序的小型静态链接启动器的C库)之一。

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

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

$ exodus htop | ssh [email protected]
Exodus将Htop Binaries复制到远程Linux

Exodus将Htop Binaries复制到远程Linux

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

export PATH="~/.exodus/bin:${PATH}"
在远程Linux Bashrc中添加Exodus路径

在远程Linux Bashrc中添加Exodus路径

保存并关闭该文件,然后按如下所示进行采集,以使更改生效。

$ 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 [email protected]

注意 :Exodus有许多限制,它可能无法与非ELF二进制文件,不兼容的CPU体系结构,不兼容的Glibc和内核版本,依赖于驱动程序的库,编程加载的库和非库依赖关系一起使用。

有关更多信息,请参阅出埃及帮助页面。

$ exodus -h           

Exodus Github存储库https//github.com/intoli/exodus

结论

Exodus是简单而强大的工具,用于将二进制文件从一台Linux机器复制到另一台远程Linux系统。 试试看,并通过下面的评论表单向我们提供反馈。


分享按钮