Kapitel 5. Debian Pakete im Detail

Inhaltsverzeichnis

Wenn Sie sich schon einige Zeit intensiver mit Debian auseinander gesetzt haben, so kommt vielleicht der Wunsch auf, eigene Pakete für das lokale System zu erzeugen. Vielleicht wollen Sie aber auch Pakete für Freunde bereitstellen oder sogar an der Debian Entwicklung teilhaben. Auch wenn es bei einigen tausend Debian Paketen schwerfällt, für einen Anwendungsbereich keine passende Software zu finden, so kann es doch sinnvoll sein, bestehende Pakete anzupassen (beispielsweise mit einer entsprechenden Konfiguration für das lokale Netzwerk) oder gar komplett neue Pakete zu erzeugen, die noch nicht als Debian Paket verfügbar sind.

Für beide Probleme finden Sie in diesem Abschnitt eine Lösung. Doch zunächst zum Aufbau der Pakete.

5.1 Debian Paketformat

Das Debian Paketmanagement benutzt ausschließlich Pakete im Format .deb. Das Format ist sehr einfach aufgebaut und basiert auf folgenden Prinzipien:

  • Das Paket ist mit Standard-Unix-Kommandos zu entpacken.

  • Das Format muss einfach zu erweitern sein.

Das Paketformat ist ein ar-Archiv und enthält die folgenden drei Dateien:

  • debian-binary enthält die Versionsnummer des verwendeten Debian-Paketformats, beispielsweise 2.0.

  • control.tar.gz ist ein komprimiertes tar-Archiv mit den Metadaten des Pakets.

  • data.tar.gz ist ein komprimiertes tar-Archiv mit den eigentlichen Dateien, die vom Programm benötigt werden.

5.1.1 Abhängigkeiten

Pakete sind keine einsamen Objekte im Debian Paketsystem, sondern arbeiten als komplexes System in ihrer Gesamtheit zusammen. Um diese Zusammenarbeit zu steuern, gibt es eine Anzahl von Schlüsselwörtern, um die Abhängigkeiten zu beschreiben.

  • Pre-Depends hier werden andere Pakete aufgeführt, die vollständig installiert sein müssen, um dieses Paket zu installieren.

  • Depends führt Pakete auf, die vollständig installiert sein müssen, bevor dpkg dieses Paket konfigurieren kann.

  • Conflicts Pakete, die nicht zusammen mit diesem installiert sein können.

  • Provides liefert den Namen des von diesem Paket gelieferten virtuellen Pakets.

  • Replaces Pakete, die durch dieses Paket ersetzt werden.

  • Recommends, Suggests enthält eine Liste von Paket-Empfehlungen, die zu diesem Paket passen.

5.1.2 (De-)Installationsprozess

Die Installation und die Deinstallation von Debian Paketen läuft nach einem festen Schema ab. Die Installation eines neuen Pakets ist recht einfach:

  • <new-preinst> install

  • Entpacken des Pakets

  • <new-postinst> configure

Das Aktualisieren eines Pakets ist etwas komplizierter, da sowohl das bereits installierte als auch das neue Paket betroffen sind:

  • <old-prerm> upgrade <new-version>

  • <new-preinst> install <old-version>

  • Das Paket wird entpackt:

  • <old-postrm> upgrade <new-version>

  • <new-postinst> configure <old-version>

Beim Entfernen von Paketen ist zwischen dem Kommando remove und purge zu unterscheiden. Letzteres entfernt auch die Konfigurationsdateien eines Pakets aus dem System.

Löschen von Paketen:

  • prerm remove

  • Dateien werden gelöscht (Konfigurationsdateien bleiben erhalten!)

  • postrm remove

  • Die Hilfsskripte (mit Ausnahme von postrm) werden gelöscht.

Wird das Kommando purge benutzt, so werden zwei zusätzliche Schritte ausgeführt:

  • Konfigurationsdateien und eventuell vorhandene Kopien davon werden gelöscht

  • postrm purge

  • Das Paket wird aus der Paket-Datenbank entfernt.

 Impressum