Archivierung und Kompression mit tar: Grundlagen, Optionen und Beispiele

Inhaltsverzeichnis

tar (Tape Archiver) ist das Standard-Archivierungswerkzeug unter Linux, das mehrere Dateien und Ordner zu einem einzigen Archiv bündelt. Im Gegensatz zu gzip, bzip2 und xz komprimiert tar nicht selbst, sondern arbeitet mit Kompressionstools zusammen (z, j, J). Es erhält vollständige Metadaten inklusive Berechtigungen und SELinux-Kontexte.

Wichtige Optionen von tar

  • -c (create) : Erstellt ein neues Archiv.
  • -f (file name). : Gibt den Dateinamen des Archivs an.
# Einen Ordner Archivierentar -cf backup.tar ordner/
# Mehrere Ordner Archivieren
tar -cf backup.tar ordner1/ ordner2/

# Archivieren in einen anderen Ordner
tar -cf /ordener/backup.tar ordner/
  • -x (extract): Extrahiert Dateien aus einem Archiv.
  • -C (change direcorty): Verzeichnis wählen in das extrahiert wird
# Alle Inhalte extrahierentar -xf backup.tar
# Nur eine Datei extrahieren
tar -xf backup.tar filtoextract.txt
# Extrahieren in eine anderes Verzeichnis
tar -xf backup.tar -C /ordner
  • -z, -j, -J : Kompression des Archivs mit
    • : -z (gzip), -j (bzip2), -J (xz).
tar -czf backup.tar.gz ordner/   # gzip
tar -cjf backup.tar.bz2 ordner/  # bzip2
tar -cJf backup.tar.xz ordner/   # xz
  • -p und --xattrs : Erhält Berechtigungen, Eigentümer und SELinux-Kontexte.
sudo tar -cpvf etc.tar /etc/ --xattrs
  • -r (Reiehenfolge): Fügt Dateien an das Ende eines existierenden, unkomprimierten tar-Archivs an. Diese Option funktioniert nur bei unkomprimierten Archiven (z. B. .tar), nicht bei komprimierten (.tar.gz, .tar.bz2).
tar -rf archiv.tar neue_datei.txt
  • -t (table): Listet den Inhalt eines tar-Archivs auf, also alle enthaltenen Dateien und Verzeichnisse. Ein Klassiker, um zu prüfen, was in einer Archivdatei steckt.
tar -tf archiv.tar
  • -u (update): Fügt Dateien nur dann an ein unkomprimiertes Archiv an, wenn sie neuer sind als die bereits vorhandenen Versionen darin. Diese Versionierung erleichtert inkrementelle Backups.
tar -uf archiv.tar verzeichnis/
  • -v (verbose): Aktiviert den ausführlichen Modus und zeigt während der Archivierung, Extraktion, oder der Listen-Operation alle Dateinamen an, die verarbeitet werden. Sehr nützlich zur Kontrolle der Vorgänge.
tar -cvf archiv.tar ordner/
  • -P (path): Speichert vollständige absolute Pfade ab Root (/). Beim Entpacken landet alles exakt an der ursprünglichen Stelle! Essentiell für /etc-Backups.
# Absolute Pfade + verbose + preserve
sudo tar -czPvpf backup.tar.gz -P /etc/

# Restore mit Kontrolle
sudo tar -xzPvf backup.tar.gz            

    Einordnung: tar vs Kompressionstools

    • tar archiviert (bündelt Dateien), Kompression erfolgt optional mit -z/-j/-J.
    • xz bietet beste Kompression, braucht tar für Ordner.
    • bzip2 besser als gzip.
    • zip archiviert+komprimiert direkt, erhält aber keine Linux-Metadaten.

    Fazit

    tar ist der Linux-Standard für professionelle Archivierung – Pflicht für Sysadmins mit voller Metadaten-Erhaltung (Berechtigungen, SELinux). Kombiniere mit xz für maximale Kompression, gzip für Geschwindigkeit. Für Windows-Kompatibilität würde man zip nutzen. Merke: „cxf zjJp“!

Fediverse reactions
Andreas Moor
Andreas Moor
@blog@andreas-moor.de

Hallo Fediverse, ich bin Andy!

Hier und auf meiner Website findest du mein akkumuliertes Linux-Sysadmin-Wissen, meine kleinen und größeren Projekte und die Tools, die ich nutze.

Viel Spaß beim stöbern, lesen und lernen! 🧑‍💻

217 Beiträge
10 Folgende