In this article, I am going over the aptitude command and explaining all of the commands and usage that goes with its usage.
Install Aptitude
Run the following command to install aptitude and task select: sudo apt install aptitude tasksel
Why Aptitude?
Aptitude provides greater dependency resolution and wildcard installations. Making installing or reinstalling entire packages far easier. For instance the following command installs KDE in a simple command: aptitude install ~t^desktop$ ~t^kde-desktop$
aptitude install
- install one or more packages:
sudo aptitude install gedit
- remove a package
sudo aptitude install gedit
- purge a package
sudo aptitude install gedit_
- hold a package at its current version
sudo aptitude install gedit=
- build dependencies for a package
sudo aptitude install gedit&BD
aptitude remove, purge, reinstall
These are the same as using the above commands under install, however, you can utilizing these independent commands with wildcards like below
sudo aptitude purge ^kde-desktop$
aptitude hold, unhold, keep
- hold is the same as the install, but again I like to use this long hand version when utilizing wildcards.
- unhold – is a great way to release held packages
- keep – I DO NOT USE because it merely cancelled scheduled tasks for that package… only it will continue to be upgraded later.
aptitude update, safe-upgrade, full-upgrade
- update – updates the cache
- safe-upgrade – upgrades all packages but will not remove unused packages
- full-upgrade – upgrades all packages but WILL remove unused packages
aptitude search
- search – searches for the package, these search results can use wildcards, be sorted, and culled as needed using various options
- search examples:
- Search for packaged installed from outside stable repo
aptitude search '?narrow(?installed, !?archive(stable))'
- Search for packages installed by the testing repo but not stable
aptitude search '?narrow(?installed, ?archive(testing) !?archive(stable))'
- List installed packages
- List reverse dependencies for gedit
- show broken packages
- display packages on hold
- Find and install all packages with the name tightvnc in it
aptitude search ~ntightvnc
- Install a specific version of a package
aptitude show
- aptitude show
- displays information about the package
aptitude why, why-not
- aptitude why – explains why a package can’t be installs because of a missing dependency
- aptitude why-not – show conflicts in which the package dependency can not be installed
aptitude clean and autoclean
- aptitude clean – removes all previously downloaded packages from the cache directory
- aptitude autoclean – removes cached packages which no longer exist in your repositories
aptitude search terms
https://www.debian.org/doc/manuals/aptitude/ch02s04s05.en.html#tableSearchTermQuickGuide
Video Walkthrough

Note: YouTube Video - Hold Ctrl + Left Click to open in new window