# Packen / Entpacken / Archivieren

Bemerkung: Um die Güte der einzelnen Komprimierungsverfahren zu demonstrieren, wird jeweils ein und dieselbe Datei komprimiert:

`user@sonne> ls -l mtar -rw-rw-rw- 1 user users 1295872 Apr 14 11:51 mtar`

bzip2 | Neueres Komprimierungstool, verwendet einen effizienteren Algorithmus als `gzip`. Leider ist dieses Tool noch neu und wenig verbreitet.
`user@sonne> bzip2 mtar; ls -l -rw-rw-rw- 1 user users 552899 Apr 14 11:51 mtar.bz2 user@sonne> bunzip2 mtar.bz2`
cpio | Überträgt Archive zwischen unterschiedlichen Dateisystemen. Beispiel: Alle Dateien, die zum Paket `bash` gehören (im rpm-Format und im System installiert), sollen in ein tar-Archiv gepackt werden:
    user@sonne> rpm -ql bash | cpio -o -H ustar -O mtar
compress | Ein älteres Werkzeug zum Komprimieren von Dateien.
`user@sonne> compress mtar; ls -l -rw-rw-rw- 1 user users 806217 Apr 14 11:51 mtar.Z user@sonne> uncompress mtar.Z`
gzip | Ein weit verbreitetes Komprimierungswerkzeug, dass nach dem Lempel-Ziv-Algorithmus arbeitet.
`user@sonne> gzip mtar; ls -l -rw-rw-rw- 1 user users 586426 Apr 14 11:51 mtar.gz user@sonne> gunzip mtar.gz`
mt | Dient der Steuerung von Streamern.
rpm | Der Redhat-Package-Manager wird von vielen Distributoren als Standardformat für Pakete genommen. Ein rpm-Paket enthält neben den Dateien auch Informationen, Beschreibungen und Versionsnummern (im Unterschied z.B. zu einem tar-Archiv).
`root@sonne> rpm -i bash.rpm # Installieren user@sonne> rpm -q bash # Abfrage bash-2.02.1-13 user@sonne> rmp -ql less # Abfrage nach Inhalt /etc/lesskey /etc/lesskey.bin /usr/bin/less /usr/bin/lessecho /usr/bin/lesspipe.sh /usr/man/man1/less.1.gz /usr/man/man1/lesskey.1.gz root@sonne> rpm -e less # Deinstallieren`
Mit `rmp` lässt sich noch wesentlich mehr anstellen; auch lassen sich eigene Pakete generieren. Näheres findet man in den Manuals.
tar | Archivierungsprogramm, das Verzeichnisstrukturen enthält.
`user@sonne> tar czf archiv.tgz file* dir # Einpacken, Komprimieren user@sonne> tar tzf archiv.tgz # Inhalt auflisten /dir/contents /dir/file file_01 user@sonne> tar xzf archiv.tgz # Entpacken`