Tar: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 43: Zeile 43:
 
  root@zero:~# tar -xjf kontakte.bz2 -C /tmp/
 
  root@zero:~# tar -xjf kontakte.bz2 -C /tmp/
 
==Spezielles==
 
==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==
 
==Vom Tararchive zum Binary==

Version vom 30. September 2019, 07:28 Uhr

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

root@zero:/etc# tar -czf /tmp/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

oder:

root@zero:~# 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

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

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

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

Entpacken eines Bzip2-Archivs in das Verzeichnis /tmp

root@zero:~# 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
root@zero:/usr/src# cp /share/squid-2.7.STABLE1.tar.gz  .
  • Paket entpacken
root@zero:/usr/src# 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