>_ DevTrendszh

语言

首页

语言

板块

前端 后端 移动端 DevOps AI / ML 游戏开发 区块链 嵌入式 安全
Python

Exodus - 如何在 Linux 系统之间无容器迁移二进制文件

熟悉的情况:某个工具在你的笔记本上运行得很好,但在服务器的仓库里找不到?或者仓库里的版本已经过时了?Intoli 的 Exodus 优雅地解决了这个问题——它可以在系统之间迁移二进制文件及其所有依赖项。

为什么这很重要

简单地复制二进制文件几乎总是以错误告终:

Exodus 自动查找所有依赖项,创建一个静态链接的启动器,并将软件包安装到目标机器的 ~/.exodus/。只需一条命令即可完成:

主要特性

  1. 自动收集依赖项 — Exodus 分析 ELF 二进制文件并查找所有必需的库
  2. SSH 传输 — 便捷的 SSH 集成,实现即时部署
  3. 灵活操作
    • 通过 --add 添加额外文件
    • 通过 --detect 自动检测依赖项
    • 在传输过程中重命名二进制文件
  4. Docker 支持 — 可以将捆绑包包含在 Docker 镜像中
  5. 容器的替代方案 — 无需 Docker 和其他容器化系统即可运行

工作原理

Exodus 创建一个特殊的目录结构:

启动器是一个小程序,它:

  1. 确定自己的位置
  2. 使用正确的库路径启动链接器
  3. 忽略系统库,只使用传输的库

实际应用场景

  1. 部署到服务器(无需 root 权限)
  2. 在不同 Linux 发行版之间传输工具
  3. 创建软件的便携版本
  4. 向 Docker 镜像添加软件(不增加镜像大小)

局限性

  • 仅支持 ELF 二进制文件(不适用于脚本)
  • 需要兼容的 CPU 架构

安装

Exodus 是以下人员的必备工具:

  • 系统管理员
  • DevOps 工程师
  • 在不同环境中工作的开发人员

开源项目,采用 BSD 2-Clause 许可证。试试看——从此告别系统间二进制文件迁移的烦恼!

Exodus 演示

相关项目