ekstrakcja pliku tar, dlaczego zmniejszono rozmiar pliku

3

Powszechnie wiemy, że kompresja to zmniejszenie rozmiaru danych w celu zaoszczędzenia miejsca lub czasu transmisji. Powinienem oczekiwać większego rozmiaru po wyodrębnieniu skompresowanego pliku. Pobrałem plik w formacie tar (95 KB), a kiedy go rozpakowałem, jego rozmiar zmniejszył się (5,7 KB), a pod nim były jeszcze inne pliki, które teraz pokazują nawet 0 bajtów. Co może być tego przyczyną.

Subhransu Mishra
źródło

Odpowiedzi:

7

Format tar nie jest skompresowany. Ale dodaje nagłówki na początku każdego pliku lub katalogu w archiwum. Nagłówki są używane przez tar do podania nazwy pliku, znacznika czasu itp. Ta informacja nie jest częścią danych w pliku, ale tar potrzebuje go do odtworzenia pliku. Każdy nagłówek ma zwykle 512 bajtów, ale może być większy, jeśli nazwa pliku jest dłuższa niż 100 znaków. Koniec archiwum tar oznaczony jest pustym nagłówkiem. Nagłówki te zwykle wyjaśniają wszelkie różnice w wielkości między archiwum a wszystkim, co z niego wyciągnięto.

Mogą również występować różnice, których nie można wyjaśnić rozmiarem nagłówków tar, ale są to głównie przypadki narożne i trudne do zdiagnozowania bez zobaczenia pliku tar lub przynajmniej jego listy. Jednym z możliwych wyjaśnień ogromnej różnicy, ogromnego pliku tar, ale bardzo niewiele z niego wyodrębnionego, jest to, że archiwum zawiera wiele kopii tego samego pliku. Może się to zdarzyć, jeśli ktoś będzie ciągle dodawał nowsze wersje, być może jako strategię tworzenia kopii zapasowych. Ekstrakcja tar po prostu nadpisywałaby ten sam plik za każdym razem, bez zajmowania więcej miejsca.

Nicole Hamilton
źródło
Dzięki, więc mówisz, że te nagłówki zostaną usunięte, gdy wyodrębnię plik?
Subhransu Mishra
Że tak powiem. Nagłówki są używane przez tar do podania nazwy pliku, znacznika czasu itp. Ta informacja nie jest częścią danych w pliku, ale tar potrzebuje go do odtworzenia pliku.
Nicole Hamilton
Trochę zaktualizowałem swoją odpowiedź. Mam nadzieję, że to pomocne. Dzięki za zaakceptowanie.
Nicole Hamilton,