[AuckLUG] Settle an arguement for me! apt-get, apititude and dpkg
Tim Giffney
swift at swift.4hv.org
Sun Jun 24 12:51:49 NZST 2007
Hi Trent,
This is how I understand it, please correct me if you don't agree.
dpkg is the base program, which handles the actual installation of
packages (.debs). It takes the downloaded package, checks the
dependencies, and if they are ok unpacks, installs and configures the
package.
apt-get is the standard frontend for dpkg, which is always present on a
debian system. It handles the selection of packages, management of
package lists (ie if you ask for "nano" it checks in the package list
downloaded earlier, and resolves the package name to the right version,
and the version to a file on the source - eg. "nano-1.0-r1_arm.deb", and
does this for all the dependencies of nano and their dependencies and so
on. Then apt-get downloads the package from the source url eg.
"ftp://ftp.debian.org/debian/pool/main/n/nano/nano_1.2.4-5_arm.deb" ,
and passes the downloaded package to dpkg to install. It seems to be
the standard way to manage a debian system's packages - it can do
anything necessary.
aptitude is an optional frontend, while usually there it may not always
be present. It provides an ncurses (like the interface of the text
editor nano or "make menuconfig") interface to dpkg, which some people
find easier to use. As well as the commands in apt-get you can browse
through and select packages from lists, and also play minesweeper :)
Personally I only use apt-get and dpkg. apt-get is for all normal
package managing, updating, upgrading etc. dpkg can be used to install
.debs that did not come from debian - unofficial .debs of specific
programs, or when you are setting up a system without using the
installer, or when you want to reconfigure a package manually - eg.
"dpkg-reconfigure xserver-xorg" There is also wajig, a python frontend
for apt, which I like to use for searching.
Hope this is helpful,
Tim
More information about the AuckLUG
mailing list