# Linux 解压即用打包说明 ## 目标 `build_linux_self_contained.sh` 会在 Linux x86_64 构建机上生成一个自带 Python 运行时和 Python 依赖的发布包。目标机器解压后可以直接运行,不需要额外安装 Python 或 pip 依赖。 ## 构建机要求 - Linux x86_64 - `bash` - `python3`,需要带 `venv` 模块 - 构建时需要访问 Python 包索引,用于安装 PyInstaller 和项目依赖 该脚本不支持在 Windows 上交叉构建 Linux 包。建议在和目标环境 glibc 版本相同或更旧的 Linux 发行版上构建,以提高二进制兼容性。 ## 构建命令 ```bash bash packaging/build_linux_self_contained.sh ``` 默认会安装 `.[mcp]`,即包含 MCP 可选依赖。如果只想打最小包: ```bash PACKAGE_EXTRAS= bash packaging/build_linux_self_contained.sh ``` 构建产物: ```text dist/linux_self_contained/pam-deploy-agent-linux-x86_64/ dist/linux_self_contained/pam-deploy-agent-linux-x86_64.tar.gz ``` ## 解压后运行 ```bash tar -xzf pam-deploy-agent-linux-x86_64.tar.gz cd pam-deploy-agent-linux-x86_64 ./run.sh --help ./run.sh chat --config doc_scripts/config.txt.example --strategy fake --checkpoint runtime/checkpoints/demo.json ``` `run.sh` 会切换到发布目录再启动可执行程序,因此默认的 `doc_scripts/...` 相对路径可以正常工作。 ## 包大小评估 最终大小以脚本末尾打印的 `du` 结果为准。按当前依赖结构预估: | 构建方式 | 压缩包大小 | 解压后大小 | 主要影响因素 | | --- | ---: | ---: | --- | | 默认包含 MCP 依赖 | 60-110 MB | 160-300 MB | PyInstaller 运行时、langgraph、mcp 及其依赖 | | `PACKAGE_EXTRAS=` 最小包 | 45-75 MB | 120-200 MB | PyInstaller 运行时、langgraph 及基础依赖 | 当前项目源码和脚本文档本身体积很小,包大小主要由 Python 运行时、PyInstaller bootloader、第三方依赖和动态库决定。