.deb
aus Wikipedia, der freien Enzyklopädie
.deb ist die Dateiendung des Formats für Debian-Binärpakete, die der Softwareinstallation auf debianartigen Betriebssystemen dienen. Sie enthalten die zu installierenden Programme in komprimierter Form und werden aus Quelltextpaketen mit den Endungen .dsc, .diff.gz und .tar.gz erstellt. Das Paketformat wurde von Ian Murdock entwickelt, die Abkürzung Deb leitet sich hierbei aus dem ersten Teil des Namens der Distribution Debian ab.
Eine Debian-Paketdatei besteht einmal aus einem komprimierten Archiv, welches die eigentlichen Dateien des Programmes enthält. Zusätzlich sind Versionsinformationen des enthaltenen Programmes sowie Abhängigkeiten zu weiteren Paketen, welches dieses Programm zum laufen benötigt, vorhanden.
Um diese Informationen verwenden und verwalten zu können, erdachte Murdock ebenfalls den Debian Packet Manager (kurz dpkg). Darauf wiederum baut APT auf, welches auch weitere für das Programmpaket nötige Pakete automatisch installiert.
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.
[Bearbeiten] Vollständiger Dateiname
Der Dateiname eines Debianpaketes folgt einem festgelegtem Schema, welches an "beispiel_10.2-5_powerpc.deb" kurz erläutert werden soll:
- beispiel ist der Name der enthaltene Software, es sind aber auch Prefixe wie z. B. lib für Programmbibliotheken oder Postfixe wie z. B. -doc für Dokumentation oder -dev für entwicklungsspezifische Pakete üblich
- 10.2 gibt die programmspezifische Versionsnummer wieder
- 5 ist die interne Revisionsnummer bei Debian, bei Debian-internen Paketen wie dpkg oder apt entfällt diese
- powerpc zeigt an, auf welcher Prozessor-Architektur dieses Paket verwendet werden kann. Handelt es sich um Daten, die unabhängig von der Architektur sind (z. B. Skripte oder Dokumentation), wird schlicht all eingesetzt (z. B. beispiel-doc_10.1-9_all.deb)
[Bearbeiten] Paket-Aufbau
Jedes .deb 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: Enthält die 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.
- preinst, postinst, prerm, postrm sind optionale Skripte, die vor oder nach dem Installieren, Aktualisieren oder Entfernen des Pakets ausgeführt werden.
- 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: enthält die eigentlichen Programmdaten mit relativen, beim Stammverzeichnis beginnenden Pfaden.