Trình chuyển đổi lưu trữ GZIP sang lưu trữ TAR
Chuyển đổi tệp nén GZIP thành tệp lưu trữ TAR để loại bỏ lớp nén, làm lộ ra tập hợp các tệp và thư mục thô, chưa nén.
So sánh định dạng & Thông số kỹ thuật
| Thông số kỹ thuật | GZ | TAR |
|---|---|---|
| Kiểu MIME | application/gzip | application/x-tar |
| Loại | compressed stream | archive container |
| Nén | lossless DEFLATE (LZ77 + Huffman) | uncompressed (often combined with gzip/bzip2/xz) |
| Thông số chuẩn | IETF RFC 1952 (GZIP) | POSIX.1-2001 / IEEE 1003.1 ustar |
| Phần đầu Magic Bytes | 1F 8B | 75 73 74 61 72 (ustar) |
Tổng quan định dạng & Ứng dụng
Tệp GZ là một luồng nén duy nhất được tạo bởi thuật toán DEFLATE, trong khi tệp TAR là một vùng chứa chưa nén gom nhiều tệp và cấu trúc thư mục lại với nhau mà không làm chúng thu nhỏ lại. Quản trị viên hệ thống và nhà phát triển thường xuyên thực hiện việc chuyển đổi này khi họ cần kiểm tra, sửa đổi hoặc trích xuất các tệp riêng lẻ bên trong bản sao lưu được nén mà không phải nén lại toàn bộ luồng mỗi lần. Các tiện ích phần mềm như GNU tar, 7-Zip và WinRAR xử lý việc chuyển đổi này nguyên bản trên hầu hết các hệ điều hành máy tính để bàn. Chuyển từ GZ sang TAR cũng phổ biến trong các quy trình phát triển phần mềm. Các máy chủ tích hợp liên tục thường lưu trữ các thành phần bản dựng ở định dạng TAR để làm cho việc thao tác tệp nhanh hơn trước khi áp dụng bước nén cuối cùng để lưu trữ lâu dài hoặc truyền qua mạng. Việc loại bỏ lớp nén cho phép các tập lệnh đọc siêu dữ liệu thư mục ngay lập tức.
Thông số kỹ thuật & Phân tích codec
Định dạng GZIP sử dụng loại MIME application/gzip và bắt đầu bằng chữ ký byte magic 1F 8B. Nó dựa trên thuật toán DEFLATE, kết hợp khớp từ điển LZ77 và mã hóa Huffman để đạt được việc giảm dữ liệu không mất dữ liệu. Ngược lại, định dạng lưu trữ TAR sử dụng loại MIME application/x-tar. TAR không sử dụng các byte magic ở các độ lệch cố định theo nghĩa truyền thống, mà thay vào đó dựa trên một khối tiêu đề 512 byte chứa chuỗi magic POSIX hoặc USTAR như 'ustar' ở độ lệch 257. TAR hoàn toàn là một định dạng vùng chứa không có tính năng nén tích hợp, có nghĩa là việc chuyển đổi GZ sang TAR bao gồm việc giải mã luồng DEFLATE và ghi chuỗi byte thô vào các cấu trúc khối TAR tiêu chuẩn.
Khả năng tương thích hệ điều hành & trình duyệt
Hỗ trợ gốc cho cả hai định dạng tồn tại trên hầu hết các hệ điều hành. Linux, macOS và các môi trường giống Unix bao gồm các công cụ dòng lệnh như tar và gzip giúp chuyển đổi các tệp này ngay lập tức. Người dùng Windows có thể dựa vào phần mềm của bên thứ ba như 7-Zip hoặc các lệnh terminal Windows 10 và 11 hiện đại. Trình duyệt web không thể hiển thị hoặc thực thi trực tiếp các phép chuyển đổi giữa hai loại lưu trữ này, vì vậy việc xử lý tệp phải diễn ra trên máy cục bộ hoặc qua mã máy chủ phụ trợ.
💡 Thông tin hữu ích
Luôn xác minh rằng ổ đĩa lưu trữ đích của bạn có đủ dung lượng trống trước khi chuyển đổi tệp GZ lớn thành tệp lưu trữ TAR, vì các tệp TAR chưa nén lớn hơn đáng kể so với các tệp nén tương đương.
So sánh định dạng & Thông số kỹ thuật
Một kho lưu trữ GZIP 1 GB mở rộng thành kho lưu trữ TAR 4 GB chưa nén. Việc truyền tệp GZ 1 GB mất khoảng 2,2 phút trên kết nối di động 4G tiêu chuẩn, 16 giây trên mạng 5G và chỉ 1,3 giây trên kết nối Cáp quang 1 Gbps. Sau khi được chuyển đổi thành tệp TAR 4 GB, thời gian truyền mạng sẽ tăng gấp bốn lần trừ khi áp dụng công cụ nén thứ cấp.
Câu hỏi thường gặp
Làm thế nào để chuyển đổi lưu trữ GZIP sang lưu trữ TAR mà không làm giảm chất lượng?
Cả GZIP và TAR đều dựa trên quá trình xử lý dữ liệu không mất mát. Việc chuyển đổi từ GZ sang TAR giải nén luồng dữ liệu trở lại cấu trúc byte ban đầu chính xác của nó, nghĩa là không có dữ liệu nào bị mất trong quá trình biến đổi.
Sự khác biệt giữa lưu trữ GZIP và lưu trữ TAR là gì?
GZIP là thuật toán nén một tệp giúp giảm kích thước tệp bằng toán học DEFLATE. TAR là một vùng chứa lưu trữ gom nhiều tệp và thư mục thành một tệp duy nhất mà không áp dụng bất kỳ hình thức nén nào.