Is aptitude still considered superior to apt-get?
As far as I can see, in 10.04, the main differences between aptitude and apt-get are:
aptitude
adds explicit per-package flags, indicating whether a package was automatically installed to satisfy a dependency: you can manipulate those flags (aptitude markauto
oraptitude 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.aptitude
will offer to remove unused packages each time you remove an installed package, whereasapt-get
will only do that if explicitly asked to withapt-get autoremove
or specify--auto-remove
.aptitude
acts as a single command-line front-end to most of the functionalities in bothapt-get
andapt-cache
. Note: As of 16.04, there is anapt
command that includes the most commonly used commands fromapt-get
andapt-cache
and a few extra features.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.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...)
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
.
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