TAR Arşivi (.tar)
POSIX.1-1988 StandartTape 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:
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 72ASCII GÖSTERİMİ: ustar
Standartlaştırma: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Teknik Özellikler
| Kapsayıcı mimarisi | 512 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ırma | Sı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 Boyutlar | Klasik ustar’da 8 GB sınırı; modern PAX biçiminde pratikte sınırsız |
| Şeffaflık | POSIX dosya izinlerinin, sahip UID/GID değerlerinin, erişim zamanlarının ve genişletilmiş özniteliklerin tümü korunur |
| Akış ve Aşamalı İşleme | Sı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 Nitelik | TAR (Güncel) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Yerel Sıkıştırma | Yok (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/GID | Sınırlı Unix izni desteği | Temel izinleri korur | Seçili POSIX öznitelikleri |
| Akış Halinde Çıkarma (Streaming) | Borulardan tam akışlı çıkarma | EOF'de (dosya sonu) merkezi dizini okumayı gerektirir | Bitiş başlığının okunmasını gerektirir | Tam akışlı çıkarma |
| Dosyalara Rastgele Erişim | Yavaş (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ı
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.
İlgili TAR Dönüşüm Çiftleri
Bir ZIP arşivini TAR arşivine dönüştürmek, sıkıştırılmış bir dosya kapsayıcısını Unix ortamlarına uygun, sıkıştırılmamış bir bant arşivi biçimine dönüştürür.
Bir TAR arşivini ZIP arşivine dönüştürmek, sıkıştırılmamış bir Unix kapsayıcısını evrensel olarak erişilebilir, sıkıştırılmış bir dosya formatına dönüştürür.
Bir TAR arşivini GZIP arşivine dönüştürmek, dosya boyutunu büyük ölçüde azaltmak için kayıpsız DEFLATE algoritmasını kullanarak sıkıştırılmamış bir dosya koleksiyonunu tek bir sıkıştırılmış akışta sarar.
.tar.gz veya .tgz gibi GZIP ile sıkıştırılmış bir TAR arşivinden TAR verilerini çıkar.