将源代码编译成DEB包


34

我一直在安装和删除编译的软件时遇到问题,因此我决定将软件从源代码编译到.deb软件包中,以便于安装/删除。

我想知道作为最终用户,将源代码构建到.deb包中的简便方法。

我试过了:


1
Ubucompilator是一个有趣的项目,到目前为止,我赞扬他们的努力。但是,正如您所发现的,它仅为四个或五个低级命令提供了一个GUI前端。而且,不,您不能使用它轻松地创建正确的'.deb'软件包。
david6'5

Answers:


47

checkinstall实现了您想要实现的目标:它将监视要安装的文件,并将它们放入.deb软件包中,然后可以进行安装和删除。

用安装

apt-get install checkinstall

然后从源代码过程执行常规安装,将'sudo make install'替换为'sudo checkinstall':

  ./configure
  make
  sudo checkinstall

参考:https : //help.ubuntu.com/community/CheckInstall


9

我们有一个非常好的包装指南,其中包含有关新包装主题的部分


1
我建议使用此链接,因为它包含某人需要的所有信息。另外,如果有任何特定的问题,我也许可以为他们提供帮助,但不能解释从源代码创建debian软件包的整个过程。
托马斯·沃德

@ppumkin:已更新。
风滚草

6

我已经多次使用该make checkinstall命令在.deb要安装在其他服务器上的一台计算机上创建软件包。这是安装Beta版本的快速方法。它可以工作,但应谨慎使用。对于那些不了解.deb软件包许多功能的用户而言,存在一些陷阱。

我有二十多个服务器,它们使用相同的本地应用程序。向每个主机添加构建支持和编译器并不困难。

输入命令以下载和编译新版本二十次非常耗时。另一种方法是上载脚本来执行任务,然后执行脚本。但是使用.deb创建的文件通常更容易更新应用程序checkinstall


0

如果该软件尚未以某种形式出现,则将一些随机的软件代码打包到.deb中的任务相当复杂,尤其是与make,make install相比。如果您希望事情变得简单,我认为您的方向是错误的。

我并不是说您不能做到-Debian开发人员经常这样做。但这似乎并不是执行所需操作的最简单方法。

也许您应该集中精力学习如何从源“工作”中编译和安装软件。对您有利的是,您自己安装的所有内容都应该以/ usr / local结尾


感谢您的建议,但是我已经知道编译软件的问题,我已经安静了许多在系统上编译的软件。我觉得很难的是升级或删除它们。所以我虽然deb文件会更方便
阿苏

一个deb软件包可以顺利升级或删除的原因是,每个软件包的编写者都经过精心编写的脚本。此外,他们还必须添加很多其他描述性元数据,dpkg可以使用这些元数据来确定什么文件。您将为您完成工作。
thomasrutter 2012年

1
实际上,只需遵循弗洛伊德的答案即可。如果它确实做到了它所说的那样,它看起来似乎是整体上更好的解决方案!
thomasrutter 2012年

对。弗洛伊德的解决方案很棒。特别是现在,它极其成熟。现在,我不必在大量服务器上从源代码构建。:)
Jack_Hu
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.