Nekromancja.
Tak, to ma znaczenie.
Właściwie to zależy.
tar.gz
- Przechowuje atrybuty plików unix : uid, gid, permissions (przede wszystkim wykonywalny). Wartość domyślna może zależeć od twojej dystrybucji i może być przełączana z opcjami.
- Konsoliduje wszystkie pliki do zarchiwizowania w jednym pliku („Archiwum taśmy”).
- Rzeczywista kompresja jest wykonywana przez GZIP na jednym pliku .tar
zamek błyskawiczny
- Przechowuje atrybuty MSDOS . (Archiwum, Tylko do odczytu, Ukryty, System)
- Kompresuje każdy plik osobno, a następnie konsoliduje indywidualnie skompresowane pliki w jednym pliku
- Zawiera tabelę plików na końcu pliku
Ponieważ zip kompresuje pliki indywidualnie, archiwum zip najprawdopodobniej będzie miało większy rozmiar (szczególnie w przypadku wielu mniejszych plików - pomyśl pliki konfiguracyjne).
Widzisz, odejdź od rozmiaru pliku, jeśli spakujesz kilka plików w systemie Linux / Unix, a następnie rozpakujesz je, atrybuty pliku znikną (przynajmniej te, które nie są obsługiwane przez MS-DOS - zależy od tego, jaki ZIP - używane oprogramowanie). Może to mieć znaczenie lub nie, w którym to przypadku nie ma znaczenia (ponieważ różnica wielkości pliku jest w większości przypadków nieistotna).
tar gz jest lepszy dla Linux / Unix, ponieważ zachowuje uprawnienia, takie jak „wykonywalny” dla skryptów.
źródło
Najpopularniejsze dystrybucje Linuksa są obecnie domyślnie wyposażone w
zip
kompatybilność. Ale jak stwierdzono w nc3b,tar
igzip
są bardziej powszechne w systemach Linux / Unix. Jeśli potrzebujesz 95% kompatybilności w tych systemach, rozważ użycietar
igzip
. Jeśli potrzebujesz tylko 85%,zip
zrobi dobrze.źródło
gunzip --suffix .zip npm-debug.log.zip
lubgunzip -c < npm-debug.log.zip > npm-debug.log
tar / gzip jest dość kiepskim formatem, ponieważ archiwum nie może być losowo otwierane, aktualizowane, weryfikowane, a nawet dołączane do ... bez konieczności dekompresji całego archiwum.
zip jest o wiele lepszy pod tym względem ... możesz szybko uzyskać zawartość pliku zip, dołączyć go bez ponownej kompresji pierwszej części itp.
zip ma pewne ograniczenia rozmiaru ... w zależności od używanej wersji "zip" ... a to może stanowić problem. ale standardowe narzędzie info-zip, które jest dostarczane z większością linuksowych systemów operacyjnych, nie ma ograniczeń rozmiaru i zachowuje uprawnienia do plików w porządku.
zobacz: https://en.wikipedia.org/wiki/Info-ZIP dla możliwości
źródło
Instalacje Barebones Unix nie zawierają rozpakowania (tj. Instalacje na serwerze), ale zawsze zawierają pliki tar i gzip . Jeśli twoi odbiorcy to serwery, wybrałbym gzip .
Również gzip ma większą kompresję niż zip , więc plik będzie mniejszy.
źródło
Tak, to ma znaczenie. Tar jest archiwizatorem. A w tar.gz kompresujemy to archiwum.
Zip jest zarówno archiwizatorem, jak i kompresorem.
Jeśli porównasz kompresję, z mojego doświadczenia wynika, że gzip jest znacznie lepszy niż zip.
Inna znacząca różnica jest wymieniona w innej odpowiedzi . Jeśli masz bardzo duże archiwum plików i chcesz wyodrębnić mały plik, Zip pozwala to zrobić. Ale w przypadku tar.gz musisz wyodrębnić całe archiwum.
źródło
Decyzja sprowadza się zasadniczo do:
GZIP zachowuje uprawnienia do plików uniksowych , ponieważ pliki mogą być uruchamiane.
Z drugiej strony ZIP działa od razu w systemie Windows.
źródło
tar
igzip
są znacznie bardziej popularne na * nix-es niżunzip
. Na przykład w tej chwili na moim arch-2009.08 nie maunzip
.źródło
bsdtar
(częśćlibarchive
), która dobrze radzi sobie z ZIP.