Chuyển đổi TAR sang GZ
Việc chuyển đổi tệp lưu trữ TAR thành tệp lưu trữ GZIP đóng gói một tập hợp tệp chưa nén thành một luồng nén duy nhất bằng thuật toán DEFLATE không mất dữ liệu, nhằm giảm đáng kể kích thước tệp.
So sánh định dạng & Thông số kỹ thuật
| Thông số kỹ thuật | TAR | GZ |
|---|---|---|
| Loại MIME | application/ | application/ |
| Loại | vùng chứa kho lưu trữ | luồng nén |
| Nén | không nén (thường kết hợp với gzip/bzip2/xz) | DEFLATE không mất dữ liệu (LZ77 + Huffman) |
| Thông số tiêu chuẩn | chuẩn POSIX.1-2001 / IEEE 1003.1 ustar | IETF RFC 1952 (GZIP) |
| Chữ ký byte đầu tệp | 75 73 74 61 72 (ustar) | 1F 8B |
Tổng quan định dạng & Ứng dụng
Các nhà phát triển phần mềm và quản trị viên hệ thống thường nhóm nhiều tệp và thư mục thành một kho lưu trữ TAR duy nhất để giữ nguyên cấu trúc thư mục và quyền truy cập tệp. Tuy nhiên, các tệp TAR tự chúng không làm giảm kích thước tệp. Điều này tạo ra nhu cầu nén tệp lưu trữ để truyền mạng nhanh hơn và lưu trữ hiệu quả. Bằng cách chuyển đổi vùng chứa TAR thành tệp lưu trữ GZIP, người dùng áp dụng thuật toán DEFLATE cho toàn bộ luồng dữ liệu. Quy trình này là tiêu chuẩn trong môi trường Linux và Unix để phân phối phần mềm, sao lưu hệ thống và triển khai máy chủ. Các công cụ nén tiêu chuẩn như gzip xử lý trực tiếp các byte TAR thô, xuất ra một tệp nhỏ gọn giữ nguyên tất cả siêu dữ liệu ban đầu.
Thông số kỹ thuật & Phân tích codec
Tệp TAR (Tape Archive) dùng loại MIME application/x-tar và lưu các tệp tuần tự mà không có nén tích hợp. TAR dựa trên tiêu chuẩn POSIX và dùng các khối tiêu đề đệm bằng byte 0. GZIP dùng loại MIME application/gzip và hoạt động như luồng nén DEFLATE không mất dữ liệu, kết hợp khớp cửa sổ trượt LZ77 với mã hóa Huffman. Chữ ký tệp giúp hệ điều hành nhận dạng định dạng. Tệp TAR chuẩn thường chứa chỉ báo ustar ở độ lệch 257. Tệp GZIP bắt đầu bằng chữ ký nhận diện hai byte 1F 8B dạng thập lục phân, tiếp theo là cờ nén và dấu thời gian.
Khả năng tương thích hệ điều hành & trình duyệt
Kho lưu trữ GZIP được hỗ trợ rộng rãi trên các hệ điều hành hiện đại như Linux, macOS và Windows. Công cụ dòng lệnh như gzip và gunzip có sẵn trên hệ thống Unix; các phiên bản Windows hiện đại xử lý GZIP trong PowerShell và File Explorer. Trình duyệt web không giải nén GZIP trực tiếp ở phía máy khách nếu thiếu thư viện JavaScript, nhưng máy chủ web thường dùng GZIP để nén lưu lượng HTTP ngay khi truyền.
Thông tin hữu ích
Luôn tạo tệp TAR chưa nén trước khi áp dụng nén GZIP. Việc nén các tệp riêng lẻ bên trong vùng chứa TAR mang lại tỷ lệ nén kém vì thuật toán DEFLATE không thể tìm thấy các mẫu giữa các tệp hiệu quả bằng một luồng byte liên tục duy nhất.
Câu hỏi thường gặp
Làm thế nào để chuyển đổi lưu trữ TAR sang lưu trữ GZIP mà không làm giảm chất lượng?
Quá trình chuyển đổi sử dụng thuật toán DEFLATE không mất dữ liệu. Nén không mất dữ liệu có nghĩa là mọi byte, quyền tệp và cấu trúc thư mục đều được bảo lưu chính xác như trong tệp TAR ban đầu, mà không làm mất dữ liệu trong quá trình giải nén.
Sự khác biệt giữa lưu trữ TAR và lưu trữ GZIP là gì?
Kho lưu trữ TAR là định dạng vùng chứa bó nhiều tệp và thư mục thành một tệp mà không làm giảm kích thước của chúng. Kho lưu trữ GZIP là một luồng nén làm giảm kích thước tệp bằng các thuật toán toán học nhưng thường chỉ xử lý một luồng dữ liệu duy nhất tại một thời điểm, đó là lý do tại sao TAR và GZIP được ghép nối với nhau dưới dạng .tar.gz.