13.2. Entpacken

13.2.1. tar.gz Archive

Das Standard-Packprogramm unter Unix ist (noch) gzip[1].

gzip wird häufig zusammen mit tar verwendet. tar wurde ursprünglich für die Datensicherung auf Band entwickelt. Wenn im Privatbereich heutzutage auch meist andere Medien zur Datensicherung verwendet werden, wird tar auch hier immer noch zur Erstellung von Archiven verwendet. So können zum Beispiel alle Dateien eines Verzeichnisses in einer Datei zusammengefasst werden und diese Datei lässt sich dann mittels gzip komprimieren.

Das ist der Grund, warum freie Software oft als mit gzip gepacktes tar-Archiv vertrieben wird. Ein solches Archiv erkennen Sie an der Endung .tar.gz (oder auch .tgz).

13.2.2. Die Benutzung von GNU Tar

Eine Möglichkeit ein solches Archiv zu entpacken ist die Verwendung von gzip und im Anschluss daran die Verwendung von tar. Die GNU-Version von tar (gtar) ermöglicht jedoch die automatische Verwendung von gzip und somit das Entpacken in einem Arbeitsgang. Sie werden somit das Benutzen von gzip kaum erkennen. Außerdem brauchen Sie für das entpackte Archiv keinen Speicherplatz freizuhalten.

tar wird folgendermaßen aufgerufen:

tar <Datei Verzichnis> <.tar.gz Datei> [Dateien] 

Die <Dateien>-Option ist nicht zwingend. Wenn sie weggelassen wird, wird das ganze Archive verarbeitet. Dieses Argument wird zum Entpacken von .tar.gz-Archiven nicht gebraucht.

Ein Beispiel:

$ tar xvfz guile-1.3.tar.gz
-rw-r--r-- 442/1002      10555 1998-10-20 07:31 guile-1.3/Makefile.in
-rw-rw-rw- 442/1002       6668 1998-10-20 06:59 guile-1.3/README
-rw-rw-rw- 442/1002       2283 1998-02-01 22:05 guile-1.3/AUTHORS
-rw-rw-rw- 442/1002      17989 1997-05-27 00:36 guile-1.3/COPYING
-rw-rw-rw- 442/1002      28545 1998-10-20 07:05 guile-1.3/ChangeLog
-rw-rw-rw- 442/1002       9364 1997-10-25 08:34 guile-1.3/INSTALL
-rw-rw-rw- 442/1002       1223 1998-10-20 06:34 guile-1.3/Makefile.am
-rw-rw-rw- 442/1002      98432 1998-10-20 07:30 guile-1.3/NEWS
-rw-rw-rw- 442/1002       1388 1998-10-20 06:19 guile-1.3/THANKS
-rw-rw-rw- 442/1002       1151 1998-08-16 21:45 guile-1.3/TODO
...

Es folgen Erklärungen zu einigen Optionen von tar:

tar erlaubt verschiedene Archiv-Operationen (auspacken, hinzufügen, erstellen, lesen...). Eine Option definiert die gewünschte Aktion:

13.2.3. bzip2

Ein recht neues Kompressionsformat namens bzip2 ersetzt langsam gzip. Es erstellt besser komprimierte Archive als gzip, ist aber noch nicht Standard. Trotzdem findet man seit kurzem mehr und mehr Dateien mit der Endung .tar.bz2.

bzip2 wird wie gzip durch das tar Kommando verwendet. Sie müssen lediglich die Option z durch die Option y ersetzen. Ein Beispiel:

$ tar xyvf foo.tar.bz2

Einige (ältere) Versionen benutzen stattdessen die Option I:

$ tar xvfI foo.tar.bz2

Eine weitere, plattformunabhängigere, aber längere Möglichkeit ist:

$ tar --use-compress-program=bzip2 -xvf foo.tar.bz2

bzip2 muss natürlich installiert sein und sich in einem Verzeichnis befinden, das in der Umgebungsvariable PATH vorkommt, damit tar es verwenden kann.

13.2.4. Nur Mut!

13.2.4.1. Der einfachste Weg

Nun da Sie gelernt haben, wie man ein solches Archiv entpackt, schreiten wir zur Tat. Einiges was Sie nun tun, erfordert Rechte, die ein ,,normaler`` Benutzer nicht hat. Daher müssen Sie nun auf das privilegierte Benutzerkennzeichen (root) wechseln (Wie das geht wurde in Grundlegende Unix Konzepte erklärt).

Kopieren Sie das Archiv nach /usr/local/src und wechseln Sie in dieses Verzeichnis. Hier können Sie die Quellarchive speichern. Natürlich können Sie Archive auch auf einem externen Datenträger speichern oder nach dem Entpacken löschen. Bei letzterem sollten Sie aber sicherstellen, das Sie über eine Quelle verfügen, von der Sie das Archiv jederzeit wieder beziehen können.

Für gewöhnlich entpackt sich ein tar-Archiv in ein neues Verzeichnis (mit der Option t können Sie das ja vorher überprüfen). Wechseln Sie in dieses neue Verzeichnis, es heißt für gewöhnlich so ähnlich wie das Archiv.

 

13.2.4.2. Der sicherste Weg

Unix-Systeme (zu denen GNU/Linux gehört) sind abgesicherte Systeme. Das heißt, dass ein normaler Benutzer nicht Aktionen durchführen darf, die das System oder die Dateien anderer Benutzer in Gefahr bringen könnten (z.B. die Festplatte formatieren, fremde Dateien ändern oder löschen usw.). In der Praxis sichert dies das System auch gegen Viren.

Andererseits darf root alles, sogar ein schädliches Programm laufen lassen. Die Erhältlichkeit des Quellcodes stellt aber schon eine gute Sicherheit gegen Viren dar[2].

Eine Idee wäre mittels des Kommandos adduser ein spezielles Benutzerkonto für diese Aufgaben einzurichten (beispielsweise admin). Dieser Benutzer braucht Schreibrechte für die folgenden Verzeichnisse: /usr/local/src, /usr/local/bin, /usr/local/lib sowie für Handbuchauszüge /usr/local/man und deren Unterverzeichnisse. Entweder sollten dem Benutzer diese Verzeichnisse gehören oder er sollte einer Gruppe angehören, die die Schreibrechte besitzt.

Haben Sie diese Vorbereitungen getroffen, können Sie den Anweisungen im Absatz Der einfachste Weg folgen.

Fußnoten

[1]

Es wird langsam durch ein neueres Programm, bzip2, ersetzt. bzip2 braucht zum Ein- und Auspacken zwar mehr Ressourcen, liefert bei Textdateien aber bessere Ergebnisse. Siehe Abschnitt 13.2.3 für mehr Details.

[2]

Ein Sprichwort aus der BSD-Welt besagt: Never trust a software you don't have the sources for! (,,Traue keiner Software, deren Quellen Du nicht hast!``)


Tux on Star from MandrakeSoft Linux ist ein eingetragenes Warenzeichen von Linus Torvalds. Alle anderen Warenzeichen und Copyrights sind das Eigentum ihrer Inhaber.
Sofern nichts anderes Angaben ist, unterliegen die Inhalte der Seiten sowie alle Bilder dem Copyright von MandrakeSoft S.A. und MandrakeSoft Inc. 2000.
http://www.linux-mandrake.com/