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

812*_*128 197 package-management aptitude apt

当我第一次开始使用 Ubuntu 时,使用的aptitude是 'in-thing',在apt-get. 我是否正确地说apt-get现在已经“赶上了” aptitude,并且使用哪个几乎没有区别(尽管最好选择一个或另一个,并坚持下去)?

此外,aptitude设置要从默认的 Ubuntu 安装中删除,每个人都应该恢复到apt-get,尤其是在指导对 CLI 感兴趣的新用户时?

Ric*_*rri 133

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

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

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

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

  3. aptitude充当单个命令行前端,提供apt-getapt-cache. :截至16.04,有一个apt包括从最常用的命令命令apt-getapt-cache和一些额外的功能。

  4. apt-cache'search' 不同,aptitude'search' 输出还显示包的安装/删除/清除状态(加上 aptitude 自己的状态标志)。此外,“安装”输出标记了哪些软件包正在安装以满足依赖关系,哪些软件包由于未使用而被删除。

  5. aptitude 有一个(纯文本)交互式用户界面。

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

但是,如果aptitude在 Ubuntu 上不再是标准配置,除了apt-get在说明和操作文档中使用之外别无选择。

(就我个人而言,我很失望地看到它在 10.10 中消失;特别是因为 aptitude 的改进apt-get主要是在可用性方面。我猜他们认为那些熟悉命令行的人知道如何恢复 aptitude,并且那些不使用命令行的人不会在意......)

  • aptitude 搜索包名称,apt-cache 包名称+描述(我们只需要使用 `sudo apt-get install aptitude` 开始每个操作方法) (11认同)
  • Aptitude 正确读取`/etc/apt/preferences`(以及其中的固定),但是[当前](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557580) 忽略了`/etc/ apt/preferences.d/`。这是一个 [已知错误](http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=557580) 所以希望它很快得到修复。 (4认同)
  • 2. 然而 apt-get 会告诉你有未使用的包,你可以用 `apt-get autoremove` 删除它们。 (3认同)
  • Aptitude 有一个选项可以轻松检索更改日志:`aptitude changelog package-name`。我不知道 `apt-get` 中有这样的功能。 (3认同)
  • aptitude 的缺点之一是无法像 apt-get 那样考虑固定 (2认同)

its*_*dok 21

我想现在这是个人选择的问题。我发现打字aptitude search更有意义我比apt-cache search,我喜欢它告诉我,我已经安装了哪些软件包搜索输出就在那里,而不必运行dpkg -l

  • +1 同意能够在搜索时查看是否安装了应用程序非常方便。虽然我确实发现 apt-cache 搜索比 aptitude 搜索快得多。 (2认同)

kei*_*ios 13

较早的 apt-get 无法正确管理依赖项,因此即使在卸载使用它们的软件包之后,孤立的依赖项仍会保留在系统中 - 现在不再是这种情况,要删除孤立的依赖项,请使用

sudo apt-get autoremove
Run Code Online (Sandbox Code Playgroud)

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

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

  • 它正在从 10.10 的默认安装中删除 (3认同)
  • 最后一个说法不准确。`aptitude` 在 Ubuntu 上得到很好的支持并且它是默认安装的。在这方面,Ubuntu 和 Debian 之间也没有区别。 (2认同)

web*_*rc2 6

除了其他答案之外,还值得注意的是,apt-get对于简单的操作,它经常会陷入困境,并且它无法处理依赖版本不匹配或损坏的包(尽管它声称可以使用 修复损坏的包apt-get install -f,但我确实我一生中从未见过那样的作品)。

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