Das Debian-Paketierungssystem besitzt eine große Anzahl von Informationen,
die mit jedem Paket verbunden sind, um zu helfen sicherzustellen, dass es
ordentlich und leicht in das System integriert wird. Das bekannteste seiner
Funktionen ist das Abhängigkeitssystem.
Das Abhängigkeitssystem erlaubt individuellen Programmen, Gebrauch von
gemeinsam im System benutzten Elementen, wie Bibliotheken, zu machen. Es
vereinfacht, selten benutze Teile eines Programms in separaten Paketen zu
platzieren, um die Zahl von Dingen zu verringern, die der
Durchschnittsanwender installieren sollte. Außerdem erlaubt es die Auswahl
von E-Mail-Transport-Programmen, X-Servern und so weiter.
Der erste Schritt zum Verständnis des Abhängigkeitssystems besteht darin,
das Konzept einer einfachen Abhängigkeit zu begreifen. Die Bedeutung einer
einfachen Abhängigkeit besteht darin, dass ein Paket ein anderes Paket
benötigt, das zu gleichen Zeit installiert sein muss, um ordentlich zu
funktionieren.
Mailcrypt ist zum Beispiel eine Emacs-Erweiterung, die hilft, E-Mails mit
GPG zu verschlüsseln. Ohne installiertes GPG ist Mailcrypt unbrauchbar,
deshalb hat Mailcrypt eine einfache Abhängigkeit von GPG. Da es außerdem
eine Emacs-Erweiterung ist, hat es ebenfalls eine einfache Abhängigkeit von
Emacs. Ohne Emacs ist es komplett unbenutzbar.
Die andere wichtige Abhängigkeit, die es zu verstehen gilt, ist eine in
Konflikt stehende Abhängigkeit. Das bedeutet, dass das Paket, wenn es mit
einem anderen Paket installiert ist, nicht funktioniert und möglicherweise
extrem schädlich für das System sein könnte. Stellen Sie sich als Beispiel
einen E-Mail-Transport-Programmen wie Sendmail, Exim oder QMail vor. Es ist
nicht möglich, zwei E-Mail-Transport-Programmen installiert zu haben, da
beide im Netzwerk auf zu empfangende E-Mails warten. Der Versuch, zwei zu
installieren, würde das System ernsthaft beschädigen, weshalb alle
E-Mail-Transport-Programmen in Konflikt stehende Abhängigkeiten mit allen
anderen E-Mail-Transport-Programmen haben.
Als zusätzliche Komplikation besteht die Möglichkeit, dass ein Paket
vortäuscht, ein anderes Paket zu sein. Bedenken Sie, dass Exim und Sendmail
in vieler Hinsicht identisch sind – sie liefern beide E-Mails aus und
verstehen eine gemeinsame Schnittstelle. Daher hat das Paketsystem die
Möglichkeit, beide als E-Mail-Transport-Programmen zu deklarieren. Deshalb
deklarieren Exim und Sendmail, dass sie einen E-Mail-Transport-Programmen
bereitstellen und andere Pakete, die einen E-Mail-Transport-Programmen
benötigen, dass sie von einem E-Mail-Transport-Programmen abhängen. Die kann
zu großer Verwirrung führen, wenn manuell versucht wird, Pakete zu
reparieren.
Zu jedem Zeitpunkt könnte eine einzelne Abhängigkeit von Paketen erfüllt
werden, die bereits installiert sind oder auch nicht. APT versucht beim
Auflösen von Abhängigkeitsproblemen zu helfen, indem es eine Anzahl
automatischer Algorithmen bereitstellt, die bei der Auswahl von Paketen zur
Installation helfen.