Tệp nén TAR (.tar)

POSIX.1-1988 Tiêu chuẩn

Tape Archive (TAR) là định dạng đóng gói tệp phổ biến trên Unix và Linux, nhóm nhiều tệp, thư mục và siêu dữ liệu hệ thống tập tin thành một luồng chưa nén duy nhất được thiết kế để sao lưu băng từ và phân phối phần mềm.

Chuyển đổi ZIP sang TAR

Trình chuyển đổi từ ZIP sang TAR miễn phí trên trình duyệt. Chuyển đổi tệp ngay lập tức trên thiết bị của bạ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 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

Chuyển đổi 100% riêng tư trong trình duyệ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 mật không truyền tải 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ý 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 bằng cách kiểm tra chuỗi byte nhị phân đầu tệp:

CHỮ KÝ HEX (OFFSET 257):

75 73 74 61 72

BIỂU DIỄN ASCII: ustar

Tiêu chuẩn hóa: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

Thông số kỹ thuật

Kiến trúc ContainerSequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
NénUncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd)
Thứ tự byte EndiannessOctal ASCII string fields; big-endian numeric extensions
Không gian màuN/A (Archive Container)
Kênh & Cấu trúcUnix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
Kích thước tối đa8 GB limit in classic ustar; practically unlimited in modern PAX format
Độ trong suốtFull preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
Truyền phát & Tăng dầnSequential stream-oriented design: can be written directly to physical magnetic tape drives

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

Thuộc tính kỹ thuậtTAR (Hiện tại)ZIP7ZCPIO
Nén gốcKhông có (chỉ là vùng chứa đóng gói thuần túy)Tích hợp nén DeflateTích hợp nén LZMA/LZMA2Không có (chỉ là vùng chứa đóng gói thuần túy)
Bảo tồn quyền Unix100% thuộc tính POSIX, liên kết mềm, UID/GIDHỗ trợ quyền Unix hạn chếBảo tồn quyền cơ bản100% thuộc tính POSIX
Giải nén trực tuyếnGiải nén phát trực tuyến đầy đủ từ các đường ốngYêu cầu đọc thư mục trung tâm tại EOFYêu cầu đọc tiêu đề kết thúcGiải nén phát trực tuyến đầy đủ
Truy cập ngẫu nhiên vào các tệpChậm (quét tuần tính tuyến tính)Tức thì (tra cứu thư mục trung tâm)Trung bình (tra cứu chỉ mục)Chậm (quét tuần tự tuyến tính)

Các chế độ hỏng hóc phổ biến & Hướng dẫn khôi phục Hex

Lỗi giải nén: 'tar: Skipping to next header' hoặc 'A lone zero block at X'.

Nguyên nhân gốc rễ: Căn chỉnh khối 512 byte bị hỏng hoặc luồng bị chấm dứt sớm.

Khắc phục: Giải nén bằng 'tar -i' để bỏ qua các khối bị hỏng hoặc sửa chữa bằng Công cụ Tar File2File.

Phân tích bảo mật & Các vectơ tấn công bộ phân tích cú pháp

Trình trích xuất TAR phải làm sạch đường dẫn tệp để ngăn chặn việc ghi đè tệp tùy ý thông qua các cuộc tấn công duyệt thư mục.

Các Véc-tơ Tấn công Đã biết

  • Duyệt thư mục kiểu 'Slip' (ví dụ: '../etc/passwd') ghi đè lên các tệp hệ thống quan trọng trong quá trình giải nén.
  • Điều kiện tranh chấp liên kết mềm tạo ra liên kết mềm đến các thư mục hệ thống theo sau là việc ghi tệp.
  • Từ chối dịch vụ thông qua các vòng lặp liên kết cứng vòng tròn.

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

2001IEEE POSIX.1-2001 giới thiệu tiêu chuẩn PAX (Portable Archive Interchange), phá vỡ giới hạn kích thước 8 GB cũ.
1988IEEE POSIX tiêu chuẩn hóa định dạng tiêu đề 'ustar' (Unix Standard Tar).
1979Được giới thiệu trong Version 7 Unix (V7) bởi Bell Labs để ghi các cây tệp vào ổ đĩa băng từ.

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

  • Bảo toàn trung thực độ trung thực của hệ thống tập tin Unix hoàn chỉnh: quyền POSIX, liên kết mềm (symlink), liên kết cứng (hardlink) và quyền sở hữu.
  • Thiết kế hướng băng từ có thể phát trực tuyến: có thể giải nén trực tiếp từ đường ống mạng mà không cần tìm kiếm đến cuối tệp.
  • Tiêu chuẩn phổ quát trên tất cả các máy chủ Linux, hình ảnh container (Docker/OCI) và các bản phân phối phần mềm Unix.

Hạn chế & Nhược điểm kỹ thuật

  • Không nén gốc: tệp .tar không nén có kích thước xấp xỉ tổng kích thước của các tệp thô kết hợp lại.
  • Truy cập ngẫu nhiên chậm: giải nén một tệp đơn lẻ từ giữa một tệp tar lớn đòi hỏi phải quét từ đầu.
  • Các tiêu đề ustar cũ cắt ngắn tên tệp dài hơn 100 ký tự (đã được giải quyết trong tar PAX/GNU hiện đại).

Thông tin kỹ thuật thú vị

  • Byte ma thuật 'ustar' nằm ở vị trí byte 257 bên trong mỗi khối tiêu đề 512 byte.
  • TAR ban đầu được viết để điều khiển vật lý các ổ đĩa băng cuộn 9 rãnh.
  • Hình ảnh container Docker và OCI thực chất là các tập hợp chồng các lưu trữ .tar tiêu chuẩn chứa sự khác biệt của hệ thống tệp gốc.

Các câu hỏi kỹ thuật thường gặp

Tại sao tệp .tar của tôi không được nén?

TAR chỉ là một công cụ lưu trữ (nó gộp các tệp lại thành một tệp duy nhất) và bản thân nó không thực hiện nén dữ liệu. Để nén lại, hãy kết hợp nó với gzip để tạo ra tệp .tar.gz.

Sự khác biệt giữa ustar và GNU tar là gì?

Ustar là tiêu chuẩn POSIX năm 1988 với giới hạn tên tệp 100 ký tự, trong khi GNU tar là định dạng mở rộng hỗ trợ độ dài đường dẫn không giới hạn và các tệp thưa (sparse files).

Làm cách nào để mở tệp .tar trên Windows?

Windows 10 và 11 hỗ trợ tar nguyên bản thông qua dòng lệnh ('tar -xf file.tar'), hoặc bạn có thể giải nén trực quan bằng File2File.app trực tiếp trên trình duyệt web.