Package management system
From Free net encyclopedia
A package management system is a collection of tools to automate the process of installing, upgrading, configuring, and removing software packages from a computer. The term is most commonly used with regards to Unix-like systems, particularly Linux, as these systems rely heavily on it, with thousands of discrete packages on a typical installation being common.
In such a system, software is distributed in packages, usually encapsulated into a single file. As well as the software itself, packages often include other important information, such as the full name, version, and vendor of the software, checksum information, and a list of other packages, known as dependencies, that are required for the software to run properly.
Package management systems are charged with the task of organising all of the packages installed on a system and maintaining their usability. These systems meet these goals using various combinations of the following techniques:
- Verification of file checksums to help prevent differences between the local and official versions of a package;
- Simple installation, upgrade, and removal facilities;
- Dependency tracking to deliver working software from a package;
- Update checking to provide the latest version of software, which often includes bug fixes and security updates;
- Grouping of packages by function to help eliminate user confusion when installing or maintaining them.
Free software systems
By the nature of free software, packages under similar and compatible licenses are available for use on a number of operating systems. These packages can be easily combined and distributed using configurable and internally complex packaging systems to handle many permutations of software and manage version-specific dependencies and conflicts. Some packaging systems of free software are also themselves released as free software.
- dpkg, used originally by Debian GNU/Linux and now by other systems, uses the .deb format and was the first to have a widely known dependency resolution tool, APT.
- The FreeBSD Ports Collection, sometimes known as just ports, uses Makefiles to install software from sources or binaries. The Mac OS X port of ports is called DarwinPorts. NetBSD's pkgsrc and OpenBSD's ports collection are similar.
- fink, used in Mac OS X, derives partially from dpkg/apt and partially from ports.
- Mac OS X also includes a system known as Installer.
- klik aims to provide an easy way of getting software packages for most major distributions without the dependency problems so common in many other package formats.
- Portage and emerge are used by Gentoo Linux. They were inspired by the BSD ports system and use scripts called ebuilds to install software.
- A recipe file contains information on how to download, unpack, compile and install a package in GoboLinux distribution using its Compile tool. This system is similar to the Gentoo's Portage, but is more simplistic.
- The RPM Package Manager was created by Red Hat, and is now used by a number of other Linux distributions. RPM is the Linux Standard Base packaging format and is the base of a large number of additional tools, including apt4rpm, Red Hat's up2date, Mandriva's urpmi, SuSE's YaST and YUM, used by Fedora Core and Yellow Dog Linux.
- A simple tgz package system combines the standard tar and gzip. Used by Slackware Linux there are a few higher-level tools that use the same tgz packaging format, including: slapt-get, slackpkg and swaret.
- Pacman for Arch Linux uses pre-compiled binaries distributed in a tgz archive.
Proprietary software systems
A wide variety of package management systems are in common use today by proprietary software operating systems, handling the installation of both proprietary and free packages.
- installp is the AIX command for Object Data Manager (ODM) databases.
- SysV format, used by Solaris.
- Software Distributor is the HP-UX package manager.
- Windows Installer is used for installing most software on Microsoft Windows.
See also
fr:Paquetage (logiciel) it:Sistema di gestione dei pacchetti pl:System zarządzania pakietami