aptitude
是“真正的事情”,它对apt-get
进行了一些改进。我是否正确地说apt-get
现在已经“赶上了” aptitude
,并且使用的差别不大(尽管最好选择其中一个并坚持使用)?此外,将
aptitude
设置为从默认的Ubuntu安装中删除后,每个人都应该还原到apt-get
,尤其是在指导对CLI感兴趣的新用户时吗?#1 楼
据我所知,在10.04中,aptitude和apt-get之间的主要区别是:
aptitude
添加了显式的按包标记,指示是否自动安装了软件包以满足相关性:您
可以操纵这些标志(
aptitude markauto
或aptitude unmarkauto
)来更改智能处理软件包的方式。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
具有(纯文本的)交互式UI。 br /> 我个人仅对命令行程序包使用
aptitude
管理(而且我从不使用文本UI);我发现其输出比
apt-get
/ apt-cache
更易读。 但是,如果
aptitude
在Ubuntu上不再是标准的,那么除了在说明和操作方法文档中使用apt-get
之外,别无选择。(个人而言,我很失望看到它在10.10版本中消失;
尤其是由于对
apt-get
的适应性改进主要是在可用性方面。我想他们认为这些是熟悉命令行的人知道如何重新获得才能,并且
那些不使用命令行的人不会在意...)
评论
在软件包名称上进行aptitude搜索,在软件包名称+说明上进行apt-cache(我们只需使用sudo apt-get install aptitude开始每一个howto)
–拉瑟·波尔森
2010年8月9日在8:46
2.但是,apt-get会告诉您有未使用的软件包,您可以使用apt-get autoremove将其删除。
–sepp2k
2010年8月9日,9:19
才能的缺点之一是无法像apt-get一样考虑固定
–txwikinger
2010-10-15 14:21
Aptitude会正确读取/ etc / apt / preferences(以及其中的固定),但当前会忽略/etc/apt/preferences.d/。这是一个已知的错误,因此有希望尽快修复。
–里卡多·穆里(Riccardo Murri)
2010-10-15 14:45
Aptitude有一个选项可以轻松检索更改日志:aptitude changelog软件包名称。我不知道apt-get中的这种功能。
– Lekensteyn
2011-2-13在8:48
#2 楼
我想现在这是个人选择的问题。我发现键入aptitude search
对我来说比apt-cache search
更有意义,而且我喜欢它告诉我在搜索输出中已经在其中安装了哪些软件包,而不必运行dpkg -l
。评论
+1同意在搜索时能够查看是否已安装应用程序非常方便。尽管我确实发现apt-cache搜索比aptitude搜索要快得多。
–马克·戴维森
2010年8月9日在8:02
我将两个字母的bash别名用于apt-cache搜索,或者我也可能会使用aptitude搜索。
– Belacqua
2011-3-8的0:28
我注意到apt-get的搜索比智能搜索更彻底。我认为,后者似乎只查看软件包名称,而前者也搜索说明。例如尝试搜索基本构建。
– Sparhawk
2013年9月23日在2:45
#3 楼
早期的apt-get不能正确管理依赖项,因此即使卸载了正在使用它们的软件包,也导致孤立的依赖项保留在系统中-不再如此,要删除孤立的依赖项,请使用sudo apt-get autoremove
aptitude总是能够正确地做到这一点,并且可以更好地跟踪依赖关系,但是现在这两个软件包管理器都可以做到。
在ubuntu上最好使用apt-get,因为它支持和公司认可,在debian上,我会使用aptitude
评论
最后的陈述不正确。 aptitude在Ubuntu上也受支持,并且默认情况下已安装。在这方面,Ubuntu和Debian之间也没有区别。
–loevborg
2010年8月9日在8:19
它已从10.10的默认安装中删除。
– kashif
2010年8月9日,9:57
以我的经验,在跟踪已安装的依赖项方面,才智一直较差。在删除程序时,它倾向于删除不相关的程序,并最终破坏了该程序中的其他程序。
–伊兹卡塔
2012年8月13日在20:24
用apapt等同于apt-get autoremove?我有旧的内核,可以通过apt-get autoremove来删除,但是我看不到有能力删除它们。
– Alexey
17-2-15在23:45
@Alexey您可以使用aptitude remove'〜g'。 (来源)请注意,在使用aptitude删除软件包时,它将自动删除未使用的依赖项。
–nyuszika7h
17年7月16日在17:51
#4 楼
除了其他答案外,还值得注意的是,apt-get
经常会因为简单的操作而浮出水面,并且无法处理依赖版本不匹配或损坏的程序包(尽管它声称可以使用apt-get install -f
修复损坏的程序包,我说:从字面上看,我一生都没有见过这种工作)。 由于某种原因,默认情况下我仍然使用
apt-get
,但是当遇到问题时,我通常最终会用aptitude
解决它们,似乎从来没有遇到apt-get
的众多问题。评论
我在解决冲突方面也有类似的经验,从这个意义上讲,才智是一种更好的选择。
– VolkanYazıcı
17年4月26日在19:13
作为记录,我只是看到apt-get install -f修复了我的系统。 aptitude有问题,此问题已解决,然后我要做的第一件事就是安装aptitude :)选择是一件好事(tm)
– teknopaul
18年5月6日在12:58
#5 楼
我想说,根据我的个人经验,能力和apt-get具有非常相似的功能。想到的可能影响用户选择的主要区别在于,aptitude提供了ncurses界面,并且提供了可以方便使用的安全升级和完整升级选项。
我个人始终使用apt-get,并建议新用户也使用apt-get。如您所说,默认情况下将aptitude设置从Ubuntu删除,这似乎仍然是最佳建议。
就好像他们确实想使用aptitude一样,如果需要,他们将需要知道如何使用apt-get来安装aptitude :)
评论
您能否解释一下ncurses接口是什么?
– 8128
2010年8月9日在8:22
@fluteflute:ncurses是用于实现文本用户界面的库。 en.wikipedia.org/wiki/Ncurses
– Dierre
10-11-12在2:54
评论
今天最酷的孩子使用apt而不是使用以下任何一种:itsfoss.com/apt-vs-apt-get-difference资质有时为什么很方便,却没有真正的等效物。