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路径
保存并关闭文件。 然后打开另一个终端窗口开始使用出埃及记。
注意 :强烈建议您在要打包二进制文件的机器上安装gcc和musl libc或diet libc (用于编译捆绑应用程序的小型静态链接启动器的C库)之一。
使用Exodus将本地二进制文件复制到远程Linux系统
安装exodus后 ,只需运行以下命令即可将本地二进制文件(htop工具)复制到远程计算机。
$ exodus htop | ssh [email protected]
Exodus将Htop Binaries复制到远程Linux
然后登录到远程机器,并将目录/home/youcl/.exodus/bin
添加到您的~/.bashrc
文件中的PATH中,以便像其他任何系统命令一样运行htop 。
export PATH="~/.exodus/bin:${PATH}"
在远程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系统。 试试看,并通过下面的评论表单向我们提供反馈。