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.
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, Deb Installer, APT .
- The FreeBSD Ports Collection , sometimes known as just ''ports'', uses Makefile s to install software from sources or binaries. DarwinPorts (for Mac OS X ), NetBSD 's '' Pkgsrc '' and OpenBSD 's Ports Collection are similar.
- Fink , also for Mac OS X, derives partially from dpkg/apt and partially from ports.
- 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 Ebuild s 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 Distribution s. 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 , Slackpkg and Swaret .
- Pacman for Arch Linux uses pre-compiled binaries distributed in a Tgz archive.
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.
|