Updating urpmi database
To give users more control over the kinds of software that they are allowing to be installed on their system (and sometimes due to legal or convenience reasons on the distributors' side), software is often downloaded from a number of software repositories.
When a user interacts with the package management software to bring about an upgrade, it is customary to present the user with the list of things to be done (usually the list of packages to be upgraded, and possibly giving the old and new version numbers), and allow the user to either accept the upgrade in bulk, or select individual packages for upgrades.
Package metadata include package description, package version, and dependencies (other packages that need to be installed beforehand).
Package managers are charged with the task of finding, installing, maintaining or uninstalling software packages upon the user's command.
Typical functions of a package management system include: Computer systems that rely on dynamic library linking, instead of static library linking, share executable libraries of machine instructions across packages and applications.
In these systems, complex relationships between different packages requiring different versions of libraries results in a challenge colloquially known as "dependency hell".
For example, a local administrator may download unpackaged source code, compile it, and install it.
However, both kinds of tools have many commonalities.
Problems can be caused if the format of configuration files changes; for instance, if the old configuration file does not explicitly disable new options that should be disabled.