总体难度与推荐路径
常见打包路径对比
| 路径 | 适用场景 | 核心命令或文件 | 主要难点 | 推荐度 |
|---|---|---|---|---|
| 标准源码包 + dh-golang | 遵循 Debian Policy、准备进入仓库 | debian/control、debian/rules(调用 dh-golang)、Build-Depends 含 dh-golang、golang-go | 正确声明构建依赖与规则 | 高 |
| 模板生成 + 完善 | 快速起步、减少手写样板 | dh-make-golang 生成骨架,再补充 control/copyright/rules | 仍需补齐合规与元数据 | 高 |
| 预编译二进制封装 | 内部交付、CI 快速产出 | debian/install、debian/rules 仅做安装;必要时用 dpkg-buildpackage -us -uc -b 或 debuild | 需处理 lintian 警告(可用覆盖) | 中 |
| “手工 DEBIAN 目录”法 | 极简场景、学习理解 | 目录 DEBIAN/control;命令 dpkg-deb --build | 不符合标准源码包流程,难维护与合规 | 低 |
| 上述路径中,前两者是长期维护与对外发布的优选;后两者适合快速交付或学习用途。 |
快速上手步骤 dh-golang
#!/usr/bin/make -f
%:
dh $@ --buildsystem=golang --with=golang
my-go-app /usr/bin/
config.toml /etc/my-go-app/
static/ /usr/share/my-go-app/static/
常见坑与处理建议