当前位置: 首页 > 面试题库 >

Debian的Packaging Go应用程序

马奇略
2023-03-14
问题内容

如何将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)是尝试使用gcc- go(加上gold链接):由于它是GCC前端,因此该工具会生成动态链接的应用程序(链接到libgo或类似这个)。我个人还没有使用过它,只有在您打算尝试将软件包推入Debian中时才考虑使用它。

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

  • 该线程由Go for Debian打包程序之一在g​​o-nuts上启动。
  • 特别是,该线程中的第一篇文章链接到有关debian-devel的讨论。
  • 关于相同问题,debian-devel上的第二个线程(这是前一个线程的逻辑延续)。

2015 年10月15日 更新

(由于该帖子似乎仍被人们搜索和发现,因此我决定对其进行更新,以更好地反映当前的状况。)

从那时起,打包Go应用程序和程序包的情况得到了显着改善,并且可以使用“经典” Go(gc源自Google
的所谓套件)而不是来构建Debian程序包gcc-go。并且也存在用于打包的良好基础结构。

现在dh- golang介绍在对Go程序进行Debian化时要使用的关键工具。



 类似资料:
  • 关于我以前的问题,我在Linux上运行企业级web应用程序时遇到了一些问题。在投资一台真正的登台机之前,我想我应该在Raspbery Pi上试一试,但现在,我们在一台真正的Debian计算机上运行该应用程序。 这个问题和我前面的问题一样。 起初,我认为这更像是tomcat的问题,但现在,我认为这是一个 <罢工> 覆盆子皮 Linux问题。 我将Spring bean定义为; 它给了我,说明没有定义

  • 目录 6.1. 安装程序如何工作 6.2. 元件介绍 6.3. 使用单独的元件 6.3.1. 启动 Debian 安装程序与配置硬件 6.3.2. 分区与选择挂载点 6.3.3. 安装基本系统 6.3.4. 创建启动系统 6.3.5. 完成第一阶段 6.3.6. 杂项

  • 目录 6.1. 安装程序如何工作 6.2. 元件介绍 6.3. 使用单独的元件 6.3.1. 启动 Debian 安装程序与配置硬件 6.3.2. 分区与选择挂载点 6.3.3. 安装基本系统 6.3.4. 创建启动系统 6.3.5. 完成第一阶段 6.3.6. 杂项

  • 第 6 章 使用 Debian 安装程序 目录 6.1. 安装程序如何工作 6.2. 元件介绍 6.3. 使用单独的元件 6.3.1. 启动 Debian 安装程序与配置硬件 6.3.2. 分区与选择挂载点 6.3.3. 安装基本系统 6.3.4. 创建启动系统 6.3.5. 完成第一阶段 6.3.6. 杂项

  • Debian 开发人员配置了几种在不同硬盘和不同体系结构上的分区程序。下面是一个适合你的结构的程序 列表。 partman 推荐的 Debian 分区工具。这个小而全的工具也可以创建文件系统 (在 Windows 下的说法是 "格式化" speak) 。 以及联系分区至挂接点。 fdisk 原始版本的 Linux 磁盘分区工具,对于高手很好用;请阅读 fdisk 手册页 . 这里注意如果你的机器上

  • Debian 开发人员配置了几种在不同硬盘和不同体系结构上的分区程序。 下面是一个适合你的结构的程序列表。 partman 推荐的 Debian 分区工具。这个小而全的工具可以修改分区大小,创建文件系统 以及联系分区至挂接点。 cfdisk A simple-to-use, full-screen disk partitioner for the rest of us; read the cfdi