在Ubuntu上,为什么有时“ sudo apt-get”而其他时候“ sudo aptitude”?


11

我试图弄清楚如何安装libgtk2.0-dev,发现我必须使用

sudo aptitude install

代替

sudo apt-get install

为什么这两种不同的获取方式?

Answers:


12

apt-get并且aptitude都是dpkg的前端。使用一个或另一个,但要保持一致。Aptitude是较新的并且应该更易于使用。它还统一了某些apt-*功能。您可以使用aptitude搜索安装,同时用APT- *您需要apt-getapt-cache安装,并分别搜索。

在复制和粘贴命令时,通常将所有apt-get示例替换为aptitude

aptitude不带任何选项运行即可获得选择软件包的界面。我从来没有使用过它,所以我不知道它有多友好。


3

apt-get aptitude都是Debian软件包管理器 dpkg的接口。

资质迟来到APT-命令的套房,并有一些可用性功能不存在于后者,但我还没有遇到过,你的情况下,必须使用一个比其他。

Wikipedia上关于aptitude的条目指出,它开始于apt - suite 的前端:

aptitude是高级打包工具(APT)的前端。它显示软件包列表,并允许用户以交互方式选择要安装或删除的软件包。[...] 尽管aptitude是单个可执行文件,但它提供的CLI功能类似于apt-系列工具(apt-get,apt-cache,apt-listchanges等)。Aptitude还模拟了大多数apt-get命令行选项,使其可以作为某些apt-get用法的直接替代品。


2

长期的Debian用户告诉我其他地方,aptitude它拥有自己的数据库,该数据库与apt保留的数据库一起维护。这意味着同时使用这两个可互换性有时会导致一些令人困惑的事情发生,尤其是aptitude当它似乎具有软件包状态的一个稍微陈旧的副本时。我已经看到这种情况的发生:它会导致神秘地无法删除或无法安装的软件包等内容。

GUI程序synaptic没有此问题,因为它完全依赖于apt数据库。



0

较小的区别之一是,如果您将软件包标记为“自动删除”,则虽然简单的apt-get安装会列出它们,但将进行aptitude安装并将其作为软件包安装的一部分删除。

除非您使用'build-dep'安装软件包,否则没什么大不了,从8.10开始,所有build-dep安装的软件包都标记为自动安装(将在apt-get中添加为auto remove,并在aptitude中删除。

(如果您计划构建并使用'build-dep',那么这会在您希望保留时阻止自动标记(或防止apt-get Ex。mplayer中出现大型自动删除列表。sudo apt-get build-dep mplayer -o APT :: Get :: Build-Dep-Automatic = false

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.