Entpacken von *.deb Paketen

2 comments

Posted on 25th May 2009 by Benj in Howtos |Linux

,

Manchmal kann es von Vorteil sein, wenn man einzelne Dateien aus einer *.deb Datei entpacken kann. Sei es um an eine bestimmte Datei heran zu kommen oder zum sehen, was darin enthalten ist. Bei iPhone Debs zeigt sich unteranderem noch die Struktur, der enthaltenen Daten.

Dazu eignet sich das Tool dpkg-deb vorzüglich:
dpkg-deb -x {deb-package name} {target directory}

2 Comments
  1. FatalSysError says:

    Hi Kilrathy,

    mit deinem Befehl entpackst du nur den Inhalt der data.tar.gz welche sich im Deb Paket befindet. Wenn das so gewollt ist, dann kein Problem.

    Ein Deb Paket besteht jedoch nicht nur aus der data.tar.gz, sondern auch noch control.tar.gz und debian-binary und das Paketformat ist ein ar-Archiv, welches in folgende Bestandteile zerlegt werden kann:
    -> 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.

    Nun ist es eventuell auch Interessant oder von Vorteil, wenn man auch an den Inhalt der control.tar.gz kommt, da sich hier die Debian-spezifischen Informationen zu dem Deb Paket in den Dateien control, preinst, postinst, prerm und postrm befinden.

    Um noch an den Inhalt der control.tar.gz zu zu kommen, musst du bei der "offiziellen" Version noch folgenden Befehl ausführen: dpkg-deb -e {deb-package name} {target directory}

    Diesen (Um-)Weg kannst du eben mit dem Befehl: ar -x {deb-package name} {target directory}
    direkt sparen, da hier das Deb Paket in seine Bestandteile data.tar.gz, control.tar.gz und debian-binary zerlegt wird.

    Man könnte nun beide Wege auch noch mit dem tar-Befehl erweitern und sich somit sein eigenes Deb-Entpack-Skript basteln ;-)

    Gruss FatalSysError

    25th May 2009 at 14:07

  2. Benj says:

    Danke für die Lernstunde! ;) Wusst ich wirklich nicht, bis jetzt habe ich halt immer nur den Paketinhalt gebraucht.

    25th May 2009 at 07:57

Leave a comment