It's also got a much friendlier set of commands:
$ apt-get upgrade vim # aptitude upgrade vim
$ apt-get dist-upgrade # aptitude full-upgrade
$ apt-cache search # aptitude search
$ apt-get install --reinstall vim # aptitude reinstall vim
$ apt-get remove --purge vim # aptitude purge vim
The list goes on.It's also got an awesome ncurses based interactive interface if you just type:
$ aptitude
Great for sysadmins who miss synaptic or anyone who feels like a GUI is just too mainstream.Among other "advantages" of aptitude, it can be terribly slower than apt-get. And it has a "smart" dependency engine that often proposes convoluted solutions (involving uninstalling packages I don't want uninstalled) when apt-get will simply update the dependency and their dependents... But at least, if you don't agree with the first solutions, it has others (sometimes including the one apt-get chooses).
http://en.wikipedia.org/wiki/Dpkg#History http://en.wikipedia.org/wiki/Dselect http://en.wikipedia.org/wiki/Advanced_Packaging_Tool#History http://en.wikipedia.org/wiki/Aptitude_(software)#History http://www.debian.org/doc/manuals/project-history/ch-detaile....
# installed packages with yaml in the name
aptitude search '~i yaml'
# installed packages requiring yaml
# (~D means depends on)
aptitude search '~i ~D yaml'
# packages whose name starts with lib and
# mentioning SQL in their descriptions
aptitude search '^lib ~d sql'
# installed packages from some non-standard repo
# apt-cache policy describes package origins
aptitude search '~i ?origin(apt.opscode.com)'
# why is libvirt0 installed?
aptitude why libvirt0
# which ubuntu metapackage is keeping libvirt0 installed?
aptitude why '~i ubun' libvirt0
# don't keep any transitional package installed
sudo aptitude markauto '~i ~d transitional'
# purge ganeti packages
sudo aptitude purge '~i ganeti'Now I'm even more annoyed that our servers are all CentOS :(
It ate up the entire 1 GB of RAM and got OOM killed before it could finish computing dependencies.
I shouldn't need a swap partition just to update packages. So now I use apt-get if I'm upgrading a lot of packages at once. aptitude for other tasks.
"Although the aptitude command comes with rich features such as its enhanced package resolver, this complexity has caused (or may still causes) some regressions such as Bug #411123, Bug #514930, and Bug #570377. In case of doubt, please use the apt-get and apt-cache commands over the aptitude command."
http://www.debian.org/doc/manuals/debian-reference/ch02.en.h...