登录
首页 >  Golang >  Go问答

为 Debian 打包 Go 应用程序

来源:Golang技术栈

时间:2023-03-30 08:25:07 183浏览 收藏

欢迎各位小伙伴来到golang学习网,相聚于此都是缘哈哈哈!今天我给大家带来《为 Debian 打包 Go 应用程序》,这篇文章主要讲到golang等等知识,如果你对Golang相关的知识非常感兴趣或者正在自学,都可以关注我,我会持续更新相关文章!当然,有什么建议也欢迎在评论留言提出!一起学习!

问题内容

如何将我的 Go 二进制文件放入 Debian 包中?由于 Go 是静态链接的,我只有一个可执行文件——我不需要很多复杂的项目元数据信息。有没有一种简单的方法来打包可执行文件和资源文件而不会经历 的创伤debuild

我已经到处寻找现有的问题;然而,我所有的研究都提出了关于包含 golang 开发环境的 .deb 文件的问题/答案(即,如果你这样做,你会得到什么sudo apt-get install golang-go)。

正确答案

好吧。我认为唯一的“创伤”debuild是它lintian在构建包之后运行,并且是lintian谁试图发现你的包的问题。

因此,有两种方法可以对抗这种情况:

  • 请勿使用debuild:此工具仅调用dpkg-buildpackage真正进行必要的举重。构建二进制包的通常调用是dpkg-buildpackage -us -uc -b. 您仍然可能会debuild出于其他目的而调用,debuild clean例如。
  • 添加所谓的“lintian override”,它可以用来对您的包裹的 选定lintian问题视而不见,您坚持认为这些问题不是问题。 __

这两种方法都意味着您 不要尝试 通过打包工具来构建应用程序,而是将其视为刚刚包装到包中的 blob。这将需要稍微避免正常的debian/rules工作方式(不尝试构建任何东西)。

另一种 可能 的解决方案(实际上更像是 Debian-ish)是尝试使用gcc-go(加上gold链接):因为它是 GCC 前端,所以这个工具产生一个动态链接的应用程序(链接到libgo或类似的东西这)。我个人还没有使用它的经验,并且只有在您打算尝试将您的软件包推送到 Debian 中时才会考虑使用它。

关于为 Debian 打包 Go 程序的一般问题,您可能会发现以下资源很有用:


2015 年 10 月 15 日更新

(由于这篇文章似乎仍在被人们搜索、发现和研究,我决定更新它以更好地反映当前的事态。)

从那时起,打包 Go 应用程序和软件包的情况得到了显着改善,并且可以使用“经典”Go(所谓的gc套件源自 Google)而不是gcc-go. 并且还有一个很好的包基础设施。

现在dh-golang描述了在对 Go 程序进行 debian 时使用的关键工具。

今天关于《为 Debian 打包 Go 应用程序》的内容介绍就到此结束,如果有什么疑问或者建议,可以在golang学习网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表