dpkgonly installs a package, so doing
dpkg -i packageName.debwill only install this Deb package, and will notify you of any dependencies that need to be installed, but it will not install them, and it will not configure the
packageName.debbecause well...the dependencies are not there.
apt-getis a Package Management System that handles the installation of Deb packages on Debian-based Linux distributions. A Package Management System is a set of tools that will help you install, remove, and change packages easily. So
apt-getis like a clever
- They came up with a way to "store" the files of an application in a
"package" so that it can be installed easily. So the Deb package (
.debextension file) was born.
- They needed a tool to install these
.debfiles, so they came up with the
dpkgtool. This tool, however, will just install the
.debfile, but will not install its dependencies because it doesn't have those files and it does not have access to "repositories" to go pull the dependencies from.
- Then, they came up with
apt-get, which automates the problems in the previous point. Underneath the hood,
apt-getis a front-end for
dpkg), but a clever one that will look for the dependencies and install them. It even looks at the currently installed dependencies and determines ones that are not being used by any other packages, and will inform you that you can remove them.
aptitudethen came along, and it's nothing but a front-end for
apt-get[so, it's a front-end of a front-end].
aptitudeis a UI (user interface) for
apt-get. If you want to see this UI, simply type
aptitudein the terminal; that's
aptitude, that's what it was originally created for.
apttools to provide more options and perks than
apt-get. For example,
aptitudewill automatically remove eligible packages, while
apt-getneeds a separate command to do so. But, in the end, doing
sudo aptitude install packageName.debis the same as
sudo apt-get install packageName.deb. There might be subtle differences here and there that I do not know about, but they will both look for the dependencies and do all that stuff.
aptitudedoes not have Super Cow Powers.