TAR (dosya biçimi)

Tar
Dosya Uzantısı:.tar
MIME tipi:application/x-tar
Uniform Type Identifier:public.tar-archive
Sihir:ustar at byte 257
Biçim tipi:file archive
Container for:her şey
Contained by:compress, gzip, bzip2, lzma

TAR (Kökeni Tape ARchive) ya da bir başka deyişle tarball, açık kaynak kodlu bir belge sıkıştırma ve arşivleme biçimidir.

Genel olarak TAR arşivleri *.tar uzantısına sahiptir. Arşiv harici bir programla sıkıştırılmış ise, sıkıştırma programı dosya sonuna kendi uzantısını ekler. (Ör: Tar.gz, Tar.bz2 gibi.)

Bu dosya biçimi POSIX.1-1988 ve daha sonra POSIX.1-2001 tarafından standart haline getirilmiştir. Başlangıçta işlenmemiş dosya biçimi olarak geliştirilmiş, disk yedeklemek için kullanılmış, şimdi ise yazılım dağıtımı ve arşivleme için birçok dosyayı tek bir dosyada saklamak için (kullanıcı izinleri, tarih, dizin yapısı gibi dosya sistemi bilgilerini de içeriyor) kullanılmaktadır.

Tar biçiminin doğrusal kökleri onun herhangi bir akış üzerinde çalışabilme yeteneği ve parçalı dışa çıkarımdaki yavaşlığında görebilir ki bu son dosyayı açmak için tüm arşivi okumasından ileri gelir. Tar dosyası genellikler tartopu olarak da anılır. Tar, sadece bir şeyi ama en iyi şekilde yap UNIX felsefesini takip eder ki bu da arşivlemektir. İç yapısında sıkıştırmayla ilgili bir ünite olmadığı için harici sıkıştırma programları ile beraber kullanılır. Harici programlar ise sadece bir dosyayı sıkıştırabilir ki Tar ile birleştiklerinde birden fazla dosyayı sıkıştırabilmiş olurlar.

Tar dosya isimleri

[değiştir | kaynağı değiştir]

Birçok UNIX uygulaması gibi, Tar da bir dosyanın arşiv olduğunu anlamak için belirli bir uzantıya ihtiyaç duymaz. Genel olarak tar arşivleri .tar uzantısına sahiptir. Eğer bir arşiv harici bir programla sıkıştırılmışsa, sıkıştırma programı dosya sonuna kendi uzantısını ekler(.tar.Z,.tar.gz,.tar.bz2 gibi). MSDOS sisteminde böyle uzantılar olamayacağı için değişik ikincil bir uzantı geleneği türedi. Buna göre tar.gz için .tgz, .tbz2 için .tbz ve .tar.Z için .taz uzantıları kullanılmaya başlandı.

Dosya biçimi detayları

[değiştir | kaynağı değiştir]

Tar dosyası bir veya daha fazla dosyanın birleşiminden oluşur. Her dosyadan önce bir başlık bloğu gelir. Dosya verileri değiştirilmeden yazılır, sadece uzunluğu 512 nin katlarına yuvarlanır ve boşluklar sıfırla doldurulur. Dosya sonu en az iki ardıl sıfır dolu blokla işaretlenir.

Eski disklere sadece 512 baytlık bloklar halinde veri kaydedilebiliyordu. Bu yüzden tar dosyası 512 baytlık bloklar halinde düzenlenir.

Dosya başlığı

[değiştir | kaynağı değiştir]

Başlık bloğu dosya ile ilgili bilgileri içerir. Değişik platformlar arasında taşınabilirliği sağlamak için bu bloktaki bilgi ASCII ile kodlanmıştır. Bu yüzden eğer bütün arşiv yazı dosyasında oluşuyorsa, aslında tar dosyası bir ASCII dosyasıdır.

Aşağıdaki tabloda orijinal UNIX tar biçimi tarafından tanımlanmış alanlar gösterilmiştir. Bir alan kullanılmadığında sıfır ile doldurulur. Başlık 512 baytlık olması için sıfırla tamamlanmıştır.

Alan Offseti Alan boyutu Alan
0 100 Dosya Adı
100 8 Dosya Modu
108 8 Sahip ID
116 8 Grup ID
124 12 Dosya boyutu(16 lık)
136 12 Son Düzenlenme Tarihi
148 8 Başılğın sağlama toplam(checksum)
156 1 Bağlantı Belirteci
157 100 Bağlanan Dosya İsmi

Program örnekleri

[değiştir | kaynağı değiştir]

Tar programının temel kullanımı

Tar dosyası oluşturmak için

[değiştir | kaynağı değiştir]

Tüm .txt uzantılı dosyaları gzip ile sıkıştırıp dieforwhat.tar.gz isimli dosya oluşturmak için

tar -cvf dieforwhat.tar.gz *.txt 

Tar dosyasının içindeki dosyaları sıralamak

[değiştir | kaynağı değiştir]
tar -tzf dieforwhat.tzr.gz 

Dosyaları tar dosyasından çıkarmak

[değiştir | kaynağı değiştir]

Sıkıştırılmış tar dosyasından tüm dosyaları çıkarmak

tar -xzvf dieforwhat.tar.gz 

Belirli bir klasöre çıkarmak

tar -xzvf dieforwhat.tar.gz -C /usr/bin 

Bazı Tar işlem ve seçenekleri

[değiştir | kaynağı değiştir]

—create

-c Yeni bir tar arşivi yaratır. 
--list  -l Arşivin içeriğini listeler. 
--extract -x Arşivi dışarıya aktarır. 
--file -f Arşiv dosyasının ismini belirler. 
--verbose -v  Tar'ın üzerinde çalıştığı dosyayı gösterir. 
--verbose—verbose -vv Dosyalar hakkında daha detaylı bilgi gösterir. 
--append -r Arşivin sonuna dosya ekler. 
--update -u Arşivin sonuna sadece yeni dosyaları ekler. 
--compare -d Arşiv dosyalarını karşılaştırır. 
--concatenate -A Arşiv sonuna yeni arşiv ekler. 
--show-defaults Varsayılan tar özelliklerini gösterir. 
--files-from= -T Herhangi bir metin dosyasından arşivlenecek dosyaların listesini okur. 
--one-file-system Sadece bir dosya sistemini arşivler. 
--directory= -C Kendisinden sonra gelen dosya için aktif dizini değiştirir.