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 tailor 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.
There are several main 'flavours' of PackageManagementTool in use in various LinuxDistribution. These include:
- RedHat Package Manager, used not only by RedHat but also a number of others. Its RPM format for Packages has become a sort of standard because it was the first one used in any LinuxDistribution that had any form of dependency management.
- This is Debian's Package manager. KnoppixLinux, Progeny and other LinuxDistributions are "Debian-based" and thus use this as well. FileFormat is Deb.
- Slackware uses nearly plain TarBalls that include a description and a postinstall script.
- This is the source based PackageManagementTool that BSD uses. Several LinuxDistributions use a similar idea.
- Gentoo's version of source based PackageManagement, driven by a tool called emerge.
- Sorceror Linux has a 'spell book' approach to source based PackageManagement.
Frontends to these tools include:
- A front-end to rpm provided by RedHat for RedHat and FedoraCore. You get to use it on one machine per user free, and can pay for the right to use it on more machines.
- FedoraCore's conconction. The vendor-recommended way to install software on that distribution.
- One of the best tools around. It traditionally wraps dpkg, but there is an AptForRpm variant now (and rapidly gaining popularity). It was the first front-end to nicely handle dependencies: apt-get install foo will automatically download and install not only foo, but also any unfulfilled dependencies foo may have. There are lots of supplemental utilities surrounding -- see DebianPackageTools.
- Mandriva's PackageManagementTool based on RPM.