Das standardmäßige Kompressionsformat[31] der UNIX®-Systeme ist das vom GNU-Projekt entwickelte gzip. Es wird als eines der besten allgemeinen Kompressionstools angesehen.
gzip wird oft mit dem Hilfsprogramm tar zusammen benutzt. tar ist ein Überbleibsel aus den grauen Vorzeiten, als die Rechnernutzer ihre Daten noch auf Bändern speicherten. Heute haben CD-ROM und DVD die Bänder längst ersetzt aber tar wird immer noch zur Erstellung von Archiven verwendet. So kann man beispielsweise alle Dateien eines Verzeichnisses sehr einfach in einer einzigen Datei zusammenfassen und diese dann mit gzip komprimieren.
Daher begegnet man freier Software oft in Form von tar-Archiven, die mit gzip komprimiert wurden und die Endung .tar.gz (oder kurz .tgz) besitzen.
Zum Entpacken eines solchen Archivs wird gzip und anschließend tar benutzt. Da die GNU-Version von tar (gtar) auch „on-the-fly“ mit gzip umgehen kann, ist es möglich, ein Archiv ohne bewusste Ausführung des Zwischenschrittes zu entpacken (und ohne den zusätzlichen Platz dafür zu benötigen).
Die Benutzung von tar folgt dieser Syntax:
tar [Option(en)] archiv_datei [Datei(en)] |
Die Option [Datei(en)] ist nicht unbedingt nötig. Wird sie ausgelassen, wird der Befehl auf das ganze Archiv angewendet. Dieses Argument muss beim Entpacken eines .tar.gz-Archivs nicht spezifiziert werden.
$ 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 ... |
v macht tar „geschwätzig“, d.h., es gibt die Namen aller im Archiv gefundenen Dateien auf dem Bildschirm aus. Wird diese Option weggelassen, ist die Ausgabe stumm.
f ist eine vorgeschriebene Option. Ohne sie würde tar versuchen, ein Bandlaufgerät anstelle der Archivdatei anzusprechen (etwa das Gerät /dev/rmt0).
z ermöglicht die Verarbeitung eines „gziped“ Archivs (mit der Dateierweiterung .gz). Ohne diese Option wird tar eine Fehlermeldung ausgeben. Bei einem nicht komprimierten Archiv muss diese Option hingegen weggelassen werden.
tar lässt Sie verschiedene Aktionen auf eine Archivdatei anwenden (entpacken, lesen, erstellen, erweitern...). Diese Aktionen werden mit einer Option bestimmt:
Obwohl das Format bzip2 das ältere gzip im allgemeinen Gebrauch weitgehend ersetzt hat, wird aus Kompatibilitätsgründen mit älteren Systemen auch gzip noch sehr häufig verwendet. Nahezu die gesamte freie Software wir heute in .tar.bz2-Archiven vertrieben.
bzip2 wird, was tar betrifft, wie gzip benutzt. Es muss dazu nur die Option z durch j ersetzt werden. Ein Beispiel:
$ tar xjvf foo.tar.bz2 |
Eine andere Möglichkeit (als Befehlskette verständlicher, aber länger!):
$ tar --use-compress-program=bzip2 -xvf foo.tar.bz2 |
Dazu muss bzip2 vor der Verwendung mit tar auf Ihrem System in einem Verzeichnis installiert sein, das in der PATH-Umgebungsvariablen enthalten ist.
Bevor Sie nun das Archiv entpacken sollten Sie daran denken, dies als Administrator (root) durchzuführen. Sie werden bei dem ganzen Unterfangen Schritte durchführen, die nur root erlaubt sind. Einige Schritte können zwar als normaler Anwender durchlaufen werden aber es ist einfacher, sich für den gesamten Vorgang als root anzumelden (auch wenn dies nicht gerade den Sicherheitsregeln entspricht).
Zuerst wechseln Sie in das Verzeichnis /usr/local/src und kopieren das Archiv dorthin. Dadurch werden Sie, auch Verlust des installierten Softwarepaketes, zumindest das Archiv immer wiederfinden. Wenn der verfügbare Platz zu eng bemessen ist, können Sie das Archiv nach der Installation des Programms auch auf einer Diskette speichern oder sogar ganz löschen, wenn Sie sicher sind, es im Internet wiederzufinden.
Im Normalfall wird bei der Dekomprimierung eines tar-Archivs ein neues Verzeichnis erstellt (Sie können das mit der Option t vorher testen). Gehen Sie in dieses neue Verzeichnis und schon sind Sie bereit für den nächsten Schritt.
UNIX®-Systeme (wozu auch GNU/Linux und FreeBSD® gehören) können als sichere Systeme gelten. Das bedeutet, dass beim Arbeiten mit nichtprivilegierten Benutzerkennzeichen, die Anwender weder Abläufe starten dürfen, die das ganze System gefährden können (etwa eine Festplatte formatieren) noch Dateien anderer Kennzeichen ändern können. Dadurch wird das System auch gegen Viren weitgehend resistent.
Dem gegenüber darf root alles - auch ein „böswilliges“ Programm starten. Durch den Einblick in den Quellcode der Programme können Sie – bei entsprechendem Wissen – diesen Quellcode nach verderblichem Code sowie Viren und Trojanern durchsuchen. In dieser Hinsicht ist es immer gut, vorsichtig zu sein[32].
Eine Möglichkeit ist, mit Hilfe des Befehls adduser ein besonderes Kennzeichen für administrative Aufgaben (etwa free oder admin) zu erstellen. Dieses Kennzeichen muss Schreibrechte in den Verzeichnissen /usr/local/src, /usr/local/bin und /usr/local/lib sowie in allen Unterverzeichnissen von /usr/share/man besitzen (er mag auch berechtigt sein, Dateien an andere Stellen zu kopieren). Wir empfehlen, dieses Kennzeichen zum Eigentümer der Verzeichnisse zu machen oder noch besser eine spezielle Gruppe zu erstellen (der das Kennzeichen angehört) und dieser Gruppe Schreibrechte für die Verzeichnisse zu geben.
Nachdem diese Vorsichtsmaßnahmen getroffen wurden, kann der Vorgang wie in „Der einfachste Weg“ beschrieben fortgesetzt werden.
[31] Der Standard bei den heutigen GNU/Linux-Systemen ist bzip2. Dieses Programm ist zwar effizienter bei der Behandlung von Textdateien, verschlingt aber auch mehr Rechenleistung. Bitte sehen Sie sich „Bzip2“ an, das sich speziell mit diesem Programm beschäftigt.
[32] Ein Sprichwort aus der BSD-Welt sagt: „Traue keinem Programm, dessen Quellcode Du nicht hast.“