Penguin
Note: You are viewing an old revision of this page. View the current version.

One of the major points of difference between LinuxDistributions? is the PackageManagementTool they use.

A PackageManagementTool is a program, or set of programs, that give the system administrator (whether that be an administrator of a large network of machines, or Joe Public at his single-user Linux desktop) rapid, easy control over which packages are installed.

Most PackageManagementTools revolve around binary distributions of packages. That is, they consult a repository of pre-compiled packages and install the package best suited to your system architecture. They may also offer source packages, allowing you to build the package locally with whatever patches and optimization or configuration options you may have chosen. Other PackageManagementTools are source based - they may not even provide binary packages at all, but at least try really hard to avoid them. These download the sources for a package, apply any vendor-provided patches, then compile on the local machine. This process takes considerably longer, but some people swear it gives them much better performance. It does have the advantage that you can taylor the system very closely to your desires, but is not much fun on slow machines, particularly for the desktop where such mammoths as GNOME, KDE, Mozilla, and OpenOffice are waiting to occupy your machine for hours on end.

In general, features offered by a PackageManagementTool are:

  • a repository of packages which the administrator can install on their machine(s)
  • a database of already installed packages
  • easy ways to uninstall packages
  • easy ways to upgrade packages
  • etc

An important point PackageManagement has to address is dependencies. For example, while trying to install X-Chat, a graphical IRC client, you may find yourself having to look for GTK+? and/or GNOME library packages it depends on. In turn, trying to install those may have you looking for further packages they depend on, which may again have their own unfulfilled dependecies - and so on. Installing any not entirely trivial package can take ages and turn out to be a very frustrating job. Source based distributions have intelligent dependency management by default, while the binary based distributions usually rely on front-ends to ease the laborous task of meeting all the dependencies of a particular package.

A link to a comparison of package formats, originally seen on Slashdot: http://www.kitenet.net/joey/pkg-comp/