确实,我不应该在同一台机器上运行apt-get和aptitude?

我现在已经在Ubuntu上使用了apt-get了几年,并且尝试了几次aptitude。 我曾经在一些博客上看到,一旦你使用了系统中的某个工具,就应该坚持使用,不要使用其他工具,因为它们工作方式不同,会导致问题。

现在,阅读之后apt-get和aptitude有什么区别? ,我看不出为什么。

那么这是真的吗? 在这种情况下,像Ubuntu这样的系统可能会使用apt-get进行自动更新,甚至推荐使用aptitude?

有关更多信息,请参阅David Pashley的答案。

那么, aptitude更现代化,至less有一个apt-get缺less的特性: aptitude会跟踪哪些软件包因依赖关系(而不是显式的用户请求)而被安装,并且在需要它们的软件包被从系统。 编辑:其实,apt-get的最新版本也做到这一点。 然而,显然天资的冲突解决比apt-get更先进。

还要注意aptitude现在比apt-get 更受欢迎。 但是除了上面提到的问题,两者都是完全兼容的,可以并排使用。

顺便说一句,请注意,您也可以直接从命令行使用aptitude,例如

 aptitude install foo 

所以如果你只使用apt-get进行直接安装,你可以完全切换到aptitude。

这里有更多的(对我来说,不使用两者的主要原因):

正如我在这个主题中所提到的那样:如果出于任何原因需要阻止一个包,即使可用,也不希望它被升级, 根据所使用的工具, 有两种不同的方法

  • 才能:

aptitude保存软件包名称

  • apt-get:

echo“package-name hold”| dpkg – 设置select

这意味着如果你拿着一个apt-get的软件包,在执行“aptitude upgrade”的时候,你最终会升级你想要的软件包!

这可能是非常烦人的,特别是如果你在一个团队工作,如果人们使用这两种工具。

不,你可以同时使用。

另外, aptitude也可以代替apt-cache 。 我倾向于使用它 – 如果你在交互模式下启动它,忘记sudo有一个选项来解决这个问题。 🙂

注意,我有aptitude有时自动安装推荐或build议的依赖关系; 你可能要检查是否真的需要一个包,如果它看起来可疑(我安装了一些SMART监视工具后,我曾经有过aptitude安装postfix ,我应该报告错误)。

如果推荐/build议的话,删除额外的软件包是很容易的。

我build议切换到aptitude:正如Sleeke所说,它能够更好地解决冲突问题,它提供了一个ncurses GUI,在不久的将来它应该会得到一个GTK + GUI 。

我有一个经验,aptitude与apt-get发生冲突(其中一个原因就是上面提到的package hold)。 在那种情况下,我记得apt-get可以运行,但是资质告诉我,很多依赖问题需要解决,这些问题不能由我来解决。

所以现在我只使用apt-get。