TAR Arşivi (.tar)

POSIX.1-1988 Standart

Tape Archive (TAR), dosyaları, dizinleri ve seçili dosya sistemi meta verilerini sıkıştırılmamış bir akışta bir araya getiren, Unix ve Linux'ta yaygın olarak kullanılan bir paketleme biçimidir.

ZIP biçimini TAR biçimine dönüştür

Tarayıcında ZIP biçimini TAR biçimine ücretsiz dönüştür. Dosyaları cihazında anında dönüştür.

İncele ve Meta Veriler

İşletim sistemleri ve dosya çözümleyicileri, TAR dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

Dosyaları buraya seç veya bırak

Özel - dosyalar cihazınızdan asla ayrılmaz

veya yapıştır Ctrl+V
Sıfır Ağ Aktarımı Gizlilik Garantisi: Harici sunuculara 0 bayt yüklendi. Tüm işlemler tarayıcındaki korumalı alanda (sandbox) yerel olarak gerçekleştirildi.

Bayt düzeyinde başlık imzası (sihirli baytlar)

İşletim sistemleri ve dosya çözümleyicileri, TAR dosyalarını başlangıçtaki ikili sihirli bayt dizisini inceleyerek tanımlar:

HEX İMZASI (OFSET 257):

75 73 74 61 72

ASCII GÖSTERİMİ: ustar

Standartlaştırma: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

Teknik Özellikler

Kapsayıcı mimarisi512 baytlık blok dizisi: 512 bayta yuvarlanmış dosya verisinin önünde dosya üstbilgisi bulunur ve iki sıfır bloğuyla biter
SıkıştırmaSıkıştırılmamış arşiv kapsayıcısı (gzip, bzip2, xz veya zstd’ye aktarılmak üzere tasarlanmıştır)
Bayt Düzeni (Endianness)Sekizlik ASCII dizge alanları; büyük uçlu sayısal uzantılar
Renk UzaylarıN/A (Archive Container)
Kanallar ve YapıUnix dosya dizin ağacı, sembolik bağlantılar, sabit bağlantılar, karakter/blok aygıtları ve FIFO boruları
Maksimum BoyutlarKlasik ustar’da 8 GB sınırı; modern PAX biçiminde pratikte sınırsız
ŞeffaflıkPOSIX dosya izinlerinin, sahip UID/GID değerlerinin, erişim zamanlarının ve genişletilmiş özniteliklerin tümü korunur
Akış ve Aşamalı İşlemeSıralı akış odaklı tasarım: doğrudan fiziksel manyetik teyp sürücülerine yazılabilir

Teknik karşılaştırma matrisi: TAR ve rakipleri

Teknik NitelikTAR (Güncel)ZIP7ZCPIO
Yerel SıkıştırmaYok (yalnızca paketleme yapan bir kapsayıcı)Yerleşik Deflate sıkıştırmasıYerleşik LZMA/LZMA2 sıkıştırmasıYok (yalnızca paketleme yapan bir kapsayıcı)
Unix İzinlerinin KorunmasıSeçili POSIX öznitelikleri, sembolik bağlantılar, UID/GIDSınırlı Unix izni desteğiTemel izinleri korurSeçili POSIX öznitelikleri
Akış Halinde Çıkarma (Streaming)Borulardan tam akışlı çıkarmaEOF'de (dosya sonu) merkezi dizini okumayı gerektirirBitiş başlığının okunmasını gerektirirTam akışlı çıkarma
Dosyalara Rastgele ErişimYavaş (doğrusal ardışık tarama)Anlık (merkezi dizin arama)Orta (dizin arama)Yavaş (doğrusal ardışık tarama)

Yaygın Bozulma Modları ve Hex Kurtarma Kılavuzu

Çıkarma hatası: 'tar: Skipping to next header' veya 'A lone zero block at X'.

Kök Neden: Hasarlı 512 baytlık blok hizalaması veya akışın erken sonlandırılması.

Kurtarma: Hasarlı blokları yok saymak için 'tar -i' ile çıkar veya File2File.app Tar Aracı'yla onar.

Güvenlik Analizi ve Ayrıştırıcı Saldırı Vektörleri

TAR çıkarıcılar, dizin geçişi (directory traversal) saldırıları yoluyla rastgele dosya üzerine yazılmasını önlemek için dosya yollarını temizlemelidir (sanitize).

Bilinen Saldırı Vektörleri

  • Çıkarma sırasında kritik sistem dosyalarının üzerine yazan 'Slip' dizin geçişi (örn. '../etc/passwd').
  • Sistem dizinlerine sembolik bağlar oluşturan ve ardından dosya yazma işlemleri gerçekleştiren symlink yarış koşulları (race conditions).
  • Döngüsel sert bağlar yoluyla hizmet reddi (DoS).

Savunmaya yönelik en iyi uygulamalar: Arşivdeki dosya yollarını sıkı biçimde temizle ve üst dizine çıkan ('..') her girdiyi reddet.

Tarihsel kökenler ve önemli dönüm noktaları

2001IEEE POSIX.1-2001, eski 8 GB boyut sınırlarını kaldıran PAX (Portable Archive Interchange) standardını getirir.
1988IEEE POSIX standardı, 'ustar' (Unix Standard Tar) başlık formatını resmileştirir.
1979Dosya ağaçlarını manyetik teyp sürücülerine yazmak amacıyla Bell Labs tarafından Version 7 Unix (V7) içinde tanıtılmıştır.

Temel Avantajlar ve Artılar

  • TAR, Unix izinlerini, sembolik bağlantıları ve sahip kimliklerini kaydedebilir. Özellikle Windows veya farklı izin kuralları olan başka bir sistemde çıkarırken, çıkarma aracının bu alanları geri yükleyip yüklemediğini kontrol edin.
  • Teyp odaklı, akışa uygun tasarım: Dosyanın sonuna gitmeden (seeking) doğrudan bir ağ borusundan çıkarılabilir.
  • Linux paket yöneticileri ve kapsayıcı araçları dosyaları genellikle .tar.gz veya .tar.zst olarak sıkıştırılmış TAR arşivlerinde dağıtır.

Teknik Kısıtlamalar ve Eksiler

  • Yerel sıkıştırma özelliği yoktur: Sıkıştırılmamış bir .tar dosyası, ham dosyaların toplam boyutuyla neredeyse aynıdır.
  • Rastgele erişim yavaştır: Devasa bir tar arşivinin ortasından tek bir dosyayı çıkarmak, baştan itibaren tarama yapmayı gerektirir.
  • Eski ustar başlıkları 100 karakterden uzun dosya adlarını kısaltıyordu (modern PAX/GNU tar sürümlerinde çözülmüştür).

İlginç Teknik Bilgiler

  • 'ustar' sihirli baytları (magic bytes), her 512 baytlık başlık bloğunun içinde 257 baytlık ofsette yer alır.
  • TAR, aslen 9 kanallı (9-track) manyetik makaralı teyp sürücülerini fiziksel olarak kontrol etmek için yazılmıştır.
  • Docker ve OCI konteyner imajları, kök dosya sistemi farklarını (diff) içeren standart .tar arşivlerinin kelimenin tam anlamıyla üst üste dizilmiş kümeleridir.

Sıkça Sorulan Teknik Sorular

.tar dosyam neden sıkıştırılmamış?

TAR yalnızca bir arşivleme aracıdır; dosyaları tek bir dosyada toplar ama kendisi sıkıştırmaz. Sıkıştırmak için gzip'i kullanarak .tar.gz dosyası oluştur.

Ustar ve GNU tar arasındaki fark nedir?

ustar, 100 karakterlik dosya adı sınırı olan 1988 tarihli POSIX standardıdır. GNU tar ise sınırsız uzunlukta yolları ve seyrek dosyaları destekleyen genişletilmiş bir biçimdir.

Windows'ta bir .tar dosyasını nasıl açabilirim?

Windows 10 ve 11, tar'ı komut satırından ('tar -xf file.tar') destekler; dosyayı web tarayıcında File2File.app ile görsel arayüz üzerinden de çıkarabilirsin.