Bocsi, ha úgy tűnt kipécéztelek. Inkább csak egy "thread alá" hosszászólás akart lenni.
A guru viszont fifti-fifti. Egyrészt szól "feljebb is", de a konkrét oka az pont a kitömörítés volt. Mint írtam, ez a fork() hiánya miatt van. De linux alatt??
Valahogy így kellene előszedni valamit:
tar xzf tgzfile keresettfile
ami megegyezik a következővel
gzip -dc tgzfile | tar xf - keresettfile
Ez ugyan kitömöríti, de minimális memória, diszk és cpu felhasználás mellett.
DOS/Windows alatt:
gzip -dc tgzfile >tarfile
tar xf tarfile keresettfile
Ebben az esetben a tarfile kitömörítve a diszkre íródik, amivel időt és helyet fogyaszt. És mindez azért, mert nincsen fork().
A tar és a gzip is stream-ben képes dolgozni, hiszen a streamer is tape-et tartalmaz. ;) Ez hátrány lehet a seek képes kezeléshez. Kivétel manapság, amikor minden hálózaton van.
ssh masikgep tar czf - file1 file2 ... >tgzfile
Itt a fentiekhez hasonlóan a másik gépen 0 a felesleges diszkművelet, alacsony memória és hálózat használattal, míg a cpu a tömörítés fokától és a hálózat sebességétől függhet.
Ehhez képest a rar csak lokális műveletet tud végezni.
Csak úgy megemlítem, hogy a tar alapértelmezett eszköze a /dev/rmt (==remote magnetic tape), azaz egyben hálózati archiváló eszköz, ami képes szalagegységgel együttműködni. (Ezért tud blokkolásra vonatkozó dolgokat is.)
Ezeket csak azért írom ide, mert a Hagyd csak, látszik hogy fingja sincs se a tar-ról se a gzip -ről. ellen kampányoltál. ;)
Szerintem a tgz és rar összvetése kb. olyan, mint szidni a helikoptert, amelyik az autó ellenében szarul úszik. :)