.tar.gz ve .gz veya .tar.7z ve .7z arasındaki fark nedir?

144

Son zamanlarda, birçok veriyi yedekledim ve dosyaları .gz veya .tar.gz veya .7z ve .tar.7z , etcetera olarak kaydedebileceğimi fark ettim. Normal ile .tar.* varyantı arasındaki farklar nelerdir? Yedekleme yaparken bunlardan hangisi tavsiye edilir?

    
sordu Exeleration-G 15.04.2012 03:09

6 cevap

171

Windows arka planından geliyorsanız, zip ve rar biçimlerini biliyor olabilirsiniz. Bunlar, birlikte sıkıştırılmış birden fazla dosyanın arşividir.

Unix ve Unix benzeri sistemlerde (Ubuntu gibi) arşivleme ve sıkıştırma ayrıdır.

tar , birden fazla dosyayı tek bir (tar) dosyaya koyar.

gzip bir dosyayı sıkıştırır (yalnızca).

Sıkıştırılmış bir arşiv elde etmek için, tüm dosyaları tek bir dosyada (arşiv.tar), sonra tar (archive.tar.gz) içine almak için ilk, pax veya gzip değerini kullanırsınız. . Yalnızca bir dosyanız varsa (notes.txt) sıkıştırmanız gerekirse, katran gerekmez, bu yüzden gzip notes.txt ile sonuçlanacak notes.txt.gz değerini yaparsınız. Gzip ile aynı şekilde çalışan compress , bzip2 ve xz gibi başka sıkıştırma türleri de vardır (farklı türde sıkıştırma kullanmanın dışında)

    
verilen cevap geirha 15.04.2012 03:41
45

Aradığın şeye bağlıdır ... Sıkıştırma veya arşivleme?

Arşivleme hakkında konuştuğumda izinleri, dizin yapısını, vb. korumayı kastediyorum ...

Sıkıştırma, çoğunu yok sayabilir ve dosyalarınızı daha küçük paketlerde alabilir.

Dosya izinlerini korumak için tar kullanın:

tar cpvf backup.tar folder

p bayrağı dosya izinlerini kaydeder. Gzip sıkıştırması için z bayrağını veya bzip sıkıştırması için j bayrağını kullanın.

tar czpvf backup.tar.gz folder #backup.tgz is acceptable as well
tar cjpvf backup.tar.bz2 folder #backup.tbz2 works too

Bir tar dosyasına sahip olmak istiyorsanız, P işaretini kullanarak katranı "güncelleyebilir" yapabilirsiniz:

tar cpPvf backup.tar folder

Sonra güncellemek için 'u' yerine 'u' yazın ve paketini açarken, zaten var olan dosyaları korumak için 'k' kullanabilirsiniz.

tar upPvf backup.tar folder #updating a tar file
tar xpPkvf backup.tar #extracting a tar with permissions(p) and not extracting(k) files that exist on disk already

P bayrağı, dosyaları tam yollarla kaydeder, böylece - / home / username - ev / kullanıcı adı (önde gelen eğik çizgiye dikkat edin).

7z sıkıştırma daha büyük sıkıştırma sağlar, ancak dosya sahipliğini, izinleri vb. korumaz. Rzip, 7z ile de karşılaştırılabilir sıkıştırma sunan başka bir sıkıştırma yardımcı programıdır.

Ben bir backup.tar.7z dosyası bir 7z dosyası tarafından sıkıştırılmış sadece bir tar dosyası (izinlerle) olduğunu sanıyorum, ancak 7z dosya meta verilerini dökemeyeceğinden dolayı çok az sıkıştırma meydana geldiğinde şaşırmam. 7z, dosya meta verilerini, büyük sıkıştırmayı sunabildiği (tabii ki diğer şeylerin yanı sıra) dışlama kabiliyetidir.

Sıkıştırma tamamen veri türüne bağlıdır. Bazı dosyalar iyi sıkıştırılmamışlardır çünkü zaten başka yollarla (örneğin, .mp3, .jpg, .tiff / lzma, .rpm, vb.) Sıkıştırılmış olabilirler.

    
verilen cevap SaultDon 15.04.2012 03:45
10

gzip veya bzip2 file system hakkında bilgi içermiyor - dosya adı, dizin veya ağaç yapısı. Sadece giriş akışını sıkıştırır, daha sonra çıktı sonucunu alır. Gzip veya bzip2 bile dizinleri kendi başlarına arşivleyemez, bu yüzden genellikle katranla birleştirilir.

katran (arşivleyici) - sadece dosya yapısını arşivleyin. gzip, bzip2 (kompresör) - sadece girişi sıkıştır.

Bence bu strateji 'iyi bir şey yap' UNIX felsefesinden geliyor. Tar iyi çalışıyor mu? Olduğu gibi bırakın. Gzip'ten daha fazla sıkıştırma oranına mı ihtiyacınız var? İşte bzip2 veya 7zip.

    
verilen cevap Mait 15.04.2012 06:55
8

farklı sıkıştırma stilleri, katran tek başına basitçe arşivlenir (sıkıştırmadan çok az). tar.gz bir tar arşividir ancak içerik gzip (orta sıkıştırma) ile sıkıştırılmıştır, dolayısıyla .gz ve tar.7z 7zip (genellikle süper yüksek sıkıştırma) kullanılarak sıkıştırılmıştır.

Yedekleme yaparken tar.7z'i en yüksek sıkıştırma oranına sahip olduğundan tavsiye ederim, ancak ekstra bir program kullanıyor (7zip). .tar.gz daha büyük dosyalar olacak ve aynı işi yapacaksınız, bzip (.tar.bz / bz2) 'yi de kullanabilirsiniz, ancak gzip veya 7zip kullandığımdan daha iyi bir şey olup olmayacağından emin değilim.

    
verilen cevap MuffinStateWide 15.04.2012 03:36
3

tipik olarak, * .tar dosyaları tar program tarafından oluşturulan tar dosyalarıdır, * .gz programları gzip tarafından oluşturulur, * .tar.gz (bazen de * .tgz) gziped tar dosyalarıdır ve * .7z oluşturulur 7zip tarafından.

Ancak, Linux / Unix'te, bir dosyaya istediği kadar isim verilebilir, bu yüzden dosyaların yaratıcısının tamamen kendi takdirine bağlıdır.

    
verilen cevap G. He 15.04.2012 03:21
3

Tar (Tape Archiver) geleneksel olarak Unix / Linux'ta hareket etmek için dosyaları paketlemek için bir kap olarak kullanılmıştır. Dosya yapısını paketler ve dosya niteliklerini korur, ancak dosyaları sıkıştırmaz.

Sıkıştırma programları dosyayı daha küçük hale getirmek için sıkıştırır, ancak birden çok dosyayı işlemez ve / veya Linux için gerekli dosya öznitelikleriyle ilgilenemezler. Tar zaten mevcut olduğundan ve iyi desteklendiğinden, bu işlevselliği çoğaltmak için programların arşivlenmesi için bir neden yoktur; bu, platforma özgüdür (Windows ve Linux için farklıdır). Ayrıca, farklı sıkıştırma programları farklı dosya türlerinde farklı performans gösterebilir, bu nedenle birden fazla seçim yapılması istenebilir.

    
verilen cevap Marty Fried 15.04.2012 03:34

Etiketlerdeki diğer soruları oku