gzip
gzip (GNU zip) – program komputerowy służący do bezstratnej kompresji danych, tworzony w ramach projektu GNU.
Logo programu | |
Zrzut ekranu z wersji 1.3.6 – pomoc wyświetlona w wierszu polecenia | |
Pierwsze wydanie | wersja 0.1 – 31.10.1992 wersja 1.0 – luty 1993 |
---|---|
Aktualna wersja stabilna | 1.13 (19 sierpnia 2023) [±] |
Język programowania | C |
Platforma sprzętowa | wieloplatformowy |
Rodzaj | bezstratna kompresja danych |
Licencja | GNU GPL |
Strona internetowa |
Historia
edytujPierwotnie został napisany jako zamiennik dla programu compress, który cieszy się popularnością zwłaszcza w systemach typu Unix, gdzie jest często używany do kompresji archiwów tar. Pliki wyjściowe programu gzip zwykle mają domyślnie rozszerzenie .gz.
Gzip oparty jest o algorytm deflate, który jest kombinacją algorytmu LZ77 i kodowania Huffmana. Algorytm deflate powstał w odpowiedzi na opatentowanie LZW i innych algorytmów kompresji. Jak poinformował Jean-loup Gailly , jeden z autorów programu, poświęcił on więcej czasu na studiowanie patentów niż na opracowanie i zaprogramowanie tego algorytmu.
Zastosowania
edytujFormat kompresji danych zlib, algorytm deflate oraz format plików gzip zostały ustandaryzowane w następujących dokumentach RFC 1950[1], RFC 1951[2] i RFC 1952[3]. Standardy te wykorzystuje m.in. format graficzny PNG.
W celu przyspieszenia rozwoju oprogramowania wykorzystującego kompresję została stworzona (przez autorów gzip) biblioteka zlib. Obsługuje ona format plików gzipa oraz algorytm kompresji deflate. Biblioteka ta jest bardzo szeroko stosowana ze względu na niewielki rozmiar oraz efektywność działania.
Oprogramowanie dla systemów Unix jest często rozpowszechniane w plikach o nazwie zakończonej .tar.gz lub .tgz, zwanych tarbalami (ang. tarball). Są to pakiety utworzone programem tar, które potem zostały skompresowane gzipem. Mogą zostać zdekompresowane poleceniem
lub rozpakowane przez gzip -d plik.tar.gz
. W postaci tgz są rozpowszechniane m.in. pakiety instalacyjne dystrybucji Slackware oraz polskiego KateOS.
tar xzf file.tar.gz
Gzip a inne programy kompresujące
edytujGzip nie powinien być mylony z Zipem, z którym nie jest zgodny. Gzip nie archiwizuje plików, a jedynie je kompresuje. W celu archiwizacji plików musi zostać użyty inny program (np. tar) i dopiero powstałe archiwum jest kompresowane gzipem.
Pod koniec lat 90. XX wieku można było zauważyć przechodzenie z gzip na bzip2, który pozwala mocniej kompresować dane w wielu przypadkach, ale jest też znacząco wolniejszy.
AdvanceCOMP implementuje algorytm deflate w sposób, który pozwala przepakować pliki .gz do rozmiaru mniejszego, niż jest to w stanie zrobić gzip. Podobnie algorytm ulepsza implementacja programu PNGOUT.
Zobacz też
edytuj- kompresja danych (informatyka)
- kompresja bezstratna, kompresja stratna
- program do kompresji plików
- algorytmy kompresji Deflate
- biblioteka programistyczna Zlib
Przypisy
edytuj- ↑ P. Deutsch , J-L. Gailly , ZLIB Compressed Data Format Specification version 3.3, RFC 1950, IETF, maj 1996, DOI: 10.17487/RFC1950, ISSN 2070-1721, OCLC 943595667 (ang.).
- ↑ P. Deutsch , DEFLATE Compressed Data Format Specification version 1.3, RFC 1951, IETF, maj 1996, DOI: 10.17487/RFC1951, ISSN 2070-1721, OCLC 943595667 (ang.).
- ↑ P. Deutsch , GZIP file format specification version 4.3, RFC 1952, IETF, maj 1996, DOI: 10.17487/RFC1952, ISSN 2070-1721, OCLC 943595667 (ang.).