Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'd like to learn about apt-get so nothing bad can surprise me. I was looking for some tutorials but have found nothing that teaches it carefully including its internals. I found this article but it's insufficient for me.

Where can I learn more (excluding documentation and manual pages)?

Mastering here does not mean that I will learn 100 switches of the apt-get command but it means that I will learn how it works on some more general level than reading its source code.

Thank you.

share|improve this question
man apt-get would be a pretty good place to start... – jasonwryan Sep 27 '11 at 9:40
@jasonwryan Maybe you learn from it but I use it rather as a manual or reference. I learn rather form something more cohesive – xralf Sep 27 '11 at 13:51
Are you looking to learn more about the entire .deb package system, or simply the apt command Ubuntu uses to interface therewith? – rmckenzie Sep 27 '11 at 17:55
@Arrdem apt-get and dpkg are the commands that I use most often. I'm interested in the internals of this system. – xralf Sep 27 '11 at 19:14
up vote 3 down vote accepted

Raphael Hertzog released a free chapter - "Maintenance and Updates: The Apt Tools" from his book "Debian Administrator’s Handbook".

share|improve this answer

If you're looking for good online docs you should look at debian docs:


Also as stated the man pages are mandatory


share|improve this answer
I don't think I've ever read the dpkg or apt-get man pages in their entirety. If I had I very much doubt that I would learn what the OP wants to know. I'd not describe them as mandatory at all. – jmtd Sep 27 '11 at 14:13
IMHO man pages are always mandatory. Except if you own a help forum :-) – hmontoliu Sep 27 '11 at 14:15

man apt-get contains detailed information on its internals. You may also want to read man dpkg. There is also very good documentation on Debian's package management infrastructure here.

share|improve this answer

Well, seeing as you are interested in the actual nuts and bolts of the Debian package system, this is probably the page for you: From the Debian Docs

This also seems like a good introduction: Presentation on Apt and Dpkg

Of course Wikipedia is also a fabulous source for an overview as always : Advanced Package Tool

The bottom line it seems is that using only "raw" dpkg, it is quite possible to get stuck in RPM-like dependancy hell. dpkg provides only a framework for writing, distributing and executing pre/make/post scripts for installation.

Aptitude or the "Advanced Packaging Tool" provides a layer of abstraction above the dpkg system which allows for more advanced and useful functionality such as dependency and "recommends" resolution.

So by using apt you are far less likely to shoot yourself (and/or your system) in the foot and you will almost never need to muck with dpkg.

share|improve this answer
Thank you. I like the paragraph Usage from wikipedia article. It would be great if this could be described in more detail. – xralf Sep 28 '11 at 16:21
While dpkg performs actions on individual packages, apt tools manage relations (especially dependencies) between them, as well as sourcing and management of higher-level versioning decisions (release tracking and version pinning). – xralf Sep 28 '11 at 16:22
The above citation could be explained more in depth somewhere. – xralf Sep 28 '11 at 16:23
How/why? That statement is definitional. Dpkg provides an environment for installing arbitrary packages. The point of building the Apt system was to solve version-specific dependency and resource location problems by centralizing everything to the package repos. – rmckenzie Sep 30 '11 at 20:41

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.