Co to jest format pliku GZ?
Plik .gz to skompresowany plik utworzony przez narzędzie GNU zip (gzip). Format ten został opracowany przez Jean-loupa Gailly'ego i Marka Adlera dla projektu GNU, z myślą o stworzeniu wolnego od patentów zamiennika dla starszej kompresji .Z używanej w systemach UNIX. Pliki .gz przechowują przydatne metadane w nagłówku - oryginalną nazwę pliku oraz znacznik czasu modyfikacji - co może być pomocne, jeśli nazwa pliku zostanie zmieniona podczas procesu kompresji.
Gdzie stosowana jest kompresja .gz?
Pliki w formacie .gz są powszechnie spotykane w pakietach oprogramowania i instalatorach dla systemów operacyjnych opartych na systemie Unix. Oprócz instalatorów, format .gz jest również często używany do kompresji zasobów tekstowych, takich jak HTML, CSS i JavaScript na serwerach WWW, co ułatwia szybsze ładowanie stron internetowych. Niemniej jednak, ta metoda kompresji jest również używana do regularnej archiwizacji danych, więc pliki .gz mogą być spotykane także przez użytkowników systemów Windows i macOS.
Szczegóły dotyczące kompresji .gz
Metoda kompresji .gz ma jedną ważną cechę: archiwum może zawierać tylko jeden plik. Standardowym sposobem na obejście tego ograniczenia jest najpierw połączenie wielu plików za pomocą narzędzia do archiwizacji tar, a następnie skompresowanie wyniku - co tworzy plik .tar.gz lub .tgz. To dwuetapowe podejście jest de facto standardem dystrybucji kodu źródłowego oprogramowania w systemach Linux i macOS.
Bezpieczeństwo
RYZYKO: LOWFormat gzip jest otwarty i bezpieczny, a plik .gz to tylko skompresowane dane, które nie mogą same się uruchomić. Obowiązuje zwykła ostrożność przy archiwach: .gz/.tar.gz z niezaufanego źródła może zawierać pliki wykonywalne lub skrypty, które ujawniają się dopiero po wypakowaniu, więc należy przeskanować zawartość przed uruchomieniem czegokolwiek. Dwie uwagi techniczne: ekstremalnie małe pliki .gz mogą rozszerzać się do ogromnych rozmiarów („bomby dekompresyjne”) - należy uważać na podejrzanie małe archiwa; oraz .tar.gz może zawierać ścieżki z „../” (ryzyko path-traversal/„tar slip”) - nowoczesne programy chronią przed tym, ale należy wypakowywać niezaufane tarballe do pustego folderu.
Szczegóły formatu
w pigułceProgramy otwierające pliki GZ
gunzip plik.gz. Tarball: tar -xzf plik.tar.gz. Preinstalowany na niemal każdym systemie Linux/Unix. Szczegóły techniczne
specyfikacja| Magic bytes | `1F 8B` na offset 0, po którym następuje `08` (bajt metody DEFLATE) |
| Algorytm kompresji | DEFLATE (RFC 1951); bajt metody `08` jest jedyną wartością używaną w praktyce |
| Typ MIME | `application/gzip` |
| Plików na strumień | Jeden - `.gz` kompresuje pojedynczy plik wejściowy na strumień |
| Metadane nagłówka | Przechowuje oryginalną nazwę pliku (flaga FNAME) i znacznik czasu ostatniej modyfikacji pliku źródłowego |
| Kontrola integralności | Suma kontrolna CRC-32 nieskompresowanych danych, zapisana w 8-bajtowej stopce i weryfikowana podczas wypakowywania |
| Pole rozmiaru | 4-bajtowe ISIZE w stopce przechowuje oryginalny nieskompresowany rozmiar modulo 2³² |
| Poziomy kompresji | Dziewięć poziomów (1 = najszybsza/najmniejsza kompresja, 9 = najwolniejsza/najlepsza); domyślny to poziom 6 |
| Kodowanie zawartości HTTP | Używane jako Content-Encoding `gzip` w HTTP/1.1 do kompresji odpowiedzi serwera w locie |
| Konkatenacja strumieni | Wiele strumieni `.gz` może być połączonych; `gunzip` dekompresuje je jako jeden ciągły wynik |
| Identyfikacja systemu operacyjnego | 1-bajtowe pole OS w nagłówku (np. `03` = Unix, `00` = FAT) identyfikuje system pochodzenia |
| Flagi nagłówka | Bajt flag kontroluje pola opcjonalne: FNAME, FCOMMENT, FEXTRA oraz FHCRC (suma kontrolna nagłówka CRC-16) |
| Szyfrowanie | Brak wbudowanego - format nie posiada mechanizmu ochrony hasłem ani szyfrowania |
| Konwencja wielu plików | Użyj najpierw `tar`, aby połączyć pliki, a następnie skompresuj: `tar czf archiwum.tar.gz pliki/` tworzy tarball `.tar.gz` |
| Konstrukcja strumieniowa | Kompresuje w jednym przebiegu do przodu; nie wymaga znajomości całkowitego rozmiaru wejściowego przed rozpoczęciem |
| Wydano | 1992 (gzip 1.0); format standardized as RFC 1952 (1996) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | www.rfc-editor.org |
Konwersje GZ
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki GZ.
Najczęściej zadawane pytania
Jak otworzyć plik GZ?
gunzip plik.gz lub tar -xzf plik.tar.gz w przypadku archiwum tarball.Jaka jest różnica między .gz a .tar.gz?
Jak otworzyć plik GZ w systemie Windows?
Czy mogę utworzyć plik GZ za darmo?
gzip/tar.Dlaczego mój plik GZ zawiera tylko jeden plik, skoro spodziewałem się wielu?
Jak wypakować .tar.gz w jednym kroku?
tar -xzf archiwum.tar.gz. W interfejsie graficznym programy PeaZip, Keka, Ark i File Roller rozpakowują obie warstwy (gzip i tar) w ramach jednej operacji wypakowywania.