O formacie TAR.BZ2
TAR.BZ2 (także .tar.bz2 lub .tbz2) łączy archiwizację TAR z kompresją BZIP2. BZIP2 stosuje transformację Burrowsa-Wheelera, a następnie kodowanie Huffmana, i kompresuje lepiej niż GZIP: w naszym teście był o 21% mniejszy przy kodzie źródłowym i o około 2% mniejszy przy mieszanym zestawie. Format był popularny w dystrybucjach Linuksa w latach 2000. i na początku 2010., zanim zastąpił go XZ, i wciąż otwiera się w praktycznie każdym systemie Unix.
Dlaczego konwertować z TAR.BZ2
Konwersja TAR.BZ2 do ZIP pozwala otworzyć archiwum w Windows i macOS bez dodatkowych narzędzi. Konwersja do TAR.GZ oddaje trochę rozmiaru w zamian za znacznie szybsze rozpakowywanie — w pomiarze GZIP rozpakowywał około 9 razy szybciej niż BZIP2 — co ma znaczenie przy często otwieranych archiwach i instalacji pakietów. Konwersja do TAR.XZ zmniejszyła w naszym teście archiwa o kolejne 5% przy mieszanym zestawie i o 18% przy plikach binarnych programów, co pomaga przy dużych dystrybucjach oprogramowania. Konwersja do 7Z daje użytkownikom 7-Zip format, który otwierają bezpośrednio.
Wydajność kompresji BZIP2
Kompresja BZIP2 jest wolniejsza niż GZIP, ale daje mniejsze pliki, szczególnie dla treści tekstowych, takich jak kod źródłowy, dokumentacja i pliki dziennika. Szybkość dekompresji plasuje się między GZIP (najszybszy) a XZ (najwolniejszy). Algorytm wykorzystuje 900 KB pamięci na blok kompresji, co może mieć znaczenie przy ograniczonych zasobach. Mimo że został zastąpiony przez XZ w nowoczesnych dystrybucjach, BZIP2 jest nadal szeroko wspierany i ma sprawdzoną historię niezawodności w środowiskach Unix.
Wybór formatu docelowego
Konwertuj na ZIP przy dystrybucji plików do użytkowników nietechnicznych lub środowisk zorientowanych na Windows, gdzie kluczowe są wbudowane narzędzia do wypakowywania. Wybierz 7Z dla maksymalnej kompresji, gdy odbiorcy mają odpowiednie oprogramowanie, a rozmiar pliku jest priorytetem. Wybierz TAR.GZ, gdy szybkość dekompresji i szersza kompatybilność z Unix przeważają nad przewagą rozmiaru BZIP2. Zaktualizuj do TAR.XZ dla nowoczesnych systemów Linux, gdzie chcesz osiągnąć optymalną kompresję, nie dbając o kompatybilność ze starszymi systemami.
BZIP2 a nowoczesne alternatywy
BZIP2 jest pośrodku pod względem rozmiaru i na końcu pod względem szybkości. W naszym teście był o około 2% mniejszy od GZIP przy mieszanym zestawie, ale o 5% większy od XZ, a w pomiarze rozpakowywał się najwolniej z całej trójki: około 9 razy wolniej niż GZIP i 4 razy wolniej niż XZ. Był popularny w latach, zanim XZ stał się powszechnie dostępny.
W przypadku nowych projektów XZ w dużej mierze zastąpił BZIP2 w ekosystemach Linux. Jednak BZIP2 pozostaje wartościowy dla kompatybilności ze starszymi systemami i środowiskami budowania, które oczekują archiwów .tar.bz2. Wiele projektów open source nadal udostępnia pobieranie BZIP2 obok nowoczesnych formatów.
Zachowanie atrybutów Unix
Konwersja między formatami opartymi na TAR (TAR.BZ2, TAR.GZ, TAR.XZ) zachowuje wszystkie atrybuty plików Unix: uprawnienia, właściciela, znaczniki czasu, dowiązania symboliczne i pliki specjalne. Ma to kluczowe znaczenie przy dystrybucji oprogramowania, gdzie pliki wykonywalne potrzebują poprawnych uprawnień. Konwersja na ZIP lub 7Z może utracić część metadanych specyficznych dla Unix, co ma znaczenie przy wdrożeniach serwerowych.