

Tracking dependencies among such packages is a serious task for any Linux distribution. In this case it is said that Package B depends on Package A, or that there exists a dependency between packages A and B. Package A, needed for software included in Package B to function, is marked in a special way. This is why program installation, uninstallation and upgrade are usually referred to as package management in Linux.Ĭomponents used by different programs are often gathered in separate packages. All this work is done by a package manager. Thanks to package managers, Linux users usually do not need to call the installation procedures of individual applications directly, or to directly interact with directories in which executable files and other program components are installed (these normally are /usr/bin and /usr/share/ package_name).

As soon as installation is completed, the program becomes available to from the command prompt and appears in the menus of all the graphical environments. Package managers unify and automate the process of building binary packages and make program installation easier, allowing to directly check for availability of components with the required versions at installation time, and performing all the procedures necessary to register the program in all the user operating environments. Such components contain sets of executables and auxiliary files needed for the correct work of software. For a package manager, software consists of sets of components known as software packages.

Package managers (such as RPM in RedHat distributions or dpkg in Debian GNU/Linux) began to be used primarily. To install, delete and update program packages and to maintain the integrity of the Linux system, The goal of an administrator is to ensure that the system contains compatible versions of all the necessary components (system integrity control). In the context of system administration such problems are called loss of system integrity.

Removal or upgrade of one of the system components may cause other dependent components to stop functioning correctly or even make the entire system inoperable. Modern systems based on Linux include a huge number of resources commonly used by many programs, such as shared libraries of standard functions, executable files, scripts and standard utilities necessary for the normal work of many programs.
