next up previous index
Következő: 15.54.4 OPCIÓK Fel: 15.54 gzip(1) Előző: 15.54.2 VÁZLAT   Index

15.54.3 LEÍRÁS

A gzip csökkenti a megnevezett fájlok méretét a Lempel­Ziv kódolás (LZ77) felhasználásával. Hacsak lehetséges, minden fájl egy .gz, kiterjesztésűvel lesz helyettesítve azonos tulajdonossal, engedélyekkel, elérési- és módosítási időkkel. (Az alapértelmezett kiterjesztés -gz VMS alatt, z MSDOS, OS/2 FAT, Windows NT FAT és Atari esetén.) Amennyiben nincs fájl megadva, vagy a fájlnév a ,,-'' jel, a standard bemenetet tömöríti a standard kimenetre.

Gzip csak a szabályos fájlokat kísérli megtömöríteni. Főként a szimbolikus kötéseket hagyja figyelmen kívül.

Amennyiben a tömörített fájlnév túl hosszú a fájlrendszernek a gzip csonkolni fogja. A gzip csak a fájlnév 3 karakternél hosszabb részeit kísérli meg csonkolni. (A részeket pontok határolják.) Ha a név csak kis részekből áll, a leghosszabb részeket csonkolja. Például ha a fájlnevek maximum 14 karakteresek lehetnek, gzip.msdos.exe tömörített neve gzi.msd.exe.gz lesz. Olyan rendszereken, ahol nincs korlát a fájlnevek hosszára, nem történik csonkolás.

Alapértelmezés szerint gzip megőrzi az eredeti fájl nevét és időbélyegét (timestamp) a tömörített fájlban. Ezeket akkor használja, ha a kicsomagolás (decompression) a -N opcióval történik. Ez akkor hasznos, ha a tömörített fájl neve csonkolva volt, vagy az időbélyeg megváltozott egy fájlátvitel miatt. A tömörített fájlok visszaállíthatók eredeti formájukra a gzip -d vagy gunzip vagy zcat használatával. Ha a tömörített fájlban elmentett eredeti név nem megfelelő a fájlrendszernek, új, legális név meghatározása történik az eredeti alapján. A gunzip egy fájllistát kap a parancssoron keresztül, és minden .gz, -gz, .z, -z, _z vagy .Z végződésű fájlt, illetve azokat, amelyek megfelelő mágikus számmal kezdődnek helyettesít a kitömörített változatukkal az eredeti kiterjesztés nélkül. A gunzip program felismeri a .tgz és .taz speciális kiterjesztéseket, mint a .tar.gz illetve .tar.Z rövidítéseit. Tömörítéskor gzip a .tgz kiterjesztést használja ha szükséges, ahelyett, hogy a .tar kiterjesztésű fájlok tömörített nevét csonkolná. A gunzip program pillanatnyilag a gzip, zip, compress, compress -H vagy pack programok által tömörített fájlokat tudja kicsomagolni. A bemenő formátum érzékelése automatikus. Az első két esetben gunzip egy 32 bites CRC ellenőrzést végez. A pack esetében gunzip a tömörítetlen hosszat ellenőrzi. A standard compress formátum nem ad lehetőséget az önellenőrzésre. Ennek ellenére a gunzip néha képes felismerni a rossz .Z fájlt. Ha egy .Z fájl kicsomagolása során hibaüzenet keletkezik, de a standard uncompress nem jelez semmit, az nem jelenti azt, hogy a tömörített fájl korrekt volt. Ez többnyire az miatt van, hogy a standard uncompress nem ellenőrzi a bemenetét, és vidáman generál összezagyvált kimenetet. A SCO compress -H formátum (lzh tömörítési módszer) nem tartalmaz CRC-t, de megenged néhány önellenőrzési lehetőséget.

A zip által létrehozott programokat csak akkor tudja a gunzip kicsomagolni, ha egyetlen tagja van, mely a 'deflation' módszerrel lett tömörítve. Ez a lehetőség csak a tar.zip fájlok tar.gz-re alakítására ajánlott.

Többtagú zip fájlok kicsomagolására az unzip alkalmas. Zcat azonos gunzip -c-vel. (Néhány rendszeren a zcat program gzcat néven lehet telepítve, hogy megvédjék a compress­re mutató eredeti kötést.) Zcat a parancssorból érkező fájllistát és a standard bemenetet is képes kicsomagolni, és a kicsomagolt adatokat a standard kimenetre írja. A zcat program a megfelelő mágikus számmal rendelkező fájlokat kicsomagolja, függetlenül a .gz meglététől.

A gzip program a zip és PKZIP programok által is használt Lempel-Ziv kódolást használja. Az elért tömörítés mértéke a bemenet méretétől és az azonos stringek eloszlásától függ. Például egy tipikus szöveget, mint egy forráskód vagy angol szöveg, az eredeti méret 30-40%­ára tömörít össze. A tömörítés általában sokkal jobb, mint az LZW-vel (compress), a Huffman kódolással (pack), vagy az adaptív Huffman-kódolással (compact) érhető el.

A tömörítési folyamat mindig megtörténik, még akkor is, ha a tömörített fájl kicsivel nagyobb, mint az eredeti. A legrosszabb eset néhány bájtos gzip fejléccel és 32K-nként 5 bájttal való méretnövekedést jelent, illetve 0.015%­os növekedési arányt nagy fájloknál. Ez általában nem jelenti több lemezblokk felhasználását. A gzip megőrzi a feldolgozott fájlok módját, tulajdonosát és időbélyegeit.


next up previous index
Következő: 15.54.4 OPCIÓK Fel: 15.54 gzip(1) Előző: 15.54.2 VÁZLAT   Index

1999-09-17