Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

When I first started with Ubuntu using aptitude was the 'in-thing', with some stated improvements over apt-get. Am I correct in saying that apt-get has now 'caught up' with aptitude, and it makes little difference which is used (although it is preferable to choose one or the other, and stick with it)?

Moreover, with aptitude set to be removed from a default Ubuntu install, should everyone revert to apt-get, especially when guiding new users interested in the CLI?

share|improve this question
add comment

6 Answers 6

up vote 78 down vote accepted

As far as I can see, in 10.04, the main differences between aptitude and apt-get are:

  1. aptitude adds explicit per-package flags, indicating whether a package was automatically installed to satisfy a dependency: you can manipulate those flags (aptitude markauto or aptitude unmarkauto) to change the way aptitude treats the package.

    apt-get keeps track of the same information, but will not show it explicitly. apt-mark can be used for manipulating the flags.

  2. aptitude will offer to remove unused packages each time you remove an installed package, whereas apt-get will only do that if explicitly asked to with apt-get autoremove or specify --auto-remove.

  3. aptitude acts as a single command-line front-end to most of the functionalities in both apt-get and apt-cache.

  4. In contrast to apt-cache's "search", aptitude's "search" output also shows the installed/removed/purged status of a package (plus aptitude's own status flags). Also, the "install" output marks which packages are being installed to satisfy a dependency, and which are being removed because unused.

  5. aptitude has a (text-only) interactive UI.

I personally use only aptitude for my command-line package management (and I never use the text UI); I find its output more readable than apt-get/apt-cache.

However, if aptitude will be no longer standard on Ubuntu, there's no other choice than use apt-get in instructions and how-to documents.

(Personally, I'm rather disappointed to see it go away in 10.10; especially since the improvements of aptitude over apt-get are mostly on the usability side. I guess they deemed that those conversant with the command-line know how to get aptitude back, and those who don't use the command-line will not care...)

share|improve this answer
aptitude search'es on package names, apt-cache on package name+description (We will just have to start every howto with sudo apt-get install aptitude) –  Source Lab Aug 9 '10 at 8:46
2. However apt-get will tell you that there are unused packages and that you can remove them with apt-get autoremove. –  sepp2k Aug 9 '10 at 9:19
One of the disadvantages of aptitude is the inability to consider pinning as done by apt-get –  txwikinger Oct 15 '10 at 14:21
Aptitude correctly reads /etc/apt/preferences (and the pinning therein), but currently ignores /etc/apt/preferences.d/. It's a known bug so there is hope for it to be fixed soon. –  Riccardo Murri Oct 15 '10 at 14:45
Aptitude has an option to retrieve the changelog easily: aptitude changelog package-name. I am not aware of such feature in apt-get. –  Lekensteyn Feb 13 '11 at 8:48
show 2 more comments

I guess it's a matter of personal choice by now. I find typing aptitude search makes more sense to me than apt-cache search, and I like that it tells me which packages I have installed right there in the search output, instead of having to run dpkg -l.

share|improve this answer
+1 Agreed being able to see if an application is installed while searching is very handy. Although I do find that apt-cache search is a lot faster than aptitude search. –  Mark Davidson Aug 9 '10 at 8:02
I use a two-letter bash alias for apt-cache search, or I would probably be using aptitude search as well. –  belacqua Mar 8 '11 at 0:28
I've noticed that apt-get's search is a bit more thorough than aptitude. The latter seems to only look at the package name, while the former also searches descriptions, I think. e.g. try searching for build-essential. –  Sparhawk Sep 23 '13 at 2:45
add comment

Earlier apt-get would not manage dependencies properly and therefore cause orphaned dependencies to remain in a system even after the package that was using them was uninstalled - this is not longer the case, to remove orphaned dependencies use

sudo apt-get autoremove

aptitude always did this right and tracks dependencies better, but now both package managers do the job.

On ubuntu it is better to use apt-get because its supported and endorsed by the company, on debian I would use aptitude

share|improve this answer
The last statement is not accurate. aptitude is supported just fine on Ubuntu and it is installed by default. There's no difference between Ubuntu and Debian in that regard, either. –  loevborg Aug 9 '10 at 8:19
It is being removed from the default install in 10.10 –  kashif Aug 9 '10 at 9:57
In my experience, aptitude has always been worse at tracking installed dependencies. It tended to remove unrelated ones when removing a program, and ended up breaking other programs in the process... –  Izkata Aug 13 '12 at 20:24
add comment

I would say that in my personal experience aptitude and apt-get have very similar functionality.

The main difference that come to mind that might effect a users choices are, that aptitude offers an ncurses interface and that it offers options for safe-upgrade and full-upgrade that can come in handy.

Personally I always use apt-get and recommend that new users use apt-get as well. With aptitude set to be removed from Ubuntu by default as you said, this still seems to be the best recommendation. As if they did want to use aptitude they will need to know how to use apt-get to install aptitude if they want it :)

share|improve this answer
could you explain what an ncurses interface is please? –  8128 Aug 9 '10 at 8:22
@fluteflute: ncurses is a library used to realize text user interface. en.wikipedia.org/wiki/Ncurses –  dierre Nov 12 '10 at 2:54
add comment

In addition to the other answers, it's also worth noting that apt-get often falls on its face for simple operations, and it has no ability to handle dependency version mismatches or broken packages (although it claims that broken packages can be fixed with apt-get install -f, I've literally never seen that work in my entire life).

For some reason, I still use apt-get by default, but when it encounters problems, I usually end up resolving them with aptitude, which never seems to encounter apt-get's numerous problems.

share|improve this answer
add comment

On a server I prefer Atitude because it comes with a pretty good interface to check package changelogs, selective upgrades and that kinds of stuff. apt-get is more quick though and I always use that if I just want to update everything without too much hassle.

share|improve this answer
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.