当我第一次开始使用 Ubuntu 时,使用aptitude
的是“in-thing”,在apt-get
. 我是否正确地说apt-get
现在已经“赶上了” aptitude
,并且使用哪个几乎没有区别(尽管最好选择一个或另一个,并坚持下去)?
此外,aptitude
设置要从默认的 Ubuntu 安装中删除,每个人都应该恢复到apt-get
,尤其是在引导对 CLI 感兴趣的新用户时?
当我第一次开始使用 Ubuntu 时,使用aptitude
的是“in-thing”,在apt-get
. 我是否正确地说apt-get
现在已经“赶上了” aptitude
,并且使用哪个几乎没有区别(尽管最好选择一个或另一个,并坚持下去)?
此外,aptitude
设置要从默认的 Ubuntu 安装中删除,每个人都应该恢复到apt-get
,尤其是在引导对 CLI 感兴趣的新用户时?
据我所知,在 10.04 中,aptitude 和 apt-get 之间的主要区别是:
aptitude
添加显式的每个包标志,指示是否自动安装包以满足依赖关系:您可以操纵这些标志(aptitude markauto
或aptitude unmarkauto
)来更改 aptitude 处理包的方式。apt-get
跟踪相同的信息,但不会明确显示。apt-mark
可用于操作标志。aptitude
每次您删除已安装的软件包时都会提供删除未使用的软件包,而只有在明确要求 with或指定apt-get
时才会这样做。apt-get autoremove
--auto-remove
aptitude
apt-get
充当和中大多数功能的单个命令行前端apt-cache
。注意:从 16.04 开始,有一个apt
命令包括最常用的命令apt-get
和apt-cache
一些额外的功能。apt-cache
与“搜索”相反,aptitude
“搜索”输出还显示包的安装/删除/清除状态(加上 aptitude 自己的状态标志)。此外,“安装”输出标记正在安装哪些包以满足依赖关系,哪些包因为未使用而被删除。aptitude
有一个(纯文本)交互式用户界面。我个人仅
aptitude
用于我的命令行包管理(而且我从不使用文本 UI);我发现它的输出比apt-get
/更具可读性apt-cache
。但是,如果
aptitude
在 Ubuntu 上不再是标准配置,那么除了apt-get
在说明和操作指南文档中使用之外别无选择。(就个人而言,我很失望看到它在 10.10 中消失;特别是因为 aptitude 的改进
apt-get
主要是在可用性方面。我猜他们认为那些熟悉命令行的人知道如何恢复 aptitude,并且那些不使用命令行的人不会在意...)我想现在这是个人选择的问题。我发现打字
aptitude search
对我来说比 更有意义apt-cache search
,我喜欢它告诉我在搜索输出中我已经安装了哪些软件包,而不是必须运行dpkg -l
.早期的 apt-get 无法正确管理依赖项,因此即使在使用它们的软件包被卸载后,也会导致孤立的依赖项保留在系统中 - 不再是这种情况,要删除孤立的依赖项,请使用
aptitude 总是正确地做到这一点并更好地跟踪依赖关系,但现在两个包管理器都可以完成这项工作。
在 ubuntu 上最好使用 apt-get 因为它得到公司的支持和认可,在 debian 上我会使用 aptitude
除了其他答案之外,还值得注意的是,它
apt-get
经常会因为简单的操作而陷入困境,并且它没有能力处理依赖版本不匹配或损坏的包(尽管它声称损坏的包可以用 修复apt-get install -f
,我真的我这辈子都没见过这样的作品)。出于某种原因,我仍然
apt-get
默认使用,但是当它遇到问题时,我通常最终会用 解决它们aptitude
,这似乎从未遇到过apt-get
众多问题。我会说,根据我的个人经验, aptitude 和 apt-get 具有非常相似的功能。
可能影响用户选择的主要区别是,aptitude 提供了一个 ncurses 界面,并且它提供了可以派上用场的安全升级和完全升级选项。
就我个人而言,我总是使用 apt-get 并建议新用户也使用 apt-get。正如您所说,默认情况下将 aptitude 设置为从 Ubuntu 中删除,这似乎仍然是最好的建议。就好像他们确实想使用 aptitude 一样,如果他们想要的话,他们需要知道如何使用 apt-get 来安装 aptitude :)
在服务器上,我更喜欢 Atitude,因为它带有一个非常好的界面来检查包更改日志、选择性升级和诸如此类的东西。不过 apt-get 更快,如果我只想更新所有内容而没有太多麻烦,我总是使用它。