我第一次使用 Ubuntu 时,使用的aptitude
是 ,它比 有一些明显的改进apt-get
。我说apt-get
现在已经“赶上”了aptitude
,使用哪个都没什么区别,对吗(尽管最好选择其中一个并坚持使用)?
此外,由于aptitude
将从默认 Ubuntu 安装中删除,每个人都是否应该恢复到apt-get
,特别是在指导对 CLI 感兴趣的新用户时?
答案1
据我所知,在 10.04 中,aptitude 和 apt-get 之间的主要区别是:
aptitude
添加明确的每个包标志,指示包是否自动安装以满足依赖性:您可以操作这些标志(aptitude markauto
或aptitude unmarkauto
)来改变 aptitude 处理包的方式。apt-get
跟踪相同的信息,但不会明确显示。apt-mark
可用于操作标志。aptitude
每次删除已安装的软件包时都会提示删除未使用的软件包,而只有在使用或指定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
。
但是,如果它不再是 Ubuntu 的标准,那么除了在说明和操作方法文档中aptitude
使用之外别无选择。apt-get
(就我个人而言,我相当失望看到它在 10.10 中消失;特别是因为 aptitude 的改进apt-get
主要是在可用性方面。我猜他们认为那些熟悉命令行的人知道如何恢复 aptitude,而那些不使用命令行的人不会关心......)
答案2
我想现在这已经是个人选择的问题了。我发现输入aptitude search
比 更有意义apt-cache search
,而且我喜欢它在搜索输出中告诉我安装了哪些软件包,而不必运行dpkg -l
。
答案3
以前的 apt-get 无法正确管理依赖项,因此即使在使用它们的包被卸载后,孤立的依赖项仍会保留在系统中 - 现在不再是这样,要删除孤立的依赖项,请使用
sudo apt-get autoremove
aptitude 始终能正确地完成这项工作并能更好地跟踪依赖关系,但现在两个包管理器都可以完成这项工作。
在 ubuntu 上最好使用 apt-get,因为它得到公司的支持和认可,在 debian 上我会使用 aptitude
答案4
我想说,根据我的个人经验,aptitude 和 apt-get 具有非常相似的功能。
想到的可能影响用户选择的主要区别是,aptitude 提供了 ncurses 界面,并且提供了方便的安全升级和完全升级选项。
我个人总是使用 apt-get,并建议新用户也使用 apt-get。正如您所说,默认情况下 aptitude 将从 Ubuntu 中删除,这似乎仍然是最好的建议。如果他们确实想使用 aptitude,他们需要知道如何使用 apt-get 来安装 aptitude :)