- Debian-Binärpaket
-
Debian-Pakete (Dateiendung:
.deb
) dienen der Softwareinstallation auf Debian-basierten Linux-Distributionen. Sie enthalten die zu installierenden Programme in komprimierter Form. Das Paketformat wurde von Ian Murdock entwickelt, die Abkürzung Deb leitet sich hierbei aus dem ersten Teil des Namens der Distribution Debian, der sich wiederum von den Namen „Debra“ und „Ian“ ableitet.Es gibt zweierlei Arten von Debian Paketen: Binärpakete und Quellpakete.
Eine Debian-Paketdatei besteht einmal aus einem ar-Archiv, das wiederum mit gzip, bzip2 oder LZMA komprimierte tar-Archive enthält. Diese enthalten die eigentlichen Programmdateien sowie Metainformationen wie Versionsinformationen des enthaltenen Programms und Abhängigkeiten zu weiteren Paketen, welches dieses Programm zum laufen benötigt oder die Funktion verbessern.
Um diese Informationen verwenden und verwalten zu können, erdachte Murdock ebenfalls den Debian Packet Manager (kurz dpkg). Darauf wiederum baut APT bzw. dessen grafische Variante Synaptic auf, welches auch weitere für das Programmpaket nötige Pakete automatisch installiert.
Inhaltsverzeichnis
Binärpakete
Binärpakete können von den Werkzeugen der Debian-Paketverwaltung direkt installiert werden.
Das Auspacken des Debianpakets und die Ausführung diverser Skripte und Helferprogramme geschieht mit den Rechten des Systemadministrators genauso wie bei den Paketverwaltungen anderer Betriebssysteme.
Einige Pakete sind auch als udeb-Pakete erhältlich. Diese werden meist dazu benutzt ein minimales Debiansystem für die Installation zu laden. Sie bieten nur einen Bruchteil der Funktionen eines normalen deb-Paketes und werden nur vom Debian-Installer verwendet aber nicht in einem installiertem Debiansystem.
Aufbau im Detail
Jedes Binärpaket besteht aus drei Dateien, die mittels des UNIX-Kommandos ar oder dem debianspezifischen Kommando dpkg-deb entpackt werden können (z. B. ar x datei.deb):
- debian-binary: eine Textdatei mit der Versionsnummer des verwendeten Paketformats, aktuell ist die Version 2.0.
- control.tar.gz: ein mit tar und gzip gepacktes Archiv, enthält Dateien, die zur Installation dienen oder Abhängigkeiten auflisten. Die hier aufgeführten sind nur einige Beispiele. Weiterführende Beschreibungen dazu finden sich z. B. in der Offiziellen Debian FAQ zu .deb Paketen.
- control enthält eine Kurzbeschreibung des Paketes sowie weitere Informationen wie dessen Abhängigkeiten.
- md5sums enthält MD5-Prüfsummen aller im Paket enthaltenen Dateien, um Verfälschungen erkennen zu können bzw. die automatische Aktualisierung von Konfigurationsdateien (sog. conffiles) zu ermöglichen.
- conffiles listet die Dateien des Paketes auf, die als Konfigurationsdateien behandelt werden sollen. Konfigurationsdateien werden bei einem Update nicht überschrieben und nur bei einer kompletten Entfernung des Pakets entfernt.
- preinst, postinst, prerm, postrm sind optionale Skripte, die vor oder nach dem Installieren, Aktualisieren oder Entfernen des Pakets ausgeführt werden. Sie werden mit den Rechten des Nutzers root ausgeführt.
- config ist ein optionales Skript, das den debconf genannten Konfigurationsmechanismus unterstützt. Die Datei templates enthält dazu notwendige Metainformationen für die debconf-Datenbank.
- shlibs listet die eventuell bereitgestellten Programmbibliotheken auf.
- data.tar.gz oder alternativ data.tar.bz2: enthält die eigentlichen Programmdaten mit relativen, beim Stammverzeichnis beginnenden Pfaden.
Quellpakete
Quelltextpakete enthalten unkompilierte Programmdaten, den Quelltext der Programme. Sie bestehen aus einem Archiv mit den originären Quelltexten (Endung
.orig.tar.gz
), einer (komprimierten) diff-Datei mit Debian-spezifischen Modifikationen (.diff.gz
) und einer Beschreibungsdatei (.dsc
).Quellpakete können nicht direkt installiert werden. Es müssen zuerst die Quelltexte kompiliert und dann eventuell ein installierbares Binärpaket daraus erstellt werden.
Vollständiger Dateiname
Der Dateiname eines Debian-Paketes folgt einem festgelegtem Schema: Dem Namen der Software (eventuell mit Präfixen wie z. B. lib für Programmbibliotheken oder Postfixen wie z. B. -doc für Dokumentationen oder -dev für entwicklungsspezifische Pakete), einem Unterstrich, der Versionsnummer der Software, eventuell einem Bindestrich und einer Debian-internen Revisionsnummer, dann einem weiteren Unterstrich, einem Kürzel für die Prozessor-Architektur (
all
für plattformunabhängige) und der Dateinamenserweiterung.deb
. (Z.B.beispiel_10.2-5_powerpc.deb
)Sonstiges
Debian-Pakete sind nicht mit RPM-Paketen kompatibel, können aber mit Hilfe des Programms alien innerhalb einer Architektur (z. B. PowerPC oder x86-basierte Systeme) konvertiert werden. Einige Dateimanager, wie z. B. Konqueror oder Midnight Commander, erlauben das Anzeigen des Paketinhalts und der Kontrollinformation ohne das Paket zu installieren.
Weblinks
- Javier Fernández-Sanguino Peña et. al.: Die Debian GNU/Linux-FAQ: Kapitel 7 - Grundlagen des Debian-Paketverwaltungssystems. 26. Juni 2008. Abgerufen am 4. Juli 2008.
- Josip Rodin: Anleitung für zukünftige Debian-Maintainer. 18. Januar 2005. Abgerufen am 4. Juli 2008.
- Sven Rudolph und Heiko Schlittermann: Gut verpackt ist halb gewonnen. Juli 1997. Abgerufen am 4. Juli 2008.
- Jonathan Oxer: Anatomy Of A Debian Package. In: Google TechTalks. 21. Juli 2006. Abgerufen am 4. Juli 2008. (Video, englisch)
Wikimedia Foundation.