Tomorites

Fórumok

Hogyan tudok tomoriteni egy konyvtarat.
Igazabol mindegy hogy milyen tomoritovel, de ha lehet valasztani akkor zip jo lenne. Szoval adot egy konyvtar mit irjak be a parancssorba, hogy a konyvtar nevevel megegyezo tomoritett fajt kapjak, amit ha kicsomagolok megkapom a konyvtarat?? Koszonom...

Hozzászólások

Zip: zip -r fajlnev.zip fajlok

De Linux alatt elterjedtebb a Gzip-pel való tömörítés:
tar -czvf fajlnev.tgz fajlok

tudod a unixos jogosultsagokat a tar kepes eltarolni, de aztan a kapott tar fajlt mar azzal tomorited, amivel csak szeretned, de legelterjedtebb a .gz (gzip), .bz2 (bzip2) de nehol meg a regebbi .Z (compress) is elofordul. sot lattam mar tar.7z (7zip) fajlt is.

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)

A zippel kapcsolatban, van két kérdésem:

Nem enged 2GB fölötti archívumot készíteni, ezt hol lehet kikapcsolni?

Mivel lehet beállítani a tömörítés szintjét? A cél az lenne, hogy a tömörítés szintje alacsonyabb, de ugyanakkor gyorsabb legyen.

A válaszokat elölre is köszönöm!

tar c könyvtár/ | bzip2 > könyvtár.tar.bz2

Ez meg tömörebbet csinál állítólag

tömörítsd le mind a kettővel, nézd meg a fájlok méretét, és megtudod :D

erről a 7zip-ről már halottam, de most megnézem milyen. egyébként tényleg olyan jól tömörít? nem sérülnek az archívumok? milyen sebességgel telepít? mindjárt kipróbálom én is, csak tapasztalatokra lennék kíváncsi.

na mindjart lemerem mind a negyet :)

szerk: na eleg erdekes eredmeny jott ki, de majd merek jobban tomoritheto dolgokkal is, ahol kijon a bz2 elonye.
Ebbol is latszik, hogy bz2 nem mindig eredmenyes, szoval esszel kell hasznalni, mint mindent.
7z-t meg merjen az, akinek sok ramja van. :P

> tar -cf Downloads.tar Downloads/

> time gzip -9 -c Downloads.tar > Downloads.tar.gz
83.386u 1.374s 1:35.68 88.5% 0+0k 5+28io 1pf+0w

> ls -lh Downloads.tar.gz
-rw-r--r-- 1 replaced users 150M Jul 2 22:13 Downloads.tar.gz

> time bzip2 -9 -c Downloads.tar > Downloads.tar.bz2
133.478u 1.154s 2:35.65 86.4% 0+0k 5+41io 2pf+0w

> ls -lh Downloads.tar.bz2
-rw-r--r-- 1 replaced users 150M Jul 2 22:21 Downloads.tar.bz2

> time compress -c Downloads.tar > Downloads.tar.Z
20.496u 1.864s 0:26.10 85.6% 0+0k 6+25io 0pf+0w

> ls -lh Downloads.tar.Z
-rw-r--r-- 1 replaced users 208M Jul 2 22:40 Downloads.tar.Z

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)

mutatok neked egy aranyosat:

> 7z a -mx9 Downloads.tar.7z Downloads.tar

7-Zip (A) 4.48 beta Copyright (c) 1999-2007 Igor Pavlov 2007-06-26
p7zip Version 4.48 (locale=C,Utf16=off,HugeFiles=on,1 CPU)
Scanning

Creating archive Downloads.tar.7z

ERROR: Can't allocate required memory!

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)

unix jogosultsagok tarolasara nem terveztek gondolom, de miert zavar, ha egy tarban van benne es az van tomoritve? :)
az egyetlen zavaro dolog, hogy nem ugy viselkedik, mint a unixos tomoritoprogramok, de az sem nagy problema, mert lehet ra wrapper-t irni, ha nagyon zavar valakit :P

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)

igen erre a tokeletes szo, hogy durvan tomoriteni :D

amugy letezik mas, jol hasznalhato LZMA tomorito is unixra?

btw, taltam multkor egy mirrort, amin csomo forras volt tar.7z formaban mirrorozva. :)

linket nem talalom, de viszont talaltam egy tesztet helyette:
http://www.geocities.com/zipzagonline/tests.html

--
Those who do not understand Unix are condemned to reinvent it, poorly. (based on true story)

hát nálam a bzip2 jobbnak bizonyult, bár igau nem állítottam semmit a tömörítettségi szinten (ha egyáltalán lehet, nem tudom)

Érdemes csinálni egy tesztet, hogy a '-1'-től '-9'-ig opciókkal milyen tömörítési arányt ad és mennyi idő alatt.
Anno régen szöveges logokra és 'átlagos' binárisokra megnéztem és arra jutottam, hogy (azokon az adatokon legalábbis) fölösleges volt a '-4' fölé menni, mert a hatásfokban nem adott számottevő javulást, viszont sokkal több időt vett igénybe. Érdekes módon mind a gzip, mind a bzip2 esetében a '-4' volt az optimális.
(Mivel munkához kellett, megengedtem magamnak a precíz és alapos munkához szükséges időráfordítást :), és még grafikonon is ábrázoltam az elért tömörítési arányt a felhasznált idő függvényében, illesztettem rá közelítő görbéket (amúgy eléggé hiperbolikus volt az eredmény), és a végére még egy olyan igazi, huhogányos managgervakító kis elemzés is kikerekedett belőle :)...)

A zip formátum olyan, hogy minden fájlon "külön" fut le a tömörítés. Ez sok kis fájl esetén nem hatékony. A kisebb fájlok egy részét ezért nem is tömöríti, hanem csak letárolja. (Ennek az az előnye, hogy így a fájlok különkülön előszedhetők a többitől függetlenül, míg egy targz folyamból csak a teljes gz-t kibontva (legalábbis a keresett fájlig) lehet egyetlen fájlt kinyerni. Ezért nincs totalcommanderben targz-be betekintés, viszont van zipbe.) Amúgy a tömörítési algoritmusa alapból a gzip-pel azonos(de mindenképp hasonló), ha jól tudom.

A tar-gz vagy tar-bz2 kombó előbb egyetlen nagy fájlt csinál, utána tömörít(legalábbis logikailag, a köztes fájl fizikailag nem jön létre, hanem csak "átfolyik" rajta az adat). Így a tömörítés során létrejött kódtábláknak (gz és bz2 is használ ilyet) hosszabb idejük van optimalizálódni (a tömörítések ugyanis adaptív algoritmusok, hosszú bemenetre működnek jól). Ez midnenképp hatékonyabb, mint külön viszont kis fájlok esetében igazán drámai a különbség.

Tehát: ha csak az kell, hogy egyben legyen és win kompatibilis, akkor zip a jó. Ha fontos, hogy kicsi legyen akkor targz vagy tarbz2. Utóbbi sokkal lassabb, viszont jobb tömörítési arányt ad. Amúgy windowson is a 7zip alkalmazás kkinyitogatja a targz-t is, tehát ha "szakembernek" küldöd, akkor windowsra is mehet targz

Még egy dolog: Ha sok zipped van nem érdemes tömöríteni (a tömörített folyamok nagyon rosszul tömöríthetőek), hanem inkább tömörítetlen tárolást jobb választani. Aztán a sok önmagában is nagy zip fájlt egybe tömörítve a targz-hez hasonló teljesítményt várhatunk. Például emiatt lehet értelme tömörítetlen zipbe tenni java classokat, vagy odt dokumentumokat, mert sok ilyet egy nagy zipbe, vagy targz-be téve sokkal kisebb lehet az elkészült csomag.

Szerk: ki is próbáltam :-). Egy tetszőlegesen választott opensource java csomag bináris mérete 239 kb volt. Kinyitva és "raktár" módban zippelve 460 kb. Ez normál módban tömörítve 130 kb. Az eredeti fájlok az én 7zipemmel (most windowson vagyok :-() normál módban tömörítve 236kb lett. Javánál különösen jól jön elő ez a jelenség, mert "mostanában" divat sok kicsi osztályt csinálni és mind külön fájlba kerül, viszont hagy hasonlóság van közöttük.