Software that allows administrators (and in some cases also users) to control the installation and upgrade process of packages on their systems.
Package management systems exist for most operating systems. Programs (like interpreters for some languages, scientific computing systems, etc.) may also have their own package manager for handling extensions, scripts or plugins.
The chief goal is to provide a means for software to recursively specify dependancies, allowing a software package's dependant libraries to be automatically installed.