Tar Gzip 归档 (.tar.gz)
POSIX.1 Tiêu chuẩnTar Gzip (.tar.gz, còn được gọi là .tgz) là định dạng phân phối phần mềm và đóng gói lưu trữ tiêu chuẩn của thế giới Linux và mã nguồn mở, kết hợp việc đóng gói TAR gốc trên Unix với nén Gzip phổ biến.
Kiểm tra & Siêu dữ liệu
Các hệ điều hành và trình phân tích tệp nhận dạng tệp TAR.GZ bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
Chữ ký tiêu đề ở cấp độ Byte (Magic Bytes)
Các hệ điều hành và trình phân tích tệp nhận dạng tệp TAR.GZ bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:
CHỮ KÝ HEX (OFFSET 0):
1F 8B 08BIỂU DIỄN ASCII: ..\x08
Tiêu chuẩn hóa: POSIX.1 ustar (RFC 1952 gzip wrapped)
Thông số kỹ thuật
| Kiến trúc Container | POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container |
| Nén | Two-stage packaging: TAR serialization followed by DEFLATE compression |
| Thứ tự byte Endianness | Little-Endian gzip envelope wrapping octal POSIX tar blocks |
| Không gian màu | N/A (Archive Container) |
| Kênh & Cấu trúc | Multi-file Unix directory trees, symlinks, file ownership, and permission bits |
| Kích thước tối đa | Unbounded streaming archive size |
| Độ trong suốt | 100% bit-exact lossless preservation of filesystem structures and data |
| Truyền phát & Tăng dần | End-to-end pipeable streaming: decompress and extract simultaneously in a single pass |
Ma trận so sánh kỹ thuật: TAR.GZ so với các đối thủ
| Thuộc tính kỹ thuật | TAR.GZ (Hiện tại) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Quyền Unix | Bảo tồn POSIX gốc 100% | Hạn chế / thường bị mất | Thuộc tính cơ bản được bảo tồn | Bảo tồn POSIX gốc 100% |
| Tỷ lệ nén | Trung bình (Gzip DEFLATE) | Trung bình (ZIP DEFLATE) | Rất cao (LZMA2) | Cao (Bzip2 BWT) |
| Tốc độ giải nén | Nhanh (~300 MB/s) | Nhanh (~300 MB/s) | Trung bình (~100 MB/s) | Chậm (~40 MB/s) |
| Tiêu chuẩn hệ sinh thái Linux | Mặc định mã nguồn mở phổ biến | Mặc định máy tính để bàn người dùng cuối | Yêu thích của người dùng Windows đam mê | Bản phát hành nguồn Linux cũ |
Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục Hex
Dòng lệnh báo cáo 'gzip: stdin: invalid compressed data--format violated'.
Nguyên nhân gốc rễ: Byte bị hỏng trong phong bì Gzip hoặc quá trình tải xuống bị cắt cụt.
Khắc phục: Thử khôi phục một phần bằng Trình trích xuất lưu trữ File2File hoặc 'tar -izxf broken.tar.gz'.
Phân tích bảo mật & Các vectơ tấn công bộ phân tích cú pháp
Lưu trữ TAR.GZ kết hợp các rủi ro của cả bom nén và các cuộc tấn công duyệt thư mục nếu được giải nén bất cẩn.
Các Véc-tơ Tấn công Đã biết
- Khuếch đại theo kiểu bom Zip, trong đó một tệp .tar.gz nhỏ mở rộng thành hàng terabyte số không.
- Duyệt thư mục (ví dụ: '../../root/.ssh/authorized_keys') ghi đè các tệp có đặc quyền.
- Tạo nút thiết bị độc hại trong quá trình giải nén dưới quyền root.
Thực tiễn Tốt nhất về Phòng thủ:
Nguồn gốc lịch sử & Các cột mốc
Ưu điểm & Lợi ích chính
- Tiêu chuẩn không thể tranh cãi cho các bản phát hành mã nguồn mở, gói Linux và các lớp container Docker.
- Kết hợp việc bảo tồn quyền POSIX và liên kết mềm hoàn chỉnh với tính năng nén Gzip đáng tin cậy, nhanh chóng.
- Hoàn toàn có thể phát trực tuyến: có thể tải xuống, giải nén và mở gói qua các đường ống mạng mà không cần ghi tệp tạm thời vào đĩa.
Hạn chế & Nhược điểm kỹ thuật
- Giải nén một tệp duy nhất đòi hỏi phải giải nén toàn bộ lưu trữ lên đến vị trí của tệp đó.
- Tỷ lệ nén thấp hơn các lựa chọn thay thế hiện đại như .tar.xz hoặc .tar.zst.
- Ít trực quan hơn trên các hệ thống Windows cũ so với các tệp .zip phổ biến.
Thông tin kỹ thuật thú vị
- Trên hệ thống MS-DOS có giới hạn tên tệp 8.3, '.tar.gz' được rút gọn thành '.tgz'.
- Mỗi khi bạn chạy 'npm install', npm sẽ tải xuống và giải nén các gói .tgz (tar.gz) ở chế độ nền.
- Người dùng Linux nổi tiếng với việc ghi nhớ lệnh giải nén tệp tar.gz bằng cách ghi nhớ 'eXtract Ze File': tar -xzf file.tar.gz.
Các câu hỏi kỹ thuật thường gặp
Sự khác biệt giữa .tar.gz và .zip là gì?
.zip nén từng tệp riêng lẻ và có một thư mục trung tâm ở cuối tệp. .tar.gz kết hợp tất cả các tệp thành một luồng duy nhất trước, qua đó giữ nguyên hoàn toàn quyền hạn và liên kết tượng trưng (symlinks) của Linux.
.tgz có giống với .tar.gz không?
Có. .tgz đơn giản là phần mở rộng tệp 3 chữ cái viết tắt của .tar.gz, được tạo ra ban đầu cho các hệ thống điều hành có giới hạn tên tệp ngắn 8.3 như DOS.
Làm cách nào để giải nén tệp .tar.gz trên Windows?
Bạn có thể giải nén các tệp .tar.gz trực tiếp trong trình duyệt web của mình bằng File2File.app mà không cần phải cài đặt WinRAR hay 7-Zip.