aptitude仍被认为优于apt-get吗?

当我第一次使用aptitude开始使用aptitude就是’in-thing’,并且有一些比apt-get更好的改进。 我是否正确地说, apt-get现在已经“赶上”了aptitude ,并且使用它几乎没有什么区别(虽然最好选择其中一个,并坚持下去)?

此外,如果将aptitude设置为从默认的Ubuntu安装中删除,那么每个人都应该恢复到apt-get ,特别是在引导对CLI感兴趣的新用户时吗?

据我所知,在10.04中,aptitude和apt-get之间的主要区别是:

  1. aptitude添加显式的每包标志,指示是否自动安装包以满足依赖:您可以操作这些标志( aptitude markautoaptitude unmarkauto )来改变aptitude处理包的方式。

    apt-get跟踪相同的信息,但不会明确显示。 apt-mark可用于操作标志。

  2. aptitude将提供每次删除已安装的软件包时删除未使用的软件包,而apt-get只有在明确要求使用apt-get autoremove或指定--auto-remove apt-get autoremove

  3. aptitude充当apt-getapt-cache大多数function的单一命令行前端。 注意 :从16.04开始,有一个apt命令,其中包括apt-getapt-cache最常用的命令以及一些额外的function。

  4. apt-cache的“搜索”相反, aptitude的“搜索”输出还显示了包的安装/删除/清除状态(加上aptitude自己的状态标志)。 此外,“安装”输出标记正在安装哪些包以满足依赖性,并且因为未使用而被删除。

  5. aptitude有一个(纯文本)交互式UI。

我个人只使用aptitude进行命令行包管理(我从不使用文本UI); 我发现它的输出比apt-get / apt-cache更具可读性。

但是,如果aptitude不再是Ubuntu的标准,那么除了使用apt-get in instructions和how-to文档之外别无选择。

(就个人而言,我很失望地看到它在10.10中消失;特别是因为aptitude的aptitude的改进主要是在可用性方面。我猜他们认为那些熟悉命令行的人知道如何获得能力回来,那些不使用命令行的人不会在乎…)

我想这是个人选择的问题。 我发现输入aptitude search对我来说比apt-cache search更有意义,我喜欢它告诉我在搜索输出中安装了哪些软件包,而不是必须运行dpkg -l

之前的apt-get不能正确地管理依赖关系,因此即使在使用它们的软件包被卸载后也会导致孤立的依赖关系保留在系统中 – 这不再是用于删除孤立依赖项的情况

 sudo apt-get autoremove 

aptitude总是这样做并更好地跟踪依赖关系,但现在两个包管理器都能完成这项工作。

在ubuntu上最好使用apt-get,因为它得到了公司的支持和认可,在debian上我会使用aptitude

除了其他答案之外,还值得注意的是, apt-get经常因简单操作而失败,并且它无法处理依赖版本不匹配或破坏的软件包(尽管它声称可以使用apt-get install -f修复损坏的软件包apt-get install -f ,我一生都没见过这项工作。

出于某种原因,我仍然默认使用apt-get ,但是当它遇到问题时,我通常最终会用aptitude解决它们,这似乎永远不会遇到apt-get的众多问题。

我会说,根据我的个人经验,aptitude和apt-get具有非常相似的function。

可能会影响用户选择的主要区别是,aptitude提供了一个ncurses接口,并提供了安全升级和全面升级的选项,可以派上用场。

我个人总是使用apt-get并建议新用户也使用apt-get。 如你所说,默认设置默认情况下会从Ubuntu中删除,这似乎仍然是最好的建议。 好像他们确实想要使用aptitude他们需要知道如何使用apt-get来安装aptitude如果他们想要它:)

在服务器上我更喜欢Atitude,因为它带有一个非常好的界面来检查包更改日志,选择性升级和那些东西。 apt-get虽然更快,但我总是使用它,如果我只想更新所有内容而不会有太多麻烦。