缺少依赖项,但是包没有损坏?

缺少依赖项,但是包没有损坏?

上下文

我想审核我已安装的软件包。我创建了一个 Python 助手,调用dpkg-query,使用 Python 字典和列表创建一个软件包数据库。助手足够智能,可以检查依赖项是否确实存在于字典中,从而克隆已安装的软件包数据库。我收到软件包错误wings3d:助手通知我erlang-abi-13.a缺少名为的软件包。Synaptic 告诉我此软件包未安装。它仍将此软件包列为wings3d依赖项,但将其显示在依赖项中,使用斜体而不是常规字体。

问题

当 Synaptic 使用斜体显示依赖项时,这是什么意思?为什么依赖项可能缺失,而软件包似乎没有损坏?

答案1

所有以 开头的包erlang-abi都是虚拟包。从 apt-cache 输出中可以看出:

apt-cache show erlang-abi-15.b
N: Can't select versions from package 'erlang-abi-15.b' as it is purely virtual
N: No packages found

你的助手没有考虑到虚拟包,所以它失败了。这也是为什么 Synaptic 显示包时斜体

答案2

apt-cache depends erlang-abi-13.a # see what depends upon it

apt-cache rdepends erlang-abi-13.a # see what it depends upon

然后对 wings3d 执行相同操作,查看是否列出了 erlang-abi-13.a。

进行发行版更新时,软件包和要求可能会有点混乱。这可能是造成这种情况的原因。

相关内容