Kapitel 5. Paketmanagement
Zurück | 5.7 Das Debian-Paketformat - `.deb` | Weiter

## 5.7 Das Debian-Paketformat - `.deb`

Das Debian-Paketformat beinhaltet eine Vielzahl von Informationen zu jedem Paket, um sicherzustellen, dass sich jedes einzelne perfekt in das System integriert. Debian-Paketnamen enden immer mit `.deb`; somit können sie leicht von anderen Dateien oder von Paketen aus anderen Distributionen unterschieden werden. Das bekannteste Merkmal des Debian-Paketformats sind die Abhängigkeiten (dependency) zwischen den Paketen.

Abhängigkeiten zwischen den Paketen erlauben es zum Beispiel einzelnen Programmen, auf gemeinsame Bestandteile anderer Pakete zuzugreifen; meist sind dies Libraries (Systembibliotheken). Dies verhindert ein unnötiges, doppeltes Installieren von Dateien. Auf einem durchschnittlichen System kann so die Zahl der installierten Dateien deutlich reduziert werden.

Betrachten wir zunächst einmal den einfachsten Fall: Ein Paket benötigt zwingend ein zweites Paket, um zu funktionieren. Das Paket `mail-crypt` ist eine Erweiterung zu Emacs, um E-Mail mit PGP zu verschlüsseln. Wenn PGP nicht installiert ist, wird auch `mail-crypt` nicht funktionieren. Somit wurde vom Debian-Paket-Betreuer (Maintainer) dem Paket die Abhängigkeit zu PGP mitgegeben. Ebenso bedingt `mail-crypt` die Installation von `emacs`: Da es eine Erweiterung dazu ist, macht es keinen Sinn, dieses Paket allein zu installieren.

Weiterhin sind in den Paketbeschreibungen auch Konflikte zwischen den Paketen festgelegt. So ist es unter Debian GNU/Linux nicht möglich, zwei oder mehrere der Programme `exim`, `smail`, `sendmail`, `postfix` oder `qmail` zu installieren, da diese alle das virtuelle Paket `mail-transport-agent` zur Verfügung stellen. Die Abhängigkeiten erlauben es, dass genau ein Programm, das für den Mailtransport zuständig ist, installiert werden kann. Dann haben Sie aber die freie Auswahl zwischen den verfügbaren Paketen.

### Virtuelle Pakete ermitteln

Das Kommando `apt-cache showpkg exim` zeigt unter „Provides“ an, welches virtuelle Paket von exim zur Verfügung gestellt wird.

Nun wäre es denkbar, dass ein Programm zum Erstellen von E-Mail (beispielsweise `mutt`), da es ja eine Möglichkeit benötigt, auch Mails auszuliefern, beispielsweise von `smail` abhängt.

Damit würde man dem Benutzer von `mutt` vorschreiben, welchen MTA („Mail Transfer Agent“) er zu benutzen hat. Debian GNU/Linux-Pakete gehen auch hier einen besonderen Weg. Von den Betreuern (Maintainer) der Pakete wird zusätzlich ein „virtueller“ Name festgelegt. Die Programme `exim`, `smail`, `sendmail` und `qmail` beispielsweise verfügen noch über die Information, dass Sie einen „mail-transport-agent“ zur Verfügung stellen. Auf diese Weise ist das Paket `mutt` von einem virtuellen Namen und nicht von einem konkreten Paket abhängig. Somit bleibt Ihnen die freie Auswahl zwischen einem dieser Programme.

Das Debian-Paketsystem überwacht zu jeder Zeit alle diese Abhängigkeiten und sorgt dafür, dass Ihr System in einem sicheren, lauffähigen Zustand bleibt.

Zurück | Nach oben | Weiter
5.6 Backports | Zum Anfang | 5.8 `debconf`

© 1999-2006 Frank Ronneburg - Dieser Inhalt ist unter einem Creative Commons Namensnennung - Nicht-kommerziell - Keine Bearbeitung Lizenzvertrag lizenziert (creativecommons.org/licenses/by-nc-nd/2.0/de/legalcode).