199

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?

8128
  • 28,740

6 Answers6

134

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. Note: As of 16.04, there is an apt command that includes the most commonly used commands from apt-get and apt-cache and a few extra features.

  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...)

  • 11
    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)

    – LasseLuttermann Aug 09 '10 at 08:46
  • 3
  • However apt-get will tell you that there are unused packages and that you can remove them with apt-get autoremove.
  • – sepp2k Aug 09 '10 at 09:19
  • 2
    One of the disadvantages of aptitude is the inability to consider pinning as done by apt-get – txwikinger Oct 15 '10 at 14:21
  • 4
    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
  • 1
    Would you mind if I removed all the backticks? All that (visual) noise makes this unreadable, even though it's a good answer. –  Oct 16 '10 at 19:16
  • @Roger: thanks for the suggestion, I kept only thos that were grouping two or more words. Feel free to edit more. – Riccardo Murri Oct 16 '10 at 19:43
  • 3
    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 08:48
  • @RiccardoMurri for quick ref, it was marked Fixed in version 0.6.3-3.2 @ 18 Oct 2010 – underscore_d Oct 17 '15 at 17:56
  • 1
    What it an equivalent of apt-get autoremove with aptitude? I have old kernels that apt-get autoremove suggests me to remove, but i see no way to remove them with aptitude. – Alexey Feb 15 '17 at 23:52
  • @sepp2k It seems the behaviour of apt-get is different from the behaviour of aptitude in this regard, see the remark by Alexey above and the question http://askubuntu.com/questions/889771/how-to-make-aptitude-clean-up-old-kernels. – Jonas Dahlbæk Mar 09 '17 at 09:44