Zum Inhalt springen

Benutzer Diskussion:Density und Tar (Packprogramm): Unterschied zwischen den Seiten

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
(Unterschied zwischen Seiten)
Inhalt gelöscht Inhalt hinzugefügt
K AZ: Der Seiteninhalt wurde durch einen anderen Text ersetzt.
 
KKeine Bearbeitungszusammenfassung
 
Zeile 1: Zeile 1:
{{Korrekter Titel|tar}}
{{Benutzer inaktiv|1= --[[Benutzer:Density|Density]] 13:28, 19. Mai 2007 (CEST)}}
{{Dieser Artikel|behandelt das Archivformat und Archivierungsprogramm tar, für die orientalische Laute Târ siehe [[Târ]], für die ebenfalls orientalische Trommel Tar siehe [[Tar (Trommel)]]. Die Abkürzung TAR wird auch für die Transasiatische Eisenbahn [[Trans-Asian Railway]] verwendet.}}

'''tar''' ist der Name eines im [[Unix]]-Umfeld sehr geläufigen [[Elektronische Archivierung|Archivierungsprogramms]]. Außerdem wird so auch das Dateiformat bezeichnet, das von diesem Programm verwendet wird. Der Name wurde aus '''t'''ape '''ar'''chiver (Bandarchivierer) gebildet, da mit dem Programm ursprünglich Daten auf [[Bandlaufwerk]]en gesichert wurden. Gleichzeitig ist ''tar'' auch das englische Wort für [[Teer]] (mit dem Programm werden Dateien unkomprimiert zu einer Datei ''zusammengeklebt'').

tar bietet die Möglichkeit, Dateien sequenziell in eine einzige Datei zu schreiben, bzw. Dateien aus selbiger wieder herzustellen. Die entstehende Datei trägt die Endung ''.tar'' (unkomprimiert) und wird auch als ''Tarball'' (dt. ''Teerklumpen'' oder ''Teerkugel'') bezeichnet.

Der [[MIME-Typ]] für tar-Dateien ist ''application/x-tar''.

Unter [[Microsoft Windows|Windows]] können Tarballs mit [[7-Zip]], [[TUGZip]] oder [[IZArc]] bearbeitet werden. Viele andere gängige Archivprogramme können tar-Archive zumindest öffnen.

== Komprimierung ==
Der [[Wahlfreier Zugriff|wahlfreie Zugriff]] auf einzelne Dateien ist bei tar nicht möglich, da Archivdateien kein Verzeichnis haben, das die Datei-[[Offset]]s zum schnellen Zugriff vorhält, wie es etwa bei [[ZIP (Dateiformat)|Zip]] der Fall ist (dies bedeutet nicht, dass nicht auch einzelne Dateien aus einem Archiv entpackt werden können). Der Verzicht auf diese zusätzliche Struktur ermöglicht aber auch das einfache Vergrößern von Archiven.

Heute werden tar-Dateien meist komprimiert, um ihre Größe zu reduzieren. Dazu kommen üblicherweise Unix-typische [[Liste der Datenkompressionsprogramme|Datenkompressionsprogramme]] wie [[compress]], [[gzip]] oder [[bzip2]] zum Einsatz. Der Ansatz, erst alle Dateien unkomprimiert aneinanderzuhängen, um sie dann zu komprimieren, wird als ''solid archiving'' mittlerweile auch bei anderen Archivformaten wie etwa [[RAR (Datenformat)|RAR]] genutzt. Ein komprimierter Tarball trägt üblicherweise die Endung ''.tar.gz'', ''.tgz'', ''tar.Z'', ''.tar.bz2'', ''.tbz2'' oder ''.tbz'', wenn er mit einem der zuvor genannten Programme komprimiert wurde.

== Probleme, Alternativen ==
Das ''tar''-Format erscheint in [[Berkeley Software Distribution|BSD4.3]], ''ustar'' und ''[[Pax (Unix)|pax]]'' sind in [[POSIX]] Standard. Das gebräuchliche ''GNU tar'' entspricht nicht ganz diesem Standard. Insbesondere die oft fehlende Fähigkeit, [[Zugriffskontrollliste]]n zu speichern macht ''tar'' zu einem nur eingeschränkt brauchbaren [[Backup]]-Programm. Davon abgesehen gelten die oft mangelhafte Unterstützung von [[Hardlink]]s und [[Sparse-Datei]]en als problematisch und lassen das Rückspielen von Backups manchmal zu einem Lotteriespiel werden. Es gibt neuere Entwicklungen wie [[star (unique standard tape archiver)|star]] oder ''bsdtar'', die diese Nachteile zu vermeiden versuchen.

Ein weiterer, systematisch bedingter Nachteil liegt in der Art und Weise der Kompression. ''Solid archiving'' bedingt nämlich, dass der Verlust eines einzigen Blocks den Verlust des gesamten restlichen Bandarchivs zur Folge haben kann. Auf diesem Gebiet gibt es bisher Versuche wie ''[[afio]]'', das dateiweise komprimiert, und bestimmte blockweise komprimierende Algorithmen, zu denen bis zu einem gewissen Grad ''bzip2'' bereits zählt.

Ein Unix-Kommando, welches in seinen Funktionen ''tar'' sehr ähnelt, ist ''[[cpio]]''. Der [[POSIX]]-Standard vereint die Kommandos ''tar'' und ''cpio'' über das Kommando ''[[Pax (Unix)|pax]]''.

== Einige Beispielaufrufe ==
Archive mit Inhalt von /etc und /home erstellen:
tar cvf test.'''tar''' /etc/ /home/
tar cvf - /etc /home | gzip > test.'''tar.gz'''
tar cvf - /etc /home | bzip2 > test.'''tar.bz2'''

Mit ''GNU tar'' ist folgende Kurzform möglich, um gepackte Archive zu erstellen:
tar c'''z'''vf test.'''tar.gz''' /etc/ /home/
tar c'''j'''vf test.'''tar.bz2''' /etc/ /home/

Archive entpacken:
tar xvf test.'''tar'''
gunzip < test.'''tar.gz''' | tar xvf -
bunzip2 < test.'''tar.bz2''' | tar xvf -

Mit '''GNU tar'' ist folgende Kurzform möglich:
tar x'''z'''vf test.'''tar.gz'''
tar x'''j'''vf test.'''tar.bz2'''

Archivinhalt ansehen:
tar tvf test.'''tar'''
gunzip < test.'''tar.gz''' | tar tf -
bunzip2 < test.'''tar.bz2''' | tar tf -

Mit ''GNU tar'' ist folgende Kurzform möglich:
tar t'''z'''vf test.'''tar.gz'''
tar t'''j'''vf test.'''tar.bz2'''


;Archive von einem Verzeichnis '''packen''' und über 'pipes' in ein anderes Verzeichnis '''entpacken''':
--------------------------------------------------------------------------------------
:tar cvf - 'directory' | ( cd 'directory'/; tar xvf -)<br />
:Beispiel:<br />
:( cd /data/db2data; tar cvf - . ) | ( cd /data/db2inst1/db2data; tar xvf - )<br />
--------------------------------------------------------------------------------------

== Weblinks ==
* [http://www.gnu.org/software/tar/tar.html tar-Programm des GNU-Projekts (Multi-Plattform)]
* [http://www.plutospin.com/tarfixer.html Programm zur Reparatur beschädigter tar-Dateien]


[[Kategorie:Datenformat]]
[[Kategorie:Unix-Programm]]

[[ca:TAR]]
[[en:Tar (file format)]]
[[es:Tar]]
[[fr:Tar (informatique)]]
[[it:TAR (software)]]
[[ja:Tar]]
[[pl:Tar (informatyka)]]
[[pt:TAR]]
[[ru:Tar]]
[[sv:Tar]]
[[tr:Tar (file format)]]

Version vom 19. Mai 2007, 21:00 Uhr

tar ist der Name eines im Unix-Umfeld sehr geläufigen Archivierungsprogramms. Außerdem wird so auch das Dateiformat bezeichnet, das von diesem Programm verwendet wird. Der Name wurde aus tape archiver (Bandarchivierer) gebildet, da mit dem Programm ursprünglich Daten auf Bandlaufwerken gesichert wurden. Gleichzeitig ist tar auch das englische Wort für Teer (mit dem Programm werden Dateien unkomprimiert zu einer Datei zusammengeklebt).

tar bietet die Möglichkeit, Dateien sequenziell in eine einzige Datei zu schreiben, bzw. Dateien aus selbiger wieder herzustellen. Die entstehende Datei trägt die Endung .tar (unkomprimiert) und wird auch als Tarball (dt. Teerklumpen oder Teerkugel) bezeichnet.

Der MIME-Typ für tar-Dateien ist application/x-tar.

Unter Windows können Tarballs mit 7-Zip, TUGZip oder IZArc bearbeitet werden. Viele andere gängige Archivprogramme können tar-Archive zumindest öffnen.

Komprimierung

Der wahlfreie Zugriff auf einzelne Dateien ist bei tar nicht möglich, da Archivdateien kein Verzeichnis haben, das die Datei-Offsets zum schnellen Zugriff vorhält, wie es etwa bei Zip der Fall ist (dies bedeutet nicht, dass nicht auch einzelne Dateien aus einem Archiv entpackt werden können). Der Verzicht auf diese zusätzliche Struktur ermöglicht aber auch das einfache Vergrößern von Archiven.

Heute werden tar-Dateien meist komprimiert, um ihre Größe zu reduzieren. Dazu kommen üblicherweise Unix-typische Datenkompressionsprogramme wie compress, gzip oder bzip2 zum Einsatz. Der Ansatz, erst alle Dateien unkomprimiert aneinanderzuhängen, um sie dann zu komprimieren, wird als solid archiving mittlerweile auch bei anderen Archivformaten wie etwa RAR genutzt. Ein komprimierter Tarball trägt üblicherweise die Endung .tar.gz, .tgz, tar.Z, .tar.bz2, .tbz2 oder .tbz, wenn er mit einem der zuvor genannten Programme komprimiert wurde.

Probleme, Alternativen

Das tar-Format erscheint in BSD4.3, ustar und pax sind in POSIX Standard. Das gebräuchliche GNU tar entspricht nicht ganz diesem Standard. Insbesondere die oft fehlende Fähigkeit, Zugriffskontrolllisten zu speichern macht tar zu einem nur eingeschränkt brauchbaren Backup-Programm. Davon abgesehen gelten die oft mangelhafte Unterstützung von Hardlinks und Sparse-Dateien als problematisch und lassen das Rückspielen von Backups manchmal zu einem Lotteriespiel werden. Es gibt neuere Entwicklungen wie star oder bsdtar, die diese Nachteile zu vermeiden versuchen.

Ein weiterer, systematisch bedingter Nachteil liegt in der Art und Weise der Kompression. Solid archiving bedingt nämlich, dass der Verlust eines einzigen Blocks den Verlust des gesamten restlichen Bandarchivs zur Folge haben kann. Auf diesem Gebiet gibt es bisher Versuche wie afio, das dateiweise komprimiert, und bestimmte blockweise komprimierende Algorithmen, zu denen bis zu einem gewissen Grad bzip2 bereits zählt.

Ein Unix-Kommando, welches in seinen Funktionen tar sehr ähnelt, ist cpio. Der POSIX-Standard vereint die Kommandos tar und cpio über das Kommando pax.

Einige Beispielaufrufe

Archive mit Inhalt von /etc und /home erstellen:

tar cvf test.tar /etc/ /home/
tar cvf - /etc /home | gzip > test.tar.gz
tar cvf - /etc /home | bzip2 > test.tar.bz2

Mit GNU tar ist folgende Kurzform möglich, um gepackte Archive zu erstellen:

tar czvf test.tar.gz /etc/ /home/
tar cjvf test.tar.bz2 /etc/ /home/

Archive entpacken:

tar xvf test.tar
gunzip < test.tar.gz | tar xvf -
bunzip2 < test.tar.bz2 | tar xvf -

Mit 'GNU tar ist folgende Kurzform möglich:

tar xzvf test.tar.gz
tar xjvf test.tar.bz2

Archivinhalt ansehen:

tar tvf test.tar
gunzip < test.tar.gz | tar tf -
bunzip2 < test.tar.bz2 | tar tf -

Mit GNU tar ist folgende Kurzform möglich:

tar tzvf test.tar.gz
tar tjvf test.tar.bz2


Archive von einem Verzeichnis packen und über 'pipes' in ein anderes Verzeichnis entpacken

tar cvf - 'directory' | ( cd 'directory'/; tar xvf -)
Beispiel:
( cd /data/db2data; tar cvf - . ) | ( cd /data/db2inst1/db2data; tar xvf - )