apt-get vs. aptitude .vs synaptic compatibility

作为一名前Debian用户,我“有点”记得我应该只使用其中一个软件包管理器…无论是apt-getaptitude还是synaptic ,而不是组合中的三个’因为可能存在冲突,他们不要好好混合。

我不知道我在哪里听到它,但它已经留下了记忆。 所以我只想与你确认是否真的没有建议,或者它是一个都市传奇,它是完全安全的。 你能证实一下吗?

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

唯一真正的区别是能力。

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

  • 它还将运行autoremove,以清除旧的依赖项。 如果您不小心删除了某个metapackage依赖的东西并将其删除并删除了所有deps,这可能会很危险。 如果您知道自己在做什么,这不是问题。

所有这些都使用dpkg作为后端。 当你使用其他东西时,都没有使用任何破坏的专用数据库。

这绝对是都市传奇。

如果要从源代码安装某些东西,最简单的方法是使用checkinstall ,或将其安装到/usr/local 。 使用包管理器更好,因为然后删除该包更容易。

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

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

aptitude search“?提供(java-runtime)”

这产生了(以及其他行)以下内容:

 pi gcj-4.4-jre
 pi gcj-jre

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

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