Istnieją co najmniej cztery oddzielne zadania, które często są ze sobą mylone, ponieważ popularne narzędzia je integrują:
- Archiwizacja: możliwość łączenia wielu plików (w tym metadanych) w jeden plik, zachowując jak najwięcej rzeczy. W świecie Linux / Unix archiwizacja odbywa się tradycyjnie w formacie pliku TAR.
- Kompresja: zdolność do bezstratnego minimalizowania rozmiaru strumienia danych binarnych. W świecie Linux / Unix jest to tradycyjnie wykonywane przez GZip i BZip2.
- Szyfrowanie: możliwość szyfrowania danych za pomocą kluczy
- Suma kontrolna: zdolność do wykrywania (i ewentualnie poprawiania) błędów.
Wszechobecność .tar.gz i .tar.bz odpowiada filozofii uniksowych małych narzędzi wykonujących jedno zadanie dobrze, w stosunku do jednego narzędzia, które robi wszystko. Format pliku TAR nie obsługuje kompresji ani szyfrowania, ale może być dalej kompresowany przez dowolny kompresor (w tym jako .tar.zip lub .tar.7z). Zadaniem GZip i BZip2 jest po prostu kompresja strumienia pliku do innego strumienia plików, warstwa kompresji nie musi dbać o to, jak zachować metadane, szyfrowanie lub sumę kontrolną. Z czasem jednak w tar
programie wprowadzono kilka skrótów do wygodniejszej pracy ze sprężarką.
W formacie zip i 7z te osobne zadania są wykonywane przez jeden program w jednym super formacie.
Dlaczego powyższy trend wydaje się utrzymywać, mimo że wszystkie są formatami przenośnymi? Czy są jakieś szczególne zalety korzystania z określonego formatu archiwum na konkretnej platformie?
Ponieważ tak się dzieje, kody źródłowe programów są tradycyjnie dystrybuowane jako .tar.gz lub .tar.bz2, ponieważ zachowanie uprawnień do plików, czas modyfikacji itp. Są ważne dla różnych narzędzi używanych do programowania (np. Make).
Oddzielny etap archiwizacji i kompresji działał bardzo dobrze od lat, ma wyraźną zaletę polegającą na swobodnym mieszaniu i dopasowywaniu archiwizacji i kompresji, a jego wadę (2-etapowy proces kompresji) można łatwo obejść, opracowując inteligentniejsze narzędzia ( najnowszy program do kompresji linuksa skompresuje bezpośrednio do .tar.gz lub .tar.bz2, ukrywając etap pośredni).
Nie ma silnego powodu, aby przejść do innych formatów plików, nowsze kompresory nie mają znacznie lepszego współczynnika kompresji, aby uzasadnić złamanie tradycji, a tar może zachować wszystko wystarczająco dobrze.