// Datei: ./werkzeuge/paketoperationen/paket-auseinandernehmen.adoc

// Baustelle: Rohtext

[[paket-auseinandernehmen]]

=== Paket auseinandernehmen ===

==== Mit `ar` in seine Bestandteile zerlegen ====

// Stichworte für den Index
(((ar)))
(((ar, -x)))
(((ar, -v)))
(((deb-Paketformat, Bestandteile)))
(((deb-Paketformat, Daten)))
(((deb-Paketformat, Metainformationen)))
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 <<aufbau-und-format>>.

==== Mit `dpkg` die Installationsstruktur herausfinden ====

// Stichworte für den Index
(((dpkg, -x)))
(((dpkg, --extract)))
(((dpkg-deb, -x)))
(((dpkg-deb, --extract)))
(((deb-Paketformat, lokal auspacken)))
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 <<paketinhalte-anzeigen-apt-file>>). 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.

.Ein Paket mit `dpkg -x` auspacken
image::werkzeuge/paketoperationen/dpkg-x.png[id="fig.dpkg-x"]

// Datei (Ende): ./werkzeuge/paketoperationen/paket-auseinandernehmen.adoc
