2.2.8. Package dependencies

Up one level

-

The Debian packaging system handles dependency declarations which are used to express the fact that one package requires another package to be installed in order to work or in order to work better.

  • Package A Depends on Package B if B absolutely must be installed in order to use A. In some cases, A Depends not only on B, but on a specific version of B. In this case, the version dependency is usually a lower limit, in the sense that A Depends on any version of B more recent than some specified version.

  • Package A Recommends Package B if the package maintainer judges that most users would not want A without also having the functionality provided by B.

  • Package A Suggests Package B if B contains files that are related to and enhance the functionality of A. The same relationship is expressed by declaring that Package B Enhances Package A.

  • Package A Conflicts with Package B when A will not operate properly if B is installed on the system. "Conflicts" status is often combined with "Replaces".

  • Package A Replaces Package B when files installed by B are removed or overwritten by files in A.

  • Package A Provides Package B when all of the files and functionality of B are incorporated into A.

More detailed information on the use of each these terms can be found in the Packaging Manual and the Policy Manual.

Note that aptitude and dselect have more fine-grained control over packages specified by Recommends and Suggests than apt-get, which simply pulls all the packages specified by Depends and leaves all the packages specified by Recommends and Suggests. Both programs in modern form use APT as their back end.

(no ads!)