如何将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
视而不见,您坚持认为这不是问题。 __两种方法都暗示您 不尝试 使用打包工具 来构建
应用程序,而是将其视为仅打包到包中的Blob。这将需要正常debian/rules
工作的一些限制(不要尝试构建任何东西)。
可能的 另一种解决方案(实际上更像Debian)是尝试使用gcc- go
(加上gold
链接):由于它是GCC前端,因此该工具会生成动态链接的应用程序(链接到libgo
或类似这个)。我个人还没有使用过它,只有在您打算尝试将软件包推入Debian中时才考虑使用它。
关于为Debian打包Go程序的一般问题,您可能会发现以下有用的资源:
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