Gzip

Гзип
Програмер(и)
  • Jean-loup Gailly
  • Mark Adler
Прво издање31. октобар 1992; пре 33 године (1992-10-31)
Стабилно издање
1.14 / 9 април 2025
Репозиторијум Уреди на Википодацима
Написан уC
Оперативни системВишеплатформски софтвер
ТипКомпресија података
ЛиценцаГНУ-ова општа јавна лиценца
Веб-сајтwww.gnu.org/software/gzip/

Гзип је формат датотеке и софтверска апликација коришћена за компресију и декомпресију датотека. Програм су креирали Жан лу Гели (фр. Jean-loup Gailly) и Марк Адлер (енгл. Mark Adler) као бесплатну замену програмима за компресију коришћеним на раним Јуникс системима, и наменили га за употребу у ГНУ пројекту („г“ у називу произилази из „ГНУ“). Верзија 0.1 издата је 31. октобра 1992. године, а верзија 1.0 у фебруару 1993. године.

Формат датотеке

Гзип је базиран на DEFLATE алгоритму, који је комбинација ЛЗ77 и Хафмановог кодирања. DEFLATE је био намењен као замена за LZW и друге алгоритме за компресију података, који су били ограничени правима о патентима, и, у дато време, ограничавали употребу компресора.

Израз „гзип“ се често користи и када се говори о гзип формату датотеке који је:

  • 10-бајтно заглавље које садржи "магични број" (1f 8b), број верзије и датум
  • опционално додатна заглавља, нпр. оригинални назив датотеке
  • тело, које садржи битне информације (енгл. payload) компресоване DEFLATE алгоритмом
  • 8-бајтно подножје, у коме се налазе CRC-32 вредност и дужина оригиналних некомпресованих података, по модулу 232.[1]

Иако формат датотеке дозвољава вишеструким улазима да се ланчају (зиповане датотеке се једноставно декомпресују уланчане као да су оригинално биле једна датотека[2]), гзип се обично користи само за компресовање појединачних датотека.[3] Компресоване архиве се обично праве скупљањем колекција датотека у једну tar архиву, која се затим компресује гзип-ом. Тако добијена датотека има екстензију .tar.gz или .tgz, и назива се "tarball".[4]

Гзип не треба мешати са ЗИП форматом архивирања, који такође користи DEFLATE. ЗИП формат може садржати колекције датотека без екстерног архиватора, али је мање компактна него компресовани tarball-ови који садрже исте податке, зато што компресује датотеке појединачно и не може да искористи сувишност међу датотекама.

Имплементације

NetBSD Гзип / FreeBSD Гзип
Програмер(и)NetBSD Фондација
Стабилно издање
1.14 / 9 април 2025
Репозиторијум Уреди на Википодацима
Написан уC
Оперативни системВишеплатформски софтвер
ТипКомпресија података
ЛиценцаПоједностављена BSD Лиценца
Веб-сајтwww.gnu.org/software/gzip/

Написане су разне имплементације овог програма, а најпознатија је имплементација ГНУ пројекта која користи Лампел-Зив кодирање (ЛЗ77). OpenBSD-ова верзија гзип-а је заправо програм за компресовање коме је додата подршка за гзип формат у верзији OpenBSD 3.4. Слово 'г' у овој конкретној верзији представља реч гратис.[5] FreeBSD, ДрагонФлај BSD и NetBSD, уместо ГНУ верзије, користе BSD лиценцирану имплементацију која је заправо интерфејс командне линије који је требало да буде компатибилан са опцијама ГНУ имплементације.[6] Ове имплементације су оригинално настале од NetBSD и подржавају декомпресију бзип2 као и јуникс-ово пакет форматирање.

Деривати и остале употребе

Алатка тар, коју садржи већина Линукс дистрибуција, може екстраховати .tar.gz датотеке помоћу опције z, нпр. tar -zxf datoteka.tar.gz.

Злиб је апстракција DEFLATE алгоритма у облику библиотеке која, између осталог, укључује подршку и за гзип формат у свом АПИ-ју. Злиб, DEFLATE и гзип формати су стандардизовани редом у RFC 1950, RFC 1951, и RFC 1952.

Гзип формат се користи у HTTP компресији која се користи за брже слање HTML-а и осталих садржаја веба. То је један од три стандардна формата за HTTP компресију како је наведено у RFC 2616. Овај RFC (енгл. Request for Comments, Захтев за коментар) такође наводи и злиб формат (тзв. DEFLATE) који је једнак гзип формату осим што гзип додаје једанаест додатних бајтова. Ипак, гзип формат се понекад више препоручује од злиб-а јер Мајкрософт Интернет експлорер не имплементира стандард исправно и не може да обради злиб формат како је наведено у RFC 1950.[7]

Од краја 1990-их, бзип2 (алатка за компресију датотека заснована на блок-сортирајућем алгоритму) је стекла мало популарности као замена за гзип. Производи значајно мање датотеке (посебно за изворни код и остале структуиране текстове), али по цену меморије и времена за обраду (до фактора 4).[8]

AdvanceCOMP и 7-Зип могу да производе гзип-компатибилне датотеке, користећи уграђену DEFLATE имплементацију са бољом компресијом од самог гзип-а, али по цену већег коришћења процесорског времена у односу на реферисану имплементацију.

Референце

  1. ^ Jean-loup Gailly. „GNU Gzip”. Приступљено 11. 10. 2015. 
  2. ^ „GNU Gzip: Advanced usage”. Приступљено 28. 11. 2012. 
  3. ^ „Can gzip compress several files into a single archive?”. Приступљено 27. 1. 2010. 
  4. ^ „tarball, The Jargon File, version 4.4.7”. Приступљено 27. 1. 2010. 
  5. ^ „OpenBSD gzip(1) manual page”. OpenBSD. Приступљено 23. 7. 2007. 
  6. ^ „gzip”. Man.freebsd.org. 9. 10. 2011. Приступљено 1. 3. 2014. 
  7. ^ Lawrence, Eric (21. 10. 2014). „Compressing the Web”. MSDN Blogs > IEInternals. Microsoft. 
  8. ^ 7-zip vs bzip2 vs gzip

Референце

  • RFC 1952 – GZIP file format specification version 4.3

Спољашње везе

Content Disclaimer

Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.

  1. The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
  2. There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
  3. It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
  4. Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
  5. Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.