如何使debian包安装依赖项

时间:2011-12-12 15:56:44

标签: linux package debian apt depends

我想制作一个简单的debian软件包来安装一个依赖于Qt4库的简单工具。

在控制文件中,我已经定义它依赖于Qt4库,但是,当我测试包时,它表示无法满足依赖性。

问题:

如何使Debian触发器也易于安装依赖项?

无法找到文档,但我知道apt-get会这样做。

5 个答案:

答案 0 :(得分:20)

如果您想避免创建本地APT存储库,可以执行以下操作:

dpkg -i mypackage.deb
apt-get install --fix-missing

如果您确实想要创建本地存储库,可以使用reprepro

答案 1 :(得分:13)

如果您通过dpkg安装它,它将无效,因为dkpg不知道在哪里可以找到其他依赖项。如果你建立自己的回购,你可以通过apt-get做到这一点,但这是第一次耗费时间(这并不困难,只是第一次需要一些时间学习的“新”)。 / p>

另一方面,您可能正在寻找的解决方案是 gdebi (您可能需要安装它:apt-get install gdebi-core)。它是一个检查包的依赖关系并调用apt-get来获取和安装它们的工具,然后调用dpkg来安装包。

答案 2 :(得分:5)

如果您正在创建 Debian软件包,请在debian/目录控制文件中指定其依赖项;我相信debian/control为此目的采用Depends:指令。

我自己并不清楚细节,但有http://www.debian.org/doc/manuals/maint-guide/的说明;特别是http://www.debian.org/doc/manuals/maint-guide/dreq.en.html#control似乎是开始寻找的合适场所。

答案 3 :(得分:2)

一种方法是在您的计算机上创建本地软件包存储库并将其添加到/etc/apt/sources.list。然后,您可以使用apt-get从本地存储库安装软件包,并自动解决依赖关系。

可能有一种更简单的方法,但我不知道那会是什么。

答案 4 :(得分:2)

@textshell中的this answer

  

从apt 1.1开始(在Xenial(16.04)中可用,拉伸)apt install也允许本地文件:

sudo apt install ./foo-1.2.3.deb
     

更简单,更清洁。

     

请参阅release announcment

这也会安装依赖项,就像普通的apt installapt-get install一样。