Tar: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
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