gzip
Aquesta entrada o secció sobre programari lliure i formats de fitxer no menciona les fonts necessàries o les persones que hi són presents són insuficients . |
Gzip programari | |
---|---|
Tipus | Compressió de dades |
Desenvolupador | Projecte GNU |
Data de la primera versió | 1992 |
Última versió | 1,10 (30 de desembre de 2018) |
Sistema operatiu | Semblant a Unix |
Llenguatge | C. |
Llicència | GLP 3 ( llicència gratuïta ) |
Lloc web | www.gnu.org/software/gzip/ |
Gzip | |
---|---|
Extensió | .gz |
Tipus MIME | application/x-gzip |
Desenvolupat per | Jean-Loup Gailly , Mark Adler |
Última versió | 1,10 (30 de desembre de 2018) |
Paio | Compressió de dades |
Voleu obrir el format ? | Sí |
Lloc web | www.gzip.org |
gzip és un programari gratuït de compressió de dades . El seu nom és la contracció de GNU zip. Va ser creat inicialment per Jean-Loup Gailly i Mark Adler . La versió 0.1 es va publicar el 31 d’octubre de 1992 . La versió 1.0 va veure la llum al febrer de 1993 .
Descripció
Normalment, cada arxiu serà substituït per un amb l' extensió .gz, mantenint les mateixes propietats, dates d'accés i modificació (l'extensió per defecte és gz per a Linux o OpenVMS , z per a MS-DOS , OS / 2 FAT, Windows NT FAT i Atari ). Si el nom del fitxer comprimit és massa llarg, es truncarà.
Si no s'especifica cap fitxer o si el nom del fitxer és "-", l'entrada estàndard es comprimeix a la sortida estàndard. Gzip intentarà comprimir només fitxers normals. En particular, ignorarà els enllaços simbòlics.
Si el nom del fitxer comprimit és massa llarg per al sistema de fitxers , gzip el truncarà. Gzip intenta truncar només parts del nom de fitxer de més de 3 caràcters (una part està delimitada per punts). Si el nom només consta de parts petites, les més llargues es trunquen. Per exemple, si els noms dels fitxers estan limitats a 14 caràcters, gzip.msdos.exe es comprimirà en gzi.msd.exe.gz. Els noms no es truncen en sistemes que no tenen límit de longitud del nom del fitxer.
Per defecte, gzip conserva el nom del fitxer original i el segell de temps (data i hora de creació) del fitxer al fitxer comprimit. S’utilitzen quan es descomprimeix el fitxer amb l’opció -N. Això és útil quan s'ha truncat el nom del fitxer comprimit o quan no s'han conservat les dates després d'una transferència de fitxers.
Els fitxers comprimits es poden tornar a la seva forma original mitjançant gzip -d o gunzip o zcat. Si el nom original desat al fitxer comprimit no és adequat per a aquest sistema de fitxers, es construirà un nom nou a partir de l’original perquè sigui legal.
gunzip accepta una llista de fitxers a la línia d’ordres i substitueix qualsevol fitxer el nom del qual acabi amb .gz, -gz, .z, -z, _z o .Z i que comenci pel número màgic correcte amb un fitxer descomprimit sense l’original extensió. gunzip també reconeix les extensions especials .tgz i .taz com a abreviatures de .tar.gz i .tar.Z respectivament. Quan es comprimeix, gzip utilitza l'extensió .tgz si cal en lloc de truncar un fitxer amb l'extensió .tar.
gunzip actualment pot descomprimir fitxers creats per gzip, ZIP , comprimir, comprimir -H o empaquetar. La detecció del format d’entrada és automàtica. Quan s’utilitzen els dos primers formats, gunzip comprova si hi ha un CRC de 32 bits. Per al paquet, gunzip comprova la longitud del fitxer descomprimit. El format de compressió estàndard no es va dissenyar per permetre comprovacions de coherència. Tanmateix, gunzip de vegades és capaç de detectar un fitxer .Z dolent. Si apareix un error en descomprimir un fitxer .Z, no suposeu que el fitxer sigui correcte només perquè la descompressió estàndard no detecta l’error. En general, això només significa que la descompressió estàndard no comprova la seva entrada i genera silenci a la sortida. El format SCO compress -H (mètode de compressió lzh) no inclou un CRC, però permet algunes comprovacions de coherència.
Els fitxers creats amb zip només es poden descomprimir mitjançant gzip si contenen un sol fitxer comprimit amb el mètode "deflació". Aquesta possibilitat només pretén ajudar a convertir fitxers tar.zip al format tar.gz. Per descomprimir fitxers zip amb diversos membres, utilitzeu unzip en lloc de gunzip.
zcat és idèntic a gunzip -c (en alguns sistemes, zcat es pot instal·lar com a gzcat per conservar l'enllaç original a comprimir). zcat descomprimeix una llista de fitxers a la línia d'ordres o la seva entrada estàndard i escriu les dades descomprimides a la sortida estàndard. zcat descomprimirà els fitxers que tinguin el número màgic correcte tant si tenen el sufix .gz com si no.
Gzip utilitza l'algorisme Lempel-Ziv utilitzat en zip i PKZIP . La quantitat de compressió obtinguda depèn de la mida de l'entrada i de la distribució de les sub-cadenes comunes. Normalment, els textos com ara codis font o anglès es redueixen en un 60-70%. La compressió és generalment molt millor que la que es pot obtenir de LZW (usada en compress), de codificació Huffman (usada en pack) o de codificació adaptativa Huffman (compacta).
La compressió sempre es fa, fins i tot si el fitxer comprimit és una mica més gran que el fitxer original. L’expansió del pitjor dels casos és d’uns quants bits per a la capçalera del fitxer gzip, més 5 bytes per bloc de 32 K, o una proporció d’expansió del 0,015% per als fitxers més grans. Tingueu en compte que el nombre de blocs de disc realment utilitzats mai s'incrementa. gzip conserva el mode, les propietats i les dates dels fitxers en comprimir-los o descomprimir-los.
Format de fitxer
Gzip es basa en l' algorisme Deflate que combina LZ77 i la codificació Huffman . DEFLATE estava pensat per substituir l'algorisme LZW i altres algorismes de compressió protegits per patents, que en aquell moment limitaven la usabilitat de la compressió i d'altres programes d'arxiu coneguts.
El terme gzip sovint fa referència al format de fitxer del mateix nom, que es compon de:
- una capçalera de 10 bytes que conté un número màgic , una versió del programa i una marca de temps ;
- capçaleres addicionals opcionals, com ara el nom de fitxer original;
- un cos central, que conté un conjunt de dades comprimides;
- 8 bytes finals que contenen una suma de comprovació CRC-32 de les dades i la seva longitud original.
Tot i que aquest format de fitxer us permet concatenar diversos fluxos de dades entrants (que es descomprimeixen i concatenen com un únic flux), normalment s’utilitza gzip per comprimir un sol fitxer. Els arxius comprimits es creen normalment empaquetant una col·lecció de fitxers mitjançant un programa d’arxiu com ara TAR i després comprimint l’arxiu resultant. El fitxer .tar.gz o .tgz se sol anomenar tarball comprimit .
No s’ha de confondre gzip amb el format de fitxer ZIP , que també utilitza l’algorisme DEFLATE. El format ZIP pot contenir col·leccions de fitxers sense haver de recórrer a un programa d’arxiu extern, però el resultat és menys compacte que el que s’obté amb gzip juntament amb un programa d’arxiu com ara tar, ja que els fitxers es comprimeixen individualment i, per tant, no es poden prendre avantatge de les redundàncies existents entre diferents fitxers ( compressió sòlida ).
zlib és una biblioteca de programari que ofereix una abstracció de l'algorisme DEFLATE i que inclou a la seva API tant suport per al format gzip com funcions simples de gestió de flux de dades comprimides. El format de flux zlib, DEFLATE i el format de fitxer gzip es van estandarditzar com a RFC 1950 , RFC 1951 i RFC 1952 respectivament .
Com que la capçalera del fitxer al format gzip conté una marca de temps , heu d'utilitzar programes com zcmp o zdiff per determinar si dos fitxers comprimits amb gzip contenen les mateixes dades en forma comprimida.
Altres usos
El protocol HTTP / 1.1 permet als clients sol·licitar arbitràriament contingut comprimit al servidor. L'estàndard proporciona dos mètodes de compressió: "gzip" (el contingut inclòs al flux gzip) i "deflate" (el contingut en format cru, sense capçalera). Tots dos són compatibles amb moltes biblioteques de clients i gairebé tots els navegadors moderns.
Des de finals dels anys noranta, bzip2 , una utilitat de compressió de fitxers basada en l'algorisme d' ordenació de blocs , ha guanyat certa popularitat com a substitut del gzip. Produeix fitxers considerablement més petits (especialment per a codis font i altres textos estructurats), però a costa d’un major consum de memòria i temps de càlcul (fins i tot fins a 4 vegades més gran). Les boles de tar comprimides bzip2 se solen anomenar .tar.bz2 .
AdvanceCOMP té una implementació DEFLATE que produeix fitxers compatibles amb gzip amb una compressió millor que el mateix gzip.
El programa corresponent per desempaquetar fitxers gzipped és gunzip .
Articles relacionats
Altres projectes
-
Wikimedia Commons conté imatges o altres fitxers al gzip
Enllaços externs
- ( EN ) Lloc oficial , a gnu.org .
- Gzip , a packages.debian.org .
- Dipòsit de fonts Gzip , a git.savannah.gnu.org .
- Dipòsit de fonts Gzip , a svnweb.freebsd.org .
- Dipòsit de fonts Gzip , a cvsweb.netbsd.org .
- ( EN ) Gzip , al Directori de programari lliure .
- Fitxer d'especificacions del format gzip ( TXT ), a ietf.org . Consultat el 9 de desembre de 2006 (arxivat de l' original el 27 de novembre de 2006) .
- Llista de recursos, tutorials, codis relacionats amb GZIP , a compression-links.info . Consultat el 9 de desembre de 2006 (arxivat de l' original el 10 de desembre de 2006) .
- El gzip Recovery Toolkit , a urbanophile.com .