Có ít nhất bốn công việc riêng biệt thường bị nhầm lẫn với nhau vì các công cụ phổ biến tích hợp chúng:
- Lưu trữ: khả năng kết hợp nhiều tệp (bao gồm siêu dữ liệu) thành một tệp duy nhất, bảo tồn càng nhiều thứ càng tốt. Trong thế giới Linux / Unix, việc lưu trữ được thực hiện theo định dạng tệp TAR.
- Nén: khả năng giảm thiểu kích thước của luồng dữ liệu nhị phân một cách dễ dàng. Trong thế giới Linux / Unix, điều này theo truyền thống được thực hiện bởi GZip và BZip2.
- Mã hóa: khả năng xáo trộn dữ liệu bằng các phím
- Checksum: khả năng phát hiện (và có thể sửa) lỗi.
Tính phổ biến của .tar.gz và .tar.bz tương ứng với triết lý Unix của các công cụ nhỏ làm tốt một công việc, trên một công cụ duy nhất làm mọi thứ. Định dạng tệp TAR không hỗ trợ nén hoặc mã hóa, nhưng nó có thể được nén thêm bởi bất kỳ máy nén nào (bao gồm .tar.zip hoặc .tar.7z). Công việc của GZip và BZip2 chỉ đơn giản là nén một luồng tệp sang một tệp phim khác, lớp nén không cần quan tâm làm thế nào để bảo toàn siêu dữ liệu hoặc mã hóa hoặc tổng kiểm tra. Tuy nhiên, theo thời gian, một số phím tắt đã được tạo ra trong tar
chương trình để hoạt động với máy nén thuận tiện hơn.
Trong định dạng tệp zip và 7z, các công việc riêng biệt này được thực hiện bởi một chương trình trong một định dạng siêu tệp duy nhất.
Tại sao xu hướng trên dường như giữ vững, mặc dù tất cả những thứ này là định dạng di động? Có bất kỳ lợi thế cụ thể nào để sử dụng một định dạng lưu trữ cụ thể trên một nền tảng cụ thể không?
Bởi vì nó đã được thực hiện theo cách của nó, mã nguồn chương trình được phân phối theo truyền thống là .tar.gz hoặc .tar.bz2, vì việc bảo vệ quyền của tệp, thời gian sửa đổi, v.v ... rất quan trọng đối với các công cụ khác nhau được sử dụng để lập trình (ví dụ: make).
Bước lưu trữ và nén riêng biệt đã hoạt động rất tốt trong nhiều năm, nó có một lợi thế rõ ràng là có thể tự do trộn và kết hợp lưu trữ và nén, và nhược điểm của nó (quy trình nén 2 bước) có thể dễ dàng tránh được bằng cách phát triển các công cụ thông minh hơn ( chương trình nén linux hiện đại nhất sẽ trực tiếp nén thành .tar.gz hoặc .tar.bz2, ẩn bước trung gian).
Không có lý do mạnh mẽ để chuyển sang các định dạng tệp khác, máy nén mới hơn không có tốc độ nén tốt hơn đáng kể để biện minh cho việc phá vỡ truyền thống và tar có thể bảo vệ mọi thứ đủ tốt.