构建一个 .deb 文件,同时安装依赖项

我是一个小团队的一员,负责开发一个内部网页应用程序。我们希望能够提供一种简单的安装方法,所以我们考虑了一下像apt-get那样工作的方式,特别是在安装依赖项方面。
我们的应用程序有很多依赖项(如PHP5、PostgreSQL、FOP等),但我们需要对安装访问权限进行控制。出于这个考虑,我们开始研究如何构建我们自己的.deb文件。看起来我可以在我的控制文件中定义依赖项,但当我们尝试使用dpkg安装.deb文件时,依赖项会被检查,失败然后安装停止。
然后我运行了一个apt-get -f install命令,再次运行带有依赖项的安装,但我不想这样做。
所以问题就在这里,是否有一种方法让.deb文件可以自动安装依赖项,就像apt-get install abc那样?
基本上,我们希望使安装尽可能简单,因此不希望最终用户运行任何不必要的命令。

你选择/激活的依赖项是否在你的存储库中?在默认安装中,只有主要存储库是激活的,也许你还需要宇宙和受限制的存储库。(别忘了重新加载源。) - Reivax
你能澄清一下吗:你已经写好了包含控制文件和规则文件的Debian文件吗?如果你已经完成了,你应该知道在这些文件中可以指定构建和安装你的软件包所需的其他软件包。我建议你将这些要求列出来。然后,你可以设置自己的软件包服务器,以便客户可以轻松访问你的软件包。如果客户专门通过deb服务器进行安装,那就是这样做的。无论客户使用apt-get、aptitude、synaptic还是其他接口来访问dpkg数据库都没有关系。我是否误解了你的问题? - pauljohn32
2个回答

Gdebi

gdebi安装deb软件包及其依赖项。要使用它,请运行:

sudo gdebi package.deb

在较新的Ubuntu版本中,默认情况下不会安装此软件,因此您需要从软件源中安装它。
请参阅man gdebi以获取完整的选项列表。 gdebi是与Ubuntu中默认包含的同名图形工具相当的命令行工具。图形工具的命令是gdebi-gtk,并具有类似的功能:

gdebi-gtk


现在,这已经由软件中心处理了。
  1. 双击任何deb文件将启动软件中心
  2. 点击安装,它将下载依赖项