Alexander, W.: Tar - Eine Datei entpacken

Hallo,

ich möchte aus einem x.tar Archiv NUR eine file.txt entpacken. Geht das? Ohne dass ich alle Daten entpacken muss. Das Archiv selbst ist zu gross um immer alles neu zu entpacken, wenn ich nur eine Datei wiederherstellen will.

Danke!
Gruss Alexander.

  1. Hi,

    Folgendes funktioniert _nicht_ wenn der Tarball komprimiert ist!

    tar tf tarfile

    listet alle enthaltenen Dateien (Du muß den vollständigen Pfad beim entpacken einzelner Dateien angeben)

    tar xf tarfile gesuchte.datei

    entpackt die Datei "gesuchte.datei". Falls dabei die Fehlermeldung:
    tar: gesuchte.datei: Nicht im Archiv gefunden.
    tar: Fehler beim Beenden, verursacht durch vorhergehende Fehler.
    kommt (eher auf Englisch, aber egal), ist die Datei entweder nicht drin, oder der Name stimmt nicht. Wenn z.B. Dateien folgendermaßen eingepackt wurden:

    tar cf tarball.tar ./foo ./bar /home/user/backup/porno.mpeg

    dann ist die Extraktion von "bar" mit vollständigem Pfad vorzunehmen:

    tar xf tarball.tar ./bar

    bzw von porno.mpeg

    tar xf tarball.tar /home/user/backup/porno.mpeg

    Fehlt bei beiden der Pfad ("./" bzw "/home/user/backup/") kommt oben aufgeführte Fehlermeldung.

    'info tar' verrät mehr.

    so short

    Christoph Zurnieden

    1. Moin!

      Folgendes funktioniert _nicht_ wenn der Tarball komprimiert ist!

      Deswegen gibts ja auch die Kommandooptionen "z" (gzip) und "j" (bzip2), wenn das Archiv komprimiert ist. :) Einfach irgendwo, aber VOR dem "f", in die Kommandos einfügen - fertig.

      Und damit man informierter ist, was tar so tut, empfehle ich, mittels "v" den verbose mode einzuschalten. Dann wird mehr Statusinfo ausgegeben.

      - Sven Rautenberg

      1. Hi,

        Folgendes funktioniert _nicht_ wenn der Tarball komprimiert ist!

        Deswegen gibts ja auch die Kommandooptionen "z" (gzip) und "j" (bzip2), wenn das Archiv komprimiert ist. :) Einfach irgendwo, aber VOR dem "f", in die Kommandos einfügen - fertig.

        Ich kann es zwar bis heute nicht ganz nachvollziehen, aber die (De-)Kompressionsroutinen sind bis heute nicht Default. Man kann also nicht davon ausgehen, das es funktioniert. Zudem tut die Option 'j' in älteren Versionen nicht das Verlangte, da war es 'I' und in der NetBSD Variation 'y'. Im Zweifel also besser eine Pipe benutzen, wenn man z.B. portable Skripte schreiben möchte.

        Und damit man informierter ist, was tar so tut, empfehle ich, mittels "v" den verbose mode einzuschalten. Dann wird mehr Statusinfo ausgegeben.

        Naja, das ist bei GNU-Tools Grundvorrausetzung, das ist so vorgeschrieben, deshalb habe ich das nicht weiter erwähnt ;-)

        Aber der Hinweis auf die Info-Datei ist ernst zu nehmen, das steht ausnahmsweise sehr viel drin (kommt ja schließlich selten genug vor), inklusive eines Tutorials. Leider gibt es da meines Wissens keine deutsche Übersetzung für.

        so short

        Christoph Zurnieden