[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Apt, Dselect, and Dpkg. What's the different?



Tam Ma <tam@wmi.com> writes:
Tam> I am new at Debian and I am kind confused about the Apt, Dselect,
Tam> and Dpkg programs. Slink was released earlier today and it has:
Tam> 	Apt (part 1), the new backend to dselect
Tam>   	Apt (part 2), the new commandline
Tam> I know Apt will soon have a front end (Apt 3 for "Potato") that
Tam> will replace Dselect but for now does Apt (part 1), the new
Tam> backend, replaces Dpkg program because Dpkg is also a backend to
Tam> deselect?

No; APT runs on top of dpkg.

Tam> I am really confused about the relation of Apt, Dselect, and
Tam> Dpkg. If anyone has the time, please write back and tell what is
Tam> the defferences and relationship between these programs. If this
Tam> question was asked before, please tell me the date of it and I
Tam> will look for it.

So...there's this program called dpkg.  It does some useful stuff,
including installing and removing packages and checking dependencies
and that sort of thing.  Details are available at dpkg(8).

But to use dpkg, you need to have copies of the Debian package files
you're using on your system already.  You might be able to get the
files, either by downloading, or on a CDROM or NFS-mounted Debian
mirror, but now you've got a few thousand files named *.deb.

dselect displays a listing of packages, sorts them by section and
priority, and lets you select some to install/remove.  dselect doesn't 
run dpkg directly; instead, it relies on one of a half-dozen or so
backends, which know about CDROMs, or local mirrors, or NFS, or FTP,
or so on.  You select an [A]ccess method, pick some packages, and ask
dselect to ask the backend to [I]nstall them for you.

The problems with this are (1) dselect's user interface can be kind of 
cumbersome, particularly if you only need to install one or two
packages, and (2) the provided backends aren't wonderful about making
packages install in the right order so there aren't dependency
conflicts and such.  Thus was created APT.  It can run as a dselect
backend that knows about local archives and HTTP (and, in the stable
version, FTP), in which case the main difference you'll see from using 
it is that most of your installs will probably work the first time.

APT can also be used independently.  If you've somehow broken your
system's dependencies, you can use 'apt-get -f install' to fix them.
It's also useful if you want to install a package that you don't have
locally: 'apt-get install foo' will download package foo and all of
its dependencies, and install them without going through dselect.  All 
of this does, however, rely on dpkg to get the actual work done.

HTH...

-- 
David Maze             dmaze@mit.edu          http://donut.mit.edu/dmaze/
"Hey, Doug, do you mind if I push the Emergency Booth Self-Destruct Button?"
"Oh, sure, Dave, whatever...you _do_ know what that does, right?"


Reply to: