Jak rychleji komprimovat soubory pomocí nástroje Pigz v Linuxu
Napsal Mark Adler, Pigz je zkratka pro Parallel Implementation of GZip. Je to šikovný nástroj pro kompresi, který vám pomůže komprimovat soubory s bleskovou rychlostí. Jako vylepšení starého dobrého nástroje gzip využívá ke kompresi dat více jader a procesorů.
Tato příručka osvětluje Pigz a provede vás pomocí nástroje ke kompresi souborů v systémech Linux.
Instalace Pigz na systémy Linux
Instalace Pigz je procházka růžovým sadem, protože balíček Pigz je obsažen v oficiálních repozitářích hlavních distribucí, jako jsou Debian a CentOS .
Pigz můžete nainstalovat jedním příkazem v různých distribucích pomocí jejich příslušných správců balíčků následovně.
sudo apt install pigz [On Debian/Ubuntu]
sudo dnf install pigz [On CentOS/RHEL/Fedora]
sudo pacman -S pigz [On Arch/Manjaro Linux]
OR
yay -S pigz
Jak komprimovat soubory pomocí Pigz
Chcete-li komprimovat jeden soubor do formátu zip, použijte syntaxi.
pigz filename
V této příručce použijeme pro demonstrační účely soubor ubuntu-20.04-beta-desktop-amd64.iso. Chcete-li komprimovat soubor, proveďte:
pigz ubuntu-20.04-beta-desktop-amd64.iso
Jak jste si však mohli všimnout, příkaz po komprimaci odstraní původní soubor. Chcete-li zachovat původní soubor po kompresi, spusťte pomocí volby -k
, jak je znázorněno.
pigz -k ubuntu-20.04-beta-desktop-amd64.iso
Z výstupu jasně vidíme, že původní soubor zůstal zachován i po kompresi.
Zkontrolujte obsah komprimovaného souboru v Linuxu
Chcete-li zkontrolovat obsah komprimovaného souboru, včetně statistik o dosaženém kompresním poměru, použijte volbu -l
s příkazem pigz:
pigz -l ubuntu-20.04-beta-desktop-amd64.iso.gz
Z výstupu uvidíte nejen obsah zazipovaného souboru, ale také procento komprese, které je v tomto případě 1,9 %.
Kromě toho můžete použít různé úrovně komprese, které existují od 1 do 9. Jsou podporovány následující úrovně komprese:
- 6 – Výchozí komprese.
- 1 – Nejrychlejší, ale nabízí nejmenší kompresi.
- 9 – Nejpomalejší, ale nejlepší komprese.
- 0 – Bez komprese.
Chcete-li například komprimovat soubor s nejlepší úrovní komprese, proveďte:
pigz -9 ubuntu-20.04-beta-desktop-amd64.iso
Jak komprimovat adresář pomocí Pigz
Pigz sám o sobě nemá možnosti komprimovat složku, komprimuje pouze jednotlivé soubory. Jako řešení se pigz používá ve spojení s příkazem tar pro adresáře zip.
Chcete-li komprimovat adresář, použijte argument --use-compress-program
, jak je znázorněno:
tar --use-compress-program="pigz -k " -cf dir1.tar.gz dir1
Jak omezit počet procesorů při kompresi
Již dříve jsme zmínili, že nástroj pigz používá při komprimaci souborů více jader a procesorů. Počet jader, která se mají použít, můžete určit pomocí volby -p
.
V tomto příkladu níže jsme použili nejlepší kompresi (označenou -9
) se 4 procesory (-p4)
při zachování původního soubor (-k).
pigz -9 -k -p4 ubuntu-20.04-beta-desktop-amd64.iso
Jak dekomprimovat soubory pomocí Pigz
Chcete-li dekomprimovat soubor nebo adresář pomocí pigz, použijte volbu -d
nebo příkaz unpigz.
Pomocí našeho komprimovaného souboru ISO bude příkaz:
pigz -d ubuntu-20.04-beta-desktop-amd64.iso
OR
unpigz dir1.tar.gz
Srovnání mezi Pigz vs Gzip
Šli jsme o něco dále a postavili Pigz proti nástroji Gzip.
Zde jsou výsledky:
Komprese Gzip
time gzip ubuntu-20.04-beta-desktop-amd64.iso
Pigz komprese
time pigz ubuntu-20.04-beta-desktop-amd64.iso
Gzip dekomprese
time gzip -d ubuntu-20.04-beta-desktop-amd64.iso.gz
Pigz dekomprese
time unpigz ubuntu-20.04-beta-desktop-amd64.iso.gz
Z porovnání jasně vidíme, že časy komprese a dekomprese pro Pigz jsou mnohem kratší než pro Gzip. To znamená, že nástroj příkazového řádku Pigz je mnohem rychlejší než nástroj Gzip
Pro více podrobností o použití příkazu pigz navštivte manuálové stránky.
man pigz
Dále spusťte níže uvedený příkaz a zobrazte všechny možnosti dostupné pro použití s příkazem pigz.
pigz --help
A tady to máte. Probrali jsme nástroj příkazového řádku pigz a ukázali jsme vám, jak můžete komprimovat a dekomprimovat soubory. Šli jsme dále a porovnali Pigz s Gzip a zjistili jsme, že Pigz je z těchto dvou lepší, pokud jde o rychlost komprese i dekomprese. Zveme vás, abyste to zkusili a řekněte nám, jak to šlo.