# 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'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....