( bucko | 2019. 02. 27., sze – 20:35 )

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. :)