将 Go 服务打包为 Debian 包的要点
一 方法与工具选择
二 目录结构与核心控制文件
| 文件 | 作用 | 关键要点或示例 |
|---|---|---|
| debian/control | 包元数据与依赖 | Source/Package 名称;Build-Depends 建议含 debhelper-compat (= 13)、dh-golang、golang-go;运行时 Depends 常用 ${shlibs:Depends}, ${misc:Depends};设置 Architecture: any;填写 Homepage、Description。 |
| debian/rules | 构建脚本 | 最小示例:%: dh $@ --with golang;如需自定义安装步骤,可 override_dh_auto_install 并配合 dh_golang_install 与 dh_install。 |
| debian/changelog | 版本变更记录 | 使用规范的 Debian changelog 格式,每次版本升级递增版本号与日期。 |
| debian/copyright | 许可证与版权 | 明确应用自身与所有 Go 模块依赖 的许可证,便于合规审查。 |
| debian/compat | debhelper 兼容级别 | 常用 13(或当前最新稳定版本)。 |
| debian/install | 安装映射 | 例:your-go-app /usr/bin/;config.toml /etc/your-go-app/;static/ /usr/share/your-go-app/static/。 |
三 构建与交付流程
四 服务化与系统集成
systemctl daemon-reload 并在 postrm 中处理 systemctl disable --now。五 质量与合规检查