TAR (dosya biçimi)
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.
Kaynakça
[değiştir | kaynağı değiştir]- GNU Tar Sayfası2 Ağustos 2008 tarihinde Wayback Machine sitesinde arşivlendi.