Arsip TAR (.tar)
POSIX.1-1988 StandarTape Archive (TAR) adalah format pengemasan yang banyak digunakan di Unix dan Linux. Format ini mengelompokkan file, direktori, dan metadata sistem berkas terpilih ke dalam satu aliran tanpa kompresi.
Konversi ZIP ke TAR
Konverter ZIP ke TAR gratis yang berjalan di peramban. Konversikan berkas secara instan di perangkat Anda.
Pemeriksaan & Metadata
Sistem operasi dan penganalisis file mengenali file TAR dengan memeriksa urutan byte biner di bagian awal:
Tanda Tangan Header per Byte (Byte Penanda)
Sistem operasi dan penganalisis file mengenali file TAR dengan memeriksa urutan byte biner di bagian awal:
TANDA TANGAN HEX (OFFSET 257):
75 73 74 61 72REPRESENTASI ASCII: ustar
Standardisasi: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Spesifikasi Teknis
| Arsitektur Kontainer | Rangkaian blok 512-byte: header file 512-byte diikuti data file yang dibulatkan ke kelipatan 512 byte, diakhiri dua blok nol |
| Kompresi | Kontainer arsip tanpa kompresi (dirancang untuk dialirkan ke gzip, bzip2, xz, atau zstd) |
| Urutan Byte | Kolom string ASCII oktal; ekstensi numerik big-endian |
| Ruang Warna | Tidak berlaku (kontainer arsip) |
| Saluran & Struktur | Pohon direktori file Unix, symlink, hard link, perangkat karakter/blok, dan pipe FIFO |
| Dimensi Maksimum | Batas 8 GB pada ustar klasik; secara praktis tidak terbatas dalam format PAX modern |
| Transparansi | Mempertahankan izin file POSIX, UID/GID pemilik, waktu akses, dan atribut tambahan secara penuh |
| Streaming & Progresif | Desain berorientasi aliran berurutan: dapat ditulis langsung ke drive pita magnetik fisik |
Perbandingan Teknis TAR dengan Pesaing
| Atribut Teknis | TAR (Saat Ini) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Kompresi Bawaan | Tidak ada (hanya wadah pengemasan) | Kompresi Deflate bawaan | Kompresi LZMA/LZMA2 bawaan | Tidak ada (hanya wadah pengemasan) |
| Pelestarian izin Unix | Atribut POSIX terpilih, symlink, UID/GID | Dukungan izin Unix terbatas | Mempertahankan izin dasar | Atribut POSIX terpilih |
| Ekstraksi aliran (streaming) | Mendukung ekstraksi penuh secara berurutan dari pipe | Memerlukan pembacaan direktori pusat di EOF | Memerlukan pembacaan tajuk akhir | Ekstraksi yang dapat dialirkan penuh |
| Akses acak ke berkas | Lambat (pemindaian sekuensial linier) | Instan (pencarian direktori pusat) | Sedang (pencarian indeks) | Lambat (pemindaian sekuensial linier) |
Pola Kerusakan Umum dan Panduan Pemulihan Hex
Kesalahan ekstraksi: 'tar: Skipping to next header' atau 'A lone zero block at X'.
Penyebab Utama: Penyelarasan blok 512 byte yang rusak atau penghentian aliran secara prematur.
Pemulihan: Ekstrak dengan 'tar -i' untuk mengabaikan blok yang rusak atau perbaiki dengan File2File.app Tar Tool.
Analisis Keamanan & Vektor Serangan Parser
Ekstraktor TAR harus membersihkan jalur berkas untuk mencegah penimpaan berkas arbitrer melalui serangan traversal direktori.
Vektor Serangan yang Diketahui
- Serangan traversal direktori “Slip” (misalnya '../etc/passwd') yang menimpa berkas sistem penting selama ekstraksi.
- Kondisi balapan symlink (symlink race conditions) yang membuat tautan simbolik ke direktori sistem yang diikuti oleh penulisan berkas.
- Penolakan layanan (Denial of Service) melalui perulangan hard link melingkar.
Praktik Terbaik Defensif: Bersihkan jalur berkas arsip secara ketat dan tolak entri apa pun yang berisi referensi direktori induk ('..').
Asal-Usul & Tonggak Sejarah
Keunggulan & Kelebihan Utama
- TAR dapat mencatat izin Unix, symlink, dan ID pemilik. Periksa apakah alat ekstraksi memulihkan kolom tersebut, terutama saat mengekstrak di Windows atau sistem dengan aturan izin berbeda.
- Dirancang untuk pita dan mendukung streaming: dapat diekstrak langsung dari pipe jaringan tanpa perlu mencari akhir berkas.
- Manajer paket Linux dan alat kontainer sering mendistribusikan file dalam arsip TAR, biasanya dikompres sebagai .tar.gz atau .tar.zst.
Keterbatasan Teknis & Kekurangan
- Tidak ada kompresi bawaan: berkas .tar yang tidak dikompresi memiliki ukuran yang hampir sama dengan gabungan berkas mentah.
- Akses acak lambat: mengekstrak satu berkas dari tengah arsip besar memerlukan pemindaian dari awal.
- Tajuk ustar lama memotong nama berkas yang lebih dari 100 karakter (diatasi pada tar PAX/GNU modern).
Fakta Teknis Menarik
- Byte ajaib 'ustar' terletak pada offset byte 257 di dalam setiap blok tajuk berukuran 512 byte.
- TAR awalnya ditulis agar dapat mengendalikan drive pita magnetik gulung 9 jalur secara langsung.
- Citra kontainer Docker dan OCI benar-benar tersusun dari arsip .tar standar yang ditumpuk, berisi perubahan pada sistem berkas root.
Pertanyaan Teknis yang Sering Diajukan
Mengapa berkas .tar saya tidak dikompresi?
TAR hanyalah pengarsip (menggabungkan berkas menjadi satu berkas) dan tidak memampatkannya sendiri. Untuk memampatkan arsip, gunakan gzip sehingga menghasilkan file .tar.gz.
Apa perbedaan antara ustar dan GNU tar?
Ustar adalah standar POSIX 1988 dengan batas nama berkas 100 karakter, sedangkan GNU tar adalah format yang diperluas yang mendukung panjang jalur tak terbatas dan file jarang (sparse files).
Bagaimana cara membuka berkas .tar di Windows?
Windows 10 dan 11 mendukung tar secara bawaan melalui baris perintah ('tar -xf file.tar'), atau Anda dapat mengekstraknya melalui File2File.app langsung di peramban web.
Pasangan Konversi TAR Terkait
Mengonversi arsip ZIP ke arsip TAR mengubah wadah file terkompresi menjadi format arsip TAR tanpa kompresi yang sesuai untuk lingkungan Unix.
Mengonversi Arsip TAR ke Arsip ZIP mengubah wadah Unix yang tidak dikompresi menjadi format file terkompresi yang dapat diakses secara luas.
Mengonversi arsip TAR ke arsip GZIP membungkus kumpulan file yang tidak dikompresi menjadi satu aliran terkompresi menggunakan algoritme DEFLATE tanpa kehilangan data untuk mengurangi ukuran file secara drastis.
Ekstrak data TAR dari arsip TAR terkompresi GZIP, seperti .tar.gz atau .tgz.