apt-get vs. aptitude .vs 突触兼容性

Ste*_*and 31 aptitude synaptic apt dpkg

作为一个前 Debian 用户,我“有点”记得我应该只使用一个包管理器... apt-getaptitude, 或synaptic,但不能组合使用这三个,因为可能存在冲突,它们不能很好地混合。

我不知道我在哪里听过它,但它已经留下了它的记忆印记。所以我只是想和你核实一下,是否真的不建议这样做,或者它是否是一个都市传说,并且它是完全安全的。你能确认一下吗?

安装包的最干净的方法是checkinstall在调用之前仍然使用命令dpkg吗?

Oll*_*lli 17

所有这些都dpkg用作后端。没有人使用任何在您使用其他东西时会中断的专用数据库。

这绝对是都市传说。

如果你想从源代码安装一些东西,最干净的方法是使用checkinstall,或者将它安装到/usr/local. 使用包管理器更好,因为删除该包要容易得多。


Oli*_*Oli 14

唯一真正的区别是Aptitude。

  • 如果您使用它以交互方式安装某些东西,然后在其他东西中删除该软件包,然后返回 Aptitude,它会认为您要重新安装它。你只需要在加载时清除选择(通过菜单很容易)。

  • 它还将运行自动删除,以便清理旧的依赖项。如果您不小心删除了依赖于元包的东西,并且删除了它及其所有依赖项,这可能会很危险。如果您知道自己在做什么,这不是问题。


小智 8

Synaptic 和 apt-get 是兼容的。Aptitude 与突触不兼容。这是事实,而不是另一张海报声称的“都市传说”。

今天我想知道我的系统有哪个 Java 运行时。谷歌搜索提出了以下建议:在命令 shell 中,键入:

能力搜索“?提供(java-runtime)”

这生成了(除其他行外)以下内容:

pi gcj-4.4-jre
pi gcj-jre

“pi”的意思是它当前没有安装,但被标记为安装。因此,如果我进入 aptitude 并要求它安装请求的软件包,它将安装 gcj-4.4-jre。但是,在 Synaptic 中,它既没有安装也没有标记为安装。如果我要求 Synaptic 安装请求的软件包,它什么也不做。

我不是这方面的专家,我不知道 aptitude 在哪里隐藏了它的包状态概念,但很明显它与 Synaptic 不兼容。