将源代码编译成DEB软件包。

我一直在安装和卸载编译软件方面遇到问题,所以我决定想要从源代码构建软件,并将其打包成.deb文件,以便更容易地进行安装和卸载。
作为一个终端用户,我想知道有没有一种简单而快捷的方法来将源代码构建成.deb文件。
我尝试过以下方法: - ubucompilator,但对我来说没有起作用。 - 这个how to指南,但我觉得太长了。

1Ubucompilator是一个有趣的项目,我对他们迄今为止的努力表示赞赏。然而,正如你所发现的,它只提供了一个图形界面前端来执行四到五个低级命令。而且,不,你不能使用它轻松地创建一个正确的.deb软件包。 - david6
4个回答

checkinstall实现您想要的功能: 它将监视安装的文件并将其放入.deb软件包中,然后可以安装和删除

使用以下命令进行安装

apt-get install checkinstall

然后您可以按照常规的源代码安装程序进行操作,将“sudo make install”替换为“sudo checkinstall”:
  ./configure
  make
  sudo checkinstall

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

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

1我推荐这个链接,因为它包含了所有人所需的信息。如果有任何具体问题,我可能能够帮助解答,但不能解释从源代码创建 Debian 包的整个过程。 - Thomas Ward
@ppumkin: 更新完成。 - tumbleweed
这不好,链接推荐的命令已被移除...很可能是因为有充分的理由。 - undefined

我曾多次使用make checkinstall命令在一台机器上创建一个.deb包,然后安装到其他服务器上。这是一种快速安装Beta版本的方法。 它能够正常工作,但需要谨慎使用。 对于不了解.deb包的许多功能的用户来说,可能会遇到一些问题。
我有二十几台使用相同自制应用程序的服务器。 在每个主机上添加构建支持和编译器并不难。
输入命令下载和编译新版本二十次非常耗时。另一种选择是上传一个脚本来执行任务。但通常使用由checkinstall创建的.deb文件来更新应用程序更加方便。

将一些随机的软件代码打包成.deb文件是一个相当复杂的任务,特别是如果软件本身不是以这种形式提供的,与仅仅使用make和make install相比。如果你希望事情变得简单一些,我认为你正在朝着错误的方向发展。
我并不是说你不能做到 - Debian开发者经常这样做。但这似乎不是实现你想要的最简单的方法。
也许你应该更加专注于学习如何从源代码编译和安装软件。对你有利的是,你自己安装的所有东西都应该最终出现在/usr/local目录下。

谢谢你的建议,但是我已经对编译软件有所了解了,我的系统上已经编译了不少软件。唯一困难的是升级或删除它们。所以我觉得一个.deb文件会更方便。 - Ashu
一个deb软件包能够顺利升级或删除本身的原因是有人费尽心思地为每个软件包编写了相应的脚本。此外,他们还不得不添加大量其他描述性元数据,以供dpkg使用来确定文件的用途。你将面临一项艰巨的任务。 - thomasrutter
1其实,就按照Floyd的答案来做吧。总体来看,这似乎是一个更好的解决方案,如果它真的能够做到它所说的! - thomasrutter
是的。Floyd的解决方案很棒。尤其是现在,它非常成熟。现在我不必在大量服务器上从源代码构建了。 :) - Jack_Hu