Zurück | Kapitel 6. Debian-Pakete im Detail | Weiter

## Kapitel 6. Debian-Pakete im Detail

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.

## 6.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.

### 6.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.

### 6.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.

Zurück |  | Weiter
5.71 Manuelles Entpacken von Debian-Paketen | Zum Anfang | 6.2 Debian-Kernel-Pakete erzeugen

© 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).