Saat menelusuri proyek sumber terbuka yang terutama dikembangkan untuk sistem Linux dan mengunduh paket terbaru, kode sumber selalu disimpan dalam file .tar.gz atau .tar.bz2.
Apakah ada alasan untuk menggunakan .tar.gz atau .tar.bz2 daripada sesuatu seperti .zip atau .rar atau beberapa algoritma kompresi lainnya (atau bahkan membiarkannya tidak terkompresi jika proyeknya cukup kecil)?
open-source
history
packages
Joe Z.
sumber
sumber
tar
(yaitu, Tape Archiver) sudah menjadi standar de facto.ftp.gnu.org
, misalnya. Ini adalah hal-hal yang membangun seluruh Internet. Dan, saya harap, semua orang akan setuju bahwa ZIP lebih rendah secara teknologi.Jawaban:
Untuk menjawab pertanyaan dalam tajuk: tar.gz / tar.bz2 menjadi standar untuk mendistribusikan kode sumber Linux sejak waktu yang sangat lama, seperti dalam lebih dari 2 dekade, dan mungkin beberapa lagi. Secara signifikan bahkan sebelum Linux muncul.
Bahkan, tar adalah singkatan dari (t) ape (ar) lokio. Pikirkan gulungan keras, dan Anda akan mendapatkan ide berapa umurnya. ba-dum-bump.
Sebelum orang memiliki pembakar CD, distro perangkat lunak diletakkan pada disket 1,44Mb. File tar terkompresi dipotong menjadi potongan-potongan berukuran floppy oleh
split
perintah, dan potongan-potongan ini disebut tarballs . Anda akan bergabung kembali bersamacat
dan mengekstrak arsip.Untuk menjawab pertanyaan lain mengapa tidak Zip atau Rar, itu mudah. Pengarsipan tar berasal dari Unix, sedangkan dua lainnya berasal dari MS-DOS / Windows. Tar menangani metadata file unix (izin, waktu, dll), sementara zip dan rar tidak sampai baru-baru ini (mereka menyimpan data file MS-DOS). Bahkan, zip membutuhkan waktu beberapa saat sebelum mulai menyimpan metadata NTFS (stream alternatif, deskriptor keamanan, dll.) Dengan benar.
Banyak dari algoritma kompresi di PKZip adalah hak milik pembuat asli, dan yang terakhir ditambahkan ke versi Dos / Windows adalah Deflate (RFC 1951) yang melakukan sedikit lebih baik daripada Implode, hak milik di sana yang menghasilkan kompresi umum terbaik . Gzip menggunakan algoritma Deflate.
Algoritma kompresi RAR adalah milik, tetapi ada implementasi open source gratis dari dekompresor. Rilis resmi RAR dan WinRAR dari RARlab tidak gratis .
Gzip menggunakan algoritma deflate, dan karenanya tidak lebih buruk dari PKZip. Bzip2 mendapat rasio kompresi yang sedikit lebih baik.
TL; versi DR:
tar.gz dan tar.bz2 berasal dari Unix, jadi orang Unix menggunakannya. Zip dan Rar berasal dari dunia DOS / Windows, jadi orang-orang DOS / Windows menggunakannya.
tar
telah menjadi standar untuk bundling arsip barang di * nix selama beberapa dekade.sumber
Saya tidak tahu kapan, tapi saya membayangkan alasan mengapa itu digunakan adalah kombinasi dari: tar menjadi tradisional (sudah sangat tua); manajemen yang mudah dari baris perintah; tar mempertahankan info sistem file yang mungkin tidak ZIP atau RAR; dan dua proses pass berarti kompresi lebih efisien (satu file besar mengompresi lebih baik daripada banyak file kecil).
bzip2 (.bz2) tampaknya menggantikan gzip (.gz) karena memberikan kompresi yang lebih baik, dengan cara yang hampir sama dengan gzip sendiri yang memindahkan kompres sebelumnya (.Z).
sumber
Intinya, pengarsipan dan kompresi adalah dua operasi yang berbeda. Tar.gz dengan jelas menunjukkan niatnya: arsip terkompresi sedangkan .zip atau .rar hanya menunjukkan beberapa hal terkompresi.
sumber
tar
bersifat tradisional di unix, ia menggabungkan file tetapi tidak perlu memampatkannya. Mengkompresnya dengan .g atau .bz atau .b2 sama mudahnya.Zip
danrar
kesopanan dan lebih umum di dunia Windowssumber
Ini tradisional, ada di mana-mana, dan berfungsi. Plus saya pikir itu agak jelas.
Memperbarui
Saya minta maaf, saya lupa kebanyakan orang tidak tahu apa yang saya ketahui atau memiliki pengalaman sebagai administrator di lingkungan yang heterogen.
Tradisi seperti dalam kebiasaan atau praktik yang sudah berurat berakar dari waktu ke waktu. Kami tahu ini memiliki dasar dalam sejarah karena tar berasal dari Tape ARchive yang merujuk pada teknologi cadangan kaset lama. Ia memiliki sejarah panjang di berbagai sistem operasi Unix sejak 1979 di Unix edisi ke 7 di mana ia menggantikan tp. Sistem Linux biasanya merupakan gabungan dari Linux Kernel dan perangkat lunak GNU yang merupakan bagian dari GNU tar. Semua riwayat tar ini berarti mayoritas orang teknis yang berpengalaman tahu cara menggunakannya tanpa harus merujuk ke dokumentasi karena sudah tertanam. Untuk pengguna baru ada banyak dokumentasi karena perangkat lunak telah ada sejak lama.
Di mana - mana seperti muncul atau ditemukan di mana-mana. Penyalahgunaan yang agak diterima adalah di mana penampilannya tidak universal, tetapi dalam persentase yang cukup besar dari populasi untuk diterima di mana-mana. 7th Edition Unix adalah nenek moyang dari Unix versi terbesar termasuk Sun OS / Solaris, AIX, HPUX, AIX, BSD, dll . Ada juga tingkat kompatibilitas silang yang tinggi di berbagai implementasi tar pada unix . Karena MacOS (sejak OS 10) didasarkan pada BSD, ia juga memiliki tar. Linux menggunakan perangkat lunak GNU yang mencakup GNU Tar sehingga tar tersedia di semua rasa Linux. DAN, sementara tidak tersedia sebagai builtin ada banyak implementasi dari tar tersedia pada Windows termasuk GNU Tar melalui cygwin dan native. GNU Tar khususnya tersedia di sebagian besar Unices dan Windows menjadikannya pilihan yang baik untuk migrasi file di seluruh OS.
Bekerja seperti itu sudah berfungsi untuk waktu yang lama tanpa modifikasi besar. Ini tersedia di semua platform utama di luar kotak (kecuali untuk Windows, di mana tersedia sebagai perangkat lunak tambahan). Format ini juga didukung pada semua platform utama yang memfasilitasi pertukaran antar platform. Tidak hanya masih digunakan sebagai cara untuk membuat arsip yang mudah dibawa-bawa, tetapi tar-pipe adalah idiom standar Unix untuk menyalin pohon direktori, terutama di seluruh lingkungan yang heterogen. Singkatnya, sudah ada dan masih banyak digunakan karena ia melakukan apa yang dilakukannya dengan baik.
sumber