Package (package management system)

From Wikipedia, the free encyclopedia
Jump to: navigation, search
For other uses, see Software package.

A software package is a software that has been built from source with one of the available package management systems (PMS).[1] The package is typically provided as compiled code, with additional meta-information such as a package description, package version, or "dependencies". The package management system can evaluate this meta-information to allow package searches; to perform automatic upgrades to a newer version; to check that all dependencies of a package are fulfilled and/or to fulfill them automatically by installing missing packages.

Almost all Linux distributions are built around, and heavily based upon a package management system and every piece of software available in the online package repositories is packaged into a software package, so that the user can conveniently install, update, downgrade or uninstall them, resulting in a tidy and secure operating system.

When the version dependency allows for it, libraries are packaged independently and used commonly. This introduces something called "dependency hell", a serious burden upon the distribution maintainers. But it also reduces code duplication inside of the operating system to a minimum, and at the same time multiplies the possibilities to test the version of a library for stability and security flaws. Thus, the existence of a package management system results in Linux distributions being relatively smaller in size compared to operating systems which do not have a package management system. In conjunction with the general advantages and benefits of free software this also results in better overall security and quality[citation needed], provided the package is actively maintained.

See also[edit]


  1. ^ Ludovic Courtès, Functional Package Management with Guix, June 2013, Madrid, European Lisp Symposium 2013 ;