8.25. Paket auseinandernehmen

8.25.1. Mit ar in seine Bestandteile zerlegen

Manchmal kann es ganz nützlich sein, wenn Sie ein Debianpaket vorliegen haben und dieses deb-Datei in seine Bestandteile zerlegen können. Mit dem folgenden Aufruf über das Kommando ar gelingt Ihnen das wie folgt:

Ein Debianpaket auseinandernehmen. 

$ ar -xv atom-amd64.deb
x - debian-binary
x - control.tar.gz
x - data.tar.xz
$

Der Schalter -x sorgt für das Auspacken und -v steht für verbose, d.h. ausführliche Ausgabe. Als Ergebnis erhalten Sie diese drei Dateien im aktuellen Verzeichnis:

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, data.tar.xz, data.tar.bz2
ist ein komprimiertes tar-Archiv mit den eigentlichen Dateien, die vom Programm benötigt werden.

ar ist so nett und erlaubt Ihnen auch nur das Auspacken einer einzelnen Komponente. Um bspw. lediglich die Versionsnummer zu erhalten, sieht ihr Aufruf dann wie folgt aus:

Eine Komponente des Debianpakets herausziehen. 

$ ar -xv atom-amd64.deb debian-binary
x - debian-binary
$

Weitere Informationen zu den verschiedenen Paketformaten und deren Komponenten entnehmen Sie bitte dem Abschnitt 4.2, „Aufbau und Format“.

8.25.2. Mit dpkg die Installationsstruktur herausfinden

Im Gegensatz zu ar hilft Ihnen dpkg dabei, herauszufinden, in welche einzelnen Verzeichnisse die Inhalte eines Pakets kopiert werden. Der Schalter -L (Langform --listfiles) zeigt Ihnen lediglich den entsprechenden Pfad an (siehe Abschnitt 8.26, „Paketinhalte anzeigen“). Mit Hilfe von -x (Langform --extract) packt dpkg das Paket hingegen vollständig aus. Intern reicht es dabei die Ausführung an das Werkzeug dpkg-deb weiter.

Als zusätzlichen Parameter geben Sie im Aufruf ein Verzeichnis an, in das die Inhalte aus dem Paket kopiert werden sollen. Das nachfolgende Beispiel nutzt . für das lokale Verzeichnis.

Abbildung 8.23. Ein Paket mit dpkg -x auspacken

werkzeuge/paketoperationen/dpkg-x.png