Kho lưu trữ Tar Gzip (.tar.gz)

POSIX.1 Tiêu chuẩn

Tar 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ọn hoặc thả tệp vào đây

Riêng tư - tệp không bao giờ rời khỏi thiết bị của bạn

Hoặc dán Ctrl+V
Cam kết bảo vệ quyền riêng tư, không truyền dữ liệu qua mạng: 0 byte được tải lên máy chủ bên ngoài. Toàn bộ quá trình xử lý diễn ra cục bộ trong hộp cát trình duyệt của bạn.

Chữ ký ở đầu tệp (mẫu byte nhận diện)

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 08

BIỂU DIỄN ASCII: ..\x08

Tiêu chuẩn hóa: POSIX.1 ustar (được bọc trong gzip theo RFC 1952)

Thông số kỹ thuật

Kiến trúc ContainerLuồng kho lưu trữ POSIX ustar / GNU tar được bọc trong vùng chứa nén Gzip RFC 1952
NénĐóng gói hai giai đoạn: tuần tự hóa TAR rồi nén DEFLATE
Thứ tự byteLớp bọc Gzip little-endian chứa các khối tar POSIX hệ bát phân
Không gian màuKhông áp dụng (vùng chứa kho lưu trữ)
Kênh & Cấu trúcCây thư mục Unix nhiều tệp, liên kết tượng trưng, quyền sở hữu tệp và bit quyền truy cập
Kích thước tối đaKích thước kho lưu trữ truyền phát không giới hạn
Độ trong suốtBảo toàn cấu trúc hệ thống tệp và dữ liệu, không mất dữ liệu và khớp từng bit
Truyền phát & Tăng dầnCó thể truyền phát qua pipe từ đầu đến cuối: giải nén và bung tệp đồng thời trong một lượt

Ma trận so sánh kỹ thuật: TAR.GZ so với các đối thủ

Thuộc tính kỹ thuậtTAR.GZ (Hiện tại)ZIP7ZTAR.BZ2
Quyền UnixLưu siêu dữ liệu POSIX được kho lưu trữ và công cụ giải nén hỗ trợHạn chế / thường bị mấtThuộc tính cơ bản được bảo tồnSiêu dữ liệu POSIX được chọn mà công cụ giải nén hỗ trợ
Tỷ lệ nénTrung bình (Gzip DEFLATE)Trung bình (ZIP DEFLATE)Rất cao (LZMA2)Cao (Bzip2 BWT)
Tốc độ giải nénNhanh (~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 LinuxLựa chọn mặc định phổ biến trong thế giới mã nguồn mởMặc định máy tính để bàn người dùng cuốiĐược người dùng Windows đam mê ưa chuộngBản phát hành mã nguồn Linux từ trước đây

Các dạng hỏng thường gặp và hướng dẫn khôi phục bằng mã 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 phần bao 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.app hoặc 'tar -izxf broken.tar.gz'.

Phân tích bảo mật và các đường tấn công nhằm vào 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 nén, 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.

Biện pháp phòng thủ tốt nhất: Giải nén các tệp lưu trữ dưới quyền người dùng không có đặc quyền và kiểm tra và chuẩn hóa mọi đường dẫn tệp đích để ngăn tấn công duyệt thư mục.

Nguồn gốc lịch sử và các cột mốc

2015Kiến trúc phân phối container Docker chuẩn hóa việc sử dụng các ảnh hệ thống tệp gốc .tar.gz theo lớp.
1996IETF tiêu chuẩn hóa thông số kỹ thuật Gzip cơ bản dưới dạng RFC 1952.
1993Dự án GNU giới thiệu cờ 'tar -z' tích hợp, củng cố .tar.gz làm định dạng gói Linux mặc định.

Ưu điểm & Lợi ích chính

  • Các dự án phần mềm thường phát hành kho mã nguồn dưới dạng .tar.gz vì TAR nhóm cây thư mục còn Gzip nén luồng.
  • .tar.gz có thể ghi quyền và liên kết tượng trưng trong lớp TAR. Việc khôi phục tùy thuộc công cụ giải nén và hệ điều hành đích, vì vậy hãy kiểm tra quyền sau khi giải nén trên nền tảng khác.
  • Hoàn toàn có thể xử lý theo luồng: 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.
  • Kém thuận tiện hơn trên các hệ thống Windows cũ so với định dạng ZIP được hỗ trợ rộng rãi.

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 thường ghi nhớ lệnh giải nén tệp tar.gz bằng mẹo '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 lưu tệp cùng thư mục trung tâm, còn .tar.gz bọc luồng TAR bằng Gzip. Việc giữ siêu dữ liệu tùy thuộc kho lưu trữ và cài đặt giải nén.

.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.