Debian's Package-Management System One of the distinguishing features of Debian is it's package management system. The dpkg command provides the lowest level of package management. Other commands such as dselect provide package-management services which are more convenient to end users, but which are ultimately based on dpkg . Like package managers provided by other distributions, dpkg can be used to remove files associated with packages that are no longer needed. Package Dependencies Software packages often depend on others, such as runtime support libraries, in order to operate.
Debian packages contain control files in which dependency information is recorded.
The control files are checked by dpkg when installing packages in order to make sure that these dependencies are satisfied. If dependencies are not satisfied, dpkg will refuse to install the package and print error messages indicating which packages need to be installed first. Dependency information is also checked by dpkg when attempting to remove a package in order to avoid disabling one or more packages which depend on the one being removed. In many cases, a package may depend on specific versions of other packages. For example, the current version of the interaction automation package expect depends on versions greater than or equal to 8.0.4 of both tcl.8.0 and tk8.0 .