为什么我能够使用 aptitude 修复损坏的软件包,但无法使用 apt-get 或 synaptic 修复?

为什么我能够使用 aptitude 修复损坏的软件包,但无法使用 apt-get 或 synaptic 修复?

昨天我升级了 Debian 测试,Audacious 停止工作。故障排除我发现问题是它已更新到最新版本,但所需的插件却没有。我尝试从其网站手动安装插件,但我不能,缺少很多软件包,而且每次安装一个插件都需要其他软件包,依此类推。

所以我的解决方案是将我的存储库更改为 wheezy 并返回到旧版本。此后,audacious 就坏了,我无法修复它。我尝试过apt-get cleanapt-get install -f并修复了 Synaptic 损坏的软件包。两者都不起作用。但是,我使用 aptitude 安装它,并且是在自动修复依赖项后安装的。

我的问题是,为什么 apt-get 和 Synaptic 都无法修复依赖关系,而 aptitude 却可以?

答案1

Aptitude 在解决依赖关系时更加激进,实际上它创建了几个解决依赖关系的方法。您可能做了什么,您尝试安装/删除/升级, aptitude 检测到一些损坏的依赖项,并询问您是否接受建议的修复。

您没有注意到(按 YYYY),但 aptitude 确实询问过您,并且您接受了修复。

答案2

在这个“类似”的问题中“apt-get”和“aptitude”之间的真正区别是什么? (“wajig”怎么样?)有一点基本上可以解释这种情况。

“如果您想要采取的操作(安装、删除、更新软件包)导致冲突,aptitude 可以建议几种可能的解决方案。apt-get 只会说“对不起戴夫,我不能允许您这样做”

相关内容