Tar: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 26: Zeile 26:
  
 
Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc
 
Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc
root@zero:/etc# tar -czf /tmp/zero_etc_dateien.tar.gz *
+
*tar -czf /tmp/zero_etc_dateien.tar.gz *
 
Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz
 
Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz
root@zero:~# tar -tf /tmp/zero_etc_dateien.tar.gz
+
*tar -tf /tmp/zero_etc_dateien.tar.gz
 
oder:
 
oder:
root@zero:~# tar -t -f /tmp/zero_etc_dateien.tar.gz
+
*tar -t -f /tmp/zero_etc_dateien.tar.gz
 
Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name)
 
Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name)
 
  root@zero:~# tar -cjf kontakte.bz2 telefonbuch name
 
  root@zero:~# tar -cjf kontakte.bz2 telefonbuch name
 
Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis
 
Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis
root@zero:~# tar -xvjf kontakte.bz2
+
*tar -xvjf kontakte.bz2
 
  telefonbuch
 
  telefonbuch
 
  name
 
  name
 
Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis
 
Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis
root@zero:~# tar -xjvf kontakte.bz2 telefonbuch
+
*tar -xjvf kontakte.bz2 telefonbuch
 
  telefonbuch
 
  telefonbuch
 
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp
 
Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp
root@zero:~# tar -xjf kontakte.bz2 -C /tmp/
+
*tar -xjf kontakte.bz2 -C /tmp/
 
==Spezielles==
 
==Spezielles==
 
tar schreibt auf STDOUT und liest über die PIPE von STDIN
 
tar schreibt auf STDOUT und liest über die PIPE von STDIN
Zeile 54: Zeile 54:
 
Am Beispiel von Squid
 
Am Beispiel von Squid
 
*Squid Sourcecode besorgen
 
*Squid Sourcecode besorgen
root@zero:/usr/src# cp /share/squid-2.7.STABLE1.tar.gz  .
+
*cp /share/squid-2.7.STABLE1.tar.gz  .
 
*Paket entpacken
 
*Paket entpacken
root@zero:/usr/src# tar -xvzf squid-2.7.STABLE1.tar.gz  .
+
*tar -xvzf squid-2.7.STABLE1.tar.gz  .
 
  .....
 
  .....
*In das Squid Verzeichnis wechseln
 
root@lydia:/usr/src/squid-2.7.STABLE1#
 
*Configure starten zu testen ob alles benötigte installiert ist und um eine Makefile zu erstellen
 
root@lydia:/usr/src/squid-2.7.STABLE1# ./configure
 
*Kompilieren des Paketes
 
root@lydia:/usr/src/squid-2.7.STABLE1# make
 
*Installieren des Paketes
 
root@lydia:/usr/src/squid-2.7.STABLE1# make install
 
 
=zstd=
 
=zstd=
 
*tar -c /usr/share | zstd > share.tar.zst
 
*tar -c /usr/share | zstd > share.tar.zst

Version vom 10. Juli 2025, 05:44 Uhr

Was ist das?

Mit tar ist es möglich, mehrere Dateien oder ganze Verzeichnisse in einem Archiv abzulegen bzw. diese wieder aus einem Archiv zu extrahieren.

tar [Kommando][Optionen] Datei(en)

Kommandos

  • -c : Erzeugen eines neuen Archives
  • -t : Anzeigen des Inhalts eines Archives
  • -x : Extrahieren aus einem Archiv

Optionen

  • -v : ausführliche Ausgabe
  • -f dat1 verwendet dat1 als Archiv
  • -z komprimiert im gzip Verfahren (Dateiformat .tar.gz)
  • -j komprimiert im bzip2 Verfahren (Dateiformat .bz2)
  • -C ver1/ wechselt vor der Ausführung nach ver1/
  • -J komprimiert im xzip Verfahren (Dateiformat .xz

Anmerkung:

Für gewöhnlich können Optionen von Linuxbefehlen in einer beliebigen Reihenfolge angegeben werden. Jedoch erwartet die Option -f direkt den Dateinamen und sollte daher als letzte Option oder getrennt stehen.

Beispiele

Erstellen eines Tar-Gzip-Archivs mit den Dateien in /etc

  • tar -czf /tmp/zero_etc_dateien.tar.gz *

Anzeigen der Dateien im Archiv zero_etc_dateien.tar.gz

  • tar -tf /tmp/zero_etc_dateien.tar.gz

oder:

  • tar -t -f /tmp/zero_etc_dateien.tar.gz

Erstellen eines Bzip2-Archivs mit ausgewählten Dateien (telefonbuch, name)

root@zero:~# tar -cjf kontakte.bz2 telefonbuch name

Ausführliches Entpacken eines Bzip2-Archivs in das aktuelle Verzeichnis

  • tar -xvjf kontakte.bz2
telefonbuch
name

Entpacken einer Datei aus einem Bzip2-Archiv in das aktuelle Verzeichnis

  • tar -xjvf kontakte.bz2 telefonbuch
telefonbuch

Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp

  • tar -xjf kontakte.bz2 -C /tmp/

Spezielles

tar schreibt auf STDOUT und liest über die PIPE von STDIN

  • tar -C /bin -z -c -f - . | tar -C /tmp -x -v -z -f

tar schreibt auf STDOUT über nc zu Rechner chris

  • tar -C /bin -z -c -f - . | nc chris 666

tar liest von nc Port 666 über die PIPE von STDIN

  • nc -l -p 666 | tar -C /tmp -x -v -z -f -

Vom Tararchive zum Binary

Am Beispiel von Squid

  • Squid Sourcecode besorgen
  • cp /share/squid-2.7.STABLE1.tar.gz .
  • Paket entpacken
  • tar -xvzf squid-2.7.STABLE1.tar.gz .
.....

zstd

  • tar -c /usr/share | zstd > share.tar.zst