Debian Planet

Welcome to Debian Planet


All your woody are (not quite, but very very very soon) belong to us.
Main Menu

  • Home

  • Topics

  • Web Links

  • Your Account

  • Submit News

  • Stats

  • Top 10

  • Debian

    These are important Debian sites one should not be without!

  • Official Debian site

  • Package search

  • Mailing list archives

  • Bug reports

  • Debian on CD

  • Unofficial woody CD ISOs

  • Unofficial APT sources

  • Developers’ Corner

    Other great Debian news sources:

  • Debian Weekly News

  • Kernel Cousin Debian

    (Debian mailing lists digested)
  • Community Groups

    Need help? You’re not alone on this planet.

  • debianHELP

    (User support site)

  • Debian International



  • EsDebian


  • DebianWorld


  • MaximumDebian


  • DebianUsers


  • Debian-BR


  • IRC

    The place to get help on a Debian problem (after reading docs) or to just chat and chill is #debian on

    Many of the Debian Planet staff live there so pop by and say hello.

    Wanna write?

    Got that latest or greatest scoop? Perhaps you have some important news for the Debian community? Submit a news item!

    Or perhaps you’ve written a rather ground breaking insight into some aspect of Debian and you feel compelled to share it with others? Knock up a longer editorial article and send it to the editors.


    DP is sponsored by Xinit Systems and

    Domains paid for and hosted by

    Buy your Debian merchandise at

    Who’s Online

    There are currently, 46 guest(s) and 3 member(s) that are online.

    You are Anonymous user. You can register for free by clicking here.


    The Debian Sandwich Part II
    by rob on Monday, April 02 @ 21:36:20 BST

    Welcome to the second part of The Debian Sandwich, I received so much glory and praise from the first part so I decided I thought I ought to write a sequel. Before we delve into the mysteries of dpkg which this article is mostly concerned with let me lead you through the reasoning behind The Debian Sandwich. This metaphor relates to the fact that in the Debian package system there are three layers, your highest level (which is the top slice of bread) is your favourite apt front end dselect/gnome-apt/kapt ( does this exist or am I imaging it?), the next layer in the sandwich is apt itself, this is the filling (Bacon, Lettuce and Tomato for me 🙂 ), the front end programs control apt. You can of course run apt yourself and many people do (including me!), apt is itself a wrapper for the lowest layer, dpkg, which is the bottom layer in the sandwich . Dpkg is a complex beast of which we are only going to scratch the surface of, it is unlikely that you will need to use dpkg much, it is mainly used to build new packages and those from source through its variants dpkg-deb, dpkg-buildpackage, dpkg-source (there are lots, typing dpkg and then using the auto complete feature of your shell (if it has one) will reveal them).

    We will just cover the basic and most useful features, of dpkg. If you want more in depth knowledge the man page provides an excellent source of information. I strongly recommend that you use apt as a wrapper for dpkg wherever possible. The only times you will not be able to use apt is if you have a stand alone deb file that you wish to install or if you want to remove a specific package without affecting dependencies etc through the use of –force-thing.

    The basic options available for dpkg are:

    dpkg -i | –install filename(s) – this command simply installs the given package file. Note: it takes the FULL path to the file not just the package name. If the package is already installed it upgrades it to this version

    dpkg -r | –remove packagename(s) – this command removes a package leaving any configuration files. Note: it takes the package name NOT the path to the file.

    dpkg -P | –purge packagename(s) – this command does the same as above but removes the configuration files also

    dpkg -l | –list pattern – find packages matching pattern e.g. dpkg -l *gnome*

    dpkg -s | –status packagename(s) – check the status of specified packages, see the man page for a full list but these include, installed, half-configured etc.

    dpkg -C | –audit – this is a very useful it checks all the installed packages on your system to look for broken packages, useful one to run in a crontab perhaps

    dpkg -L | –listfiles packagename(s) – list files belonging to specified package(s)

    dpkg -S | –search pattern – list the package(s) owning files that match pattern

    Thats about all the important commands there is just one option I think is important to mention and that is –force-thing, this allows you to override certain aspects of the packaging system for the command you are executing, for a full list of possible options do –force-help, but the only one i’ve ever used is –force-depends which turns all dependency problems into warnings.

    I hope you enjoyed this sequel, if you have any comments why not make them below


    Your Name: Anonymous [ New User ]



    Allowed HTML:
    <p> <b> <i> <a> <em> <br> <strong> <blockquote> <tt> <li> <ol> <ul>