[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: untar gz bei grossen Paketen



Gerhard Wendebourg <gw@web-hh.de> (Do 15 Feb 2007 17:05:23 CET):
> Heiko Schlittermann schrieb:
> >  
> >>Immer wieder stolpere ich ueber das Problem, dass ich grosse Pakete 
> >>(tar.gz) nicht wieder entpacken kann, vor allem im Fall von Backups 
> >>kompletter Partitionen.
> >>Obwohl ich auf der Zielpartition genuegend Platz habe, bekomme ich 
> >>Abbrueche mit Rueckmeldungen ueber zuwenig Speicher.
> >>    
> >
> >Wie entpackst Du die denn?
> >Welcher Speicher ist zu wenig?  Arbeitsspeicher oder Plattenplatz?
> >Beides hat nicht unbedingt miteinander zu tun.
> >  
> Das ist genau mein Raetselraten: ich bekomme die Rueckmeldung "zuwenig 
> Speicher", und weiss nicht, ob irgendwo Plattenplatz fehlt oder RAM oder 
> Swap.

Schalte mal die deutsche Sprachumgebung aus, manchmal sind die
englischen Texte informativer.

> >tar xzf TAR.GZ  sollte die Daten über eine PIPE durch gunzip schicken, 
> >also
> >maximal etwas RAM verbrauchen.  
> >
> >>Laesst sich sagen, wie untar / gunzip arbeiten / ihr Speichermanagement 
> >>in solchen Faellen betreiben?
> >>Wird das tar.gz-Paket sequentiell abgearbeitet und in das Ziel 
> >>geschrieben, oder wird es erst in ein temporaeres Verzeichis bzw. Swap 
> >>geschrieben und dann auf das Ziel kopiert?
> >>    
> >
> >Hier ist auch nicht genau klar, wie Du das meinst.  Das tar.gz wird
> >nirgens hingeschrieben, denn es liegt doch schon irgendwo.  Die Files
> >werden einzeln ausgepackt und unterhalb des aktuellen¹ Verzeichnisses
> >abgelegt (mit der Verzeichnis-Struktur wie im Archiv.)
> >  
> Beispiel: ich habe eine komprimierte Imagedatei von (unkomprimiert) 2,5 GB.
> Unter Windows wuerde nun WinZip anfangen, diese in ein Temp-Verzeichnis 
> zu schreiben, bis sie vollstaendig ist, und dann ins Zielverzeichnis 
> kopieren.

Gut, das heißt nicht, das *NIX es genauso tut.  Windows konnte
mindestens früher nicht wirklich mit PIPES arbeiten.

> In diesem Fall brauche ich also mindestens 5 GB (+ den Platz, den das 
> komprimierte Paket schon einnimmt).
> Wenn ich nun dies Paket mit untar.gz auf eine fremde Partition (mit 
> ausreichend Platz) auspacke, fragt sich also, ob die Dateien unmittelbar 
> dorthin geschrieben werden, oder vorher ihren Platz benoetigen im Swap 
> oder einem Temp-Verzeichnis, wenn der Arbeitsspeicher nicht reicht.

Wenn Du mit tar xzf ... auspackst, wird eine PIPE verwendet.
Wenn Du aber erst mit gunzip arbeitest, dann halt nicht.
Wenn Du sicher sein willst, was passiert, dann kannst Du

    zcat TAR.GZ | tar xf -

verwenden.

-- 
Heiko

Attachment: signature.asc
Description: Digital signature


Reply to: