Konwerter ZIP ⇄ TAR.GZ
Upuść plik .zip lub .tar.gz — Convertburda rozpozna, który to format, i skonwertuje go na drugi, tutaj w Twojej przeglądarce. Twoje pliki nigdy nie są przesyłane.
Dwa formaty archiwów, które myślą inaczej
ZIP i TAR.GZ rozwiązują ten sam problem, ale z przeciwnymi filozofiami. ZIP kompresuje każdy plik osobno i trzyma na końcu indeks, więc dowolny pojedynczy plik można wyciągnąć, nie ruszając reszty — wygodne, i właśnie dlatego ZIP stał się codziennym formatem w Windows. Tarball idzie w drugą stronę: tar najpierw skleja każdy plik w jeden długi strumień, a potem gzip kompresuje ten strumień jako całość. Kompresowanie wszystkiego razem często daje mniejszy wynik, gdy archiwum zawiera wiele małych, podobnych plików, bo wzorce współdzielone między plikami są kompresowane raz zamiast raz na każdy plik — ale niczego nie da się wypakować bez odczytania strumienia od początku. Żaden z nich nie jest lepszy; wyrosły na różnych systemach, a ten konwerter po prostu przenosi Twoje pliki między tymi dwoma światami.
Co przetrwa podróż — a co nie
Twoja struktura folderów i zawartość każdego pliku przechodzą bajt w bajt — konwersja wypakowuje i pakuje ponownie, nigdy nie przekodowuje tego, co jest w środku plików. To, co nie przetrwa, to metadane wokół nich. Ponownie spakowane wpisy wychodzą ze standardowymi uprawnieniami i bez swoich oryginalnych dat modyfikacji, co ma znaczenie w jednym praktycznym przypadku: skrypt powłoki skonwertowany do tarballa traci swój bit wykonywalności, więc w Linuksie potrzebuje szybkiego chmod +x po wypakowaniu, zanim się uruchomi. Warto wspomnieć też o bardzo długich ścieżkach — klasyczny nagłówek tar przechowuje około stu znaków ścieżki, więc trzymaj głęboko zagnieżdżone nazwy folderów w rozsądnych granicach. Jeśli dokładne uprawnienia i daty naprawdę mają znaczenie, jak w przypadku kopii zapasowej systemu, stwórz tarball na samej maszynie poleceniem tar; konwersja formatu to złe narzędzie do tego konkretnego zadania, i lepiej to powiedzieć wprost, niż pozwolić Ci odkryć to po przywróceniu danych.
Kiedy naprawdę warto się tym zająć
Ruch odbywa się w obu kierunkach. W stronę tarballa: serwer linuksowy, pipeline CI albo kolega przy linii poleceń oczekuje .tar.gz, a Ty masz ZIP prosto z Windows. W stronę ZIP: wydanie open source albo kopia zapasowa serwera przychodzi jako .tar.gz, a ktoś musi je otworzyć bez niczego poza podwójnym kliknięciem w Windows. W obu przypadkach alternatywą jest instalowanie narzędzia do archiwów albo szukanie linii poleceń — ta strona istnieje po to, żeby zamiast tego wystarczył trzydziestosekundowy objazd, bez opuszczania przez archiwum Twojej maszyny. Ta ostatnia część to cicha zaleta robienia tego w przeglądarce: zrzut kodu źródłowego, pliki klienta albo folder umów nigdy nie dotykają niczyjego serwera, bo żaden serwer w ogóle nie bierze w tym udziału — ta konwersja zadziałałaby nawet z odłączonym internetem.
Limity, które warto znać przed dużym archiwum
Wszystko tutaj dzieje się w pamięci Twojej przeglądarki, więc praktyczny pułap zależy od Twojego urządzenia — archiwa liczące kilkaset megabajtów zwykle są w porządku na komputerze stacjonarnym, podczas gdy tablet odpadnie wcześniej. Archiwa zabezpieczone hasłem nie są obsługiwane w żadnym kierunku; najpierw usuń zabezpieczenie. A ponieważ konwersja naprawdę rekompresuje dane, rozmiar wyjściowy przesuwa się nieco w jedną albo drugą stronę — to normalne, nie utrata danych. Jedna droga warta zapamiętania: archiwów RAR nie da się nigdzie utworzyć ani skonwertować bezpośrednio na tarball, ale narzędzie RAR na ZIP najpierw przeprowadza RAR do formy ZIP, a stamtąd ta strona zabiera go resztę drogi.
Jak to działa
Cała konwersja odbywa się w Twojej przeglądarce dzięki jej wbudowanemu silnikowi kompresji: archiwum jest rozpakowywane, ponownie pakowane w drugim formacie i od razu zwracane Tobie. Nic nie jest wysyłane na serwer, więc nawet duże lub prywatne archiwa nigdy nie opuszczają Twojego urządzenia.
Po co konwertować między ZIP a TAR.GZ?
ZIP to codzienny standard w systemie Windows; TAR.GZ (skompresowany gzipem tarball) to standard w systemie Linux, na serwerach i w większości wydań open source. Konwersja przekazuje Twoje pliki tym, którzy ich potrzebują, w formacie, jakiego oczekują ich narzędzia.
