Podczas przeglądania projektów typu open source opracowanych przede wszystkim dla systemów Linux i pobierania najnowszych pakietów, kod źródłowy jest zawsze przechowywany w pliku .tar.gz lub .tar.bz2.
Czy jest jakiś powód, aby używać .tar.gz lub .tar.bz2 zamiast czegoś takiego jak .zip lub .rar lub jakiś inny algorytm kompresji (lub nawet pozostawić go bez kompresji, jeśli projekt jest wystarczająco mały)?
open-source
history
packages
Joe Z.
źródło
źródło
tar
(tj. Tape Archiver) był już de facto standardem.ftp.gnu.org
na przykład. Na tym opiera się cały Internet. I mam nadzieję, że wszyscy zgodzą się, że ZIP i tak jest technologicznie gorszy.Odpowiedzi:
Aby odpowiedzieć na pytanie w tytule: tar.gz / tar.bz2 stał się standardem do dystrybucji kodu źródłowego Linuksa bardzo bardzo dawno temu, podobnie jak ponad 2 dekady, i prawdopodobnie jeszcze kilka. Znacząco jeszcze zanim powstał Linux.
W rzeczywistości smoła oznacza szczypiorek (t) ape (ar). Pomyśl kołowrotek twarde, a dostaniesz pomysł jak stary jest. ba-dum-bump.
Zanim ludzie mieli nagrywarki CD, na dyskietkach 1,44 Mb wprowadzono dystrybucje oprogramowania. Skompresowany plik tar został pocięty na polecenie wielkości dyskietki
split
i te kawałki nazwano tarballami . Ponownie dołączysz do nichcat
i rozpakujesz archiwum.Odpowiedź na inne pytanie, dlaczego nie Zip lub Rar, jest łatwa. Archiwizator tar pochodzi z Uniksa, a pozostałe dwa pochodzą z MS-DOS / Windows. Tar obsługuje metadane plików unix (uprawnienia, czasy itp.), Podczas gdy zip i rar dopiero niedawno (zapisywały dane pliku MS-DOS). W rzeczywistości zip zajął trochę czasu, zanim zaczął poprawnie przechowywać metadane NTFS (alternatywne strumienie, deskryptor zabezpieczeń itp.).
Wiele algorytmów kompresji w PKZip jest zastrzeżonych dla oryginalnego producenta, a ostatnim dodanym do wersji Dos / Windows była Deflate (RFC 1951), która działała nieco lepiej niż Implode, zastrzeżona algo tam, która zapewniła najlepszą ogólną kompresję . Gzip używa algorytmu Deflate.
Algorytm kompresji RAR jest zastrzeżony, ale istnieje darmowa implementacja dekompresora typu open source. Oficjalne wydania RAR i WinRAR z RARlab nie są darmowe .
Gzip używa algorytmu deflacji, a więc nie jest gorszy niż PKZip. Bzip2 dostaje nieco lepsze współczynniki kompresji.
Wersja TL; DR:
tar.gz i tar.bz2 są z Uniksa, więc ludzie z nich korzystają. Zip i Rar pochodzą ze świata DOS / Windows, więc używają ich ludzie z DOS / Windows.
tar
od kilku dekad jest standardem do pakowania archiwów rzeczy w * nix.źródło
Nie wiem kiedy, ale wyobrażam sobie, że powodem jego użycia jest kombinacja: tar jest tradycyjny (jest bardzo stary); łatwe zarządzanie z poziomu wiersza poleceń; informacje o systemie plików zachowujące tar, których ZIP lub RAR mogą nie mieć; a proces dwuprzebiegowy oznacza, że kompresja jest bardziej wydajna (jeden kompresuje duży plik lepiej niż wiele małych plików).
bzip2 (.bz2) wydaje się zastępować gzip (.gz), ponieważ zapewnia lepszą kompresję, podobnie jak sam gzip wyparł wcześniejszą kompresję (.Z).
źródło
Zasadniczo archiwizacja i kompresja to dwie różne operacje. Tar.gz bardzo wyraźnie pokazuje intencję: skompresowane archiwum, podczas gdy .zip lub .rar po prostu pokazują, że są to niektóre skompresowane pliki.
źródło
tar
jest tradycyjny w Uniksie, łączy pliki, ale niekoniecznie je kompresuje. Kompresowanie ich za pomocą .g, .bz lub .b2 jest równie łatwe.Zip
irar
są odpowiednie i bardziej powszechne w świecie Windowsźródło
Jest tradycyjny, wszechobecny i działa. Poza tym myślałem, że to trochę oczywiste.
Aktualizacja
Przepraszam, zapominam, że większość ludzi nie wie, co wiem, ani nie mam doświadczenia jako administrator w heterogenicznych środowiskach.
Tradycja jak w zwyczaju lub praktyce zakorzeniona w czasie. Wiemy, że ma on swoje podstawy w historii, ponieważ tar wywodzi się z Tape ARchive, odwołując się do starej technologii tworzenia kopii zapasowych na taśmach. Ma długą historię w różnych systemach operacyjnych Unix od 1979 roku w 7. edycji Uniksa, gdzie zastąpił tp. Systemy Linux są zazwyczaj połączeniem jądra Linux i oprogramowania GNU, którego częścią jest GNU tar. Cała ta historia smoły oznacza, że większość doświadczonych ludzi technicznych wie, jak jej używać bez konieczności odwoływania się do dokumentacji, ponieważ jest ona zakorzeniona. Dla nowych użytkowników jest mnóstwo dokumentacji, ponieważ oprogramowanie istnieje od tak dawna.
Wszechobecny jak w pojawieniu się lub znaleziony wszędzie. Dość zaakceptowanym niewłaściwym użyciem jest sytuacja, w której wygląd nie jest uniwersalny, ale stanowi wystarczająco duży odsetek populacji, aby można go było uznać za wszechobecny. 7. edycja Unix jest przodkiem największych wersji Uniksa, w tym Sun OS / Solaris, AIX, HPUX, AIX, BSD itp . Istnieje również wysoki stopień kompatybilności krzyżowej w różnych implementacjach tar na Uniksie . Ponieważ MacOS (od OS 10) jest oparty na BSD, ma również tar. Linux używa oprogramowania GNU, które zawiera GNU Tar, więc tar jest dostępny we wszystkich wersjach Linuksa. I chociaż nie jest dostępny jako wbudowany, istnieje wiele implementacji tar dostępnych w systemie Windows, w tym GNU Tar poprzez cygwin i natywnie. Szczególnie GNU Tar jest dostępny na większości Uniksów i Windows, co czyni go dobrym wyborem do migracji plików w różnych systemach operacyjnych.
Działa tak, jakby działał przez długi czas bez większych modyfikacji. Jest dostępny na wszystkich głównych platformach od razu po wyjęciu z pudełka (z wyjątkiem Windows, gdzie jest dostępny jako dodatkowe oprogramowanie). Format jest także obsługiwany na wszystkich głównych platformach, co ułatwia wymianę między platformami. Nie tylko jest nadal używany jako sposób na tworzenie łatwych do przenoszenia archiwów, ale rura-tar jest standardowym idiomem uniksowym do kopiowania drzew katalogów, szczególnie w środowiskach heterogenicznych. Krótko mówiąc, jest w pobliżu i nadal jest intensywnie używany, ponieważ robi to, co robi dobrze.
źródło