Next Previous Contents

1. Introduction

1.1 Linux packaging tools

At the current time, there are three main packaging tools being used in the Linux environment.

  • tarballs - this is the oldest packaging tool, and is simply a "tarball" (compressed tar(1) file) of all files in the package, relative to root. It does not contain a mechanism to specify or enforce package dependencies, identification of configuration files, or scripts to be run during installation or removal. It is still used by the "Slackware" distribution.
  • RPM - this is packaging format and tool used by Redhat. (Hence "Redhat Package Manager.) It provides a mechanism to support package dependencies, identification of configuration files, etc. RPM is a special binary file format, and the corresponding source file is a SRPM file. It is used by "Redhat" and all derived distributions.
  • DEB - this is the packaging format and tools used by Debian. It serves the same role as RPM, but the packages can be manipulated with standard tools: tar(1), ar(1), and gzip(1).
  • Modern package managers serve several important roles. They ensure that all package dependencies (both "required" and "conflicting") are satisfied. They ensure that configuration files are overwritten when packages are upgraded. They can be used to identify unexpected files in the system area. They can be used with configuration management tools to ensure that development and testing environments can always be reconstructed.

    1.2 Target audience

    This document is intended for system administrators and developers working with Debian packages, but not Debian packagers. (Debian developers will have their own tools.)

    I must assume that the reader has basic Unix skills.

    No Debian package development skills are necessary to understand this document. The reader is referred to the dpkg-doc and debhelper packages for more information.

    1.3 Trademarks et al

    "Linux" is a trademark of Linux Torvalds. "Debian" is a trademark of Software in the Public Interest, Inc.. I have no official connection with either group in any role other than that of user.

    1.4 To do

    list of applications broken by 'stack guard' - I bookmarked the page listing problems... somewhere...

    Next Previous Contents