Paketleme standardı Linux kaynak kodu ne zaman .tar.gz oldu?


29

Öncelikle Linux sistemleri için geliştirilen ve en son paketleri indiren açık kaynaklı projelere göz atarken, kaynak kod her zaman bir .tar.gz veya .tar.bz2 dosyasında saklanır.

.Zip veya .rar gibi başka bir sıkıştırma algoritması yerine .tar.gz veya .tar.bz2'yi kullanmak için herhangi bir neden var mı (ya da proje yeterince küçükse sıkıştırılmamış olarak bırakmak)?


3
Nereye göz atıyorsun? Bugünlerde projelerin çoğu, kaynak kodlarını bir VCS veri havuzu URL'si biçiminde dağıtır ve arşiv verdiklerinde genellikle .ZIP biçimindedir. TGZ yıllardır kullanılmıyor (birkaç iğrenç insanın mesajı almayı inat etmeyi reddetmesine rağmen) ve uzun zamandır bu projeyi kullanan bir proje görmedim ...
Mason Wheeler

4
Linux, zip ve rar tar(yani, Tape Archiver) zaten bir fiili standart olduğunda bile yoktu .
SK-mantığı

19
@Mason Wheeler: "Eski" tanımlayın. Biçimler, insanlar yararlı buldukları ve kullanmaya devam ettiği sürece eski değildir. Bence tar + gz işi yapıyor ve başka bir formata geçiş birçok durumda sadece bir zevk meselesi. Eclipse ( eclipse.org ) gibi projeler hala onu kullanıyor.
Giorgio,

3
@MasonWheeler, ftp.gnu.orgörneğin etrafa göz atın . Bütün internete dayanan şey budur. Ve umarım herkes ZIP'in teknolojik olarak daha düşük olduğu konusunda hemfikirdir.
SK-mantığı

5
@MasonWheeler ve diğerleri. Sadece tar'ın adında teyp arşivleyicisi olduğu için eski hale getirmiyor. Bildiğim herkes, * nix / BSD dünyasında katran kullanır ve .zip kullanmak nispeten nadirdir. Aslında, bir zip dosyası gördüğümde hemen hemen her zaman bir Windows arşiv olup olmadığını sorguluyorum.
Rob

Yanıtlar:


31

Başlıktaki soruyu cevaplamak için: tar.gz / tar.bz2, Linux kaynak kodunu 2 yıldan daha uzun bir süre ve muhtemelen birkaç yıldan daha uzun bir süre önce dağıtmak için standart oldu. Önemli ölçüde Linux bile oluşmadan önce.

Aslında, katran (t) maymun (ar) bıçaklamak için kullanılır. Makarayı sert düşünün ve kaç yaşında olduğu hakkında bir fikir edineceksiniz. ba-dum-çarpmak.

İnsanların CD yazıcıları olmadan önce, 1.44Mb disketlere yazılım dağıtımı yapıldı. Sıkıştırılmış tar dosyası, splitkomutla disket boyutunda parçalara bölündü ve bu parçalara tarball adı verildi . Onlara tekrar katılır catve arşivi çıkarırdın .

Neden Zip veya Rar olmadığına dair diğer soruyu cevaplamak için, bu kolay bir soru. Katran arşivi Unix'ten, diğeri ise MS-DOS / Windows'tan geliyor. Tar, unix dosya meta verilerini (izinler, süreler vb.) İşlerken zip ve rar çok yakın bir zamana kadar çalışmadı (MS-DOS dosya verilerini depoladılar). Aslında, zip, NTFS meta verilerini (alternatif akışlar, güvenlik tanımlayıcıları vb.) Doğru şekilde depolamaya başlamadan önce biraz zaman aldı.

PKZip'teki sıkıştırma algoritmalarının birçoğu orijinal üreticiye aittir ve Dos / Windows sürümlerine eklenen sonuncusu Deflate'den (RFC 1951), en iyi genel sıkıştırmayı üreten tescilli alfa Implode'dan biraz daha iyi performans gösterirdi. . Gzip, Deflate algoritmasını kullanır.

RAR sıkıştırma algoritması tescillidir, ancak dekompresörün bedava bir açık kaynak uygulaması vardır. RAR ve WinRAR'ın RARlab'dan resmi sürümleri bedava değildir .

Gzip deflate algoritmasını kullanır ve bu yüzden PKZip'ten daha kötü değildir. Bzip2 biraz daha iyi sıkıştırma oranları elde eder.

TL; DR versiyonu:

tar.gz ve tar.bz2 Unix'tendir, bu nedenle Unix kullanıcıları bunları kullanır. Zip ve Rar DOS / Windows dünyasındandır, bu yüzden DOS / Windows kullanıcıları bunları kullanır. tarYıllarca * nix'te yer alan eşyaların arşivlenmesinde standart olmuştur.


1
Bazı açıklama: Açık kaynak RAR uygulamaları RARLAB kendi açık kaynak dayanmaktadır Dekompresörden . Aynı zamanda, çoğu hatırladığım kadarıyla diğerlerinin yerini aldıklarında, daha önce popüler olan ACE, ARJ ve ARC'den uzun bir süre önce Windows'ta beliren diğer çoğu kompresörden önemli ölçüde daha yeni. Bunların hiçbiri nispeten yakın zamana kadar Unix'te görünmedi.
greyfade,

Küçük düzeltme: RAR algoritması açık değil : fedoraproject.org/wiki/Licensing:Unrar?rd=Licensing/Unrar
Sven Slootweg

16

Ne zaman olduğunu bilmiyorum, ama neden kullanılma sebebinin bir kombinasyon olduğunu hayal ediyorum: tar olmak geleneksel (çok eski); komut satırından kolay yönetim; ZIP veya RAR'ın yapamayacağı dosya sistemi bilgisini korumak; ve iki geçişli işlem, sıkıştırmanın daha verimli olduğu anlamına gelir (çok küçük dosyalardan daha iyi sıkıştırma yapan büyük bir dosya).

bzip2 (.bz2), gzip (.gz) 'yi daha iyi sıkıştırma sağladığı için değiştiriyor gibi görünmektedir, aynı şekilde, gzip, önceki sıkıştırmanın (.Z) yerini değiştirmiş olduğu gibi.


3
Ve xz (LZMA), sıkıştırma oranının önemli olduğu yerlerde ( .xz dosyaları gzip'ten% 30 daha küçüktür) bzip2'nin yerini alıyor gibi görünmektedir . Gzip muhtemelen hepsinden daha hızlıdır.
sastanin

8

Temelde, arşivleme ve sıkıştırma iki farklı işlemdir. Tar.gz niyeti açıkça gösterir: sıkıştırılmış bir arşiv, bir .zip veya .rar sadece sıkıştırılmış şeyler gösterir.


5

tarunix'te gelenekseldir, dosyaları birleştirir ancak dosyaları mutlaka sıkıştırmaz. Onları .g veya .bz veya .b2 ile sıkıştırmak aynı derecede kolaydır.

Zipve rarWindows dünyasında mülkiyet ve daha yaygın


Ah evet, sorum yeterince spesifik değildi. Çoğunlukla Linux / Unix kodundan bahsediyordum.
Joe Z.

4
+1 - ancak zip bir süre önce tescilli olmayı bıraktı.
Billy ONeal,

Evet, bir zip alt kümesi artık standart: iso.org/iso/home/store/catalogue_tc/…
rogerdpack

4

Geleneksel, her yerde ve işe yarıyor. Artı biraz kendini belli sanıyordum.

Güncelleştirme

Özür dilerim, çoğu insanın ne bildiğimi bilmediğini ya da heterojen ortamlarda yönetici olarak deneyime sahip olduğunu unuttum.

Gelenek özel veya uygulamada olduğu gibi zaman içinde kökleşmiş. Tarihin temeli olduğunu biliyoruz, çünkü katran eski teyp yedekleme teknolojisini referans alan Tape ARchive'dan türemiştir . Unix işletim sistemlerinde 1979 yılına dayanan ve 7. basım Unix'te tp'nin yerini aldığı uzun bir geçmişe sahiptir . Linux sistemleri genellikle, GNU katranının bir parçası olduğu Linux Çekirdeği ve GNU yazılımının bir birleşimidir. Bütün bu katran geçmişi, tecrübeli teknik kişilerin çoğunluğunun, belgelendirmeye başvurmak zorunda kalmadan nasıl kullanılacağını bildiği anlamına gelir. Yeni kullanıcılar için, yazılımlar çok uzun süredir kullanıldığından çok fazla belge vardır.

Her yerde görünen veya her yerde bulunan olduğu gibi. Bir şekilde kabul edilen suiistimal, görünümün evrensel olmadığı, fakat nüfusun her yerinin yaygın olarak kabul edilebileceği büyük bir yüzdesidir. 7. Baskı Unix, Sun OS / Solaris, AIX, HPUX, AIX, BSD vb . Dahil olmak üzere Unix'in en büyük sürümlerinin atasıdır . Ayrıca, katran unix üzerindeki farklı uygulamaları arasında yüksek düzeyde bir çapraz uyumluluk vardır . MacOS (OS 10’dan beri) BSD’ye dayandığından, aynı zamanda katranı da var. Linux, GNU Tar içeren GNU yazılımını kullanır, böylece katran tüm Linux lezzetlerinde bulunur. AND, yerleşik olarak bulunmamakla birlikte, Windows üzerinde GNU Tar dahil cygwin üzerinden ve doğal olarak kullanılabilen birçok katran uygulaması vardır.. Özellikle GNU Tar, çoğu Unices ve Windows'ta bulunur ve bu, işletim sistemlerinde dosya geçişleri için iyi bir seçimdir.

Uzun süredir büyük değişiklikler yapmadan çalıştığı gibi çalışır . Kutudan çıkan tüm büyük platformlarda bulunur (ek yazılım olarak bulunduğu Windows hariç). Bu format, platformlar arasında değişimi kolaylaştıran tüm ana platformlarda da desteklenir. Sadece kolayca taşınabilir arşiv yapmanın bir yolu olarak kullanılmaz, aynı zamanda bir tar-pipe, özellikle heterojen ortamlarda, dizin ağaçlarını kopyalamak için standart bir Unix deyimidir. Kısacası, çevresinde ve hala yoğun kullanımda olmuştur, çünkü iyi yaptığını yapar.


5
tüm saygımla, bu cevap kısa, basit ve… bir şekilde benim için çalışmıyor
gnat

5
... 1) “geleneksel” , yazılım geliştirmede sıfır ağırlıktan daha azını taşıyor; Aksi taktirde hepimiz delikli kartlar kullanarak IBM-360 üzerinde COBOL'u kodlardık; "geleneksel" derken hiçbir şeyi açıklamıyor ...
gnat

5
... 2) "her yerde" ... gerçekten mi? Unix’ten Windows’a geçtiğimde fark ettiğim bir şey, kimsenin katran kullanmıyor olmasıydı ve her şey onsuz gayet iyi gidiyordu. Birkaç yıl süren mutlu kodlamalardan sonra, bir zamanlar tar'a ihtiyaç duyduğumda, Windows sürümünü bulmam biraz zaman aldı. Her yerde mi var? bana bir mola vermek ...
gnat

4
... 3) "işe yarıyor" - ne tür bir çalışma ve neden katran tarafından yapıldığını açıklamadan , bu sadece el sallıyor. Uzun zaman önceydi ama katran hakkında bir şeyler öğrendiğimde hala bir tür şok hatırlıyorum. Sıkıştırmayan yardımcı program bana işe yaramaz geldi. Tabii ki yanılmışım, ancak birileri beni "tek kelimeyle" ifadesiyle "eğitmeye" çalışacak gibi çalışırsa , "hayır, mastürbasyon yaptığını" düşünürdüm ...
gnat

4
... Özetle, bu sıfır çaba, tamamen tartışmalı cevap açıklama ve bağlamdan yoksun. Yapılan açıklamalar açıklanmadı ve hiçbir şeyle desteklenmedi. Aşırı genelleştirilmiş ifadeler, sadece soruları cevaplamak yerine sorulanın ifadesini yinelemektedir .
tatarcık
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.