如何使debian包安装依赖项

Nun*_*tos 12 linux debian apt package depends

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

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

题:

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

无法找到文档,但我知道apt-get就是这样做的.

Tho*_*ard 20

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

dpkg -i mypackage.deb
apt-get install --fix-missing
Run Code Online (Sandbox Code Playgroud)

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

  • #apt-get install -f --fix-missing (4认同)

Car*_*rós 14

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

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

  • 你想要"gdebi-core",而不是"gdebi"包; 但是,命令行实用程序称为"gdebi". (2认同)

BRP*_*ock 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似乎是开始寻找的合适场所.


sam*_*per 5

每个@textshell这个答案

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

sudo apt install ./foo-1.2.3.deb
Run Code Online (Sandbox Code Playgroud)

如此简单和清洁。

查看发布公告

这也将安装依赖项,就像普通的apt installapt-get install


Jon*_*han 3

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

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