我想制作一个简单的debian软件包来安装一个依赖于Qt4库的简单工具。
在控制文件中,我已经定义它依赖于Qt4库,但是,当我测试包时,它表示无法满足依赖性。
问题:
如何使Debian触发器也易于安装依赖项?
无法找到文档,但我知道apt-get会这样做。
答案 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)
从apt 1.1开始(在Xenial(16.04)中可用,拉伸)
apt install
也允许本地文件:sudo apt install ./foo-1.2.3.deb
更简单,更清洁。
这也会安装依赖项,就像普通的apt install
或apt-get install
一样。