2.2.1. apt vs. apt-get / apt-cache vs. aptitude

尽管 aptitude 是作者主要使用的一个非常好的可互动工具,但你应该知道下列警示:

  • 不建议在新版本发布后在 stable Debian 系统上使用 aptitude 命令来进行跨版本的系统升级。

    • 建议使用”apt full-upgrade“或“apt-get dist-upgrade” 来进行这个操作。参见 Bug #411280
  • aptitude命令有时候会为了testingunstable Debian 系统升级清除大量软件包。

    • 这个情况吓坏了许多的系统管理员。请不要惊慌。

    • 这似乎大多数是由元软件包的依赖或推荐的软件包版本偏差造成的,例如 gnome-core

    • 要解决这个问题,可以在 aptitude 命令菜单中选择 “取消待执行的动作” ,退出 aptitude,并使用 “apt full-upgrade”。

apt-getapt-cache 是最基础 的基于 APT 的软件包管理工具。

  • apt-getapt-cache 只提供命令行用户界面。

  • apt-get 是进行跨版本的主系统升级等操作的最合适工具。

  • apt-get 提供了一个强大的软件包依赖解析器。

  • apt-get 对硬件资源的要求不高。它消耗更少的内存并且运行速度更快。

  • apt-cache 提供了一个 标准的正则表达式来搜索软件包名称和描述。

  • apt-getapt-cache 可以使用 /etc/apt/preferences 来管理软件包的多个版本,但这非常繁琐。

apt 命令是一个用于软件包管理的高级命令行界面。它基本上是 apt-getapt-cache 和类似命令的一个封装,被设计为针对终端用户交互的界面,它默认启用了某些适合交互式使用的选项。

  • apt 工具在用户使用 apt install 安装软件包时提供了一个友好的进度条。

  • 在成功安装下载的软件包后,apt 将默认删除缓存的 .deb 软件包。

[提示]提示

建议用户使用新的 apt(8) 命令用于 交互式的使用场景,而在 shell 脚本中使用 apt-get(8) 和apt-cache(8) 命令。

aptitude 命令是最通用的基于 APT 的软件包管理工具。

  • aptitude 提供了一个全屏的交互式文本用户界面。

  • aptitude 同样也提供了一个命令用户界面。

  • aptitude 是用于日常软件包管理(例如检查已安装的软件包和搜索可用的软件包)的最合适工具。

  • aptitude 对硬件资源的要求更高。它消耗更多的内存并且运行速度更慢。

  • aptitude 提供一个增强的正则表达式来搜索所有的软件包元数据。

  • aptitude 可以管理软件包的多个版本,并且不使用 /etc/apt/preferences,这会十分直观。