Secara umum, saya telah mengamati yang berikut:
- File atau alat Linux-y menggunakan bzip2 atau gzip untuk mendistribusikan arsip
- File atau alat Windows-y menggunakan ZIP untuk mendistribusikan arsip
- Banyak orang menggunakan 7-Zip untuk membuat dan mendistribusikan arsip mereka sendiri
Pertanyaan:
- Apa kelebihan dan kekurangan dari format ini, yang semuanya tampak sebagai format terbuka? Kapan / mengapa saya harus memilih satu (katakanlah, 7-Zip) di atas yang lain (katakanlah, ZIP)?
- Mengapa tren di atas tampak bertahan, meskipun semua ini adalah format portabel? Apakah ada keuntungan khusus untuk menggunakan format arsip tertentu pada platform tertentu?
Jawaban:
Ada berbagai macam format dan metode kompresi yang tersedia, beberapa tidak kompres sama sekali dan dirancang untuk menyimpan sejumlah file dalam satu arsip, dan kompresor eksperimental baru lainnya ( berbasis PAQ ) dirancang untuk mengompres seagresif mungkin, terlepas dari waktu yang diperlukan untuk melakukan operasi tersebut.
Anda perlu mengevaluasi fitur yang Anda perlukan dari pilihan metode kompresi Anda, dan juga mempertimbangkan konteks penggunaannya.
Berbagai fitur dan pertimbangan termasuk:
Secara umum ZIP adalah format yang paling umum, tetapi ukuran lebih dari 4 GB umumnya tidak didukung (jika sama sekali), dukungan keamanan umumnya dianggap buruk (kata sandi standar dapat dikompromikan dengan serangan teks biasa, dan enkripsi lebih lanjut adalah umumnya diimplementasikan sebagai turunan tidak resmi dari format oleh vendor perangkat lunak ZIP komersial).
Terlepas dari itu, sebagian besar format populer lainnya akan memiliki beberapa bentuk dukungan pada semua sistem operasi dengan menginstal lebih banyak perangkat lunak.
Pilihan pribadi saya adalah 7-Zip , karena memiliki kompresi yang hebat dan fleksibel; meskipun memiliki antarmuka pengguna yang aneh pada Windows. Ada de-kompresor untuk Linux dan Mac OS X (meskipun tidak berbasis GUI sebagai standar).
sumber
Satu hal yang terlintas dalam pikiran adalah posting blog (dua tahun) dari Jeff Atwood: Kompresi File di Era Multi-Core . Dalam artikel itu ia menemukan bahwa bzip2 mengungguli 7-zip saat menjalankan lebih dari dua core.
sumber
Untuk pertanyaan pertama Anda, 7-Zip adalah pengarsip daripada yang dapat menggunakan banyak algoritma untuk kompres dan dekompresi data.
Untuk pertanyaan kedua Anda, pastikan platform mendukung alat yang mendukung format yang diberikan. Sebagai contoh, saya akan menghindari menggunakan RAR di Mac. Meskipun dimungkinkan untuk digunakan, dan ada utilitas gratis yang mendukungnya, mereka tidak memiliki antarmuka yang jauh lebih kaya yang dimiliki utilitas Windows yang mendukung RAR (menurut pengalaman saya).
sumber
Seperti yang disebutkan orang lain, pilihan format kompresi tertentu sangat bergantung pada penggunaan dan audiens yang dituju.
Arsip .tar.gz dan tar.bz2 ideal untuk digunakan pada sistem Linux (dan dengan ekstensi untuk berbagi file dengan pengguna Linux) karena alat tar, gzip dan bzip2 sebagian besar ada di mana-mana pada platform, dan karena format .tar memiliki penuh dukungan untuk izin Unix dan properti khusus platform lainnya. Pilihan antara gzip dan bzip2 untuk mengompresi arsip tar terutama adalah keputusan tentang rasio kecepatan versus kompresi, dengan bzip2 memberikan file yang lebih kecil tetapi dengan kecepatan kompresi yang jauh lebih lambat. Kerugian dari format ini termasuk kurang kompatibilitas dengan Windows dan (potensi) perlu mengompres seluruh arsip untuk mengekstrak satu file.
Arsip ZIP dapat diekstraksi pada sebagian besar platform menggunakan alat asli, jadi ini adalah pilihan ideal untuk mengirim arsip ke pengguna non-teknis yang tidak nyaman menginstal perangkat lunak arsip pihak ketiga seperti 7-Zip. Tingkat kompresi tidak sebagus algoritma yang lebih canggih dan tidak mendukung izin Unix, tetapi ini adalah format yang sangat baik jika Anda ingin mengirim arsip foto liburan ke nenek Anda, misalnya. ZIP juga menyediakan beberapa perlindungan kata sandi dasar, dan dapat dengan cepat mengekstrak file dari mana saja di arsip.
7-Zip baik jika Anda menginginkan rasio kompresi terbaik. Seperti ZIP, itu tidak mendukung izin atau kepemilikan file Unix, dan juga tidak diinstal secara default pada sebagian besar platform yang membuatnya sedikit lebih berfungsi untuk digunakan, tetapi mungkin sepadan dengan Windows jika keuntungan rasio kompresi penting. Dalam lingkungan semua-Linux akan lebih baik untuk menggunakan alat kompresi 'xz' atau 'lzma' bersama dengan tar, yang beroperasi dengan cara yang persis sama seperti 'gzip' dan 'bzip2' tetapi menggunakan algoritma LZMA yang lebih maju seperti 7 -Zip.
sumber
Sama seperti contoh, saya menggunakan format yang disebutkan dalam kasus ini:
Saya menghindari RAR sama sekali dan setiap kali saya menerima file RAR dari seseorang yang saya kenal, saya katakan padanya untuk berhenti menggunakan format itu karena sifatnya propietary, dan mungkin dia menggunakan perangkat lunak yang tidak berlisensi (kebanyakan orang mengunduh versi uji coba WinRAR dan terus menggunakan selamanya).
PS: Saya menjalankan Ubuntu (terutama) dan Windows (baik dual boot dan VirtualBox).
sumber
Setidaknya ada empat pekerjaan terpisah yang sering membingungkan karena alat-alat populer mengintegrasikannya:
Di mana-mana .tar.gz dan .tar.bz berkorespondensi dengan filosofi Unix tentang alat kecil yang melakukan satu pekerjaan dengan baik, di atas satu alat yang melakukan segalanya. Format file TAR tidak mendukung kompresi atau enkripsi, tetapi dapat dikompresi lebih lanjut oleh kompresor apa pun (termasuk sebagai .tar.zip atau .tar.7z). Pekerjaan GZip dan BZip2 hanya untuk mengompres aliran file ke streaming file lain, lapisan kompresi tidak perlu peduli bagaimana mempertahankan metadata atau enkripsi atau checksum. Namun seiring berjalannya waktu, beberapa pintasan telah dibuat dalam
tar
program untuk bekerja dengan kompresor lebih nyaman.Dalam format file zip dan 7z, pekerjaan terpisah ini dilakukan oleh satu program dalam format file super tunggal.
Karena sudah seperti itu dilakukan, kode sumber program secara tradisional didistribusikan sebagai .tar.gz atau .tar.bz2, karena menjaga izin file, waktu modifikasi, dll penting untuk berbagai alat yang digunakan untuk pemrograman (misalnya membuat).
Langkah pengarsipan dan kompresi yang terpisah telah bekerja selama bertahun-tahun dengan sangat baik, memiliki keuntungan yang jelas karena dapat secara bebas mencampur dan mencocokkan pengarsipan dan kompresi, dan kelemahannya (proses kompresi 2 langkah) dapat dengan mudah dielakkan dengan mengembangkan alat yang lebih pintar ( sebagian besar program kompresi linux modern akan langsung dikompres ke .tar.gz atau .tar.bz2, menyembunyikan langkah perantara).
Tidak ada alasan kuat untuk pindah ke format file lain, kompresor yang lebih baru tidak memiliki tingkat kompresi yang jauh lebih baik untuk membenarkan melanggar tradisi dan tar dapat mempertahankan semuanya dengan cukup baik.
sumber