Babi , kependekan dari p aralel i implementasi gz ip, adalah utilitas kompresi multi-utas sumber terbuka gratis untuk mengompres dan membuka kompres file di Linux. Pigz, diucapkan sebagai babi-zee , menggunakan zlib dan pthread perpustakaan dan mengambil keuntungan penuh dari beberapa prosesor dan beberapa inti saat mengompresi data. Karena pigz mengompres menggunakan utas untuk menggunakan beberapa prosesor dan inti, ia dapat mengarsipkan file yang lebih besar lebih cepat daripada dengan gzip. Sederhananya, pigz melakukan apa yang gzip lakukan, tetapi ia mengalokasikan pekerjaan ke beberapa prosesor dan inti saat mengompresi dan mempercepat proses kompresi/dekompresi secara signifikan. Dalam panduan ini, mari kita belajar mengompres dan mendekompresi file secara paralel menggunakan Pigz di Linux.
Instal Pigz Di Linux
Pigz tersedia di repositori resmi sistem operasi Linux populer.
Di Linux Arch dan variannya seperti Manjaro Linux, aktifkan [Komunitas] repositori dan instal Pigz menggunakan perintah:
$ sudo pacman -S pigz
Pada CentOS 8/7/6 :
$ sudo yum install pigz
Di Debian :
$ sudo apt-get install pigz
Di Fedora :
$ sudo dnf install pigz
Di Ubuntu , Linux Mint :
$ sudo add-apt-repository universe
$ sudo apt install pigz
Di openSUSE :
$ sudo zypper install pigz
Pada distribusi Linux lainnya, kompilasi dan instal dari sumber seperti yang ditunjukkan di bawah ini.
Pertama, pastikan Anda telah menginstal prasyarat berikut:
- membuat
- gcc
- zlib-devel
Misalnya, pada sistem berbasis Debian Anda dapat menginstal paket-paket di atas menggunakan perintah:
$ sudo apt install make gcc zlib-devel
Pada sistem berbasis RPM:
$ sudo yum install make gcc zlib-devel
Kemudian unduh versi Pigz terbaru dari situs web resmi (Tautan diberikan di akhir):
$ wget https://zlib.net/pigz/pigz-2.4.tar.gz
Ekstrak file tar pigz:
$ tar -xzvf pigz-2.4.tar.gz
Perintah ini akan mengekstrak konten dalam folder bernama pigz-2.4 di direktori kerja saat ini.
CD ke direktori "pigz-2.4":
$ cd pigz-2.4
Kompilasi dan instal menggunakan perintah berikut:
$ make
Salin biner pigz ke $PATH Anda, misalnya /usr/local/bin :
$ sudo cp pigz /usr/local/bin/
Logout dan login kembali untuk mulai menggunakan pigz.
Kompres Dan Dekompresi File Secara Paralel Menggunakan Pigz
Pigz membagi input yang diberikan menjadi 128 KB potongan dan kompres masing-masing secara paralel. Format data terkompresi yang dihasilkan adalah dalam format gzip, zlib, atau zip entri tunggal menggunakan metode kompresi deflate. Secara default, ini mengompresi file gzip (.gz) format.
Mari saya tunjukkan beberapa contoh praktis. Untuk tujuan panduan ini, saya akan menggunakan archlinux.iso file (ukuran 677.4 MB ) untuk pengujian.
Kompres file
Untuk mengompresi file dengan opsi default, cukup jalankan:
pigz <path-to-file>
Contoh:
$ pigz archlinux.iso
Perintah di atas akan mengompres file yang diberikan yaitu archlinux.iso dan simpan sebagai archlinux.iso.gz di direktori kerja saat ini.
Harap dicatat bahwa perintah di atas akan menghapus file asli yaitu archlinux.iso setelah mengompresnya. Jika Anda tidak ingin menghapus file asli, gunakan -k (keep) untuk menginstruksikan Pigz untuk tidak menghapus file asli setelah memprosesnya.
$ pigz -k archlinux.iso
Mencantumkan isi file arsip
Untuk membuat daftar isi file arsip di atas, tanpa mengekstraknya, gunakan -l bendera.
$ pigz -l archlinux.iso.gz compressed original reduced name 654901763 677380096 3.3% archlinux.iso
Seperti yang Anda lihat pada output di atas, file input telah dikurangi sebesar 3,3% dari ukuran aslinya.
Tentukan metode kompresi
Pigz mendukung metode kompresi berikut:
- Kompresi paling lambat dan terbaik (-9)
- Kompresi tercepat dan lebih sedikit (-1)
- Tidak ada kompresi (-0)
- Kompresi default (-6)
Misalnya, untuk mengompresi file menggunakan metode kompresi terbaik (lambat), jalankan:
$ pigz -9 archlinux.iso
Kompres file dengan kompresi lebih sedikit (cepat):
$ pigz -1 archlinux.iso
Tanpa kompresi:
$ pigz -0 archlinux.iso
Ubah format kompresi
Secara default, ini menyimpan file output di gzip format. Namun, Anda dapat mengubahnya ke format lain.
Perintah berikut mengompresi file yang diberikan ke zlib (.zz) sebagai ganti format gzip:
$ pigz -k -z archlinux.iso
Di sini, kami menggunakan -k (huruf kecil) untuk menyimpan file asli setelah dikompres.
Demikian pula, untuk mengompres file dalam zip format, gunakan -K (huruf besar) bendera:
$ pigz -k -K archlinux.iso
Direktori Kompres
Pigz tidak memiliki opsi untuk mengompres folder secara langsung. Namun, kita dapat mencapainya dengan menggabungkan tar perintah dengan pigz seperti di bawah ini.
$ tar cf - Pictures/ | pigz > pictures.tar.gz
Perintah di atas akan memampatkan folder Pictures dan menyimpannya sebagai file pictures.tar.gz.
Sebagai salah satu pembaca kami Wazz katakan di bagian komentar di bawah, kita juga dapat menggunakan parameter 'use-compress-program' di dalam tar untuk menjalankan pigz alih-alih mengeluarkannya.
Contoh:
$ tar --use-compress-program=pigz -cf yourfile.tar.gz folder1 folder2
Batasi jumlah prosesor saat mengompresi
Seperti yang sudah saya katakan, Pigz mengeksploitasi banyak prosesor dan inti saat mengompresi file. Anda dapat mengubah perilaku ini menggunakan -p bendera.
Misalnya perintah berikut akan mengompres file menggunakan metode kompresi terbaik dan 4 prosesor dan menyimpan file asli:
$ pigz -9 -k -p4 archlinux.iso
Untuk mengetahui jumlah inti prosesor di Linux, lihat panduan berikut:
- Cara Menemukan Jumlah Core CPU Dari Commandline Di Linux
Dekompresi file
Kami dapat mendekompresi file terkompresi ke bentuk aslinya menggunakan pigz -d atau unpigz perintah.
$ pigz -d archlinux.iso.gz
Atau,
$ unpigz archlinux.iso.gz
Untuk detail lebih lanjut, lihat bagian bantuan dan halaman manual:
$ pigz --help
$ man pigz
Gzip vs Pigz - Perbandingan kinerja
Saya menguji archlinux.iso (ukuran 677.4 MB ) file dengan utilitas Pigz Dan Gzip. Berikut adalah hasilnya:
Kompresi menggunakan Gzip:
$ time gzip archlinux.iso real 0m35.086s user 0m32.719s sys 0m1.333s
Kompresi menggunakan Pigz:
$ time pigz archlinux.iso real 0m12.545s user 0m46.376s sys 0m1.520s
Dekompresi dengan Gzip:
$ time gzip -d archlinux.iso.gz real 0m6.847s user 0m5.621s sys 0m0.783s
Dekompresi dengan Pigz:
$ time unpigz archlinux.iso.gz real 0m2.398s user 0m2.370s sys 0m1.931s
Seperti yang Anda lihat pada output di atas, Pigz dapat mengompresi dan mendekompresi satu file 677.4 MB dua kali lebih cepat dibandingkan dengan gzip.
Jadi, jika Anda memiliki sistem multi-prosesor, multi-inti modern, dan ingin mengompres file yang lebih besar secepat mungkin, dengan menggunakan semua inti CPU yang tersedia, pigz akan menjadi pilihan yang baik! Cobalah dan beri tahu kami pendapat Anda tentang utilitas kompresi Pigz di bagian komentar di bawah.
Bacaan terkait:
- Cara Mengompresi Dan Mendekompresi File Di Linux
- Cara Mengarsipkan File Dan Direktori Di Linux